def table config={}, &block
    #def tabular_widget config={}, &block
      require 'canis/core/widgets/table'
      events = [:PROPERTY_CHANGE, :LEAVE, :ENTER, :CHANGE, :ENTER_ROW, :PRESS ]
      block_event = nil
      # if no width given, expand to stack width
      #config.delete :title
      useform = nil

      w = Table.new useform, config # NO BLOCK GIVEN
      w.width ||= :expand 
      w.height ||= :expand # TODO This has to come before other in stack next one will overwrite.
      _position(w)
      if block_given?
        #@current_object << w
        yield_or_eval &block
        #@current_object.pop
      end
      return w
    end
def table config={}, &block
    #def tabular_widget config={}, &block
      require 'canis/core/widgets/table'
      events = [:PROPERTY_CHANGE, :LEAVE, :ENTER, :CHANGE, :ENTER_ROW, :PRESS ]
      block_event = nil
      # if no width given, expand to stack width
      #config.delete :title
      useform = nil

      w = Table.new useform, config # NO BLOCK GIVEN
      w.width ||= :expand 
      w.height ||= :expand # TODO This has to come before other in stack next one will overwrite.
      _position(w)
      if block_given?
        #@current_object << w
        yield_or_eval &block
        #@current_object.pop
      end
      return w
    end
creates a simple readonly table, that allows users to click on rows
 and also on the header. Header clicking is for column-sorting.