git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
///////////////////////////////////////////////////////////////////////////////
 | 
						|
// 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 wxUSE_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 wxUSE_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 wxUSE_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
 |