Class: Canis::TabularWidget::Circular
- Defined in:
- lib/canis/core/widgets/deprecated/tabularwidget.rb
Overview
a structure that maintains position and gives next and previous taking max index into account. it also circles. Can be used for traversing next component in a form, or container, or columns in a table.
Instance Attribute Summary collapse
-
#current_index ⇒ Object
readonly
Returns the value of attribute current_index.
-
#last_index ⇒ Object
readonly
Returns the value of attribute last_index.
Instance Method Summary collapse
-
#initialize(m, c = 0) ⇒ Circular
constructor
A new instance of Circular.
- #is_last? ⇒ Boolean
- #next ⇒ Object
- #previous ⇒ Object
Constructor Details
#initialize(m, c = 0) ⇒ Circular
Returns a new instance of Circular.
1049 1050 1051 1052 1053 1054 |
# File 'lib/canis/core/widgets/deprecated/tabularwidget.rb', line 1049 def initialize m, c=0 raise "max index cannot be nil" unless m @max_index = m @current_index = c @last_index = c end |
Instance Attribute Details
#current_index ⇒ Object
Returns the value of attribute current_index
1046 1047 1048 |
# File 'lib/canis/core/widgets/deprecated/tabularwidget.rb', line 1046 def current_index @current_index end |
#last_index ⇒ Object (readonly)
Returns the value of attribute last_index.
1047 1048 1049 |
# File 'lib/canis/core/widgets/deprecated/tabularwidget.rb', line 1047 def last_index @last_index end |
Instance Method Details
#is_last? ⇒ Boolean
1071 1072 1073 |
# File 'lib/canis/core/widgets/deprecated/tabularwidget.rb', line 1071 def is_last? @current_index == @max_index end |
#next ⇒ Object
1055 1056 1057 1058 1059 1060 1061 1062 |
# File 'lib/canis/core/widgets/deprecated/tabularwidget.rb', line 1055 def next @last_index = @current_index if @current_index + 1 > @max_index @current_index = 0 else @current_index += 1 end end |
#previous ⇒ Object
1063 1064 1065 1066 1067 1068 1069 1070 |
# File 'lib/canis/core/widgets/deprecated/tabularwidget.rb', line 1063 def previous @last_index = @current_index if @current_index - 1 < 0 @current_index = @max_index else @current_index -= 1 end end |