// Name: menuitem.h
// Purpose: wxMenuItem class
// Author: Vadim Zeitlin
-// Modified by:
+// Modified by:
// Created: 11.11.97
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
#define _MENUITEM_H
#ifdef __GNUG__
-#pragma interface "menuitem.h"
+ #pragma interface "menuitem.h"
#endif
// ----------------------------------------------------------------------------
// an exception to the general rule that a normal header doesn't include other
// headers - only because ownerdrw.h is not always included and I don't want
// to write #ifdef's everywhere...
-#if USE_OWNER_DRAWN
-#include "wx/ownerdrw.h"
+#if wxUSE_OWNER_DRAWN
+ #include "wx/ownerdrw.h"
#endif
// ----------------------------------------------------------------------------
// wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxMenuItem: public wxObject
-#if USE_OWNER_DRAWN
+#if wxUSE_OWNER_DRAWN
, public wxOwnerDrawn
#endif
{
// accessors (some more are inherited from wxOwnerDrawn or are below)
bool IsSeparator() const { return m_idItem == ID_SEPARATOR; }
- bool IsEnabled() const { return m_bEnabled; }
- bool IsChecked() const { return m_bChecked; }
+ bool IsEnabled() const { return m_bEnabled; }
+ bool IsChecked() const { return m_bChecked; }
+ bool IsSubMenu() const { return GetSubMenu() != NULL; }
int GetId() const { return m_idItem; }
const wxString& GetHelp() const { return m_strHelp; }
wxMenu *GetSubMenu() const { return m_pSubMenu; }
+ // the id for a popup menu is really its menu handle (as required by
+ // ::AppendMenu() API)
+ int GetRealId() const;
+
// operations
- void SetName(const wxString& strName) { m_strName = strName; }
+ void SetName(const wxString& strName);
void SetHelp(const wxString& strHelp) { m_strHelp = strHelp; }
void Enable(bool bDoEnable = TRUE);
bool m_bEnabled, // enabled or greyed?
m_bChecked; // checked? (only if checkable)
-#if USE_OWNER_DRAWN
+#if wxUSE_OWNER_DRAWN
// wxOwnerDrawn base class already has these variables - nothing to do
#else //!owner drawn