From b63a2e9a5e3b225cf975918ad907323b3eb61acc Mon Sep 17 00:00:00 2001 From: "saari%netscape.com" Date: Tue, 13 Apr 1999 00:12:40 +0000 Subject: [PATCH] menu changes getting ready for dynamic menus --- widget/public/nsIMenuListener.h | 2 ++ widget/src/gtk/nsMenu.cpp | 17 +++++++++++++++++ widget/src/gtk/nsMenu.h | 2 ++ widget/src/gtk/nsMenuBar.cpp | 9 +++++++++ widget/src/gtk/nsMenuBar.h | 2 ++ widget/src/gtk/nsMenuItem.cpp | 11 +++++++++++ widget/src/gtk/nsMenuItem.h | 3 ++- widget/src/mac/nsMenu.cpp | 11 +++++++++++ widget/src/mac/nsMenu.h | 2 ++ widget/src/mac/nsMenuBar.cpp | 12 ++++++++++++ widget/src/mac/nsMenuBar.h | 2 ++ widget/src/mac/nsMenuItem.cpp | 9 +++++++++ widget/src/mac/nsMenuItem.h | 3 ++- xpfe/appshell/src/nsXULCommand.cpp | 11 +++++++++++ xpfe/appshell/src/nsXULCommand.h | 4 +++- 15 files changed, 97 insertions(+), 3 deletions(-) diff --git a/widget/public/nsIMenuListener.h b/widget/public/nsIMenuListener.h index 59e71f4ad138..92b8c0ae56f6 100644 --- a/widget/public/nsIMenuListener.h +++ b/widget/public/nsIMenuListener.h @@ -56,6 +56,8 @@ class nsIMenuListener : public nsISupports { */ virtual nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent) = 0; + virtual nsEventStatus MenuConstruct(const nsMenuEvent & aMenuEvent) = 0; + virtual nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent) = 0; }; #endif // nsIMenuListener_h__ diff --git a/widget/src/gtk/nsMenu.cpp b/widget/src/gtk/nsMenu.cpp index 022a77ddf74e..8757f53b62af 100644 --- a/widget/src/gtk/nsMenu.cpp +++ b/widget/src/gtk/nsMenu.cpp @@ -327,3 +327,20 @@ nsEventStatus nsMenu::MenuDeselected(const nsMenuEvent & aMenuEvent) return nsEventStatus_eIgnore; } +//------------------------------------------------------------------------- +nsEventStatus nsMenu::MenuConstruct(const nsMenuEvent & aMenuEvent) +{ + if (nsnull != mListener) { + mListener->MenuDeselected(aMenuEvent); + } + return nsEventStatus_eIgnore; +} + +//------------------------------------------------------------------------- +nsEventStatus nsMenu::MenuDestruct(const nsMenuEvent & aMenuEvent) +{ + if (nsnull != mListener) { + mListener->MenuDeselected(aMenuEvent); + } + return nsEventStatus_eIgnore; +} \ No newline at end of file diff --git a/widget/src/gtk/nsMenu.h b/widget/src/gtk/nsMenu.h index 721a41e362f0..1c07b020037f 100644 --- a/widget/src/gtk/nsMenu.h +++ b/widget/src/gtk/nsMenu.h @@ -42,6 +42,8 @@ public: // nsIMenuListener methods nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent); nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent); + nsEventStatus MenuConstruct(const nsMenuEvent & aMenuEvent); + nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent); NS_IMETHOD Create(nsISupports * aParent, const nsString &aLabel); diff --git a/widget/src/gtk/nsMenuBar.cpp b/widget/src/gtk/nsMenuBar.cpp index cc547150a90a..90d6323708ad 100644 --- a/widget/src/gtk/nsMenuBar.cpp +++ b/widget/src/gtk/nsMenuBar.cpp @@ -207,3 +207,12 @@ nsEventStatus nsMenuBar::MenuDeselected(const nsMenuEvent & aMenuEvent) return nsEventStatus_eIgnore; } +nsEventStatus nsMenuBar::MenuConstruct(const nsMenuEvent & aMenuEvent) +{ + return nsEventStatus_eIgnore; +} + +nsEventStatus nsMenuBar::MenuDestruct(const nsMenuEvent & aMenuEvent) +{ + return nsEventStatus_eIgnore; +} \ No newline at end of file diff --git a/widget/src/gtk/nsMenuBar.h b/widget/src/gtk/nsMenuBar.h index 2385284cbac2..6c68ebd43297 100644 --- a/widget/src/gtk/nsMenuBar.h +++ b/widget/src/gtk/nsMenuBar.h @@ -39,6 +39,8 @@ public: // nsIMenuListener interface nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent); nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent); + nsEventStatus MenuConstruct(const nsMenuEvent & aMenuEvent); + nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent); NS_DECL_ISUPPORTS diff --git a/widget/src/gtk/nsMenuItem.cpp b/widget/src/gtk/nsMenuItem.cpp index 73a232cdfb62..bfdd208df91f 100644 --- a/widget/src/gtk/nsMenuItem.cpp +++ b/widget/src/gtk/nsMenuItem.cpp @@ -336,3 +336,14 @@ nsEventStatus nsMenuItem::MenuDeselected(const nsMenuEvent & aMenuEvent) return nsEventStatus_eIgnore; } +nsEventStatus nsMenuItem::MenuConstruct(const nsMenuEvent & aMenuEvent) +{ + g_print("nsMenuItem::MenuConstruct\n"); + return nsEventStatus_eIgnore; +} + +nsEventStatus nsMenuItem::MenuDestruct(const nsMenuEvent & aMenuEvent) +{ + g_print("nsMenuItem::MenuDestruct\n"); + return nsEventStatus_eIgnore; +} \ No newline at end of file diff --git a/widget/src/gtk/nsMenuItem.h b/widget/src/gtk/nsMenuItem.h index 237926b104e6..6a598f34312c 100644 --- a/widget/src/gtk/nsMenuItem.h +++ b/widget/src/gtk/nsMenuItem.h @@ -68,7 +68,8 @@ public: // nsIMenuListener interface nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent); nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent); - + nsEventStatus MenuConstruct(const nsMenuEvent & aMenuEvent); + nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent); protected: void Create(nsIWidget * aMBParent, GtkWidget *aParent, diff --git a/widget/src/mac/nsMenu.cpp b/widget/src/mac/nsMenu.cpp index b276f6b0955c..dbbe537fb6ce 100644 --- a/widget/src/mac/nsMenu.cpp +++ b/widget/src/mac/nsMenu.cpp @@ -380,3 +380,14 @@ nsEventStatus nsMenu::MenuDeselected(const nsMenuEvent & aMenuEvent) return nsEventStatus_eIgnore; } +//------------------------------------------------------------------------- +nsEventStatus nsMenu::MenuConstruct(const nsMenuEvent & aMenuEvent) +{ + return nsEventStatus_eIgnore; +} + +//------------------------------------------------------------------------- +nsEventStatus nsMenu::MenuDestruct(const nsMenuEvent & aMenuEvent) +{ + return nsEventStatus_eIgnore; +} diff --git a/widget/src/mac/nsMenu.h b/widget/src/mac/nsMenu.h index a25443f1db30..fb34c3b60161 100644 --- a/widget/src/mac/nsMenu.h +++ b/widget/src/mac/nsMenu.h @@ -40,6 +40,8 @@ public: // nsIMenuListener methods nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent); nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent); + nsEventStatus MenuConstruct(const nsMenuEvent & aMenuEvent); + nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent); // nsIMenu Methods NS_IMETHOD Create(nsISupports * aParent, const nsString &aLabel); diff --git a/widget/src/mac/nsMenuBar.cpp b/widget/src/mac/nsMenuBar.cpp index 07fd088f4938..419d426c6c18 100644 --- a/widget/src/mac/nsMenuBar.cpp +++ b/widget/src/mac/nsMenuBar.cpp @@ -95,6 +95,18 @@ nsEventStatus nsMenuBar::MenuDeselected(const nsMenuEvent & aMenuEvent) return nsEventStatus_eIgnore; } +//------------------------------------------------------------------------- +nsEventStatus nsMenuBar::MenuConstruct(const nsMenuEvent & aMenuEvent) +{ + return nsEventStatus_eIgnore; +} + +//------------------------------------------------------------------------- +nsEventStatus nsMenuBar::MenuDestruct(const nsMenuEvent & aMenuEvent) +{ + return nsEventStatus_eIgnore; +} + //------------------------------------------------------------------------- // // nsMenuBar constructor diff --git a/widget/src/mac/nsMenuBar.h b/widget/src/mac/nsMenuBar.h index d56df8ee7711..94c4e073eb9f 100644 --- a/widget/src/mac/nsMenuBar.h +++ b/widget/src/mac/nsMenuBar.h @@ -38,6 +38,8 @@ public: // nsIMenuListener interface nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent); nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent); + nsEventStatus MenuConstruct(const nsMenuEvent & aMenuEvent); + nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent); nsMenuBar(); virtual ~nsMenuBar(); diff --git a/widget/src/mac/nsMenuItem.cpp b/widget/src/mac/nsMenuItem.cpp index 4e13f881ed0b..91f8353e83fb 100644 --- a/widget/src/mac/nsMenuItem.cpp +++ b/widget/src/mac/nsMenuItem.cpp @@ -350,3 +350,12 @@ nsEventStatus nsMenuItem::MenuDeselected(const nsMenuEvent & aMenuEvent) return nsEventStatus_eIgnore; } +nsEventStatus nsMenuItem::MenuConstruct(const nsMenuEvent & aMenuEvent) +{ + return nsEventStatus_eIgnore; +} + +nsEventStatus nsMenuItem::MenuDestruct(const nsMenuEvent & aMenuEvent) +{ + return nsEventStatus_eIgnore; +} \ No newline at end of file diff --git a/widget/src/mac/nsMenuItem.h b/widget/src/mac/nsMenuItem.h index c2cd5bca887a..8e4ab74edd2e 100644 --- a/widget/src/mac/nsMenuItem.h +++ b/widget/src/mac/nsMenuItem.h @@ -69,7 +69,8 @@ public: // nsIMenuListener interface nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent); nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent); - + nsEventStatus MenuConstruct(const nsMenuEvent & aMenuEvent); + nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent); protected: //void Create(nsIWidget * aMBParent, Widget aParent, diff --git a/xpfe/appshell/src/nsXULCommand.cpp b/xpfe/appshell/src/nsXULCommand.cpp index 97c0158a2d3c..0d8d32d0e040 100644 --- a/xpfe/appshell/src/nsXULCommand.cpp +++ b/xpfe/appshell/src/nsXULCommand.cpp @@ -212,3 +212,14 @@ nsEventStatus nsXULCommand::MenuDeselected(const nsMenuEvent & aMenuEvent) return nsEventStatus_eConsumeNoDefault; } +nsEventStatus nsXULCommand::MenuConstruct(const nsMenuEvent & aMenuEvent) +{ + DoCommand(); + return nsEventStatus_eConsumeNoDefault; +} + +nsEventStatus nsXULCommand::MenuDestruct(const nsMenuEvent & aMenuEvent) +{ + DoCommand(); + return nsEventStatus_eConsumeNoDefault; +} diff --git a/xpfe/appshell/src/nsXULCommand.h b/xpfe/appshell/src/nsXULCommand.h index 136040f45257..6540c061a8f8 100644 --- a/xpfe/appshell/src/nsXULCommand.h +++ b/xpfe/appshell/src/nsXULCommand.h @@ -59,7 +59,9 @@ public: // nsIMenuListener virtual nsEventStatus MenuSelected(const nsMenuEvent & aMenuEvent); virtual nsEventStatus MenuDeselected(const nsMenuEvent & aMenuEvent) ; - + virtual nsEventStatus MenuConstruct(const nsMenuEvent & aMenuEvent); + virtual nsEventStatus MenuDestruct(const nsMenuEvent & aMenuEvent); + protected: NS_IMETHOD ExecuteJavaScriptString(nsIWebShell* aWebShell, nsString& aJavaScript);