Class: Gloo::Objs::Repeat
- Inherits:
-
Core::Obj
- Object
- Core::Baseo
- Core::Obj
- Gloo::Objs::Repeat
- Defined in:
- lib/gloo/objs/ctrl/repeat.rb
Constant Summary collapse
- KEYWORD =
'repeat'.freeze
- KEYWORD_SHORT =
'repeat'.freeze
- TIMES =
'times'.freeze
- INDEX =
'index'.freeze
- DO =
'do'.freeze
Constants inherited from Core::Baseo
Core::Baseo::NOT_IMPLEMENTED_ERR
Instance Attribute Summary
Attributes inherited from Core::Obj
Attributes inherited from Core::Baseo
Class Method Summary collapse
-
.messages ⇒ Object
Get a list of message names that this object receives.
-
.short_typename ⇒ Object
The short name of the object type.
-
.typename ⇒ Object
The name of the object type.
Instance Method Summary collapse
-
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
-
#add_default_children ⇒ Object
Add children to this object.
-
#msg_run ⇒ Object
Run the repeat loop.
-
#run_do ⇒ Object
Run the do script once.
-
#set_index(index) ⇒ Object
Set the index of the current iteration.
-
#times ⇒ Object
Get the URI from the child object.
Methods inherited from Core::Obj
#add_child, can_create?, #can_receive_message?, #child_count, #child_index, #contains_child?, #delete_children, #dispatch, #display_value, #find_add_child, #find_child, #find_child_resolve_alias, #find_child_value, help, inherited, #initialize, #is_alias?, #is_function?, #msg_blank?, #msg_contains?, #msg_reload, #msg_unload, #multiline_value?, #pn, #remove_child, #render, #root?, #send_message, #set_parent, #set_value, #type_display, #value_display, #value_is_array?, #value_is_blank?, #value_string?
Methods inherited from Core::Baseo
Constructor Details
This class inherits a constructor from Gloo::Core::Obj
Class Method Details
.messages ⇒ Object
Get a list of message names that this object receives.
92 93 94 |
# File 'lib/gloo/objs/ctrl/repeat.rb', line 92 def self. return super + [ 'run' ] end |
.short_typename ⇒ Object
The short name of the object type.
27 28 29 |
# File 'lib/gloo/objs/ctrl/repeat.rb', line 27 def self.short_typename return KEYWORD_SHORT end |
.typename ⇒ Object
The name of the object type.
20 21 22 |
# File 'lib/gloo/objs/ctrl/repeat.rb', line 20 def self.typename return KEYWORD end |
Instance Method Details
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
69 70 71 |
# File 'lib/gloo/objs/ctrl/repeat.rb', line 69 def add_children_on_create? return true end |
#add_default_children ⇒ Object
Add children to this object. This is used by containers to add children needed for default configurations.
78 79 80 81 82 83 |
# File 'lib/gloo/objs/ctrl/repeat.rb', line 78 def add_default_children fac = @engine.factory fac.create_int TIMES, 0, self fac.create_int INDEX, 0, self fac.create_script DO, '', self end |
#msg_run ⇒ Object
Run the repeat loop.
99 100 101 102 103 104 |
# File 'lib/gloo/objs/ctrl/repeat.rb', line 99 def msg_run times.times do |index| set_index index run_do end end |
#run_do ⇒ Object
Run the do script once.
43 44 45 46 47 48 |
# File 'lib/gloo/objs/ctrl/repeat.rb', line 43 def run_do o = find_child DO return unless o Gloo::Exec::Dispatch.( @engine, 'run', o ) end |
#set_index(index) ⇒ Object
Set the index of the current iteration.
53 54 55 56 57 58 |
# File 'lib/gloo/objs/ctrl/repeat.rb', line 53 def set_index( index ) o = find_child INDEX return unless o o.set_value index end |
#times ⇒ Object
Get the URI from the child object. Returns nil if there is none.
35 36 37 38 |
# File 'lib/gloo/objs/ctrl/repeat.rb', line 35 def times o = find_child TIMES return o ? o.value : 0 end |