 (derive* ::tree-control ::control)
 
 
-(inherit-multimethod set-tree ::tree-control
+(defn-typecheck set-tree ::tree-control
   "Sets the tree that the control displays.
 
    Parameters:

(derive* ::table-control :conexp.util.hookable/hookable)


(inherit-multimethod get-row-count ::table-control
  "Returns the number of rows of the table control.

  Parameters:
    otable-control    _table-control object")

(defmethod-swing 
  get-row-count ::table-control
  [otable-control]
  (.getRowCount (get-control otable-control)))


(inherit-multimethod get-column-count ::table-control
  "Returns the number of columns of the table control.

  Parameters:
    otable-control    _table-control object")

(defmethod-swing 
  get-column-count ::table-control
  [otable-control]
  (.getColumnCount (get-control otable-control)))


(inherit-multimethod set-column-count ::table-control
  "Sets the number of columns of the table control.

  Parameters:
    otable-control    _table-control object
    count             _number of columns")

(defmethod-swing 
  set-column-count ::table-control
  [otable-control count]
  (.setColumnCount (:model otable-control) count))


(inherit-multimethod set-row-count ::table-control
  "Sets the number of rows of the table control.

  Parameters:
    otable-control    _table-control object
    count             _number of rows")

(defmethod-swing 
  set-row-count ::table-control
  [otable-control count]
  (.setRowCount (:model otable-control) count))



(inherit-multimethod register-keyboard-action ::table-control
  "Registers a keyboard action on the table.
  Parameters:
    otable     _table-control object

    (.put input-map keystroke cmd-name)
    (.put action-map cmd-name action)))

(defn-typecheck-swing get-column-index ::table-control
  "Returns the tables model index of the specified column in the view.

  Parameters:
    otable    _table-control object
    column    _viewport column"
  [otable column]
  (let [ table (get-control otable)
         col-count (.getColumnCount table) ]
