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