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

This commit is contained in:
saari%netscape.com 1999-01-27 16:05:57 +00:00
parent 1507ffe918
commit c656fedda3
9 changed files with 44 additions and 12 deletions

View File

@ -90,6 +90,12 @@ class nsIMenuBar : public nsISupports {
*
*/
NS_IMETHOD GetNativeData(void*& aData) = 0;
/**
* Draw the menubar
*
*/
NS_IMETHOD Paint() = 0;
};
#endif

View File

@ -156,3 +156,8 @@ NS_METHOD nsMenuBar::GetNativeData(void *& aData)
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::Paint()
{
return NS_OK;
}

View File

@ -21,6 +21,7 @@
#include "nsIMenuBar.h"
#include "nsIMenuListener.h"
#include "nsVoidArray.h"
class nsIWidget;
@ -52,7 +53,7 @@ public:
NS_IMETHOD RemoveMenu(const PRUint32 aCount);
NS_IMETHOD RemoveAll();
NS_IMETHOD GetNativeData(void*& aData);
NS_IMETHOD Paint();
protected:
PRUint32 mNumMenus;
GtkWidget *mMenu;

View File

@ -25,6 +25,7 @@
#if defined(XP_MAC)
#include <Menus.h>
#include <TextUtils.h>
#endif
static NS_DEFINE_IID(kMenuBarIID, NS_IMENUBAR_IID);
@ -49,14 +50,13 @@ nsMenuBar::nsMenuBar() : nsIMenuBar(), nsIMenuListener()
{
NS_INIT_REFCNT();
mNumMenus = 0;
mMenu = nsnull;
//mMenuVoidArray;
mParent = nsnull;
mIsMenuBarAdded = PR_FALSE;
mOriginalMacMBarHandle = nsnull;
mOriginalMacMBarHandle = ::GetMenuBar();
mMacMBarHandle = mOriginalMacMBarHandle;
::ClearMenuBar();
}
@ -106,12 +106,13 @@ NS_METHOD nsMenuBar::AddMenu(nsIMenu * aMenu)
{
// XXX add to internal data structure
mMenu = aMenu;
mMenuVoidArray.AppendElement( aMenu );
MenuHandle menuHandle = nsnull;
aMenu->GetNativeData(&menuHandle);
aMenu->GetNativeData(menuHandle);
::InsertMenu(menuHandle, 0);
::InsertMenu(menuHandle, mNumMenus);
mNumMenus++;
return NS_OK;
}
@ -152,3 +153,9 @@ NS_METHOD nsMenuBar::GetNativeData(void *& aData)
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::Paint()
{
::DrawMenuBar();
return NS_OK;
}

View File

@ -21,6 +21,7 @@
#include "nsIMenuBar.h"
#include "nsIMenuListener.h"
#include "nsVoidArray.h"
class nsIWidget;
@ -52,11 +53,11 @@ public:
NS_IMETHOD RemoveMenu(const PRUint32 aCount);
NS_IMETHOD RemoveAll();
NS_IMETHOD GetNativeData(void*& aData);
NS_IMETHOD Paint();
protected:
PRUint32 mNumMenus;
nsIMenu * mMenu;
nsIWidget * mParent;
PRUint32 mNumMenus;
nsVoidArray mMenuVoidArray;
nsIWidget * mParent;
PRBool mIsMenuBarAdded;

View File

@ -131,3 +131,8 @@ NS_METHOD nsMenuBar::GetNativeData(void *& aData)
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::Paint()
{
return NS_OK;
}

View File

@ -24,6 +24,7 @@
#include "nsIMenuBar.h"
#include "nsIMenuListener.h"
#include "nsVoidArray.h"
class nsIWidget;
@ -55,7 +56,7 @@ public:
NS_IMETHOD RemoveMenu(const PRUint32 aCount);
NS_IMETHOD RemoveAll();
NS_IMETHOD GetNativeData(void*& aData);
NS_IMETHOD Paint();
protected:
PRUint32 mNumMenus;
Widget mMenu;

View File

@ -160,3 +160,8 @@ NS_METHOD nsMenuBar::GetNativeData(void *& aData)
return NS_OK;
}
//-------------------------------------------------------------------------
NS_METHOD nsMenuBar::Paint()
{
return NS_OK;
}

View File

@ -25,6 +25,7 @@
#include "nsIMenuBar.h"
#include "nsIMenuListener.h"
#include "nsVoidArray.h"
class nsIWidget;
@ -56,7 +57,7 @@ public:
NS_IMETHOD RemoveMenu(const PRUint32 aCount);
NS_IMETHOD RemoveAll();
NS_IMETHOD GetNativeData(void*& aData);
NS_IMETHOD Paint();
protected:
PRUint32 mNumMenus;
HMENU mMenu;