def item widget
      # # normalcolor gives a white on black stark title like links and elinks
      # You can also do 'acolor' to give you a sober title that does not take attention away, like mc
      # remove from existing form if set, problem with this is mnemonics -- rare situation.
      if widget.form
        f = widget.form
        f.remove_widget widget
      end
      @maxrow ||= 3
      widget.set_form @form
      widget.row ||= 0
      widget.col ||= 0
      if widget.row == 0
        widget.row = [@maxrow+1, 3].max if widget.row == 0
      else
        widget.row += @row_offset 
      end
      if widget.col === 0
        widget.col = 5 if widget.col === 0
      else
        # i don't know button_offset as yet
        widget.col += @col_offset 
      end
      # in most cases this override is okay, but what if user has set it
      # The problem is that widget and field are doing a default setting so i don't know
      # if user has set or widget has done a default setting. NOTE
      # 2014-05-31 - 12:40 CANIS BUTTONCOLOR i have commented out since it should take from form
      #   to see effect
      if false
        widget.color ||= @color    # we are overriding colors, how to avoid since widget sets it
        widget.bgcolor  ||= @bgcolor
        widget.attr = @attr if @attr # we are overriding what user has put. DARN !
      end
      @maxrow = widget.row if widget.row > @maxrow
      @suggested_h = @height || @maxrow+6
      @suggested_w ||= 0
      @suggested_w = widget.col + 15 if widget.col > @suggested_w
      # if w's given col is > width then add to suggested_w or text.length
    end
def item widget
      # # normalcolor gives a white on black stark title like links and elinks
      # You can also do 'acolor' to give you a sober title that does not take attention away, like mc
      # remove from existing form if set, problem with this is mnemonics -- rare situation.
      if widget.form
        f = widget.form
        f.remove_widget widget
      end
      @maxrow ||= 3
      widget.set_form @form
      widget.row ||= 0
      widget.col ||= 0
      if widget.row == 0
        widget.row = [@maxrow+1, 3].max if widget.row == 0
      else
        widget.row += @row_offset 
      end
      if widget.col === 0
        widget.col = 5 if widget.col === 0
      else
        # i don't know button_offset as yet
        widget.col += @col_offset 
      end
      # in most cases this override is okay, but what if user has set it
      # The problem is that widget and field are doing a default setting so i don't know
      # if user has set or widget has done a default setting. NOTE
      # 2014-05-31 - 12:40 CANIS BUTTONCOLOR i have commented out since it should take from form
      #   to see effect
      if false
        widget.color ||= @color    # we are overriding colors, how to avoid since widget sets it
        widget.bgcolor  ||= @bgcolor
        widget.attr = @attr if @attr # we are overriding what user has put. DARN !
      end
      @maxrow = widget.row if widget.row > @maxrow
      @suggested_h = @height || @maxrow+6
      @suggested_w ||= 0
      @suggested_w = widget.col + 15 if widget.col > @suggested_w
      # if w's given col is > width then add to suggested_w or text.length
    end
a message to be printed, usually this will be the only thing supplied
 with an OK button. This should be a short string, a label will be used
 and input_config passed to it
dsl_accessor :message
 you can also set button_orientation : :right, :left, :center