From: Julian Smart Date: Fri, 18 Sep 1998 21:36:20 +0000 (+0000) Subject: menuitem.h is now per port, since some ports (e.g. Motif!) need extra members etc. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/23d1d521c829ebfe1ab0abf29c16013ece822c34 menuitem.h is now per port, since some ports (e.g. Motif!) need extra members etc. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/distrib/msw/motif.rsp b/distrib/msw/motif.rsp new file mode 100644 index 0000000000..953a64ed7f --- /dev/null +++ b/distrib/msw/motif.rsp @@ -0,0 +1,14 @@ +src/motif/*.cpp +src/motif/*.c +src/motif/*.h +src/motif/makefile* +src/motif/*.inc + +src/make.env +src/makeprog.env + +include/wx/motif/*.h + +lib/dummy + + diff --git a/include/wx/gtk/menuitem.h b/include/wx/gtk/menuitem.h new file mode 100644 index 0000000000..6536ac0805 --- /dev/null +++ b/include/wx/gtk/menuitem.h @@ -0,0 +1,95 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: menuitem.h +// Purpose: wxMenuItem class +// Author: Vadim Zeitlin +// Modified by: +// Created: 11.11.97 +// RCS-ID: $Id$ +// Copyright: (c) 1998 Vadim Zeitlin +// Licence: wxWindows license +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _MENUITEM_H +#define _MENUITEM_H + +#ifdef __GNUG__ +#pragma interface "menuitem.h" +#endif + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "wx/setup.h" + +// 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" +#endif + +// ---------------------------------------------------------------------------- +// constants +// ---------------------------------------------------------------------------- + +// id for a separator line in the menu (invalid for normal item) +#define ID_SEPARATOR (-1) + +// ---------------------------------------------------------------------------- +// wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour +// ---------------------------------------------------------------------------- +class WXDLLEXPORT wxMenuItem: public wxObject +#if USE_OWNER_DRAWN + , public wxOwnerDrawn +#endif +{ +DECLARE_DYNAMIC_CLASS(wxMenuItem) + +public: + // ctor & dtor + wxMenuItem(wxMenu *pParentMenu = NULL, int id = ID_SEPARATOR, + const wxString& strName = "", const wxString& wxHelp = "", + bool bCheckable = FALSE, wxMenu *pSubMenu = NULL); + virtual ~wxMenuItem(); + + // 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; } + + int GetId() const { return m_idItem; } + const wxString& GetHelp() const { return m_strHelp; } + wxMenu *GetSubMenu() const { return m_pSubMenu; } + + // operations + void SetName(const wxString& strName) { m_strName = strName; } + void SetHelp(const wxString& strHelp) { m_strHelp = strHelp; } + + void Enable(bool bDoEnable = TRUE); + void Check(bool bDoCheck = TRUE); + + void DeleteSubMenu(); + +private: + int m_idItem; // numeric id of the item + wxString m_strHelp; // associated help string + wxMenu *m_pSubMenu, // may be NULL + *m_pParentMenu; // menu this item is contained in + bool m_bEnabled, // enabled or greyed? + m_bChecked; // checked? (only if checkable) + +#if USE_OWNER_DRAWN + // wxOwnerDrawn base class already has these variables - nothing to do + +#else //!owner drawn + bool m_bCheckable; // can be checked? + wxString m_strName; // name or label of the item + +public: + const wxString& GetName() const { return m_strName; } + bool IsCheckable() const { return m_bCheckable; } +#endif //owner drawn +}; + +#endif //_MENUITEM_H diff --git a/include/wx/gtk1/menuitem.h b/include/wx/gtk1/menuitem.h new file mode 100644 index 0000000000..6536ac0805 --- /dev/null +++ b/include/wx/gtk1/menuitem.h @@ -0,0 +1,95 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: menuitem.h +// Purpose: wxMenuItem class +// Author: Vadim Zeitlin +// Modified by: +// Created: 11.11.97 +// RCS-ID: $Id$ +// Copyright: (c) 1998 Vadim Zeitlin +// Licence: wxWindows license +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _MENUITEM_H +#define _MENUITEM_H + +#ifdef __GNUG__ +#pragma interface "menuitem.h" +#endif + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "wx/setup.h" + +// 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" +#endif + +// ---------------------------------------------------------------------------- +// constants +// ---------------------------------------------------------------------------- + +// id for a separator line in the menu (invalid for normal item) +#define ID_SEPARATOR (-1) + +// ---------------------------------------------------------------------------- +// wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour +// ---------------------------------------------------------------------------- +class WXDLLEXPORT wxMenuItem: public wxObject +#if USE_OWNER_DRAWN + , public wxOwnerDrawn +#endif +{ +DECLARE_DYNAMIC_CLASS(wxMenuItem) + +public: + // ctor & dtor + wxMenuItem(wxMenu *pParentMenu = NULL, int id = ID_SEPARATOR, + const wxString& strName = "", const wxString& wxHelp = "", + bool bCheckable = FALSE, wxMenu *pSubMenu = NULL); + virtual ~wxMenuItem(); + + // 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; } + + int GetId() const { return m_idItem; } + const wxString& GetHelp() const { return m_strHelp; } + wxMenu *GetSubMenu() const { return m_pSubMenu; } + + // operations + void SetName(const wxString& strName) { m_strName = strName; } + void SetHelp(const wxString& strHelp) { m_strHelp = strHelp; } + + void Enable(bool bDoEnable = TRUE); + void Check(bool bDoCheck = TRUE); + + void DeleteSubMenu(); + +private: + int m_idItem; // numeric id of the item + wxString m_strHelp; // associated help string + wxMenu *m_pSubMenu, // may be NULL + *m_pParentMenu; // menu this item is contained in + bool m_bEnabled, // enabled or greyed? + m_bChecked; // checked? (only if checkable) + +#if USE_OWNER_DRAWN + // wxOwnerDrawn base class already has these variables - nothing to do + +#else //!owner drawn + bool m_bCheckable; // can be checked? + wxString m_strName; // name or label of the item + +public: + const wxString& GetName() const { return m_strName; } + bool IsCheckable() const { return m_bCheckable; } +#endif //owner drawn +}; + +#endif //_MENUITEM_H diff --git a/include/wx/motif/menuitem.h b/include/wx/motif/menuitem.h new file mode 100644 index 0000000000..2956987bd9 --- /dev/null +++ b/include/wx/motif/menuitem.h @@ -0,0 +1,115 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: menuitem.h +// Purpose: wxMenuItem class +// Author: Vadim Zeitlin +// Modified by: +// Created: 11.11.97 +// RCS-ID: $Id$ +// Copyright: (c) 1998 Vadim Zeitlin +// Licence: wxWindows license +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _MENUITEM_H +#define _MENUITEM_H + +#ifdef __GNUG__ +#pragma interface "menuitem.h" +#endif + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "wx/setup.h" + +// 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" +#endif + +// ---------------------------------------------------------------------------- +// constants +// ---------------------------------------------------------------------------- + +// id for a separator line in the menu (invalid for normal item) +#define ID_SEPARATOR (-1) + +// ---------------------------------------------------------------------------- +// wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour +// ---------------------------------------------------------------------------- +class WXDLLEXPORT wxMenuItem: public wxObject +#if USE_OWNER_DRAWN + , public wxOwnerDrawn +#endif +{ +DECLARE_DYNAMIC_CLASS(wxMenuItem) + +public: + // ctor & dtor + wxMenuItem(wxMenu *pParentMenu = NULL, int id = ID_SEPARATOR, + const wxString& strName = "", const wxString& wxHelp = "", + bool bCheckable = FALSE, wxMenu *pSubMenu = NULL); + virtual ~wxMenuItem(); + + // 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; } + + int GetId() const { return m_idItem; } + const wxString& GetHelp() const { return m_strHelp; } + wxMenu *GetSubMenu() const { return m_pSubMenu; } + + // operations + void SetName(const wxString& strName) { m_strName = strName; } + void SetHelp(const wxString& strHelp) { m_strHelp = strHelp; } + + void Enable(bool bDoEnable = TRUE); + void Check(bool bDoCheck = TRUE); + + void DeleteSubMenu(); + + //// Motif-specific + + // These two should probably exist for all ports + void SetLabel(const wxString& label); + wxString GetLabel() const { return m_strName; } + void CreateItem (WXWidget menu, wxMenuBar * menuBar, wxMenu * topMenu); + void DestroyItem(bool full); + + inline WXWidget GetButtonWidget() const { return m_buttonWidget; } + inline void SetChecked(bool check) { m_bChecked = check; } + inline wxMenuBar* GetMenuBar() const { return m_menuBar; } + inline void SetMenuBar(wxMenuBar* menuBar) { m_menuBar = menuBar; } + inline wxMenu* GetTopMenu() const { return m_topMenu; } + inline void SetTopMenu(wxMenu* menu) { m_topMenu = menu; } + +private: + int m_idItem; // numeric id of the item + wxString m_strHelp; // associated help string + wxMenu *m_pSubMenu, // may be NULL + *m_pParentMenu; // menu this item is contained in + bool m_bEnabled, // enabled or greyed? + m_bChecked; // checked? (only if checkable) + + //// Motif-specific + WXWidget m_buttonWidget; + wxMenuBar* m_menuBar; + wxMenu* m_topMenu; // Top-level menu e.g. popup-menu + +#if USE_OWNER_DRAWN + // wxOwnerDrawn base class already has these variables - nothing to do + +#else //!owner drawn + bool m_bCheckable; // can be checked? + wxString m_strName; // name or label of the item + +public: + const wxString& GetName() const { return m_strName; } + bool IsCheckable() const { return m_bCheckable; } +#endif //owner drawn +}; + +#endif //_MENUITEM_H diff --git a/include/wx/msw/menuitem.h b/include/wx/msw/menuitem.h new file mode 100644 index 0000000000..6536ac0805 --- /dev/null +++ b/include/wx/msw/menuitem.h @@ -0,0 +1,95 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: menuitem.h +// Purpose: wxMenuItem class +// Author: Vadim Zeitlin +// Modified by: +// Created: 11.11.97 +// RCS-ID: $Id$ +// Copyright: (c) 1998 Vadim Zeitlin +// Licence: wxWindows license +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _MENUITEM_H +#define _MENUITEM_H + +#ifdef __GNUG__ +#pragma interface "menuitem.h" +#endif + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "wx/setup.h" + +// 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" +#endif + +// ---------------------------------------------------------------------------- +// constants +// ---------------------------------------------------------------------------- + +// id for a separator line in the menu (invalid for normal item) +#define ID_SEPARATOR (-1) + +// ---------------------------------------------------------------------------- +// wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour +// ---------------------------------------------------------------------------- +class WXDLLEXPORT wxMenuItem: public wxObject +#if USE_OWNER_DRAWN + , public wxOwnerDrawn +#endif +{ +DECLARE_DYNAMIC_CLASS(wxMenuItem) + +public: + // ctor & dtor + wxMenuItem(wxMenu *pParentMenu = NULL, int id = ID_SEPARATOR, + const wxString& strName = "", const wxString& wxHelp = "", + bool bCheckable = FALSE, wxMenu *pSubMenu = NULL); + virtual ~wxMenuItem(); + + // 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; } + + int GetId() const { return m_idItem; } + const wxString& GetHelp() const { return m_strHelp; } + wxMenu *GetSubMenu() const { return m_pSubMenu; } + + // operations + void SetName(const wxString& strName) { m_strName = strName; } + void SetHelp(const wxString& strHelp) { m_strHelp = strHelp; } + + void Enable(bool bDoEnable = TRUE); + void Check(bool bDoCheck = TRUE); + + void DeleteSubMenu(); + +private: + int m_idItem; // numeric id of the item + wxString m_strHelp; // associated help string + wxMenu *m_pSubMenu, // may be NULL + *m_pParentMenu; // menu this item is contained in + bool m_bEnabled, // enabled or greyed? + m_bChecked; // checked? (only if checkable) + +#if USE_OWNER_DRAWN + // wxOwnerDrawn base class already has these variables - nothing to do + +#else //!owner drawn + bool m_bCheckable; // can be checked? + wxString m_strName; // name or label of the item + +public: + const wxString& GetName() const { return m_strName; } + bool IsCheckable() const { return m_bCheckable; } +#endif //owner drawn +}; + +#endif //_MENUITEM_H diff --git a/include/wx/stubs/menuitem.h b/include/wx/stubs/menuitem.h new file mode 100644 index 0000000000..6536ac0805 --- /dev/null +++ b/include/wx/stubs/menuitem.h @@ -0,0 +1,95 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: menuitem.h +// Purpose: wxMenuItem class +// Author: Vadim Zeitlin +// Modified by: +// Created: 11.11.97 +// RCS-ID: $Id$ +// Copyright: (c) 1998 Vadim Zeitlin +// Licence: wxWindows license +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _MENUITEM_H +#define _MENUITEM_H + +#ifdef __GNUG__ +#pragma interface "menuitem.h" +#endif + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "wx/setup.h" + +// 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" +#endif + +// ---------------------------------------------------------------------------- +// constants +// ---------------------------------------------------------------------------- + +// id for a separator line in the menu (invalid for normal item) +#define ID_SEPARATOR (-1) + +// ---------------------------------------------------------------------------- +// wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour +// ---------------------------------------------------------------------------- +class WXDLLEXPORT wxMenuItem: public wxObject +#if USE_OWNER_DRAWN + , public wxOwnerDrawn +#endif +{ +DECLARE_DYNAMIC_CLASS(wxMenuItem) + +public: + // ctor & dtor + wxMenuItem(wxMenu *pParentMenu = NULL, int id = ID_SEPARATOR, + const wxString& strName = "", const wxString& wxHelp = "", + bool bCheckable = FALSE, wxMenu *pSubMenu = NULL); + virtual ~wxMenuItem(); + + // 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; } + + int GetId() const { return m_idItem; } + const wxString& GetHelp() const { return m_strHelp; } + wxMenu *GetSubMenu() const { return m_pSubMenu; } + + // operations + void SetName(const wxString& strName) { m_strName = strName; } + void SetHelp(const wxString& strHelp) { m_strHelp = strHelp; } + + void Enable(bool bDoEnable = TRUE); + void Check(bool bDoCheck = TRUE); + + void DeleteSubMenu(); + +private: + int m_idItem; // numeric id of the item + wxString m_strHelp; // associated help string + wxMenu *m_pSubMenu, // may be NULL + *m_pParentMenu; // menu this item is contained in + bool m_bEnabled, // enabled or greyed? + m_bChecked; // checked? (only if checkable) + +#if USE_OWNER_DRAWN + // wxOwnerDrawn base class already has these variables - nothing to do + +#else //!owner drawn + bool m_bCheckable; // can be checked? + wxString m_strName; // name or label of the item + +public: + const wxString& GetName() const { return m_strName; } + bool IsCheckable() const { return m_bCheckable; } +#endif //owner drawn +}; + +#endif //_MENUITEM_H