diff mde/gui/widget/Ifaces.d @ 133:9fd705793568

Fixed menu popup bug, improved recursion detection. Menu popups can now determine whether or not they are sub-menus. Recursion detection can now also check content (if not the same, there's not a risk of infinite recursion).
author Diggory Hardy <diggory.hardy@gmail.com>
date Fri, 23 Jan 2009 16:05:05 +0000
parents 9cff74f68b84
children 9f035cd139c6
line wrap: on
line diff
--- a/mde/gui/widget/Ifaces.d	Fri Jan 23 14:59:05 2009 +0000
+++ b/mde/gui/widget/Ifaces.d	Fri Jan 23 16:05:05 2009 +0000
@@ -47,7 +47,7 @@
 interface IParentWidget
 {
     /** Checks for recursion of unsafe widgets to prevent infinite recursion. */
-    void recursionCheck (widgetID);
+    void recursionCheck (widgetID, IContent);
     
     /** IPPWs return self, other widgets recurse call on parent. */
     IPopupParentWidget getParentIPPW ();
@@ -132,6 +132,10 @@
      * over and buttons activated with an up-click. */
     void menuActive (bool);
     bool menuActive ();
+    /** Returns the IPPW's parent's menuActive (WM returns false). If true,
+     * popup widgets may assume they are sub-menu popups not top-level menu
+     * popups. */
+    bool parentMenuActive ();
     
     /** Called by descendant widgets such as buttons when an action occurred,
      * which should close a menu. (But also called when not in a menu.) */