Module: Cura::Attributes::HasRoot

Includes:
HasAttributes
Included in:
Window
Defined in:
lib/cura/attributes/has_root.rb

Overview

Adds the ‘root` attribute to an object, which defaults to a Component::Group.

Instance Method Summary collapse

Methods included from HasAttributes

included, #update_attributes

Instance Method Details

#add_child(component) ⇒ Component

Add a child to this object’s root component.

Parameters:

Returns:



45
46
47
# File 'lib/cura/attributes/has_root.rb', line 45

def add_child(component)
  @root.add_child(component)
end

#add_children(*children) ⇒ <Component>

Add multiple children to this object’s root component.

Parameters:

Returns:



53
54
55
# File 'lib/cura/attributes/has_root.rb', line 53

def add_children(*children)
  @root.add_children(*children)
end

#children(recursive = false) ⇒ <Component>

Get the children of this object.

Returns:



37
38
39
# File 'lib/cura/attributes/has_root.rb', line 37

def children(recursive=false)
  @root.children(recursive)
end

#children?Boolean

Determine if this object’s root component has children.

Returns:

  • (Boolean)


83
84
85
# File 'lib/cura/attributes/has_root.rb', line 83

def children?
  @root.children?
end

#delete_child(component) ⇒ Component

Remove a child from this object’s root component.

Parameters:

Returns:



69
70
71
# File 'lib/cura/attributes/has_root.rb', line 69

def delete_child(component)
  @root.delete_child(component)
end

#delete_child_at(index) ⇒ Component

Remove a child from object’s root component at the given index.

Parameters:

  • index (Integer)

Returns:



61
62
63
# File 'lib/cura/attributes/has_root.rb', line 61

def delete_child_at(index)
  @root.delete_child_at(index)
end

#delete_childrenHasChildren

Remove all children from object’s root component.

Returns:



76
77
78
# File 'lib/cura/attributes/has_root.rb', line 76

def delete_children
  @root.delete_children
end

#initialize(attributes = {}) ⇒ Object



13
14
15
16
17
# File 'lib/cura/attributes/has_root.rb', line 13

def initialize(attributes={})
  @root = Component::Group.new(parent: self)

  super
end

#rootComponent::Group

Get root component for this object.

Returns:



# File 'lib/cura/attributes/has_root.rb', line 19

#root=(component) ⇒ Component::Group

Set root component for this object.

Parameters:

Returns:



30
# File 'lib/cura/attributes/has_root.rb', line 30

attribute(:root) { |component| set_root(component) }