diff options
Diffstat (limited to 'gui/menus.lisp')
-rw-r--r-- | gui/menus.lisp | 11 |
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))) |