# 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