(asdf:oos 'asdf:load-op 'ltk) (asdf:oos 'asdf:load-op 'cgn) (use-package :ltk) (use-package :cgn) (defmacro defmodel (name letz &body body) `(defun ,name () (with-ltk () (let* ((*MODEL-FRAME* (make-instance 'frame)) (*MAIN-FRAME* (make-instance 'frame)) (*MAIN-LABEL-FRAME* (make-instance 'labelframe :text "MAIN" :master *MAIN-FRAME*)) (*MODEL-LABEL-FRAME* (make-instance 'labelframe :text "MODEL" :master *MAIN-FRAME*)) (*DISPLAY-FRAME* (make-instance 'frame)) (*DISPLAY-LABEL-FRAME* (make-instance 'labelframe :text "DISPLAY" :master *DISPLAY-FRAME*))) (let* ,letz ,@body) (pack *MAIN-FRAME* :side :top) (pack *MODEL-FRAME* :side :bottom) (pack *MAIN-LABEL-FRAME*) (pack *MODEL-LABEL-FRAME*) (pack *DISPLAY-FRAME* :side :right) (pack *DISPLAY-LABEL-FRAME*)))))