class ElementList
Attributes
elements[RW]
iterator[RW]
Public Class Methods
new()
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 21 def initialize @elements = Array.new # The element array @iterator = -1 # Iterator index (used for get_first / get_next) end
Public Instance Methods
add(element)
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 26 def add(element) @elements << element if(element.parent != 0) parent = get_id(element.parent) parent.type = ETYPE_NODE end end
get_child_count(id)
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 65 def get_child_count(id) get_children(id).length end
get_children(id)
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 69 def get_children(id) children = Array.new @elements.each do |element| if(element.parent == id) children << element.id end end children end
get_element_width(id)
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 79 def get_element_width(id) element = get_id(id) if element return element.width else return -1; end end
get_elements()
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 61 def get_elements @elements end
get_first()
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 34 def get_first if(@elements.length == 0) return nil else @iterator = 0 return @elements[@iterator] end end
get_id(id)
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 52 def get_id(id) @elements.each do |element| if(element.id == id) return element end end return nil; end
get_indent(id)
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 95 def get_indent(id) element = get_id(id) if element return element.indent else return -1 end end
get_level_height()
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 111 def get_level_height maxlevel = 0 @elements.each do |element| level = element.level if(level > maxlevel) maxlevel = level end end return maxlevel + 1; end
get_next()
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 43 def get_next @iterator += 1 if @elements[@iterator] return @elements[@iterator] else return nil end end
set_element_width(id, width)
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 88 def set_element_width(id, width) element = get_id(id) if element element.width = width end end
set_indent(id, indent)
click to toggle source
# File lib/rsyntaxtree/elementlist.rb, line 104 def set_indent(id, indent) element = get_id(id) if element element.indent = indent end end