зеркало из https://github.com/mozilla/gecko-dev.git
/m/pub/mozilla/widget/public/nsIMenu.h
This commit is contained in:
Родитель
6bf6cb7939
Коммит
1507ffe918
|
@ -79,7 +79,7 @@ class nsIMenu : public nsISupports {
|
|||
* Adds a Menu Item
|
||||
*
|
||||
*/
|
||||
NS_IMETHOD AddItem(nsIMenuItem * aMenuItem) = 0;
|
||||
NS_IMETHOD AddMenuItem(nsIMenuItem * aMenuItem) = 0;
|
||||
|
||||
/**
|
||||
* Adds a Cascading Menu
|
||||
|
|
|
@ -143,7 +143,7 @@ NS_METHOD nsMenu::AddItem(const nsString &aText)
|
|||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
NS_METHOD nsMenu::AddItem(nsIMenuItem * aMenuItem)
|
||||
NS_METHOD nsMenu::AddMenuItem(nsIMenuItem * aMenuItem)
|
||||
{
|
||||
GtkWidget *widget;
|
||||
void *voidData;
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#define nsMenu_h__
|
||||
|
||||
#include "nsIMenu.h"
|
||||
#include "nsVoidArray.h"
|
||||
|
||||
class nsIMenuBar;
|
||||
|
||||
|
@ -44,7 +45,7 @@ public:
|
|||
NS_IMETHOD GetLabel(nsString &aText);
|
||||
NS_IMETHOD SetLabel(nsString &aText);
|
||||
NS_IMETHOD AddItem(const nsString &aText);
|
||||
NS_IMETHOD AddItem(nsIMenuItem * aMenuItem);
|
||||
NS_IMETHOD AddMenuItem(nsIMenuItem * aMenuItem);
|
||||
NS_IMETHOD AddMenu(nsIMenu * aMenu);
|
||||
NS_IMETHOD AddSeparator();
|
||||
NS_IMETHOD GetItemCount(PRUint32 &aCount);
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "nsMenu.h"
|
||||
#include "nsIMenu.h"
|
||||
#include "nsIMenuBar.h"
|
||||
#include "nsIMenuItem.h"
|
||||
|
||||
#include "nsString.h"
|
||||
#include "nsStringUtil.h"
|
||||
|
@ -34,6 +35,8 @@ static NS_DEFINE_IID(kISupportsIID, NS_ISUPPORTS_IID);
|
|||
static NS_DEFINE_IID(kMenuIID, NS_IMENU_IID);
|
||||
NS_IMPL_ISUPPORTS(nsMenu, kMenuIID)
|
||||
|
||||
PRUint32 nsMenu::mMacMenuID = 256;
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//
|
||||
// nsMenu constructor
|
||||
|
@ -127,7 +130,7 @@ NS_METHOD nsMenu::Create(nsIMenuBar *aParent, const nsString &aLabel)
|
|||
//Create(GetNativeParent(), aLabel);
|
||||
|
||||
|
||||
aParent->AddMenu(this);
|
||||
//aParent->AddMenu(this);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
@ -139,7 +142,7 @@ NS_METHOD nsMenu::Create(nsIMenu *aParent, const nsString &aLabel)
|
|||
NS_ADDREF(mMenuParent);
|
||||
|
||||
//Create(GetNativeParent(), aLabel);
|
||||
aParent->AddMenu(this);
|
||||
//aParent->AddMenu(this);
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
@ -170,12 +173,15 @@ NS_METHOD nsMenu::SetLabel(nsString &aText)
|
|||
{
|
||||
mLabel = aText;
|
||||
|
||||
// Mac Menu id may be 1-255
|
||||
//mMacMenuHandle = ::NewMenu(1, (unsigned char *)mName.ToNewCString() );
|
||||
mMacMenuHandle = nsnull;
|
||||
mMacMenuHandle = ::NewMenu(mMacMenuID, c2pstr(mLabel.ToNewCString()) );
|
||||
mMacMenuID++;
|
||||
/*
|
||||
Str255 test;
|
||||
strcpy((char*)&test, "test");
|
||||
c2pstr((char*)test);
|
||||
mMacMenuHandle = ::NewMenu(500, test);
|
||||
*/
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
@ -187,10 +193,15 @@ NS_METHOD nsMenu::AddItem(const nsString &aText)
|
|||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
NS_METHOD nsMenu::AddItem(nsIMenuItem * aMenuItem)
|
||||
NS_METHOD nsMenu::AddMenuItem(nsIMenuItem * aMenuItem)
|
||||
{
|
||||
// XXX add aMenuItem to internal data structor list
|
||||
|
||||
mMenuItemVoidArrary.AppendElement(aMenuItem);
|
||||
|
||||
nsString label;
|
||||
aMenuItem->GetLabel(label);
|
||||
::InsertMenuItem(mMacMenuHandle, c2pstr(label.ToNewCString()), mNumMenuItems );
|
||||
mNumMenuItems++;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -258,7 +269,7 @@ NS_METHOD nsMenu::RemoveAll()
|
|||
//-------------------------------------------------------------------------
|
||||
NS_METHOD nsMenu::GetNativeData(void *& aData)
|
||||
{
|
||||
//aData = (void *)mMenu;
|
||||
aData = (void *)mMacMenuHandle;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
#define nsMenu_h__
|
||||
|
||||
#include "nsIMenu.h"
|
||||
#include "nsVoidArray.h"
|
||||
|
||||
#include <Menus.h>
|
||||
|
||||
class nsIMenuBar;
|
||||
|
@ -45,7 +47,7 @@ public:
|
|||
NS_IMETHOD GetLabel(nsString &aText);
|
||||
NS_IMETHOD SetLabel(nsString &aText);
|
||||
NS_IMETHOD AddItem(const nsString &aText);
|
||||
NS_IMETHOD AddItem(nsIMenuItem * aMenuItem);
|
||||
NS_IMETHOD AddMenuItem(nsIMenuItem * aMenuItem);
|
||||
NS_IMETHOD AddMenu(nsIMenu * aMenu);
|
||||
NS_IMETHOD AddSeparator();
|
||||
NS_IMETHOD GetItemCount(PRUint32 &aCount);
|
||||
|
@ -63,12 +65,15 @@ protected:
|
|||
|
||||
nsString mLabel;
|
||||
PRUint32 mNumMenuItems;
|
||||
nsVoidArray mMenuItemVoidArrary;
|
||||
|
||||
nsIMenu * mMenuParent;
|
||||
nsIMenuBar * mMenuBarParent;
|
||||
|
||||
// MacSpecific
|
||||
MenuHandle mMacMenuHandle;
|
||||
static PRUint32 mMacMenuID;
|
||||
MenuHandle mMacMenuHandle;
|
||||
};
|
||||
|
||||
|
||||
#endif // nsMenu_h__
|
||||
|
|
|
@ -167,7 +167,7 @@ NS_METHOD nsMenu::AddItem(const nsString &aText)
|
|||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
NS_METHOD nsMenu::AddItem(nsIMenuItem * aMenuItem)
|
||||
NS_METHOD nsMenu::AddMenuItem(nsIMenuItem * aMenuItem)
|
||||
{
|
||||
// XXX add aMenuItem to internal data structor list
|
||||
return NS_OK;
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#define nsMenu_h__
|
||||
|
||||
#include "nsIMenu.h"
|
||||
#include "nsVoidArray.h"
|
||||
#include "Xm/Xm.h"
|
||||
#include "nsXtManageWidget.h"
|
||||
|
||||
|
@ -46,7 +47,7 @@ public:
|
|||
NS_IMETHOD GetLabel(nsString &aText);
|
||||
NS_IMETHOD SetLabel(nsString &aText);
|
||||
NS_IMETHOD AddItem(const nsString &aText);
|
||||
NS_IMETHOD AddItem(nsIMenuItem * aMenuItem);
|
||||
NS_IMETHOD AddMenuItem(nsIMenuItem * aMenuItem);
|
||||
NS_IMETHOD AddMenu(nsIMenu * aMenu);
|
||||
NS_IMETHOD AddSeparator();
|
||||
NS_IMETHOD GetItemCount(PRUint32 &aCount);
|
||||
|
|
|
@ -129,7 +129,7 @@ NS_METHOD nsMenu::AddItem(const nsString &aText)
|
|||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
NS_METHOD nsMenu::AddItem(nsIMenuItem * aMenuItem)
|
||||
NS_METHOD nsMenu::AddMenuItem(nsIMenuItem * aMenuItem)
|
||||
{
|
||||
PRUint32 command;
|
||||
nsString name;
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "nsSwitchToUIThread.h"
|
||||
|
||||
#include "nsIMenu.h"
|
||||
#include "nsVoidArray.h"
|
||||
|
||||
/**
|
||||
* Native Win32 button wrapper
|
||||
|
@ -46,7 +47,7 @@ public:
|
|||
NS_IMETHOD GetLabel(nsString &aText);
|
||||
NS_IMETHOD SetLabel(nsString &aText);
|
||||
NS_IMETHOD AddItem(const nsString &aText);
|
||||
NS_IMETHOD AddItem(nsIMenuItem * aMenuItem);
|
||||
NS_IMETHOD AddMenuItem(nsIMenuItem * aMenuItem);
|
||||
NS_IMETHOD AddMenu(nsIMenu * aMenu);
|
||||
NS_IMETHOD AddSeparator();
|
||||
NS_IMETHOD GetItemCount(PRUint32 &aCount);
|
||||
|
|
Загрузка…
Ссылка в новой задаче