# File locana/l_spinner.rb, line 280 def on_decrement(levent=nil, &block) return bind(:on_decrement, block) if (block) # this necessary to support Blocks the same as Proc objects process_event(:on_decrement, levent) # allow others the chance to look at this event before we process it if (!self[:value]) lvalue = (text() ? text[0] : 0) elsif (text()) pos = text.index(self[:value]) if (pos) pos += 1 pos = text.size - 1 if (pos >= text.size) else pos = 0 end lvalue = text[pos] elsif (self[:value].kind_of?(String)) lvalue = self[:value].decc! else lvalue = self[:value] - 1 end on_change({:value=>lvalue}) self.value = lvalue select_text() if (self.auto_select) end