         ]
     (edt 
       (.setAutoResizeMode presets-table JTable/AUTO_RESIZE_OFF)
-      (.. groups-table getSelectionModel (setSelectionMode ListSelectionModel/SINGLE_SELECTION))
+      (doall (map require-single-selection [groups-table presets-table preset-names-table]))
       (.. presets-table getTableHeader (setReorderingAllowed false))
       (.setRowHeaderView presets-sp preset-names-table)
       (.. preset-names-table getParent (setPreferredSize (Dimension. 150 100)))

      ;(.setFixedCellHeight preset-names-list (.getRowHeight presets-table))
      (.setBackground preset-names-table (Color. 0xE0 0xE0 0xE0))
      (.setModel groups-table (group-table-model))
      (doto cp
        (.setLayout (SpringLayout.))
        (add-component presets-sp :n 5 :w 155 :s -5 :e -5)

(defn property-name [prop-vec]
  (let [[dev prop] prop-vec]
    (str dev "-" prop)))

(defn table []
  (let [table (JTable.)]
