Bug 401627, better way of handling click to close menu so that it doesn't reopen the menu again, r+sr=roc

git-svn-id: svn://10.0.0.236/trunk@240313 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
enndeakin%sympatico.ca
2007-12-03 16:33:45 +00:00
parent 4f5fd2178a
commit 4909ea089c
24 changed files with 133 additions and 69 deletions

View File

@@ -41,14 +41,17 @@
#include "nsISupports.idl"
[uuid(23C2BA03-6C76-11d3-96ED-0060B0FB9956)]
interface nsIContent;
[uuid(ee6efe03-77dc-4aac-a6a8-905731a1796e)]
interface nsIRollupListener : nsISupports
{
/**
* Notifies the object to rollup
* Notifies the object to rollup, optionally returning the node that
* was just rolled up.
* @result NS_Ok if no errors
*/
void Rollup();
nsIContent Rollup();
/**
* Asks the RollupListener if it should rollup on mousevents

View File

@@ -63,6 +63,7 @@ struct nsColorMap;
class imgIContainer;
class gfxASurface;
class nsIMouseListener;
class nsIContent;
/**
* Callback function that processes events.
@@ -94,10 +95,10 @@ typedef nsEventStatus (*PR_CALLBACK EVENT_CALLBACK)(nsGUIEvent *event);
#define NS_NATIVE_PLUGIN_PORT_CG 101
#endif
// 3B4E560A-11E6-4EBD-B987-35385624970D
// 092c37e8-2806-4ebc-b04b-e0bb624ce0d4
#define NS_IWIDGET_IID \
{ 0x3B4E560A, 0x11E6, 0x4EBD, \
{ 0xB9, 0x87, 0x35, 0x38, 0x56, 0x24, 0x97, 0x0D } }
{ 0x092c37e8, 0x2806, 0x4ebc, \
{ 0xb0, 0x4b, 0xe0, 0xbb, 0x62, 0x4c, 0xe0, 0xd4 } }
// Hide the native window systems real window type so as to avoid
// including native window system types and api's. This is necessary
@@ -1039,6 +1040,10 @@ class nsIWidget : public nsISupports {
*/
virtual gfxASurface *GetThebesSurface() = 0;
/**
* Return the popup that was last rolled up, or null if there isn't one.
*/
virtual nsIContent* GetLastRollup() = 0;
protected:
// keep the list of children. We also keep track of our siblings.