]> git.saurik.com Git - wxWidgets.git/commitdiff
menuitem.h is now per port, since some ports (e.g. Motif!) need extra members etc.
authorJulian Smart <julian@anthemion.co.uk>
Fri, 18 Sep 1998 21:36:20 +0000 (21:36 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 18 Sep 1998 21:36:20 +0000 (21:36 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

distrib/msw/motif.rsp [new file with mode: 0644]
include/wx/gtk/menuitem.h [new file with mode: 0644]
include/wx/gtk1/menuitem.h [new file with mode: 0644]
include/wx/motif/menuitem.h [new file with mode: 0644]
include/wx/msw/menuitem.h [new file with mode: 0644]
include/wx/stubs/menuitem.h [new file with mode: 0644]

diff --git a/distrib/msw/motif.rsp b/distrib/msw/motif.rsp
new file mode 100644 (file)
index 0000000..953a64e
--- /dev/null
@@ -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 (file)
index 0000000..6536ac0
--- /dev/null
@@ -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 <zeitlin@dptmaths.ens-cachan.fr>
+// 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 (file)
index 0000000..6536ac0
--- /dev/null
@@ -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 <zeitlin@dptmaths.ens-cachan.fr>
+// 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 (file)
index 0000000..2956987
--- /dev/null
@@ -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 <zeitlin@dptmaths.ens-cachan.fr>
+// 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 (file)
index 0000000..6536ac0
--- /dev/null
@@ -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 <zeitlin@dptmaths.ens-cachan.fr>
+// 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 (file)
index 0000000..6536ac0
--- /dev/null
@@ -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 <zeitlin@dptmaths.ens-cachan.fr>
+// 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