aboutsummaryrefslogtreecommitdiffhomepage
path: root/gui/menus.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/menus.lisp')
-rw-r--r--gui/menus.lisp11
1 files changed, 8 insertions, 3 deletions
diff --git a/gui/menus.lisp b/gui/menus.lisp
index 1c4166c..2a2e938 100644
--- a/gui/menus.lisp
+++ b/gui/menus.lisp
@@ -32,16 +32,22 @@
(def-menu-accessors x y width height))
+(defmethod add-unit :after ((menu menu))
+ (dolist (o (menu-options menu))
+ (add-unit o)))
+
+(defmethod drop-unit :before ((menu menu))
+ (dolist (o (menu-options menu))
+ (drop-unit o)))
+
(defgeneric add-menu-option (menu option))
(defmethod add-menu-option ((menu menu) option)
(setf (unit-region option) (unit-region menu))
- (add-unit option)
(setf (menu-options menu)
(nconc (menu-options menu) (list option))))
(defun remove-menu-option (menu option)
(when (member option (menu-options menu))
- (drop-unit option)
(setf (unit-region option) *application*)
(setf (menu-options menu)
(delete option (menu-options menu)))))
@@ -66,7 +72,6 @@
(on-mousewheel (vs horiz vert)
(let ((oh (vscroller-options-height vs))
(h (height vs)))
- (format t "oh: ~a h: ~a scroll:~a ~%" oh h (vert-scroll vs))
(setf (vert-scroll vs)
(clamp 0
(+ (vert-scroll vs) (* vert (scroll-speed vs)))