/m/pub/mozilla/widget/public/nsIMenu.h

This commit is contained in:
saari%netscape.com 1999-01-27 15:57:57 +00:00
Родитель 6bf6cb7939
Коммит 1507ffe918
9 изменённых файлов: 35 добавлений и 16 удалений

Просмотреть файл

@ -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);