   [frame]
   (seesaw.core/dispose! frame))
 
-(defn set-on-windows-closed-handler
-  [^JFrame frame
-   handler]
-  (assert (ifn? handler))
-  (seesaw.core/listen frame :window-closed (fn [_] (handler))))
-
-; (defn set-on-explain-handler
-;   [frame handler]
-;   (assert (not= frame nil))
-;   (let [btn-explain (seesaw.core/select frame [:#explain])]
-;     (assert (not= btn-explain nil))
-;     (seesaw.core/listen btn-explain :action (fn [e] (handler)))))
-
 (defn set-on-execute-handler
   "Set Execute button handler."
   [frame handler]

    ;     (seesaw.core/listen
    ;       btn-print-ui-tree :action
    ;       (fn [_] (ui-dev/print-ui-tree worksheet-frame)))))
    (reify WorksheetWindow
      (show-worksheet-window! [_] (do
                                    (seesaw.core/show! worksheet-frame)

  (:require [sqls.ui.dev-util :as ui-dev]
            [sqls.ui.proto :refer [UI WorksheetWindow]]
            [sqls.ui.seesaw.commander :refer [show-commander!]]
            [sqls.util :refer [debugf str-or-nil?]])
  (:import [java.awt Component Container Dimension Font Point Rectangle Toolkit]
           [java.awt.event InputEvent KeyEvent]
           [java.io File]
           [javax.swing JFrame JPanel JScrollPane JTable JViewport JTextArea KeyStroke JComponent]
