| Class | Origami::PageTreeNode |
| In: |
sources/parser/page.rb
|
| Parent: | Dictionary |
| Count | = | self.children.length |
| Count | = | self.Kids.length |
| Parent | = | self |
# File sources/parser/page.rb, line 132
132: def << (pageset)
133:
134: pageset = [pageset] unless pageset.is_a?(Enumerable)
135: fail "Cannot add anything but Page and PageTreeNode to this node" unless pageset.all? { |item| item.is_a?(Page) or item.is_a?(PageTreeNode) }
136:
137: self.Kids ||= Array.new
138: self.Kids.concat(pageset)
139: self.Count = self.Kids.length
140:
141: pageset.each do |node|
142: node.Parent = self
143: end
144:
145: end
Returns an array of Page inheriting this tree node.
# File sources/parser/page.rb, line 114
114: def children
115: pageset = []
116:
117: unless self.Count.nil?
118: self.Count.value.times { |n|
119: if n < self.Kids.length
120: node = self.Kids[n].is_a?(Reference) ? self.Kids[n].solve : self.Kids[n]
121: case node
122: when PageTreeNode then pageset.concat(node.children)
123: when Page then pageset << node
124: end
125: end
126: }
127: end
128:
129: pageset
130: end