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