2001-06-26 17:09:16 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: wx/generic/accel.h
|
|
|
|
// Purpose: wxAcceleratorTable class
|
|
|
|
// Author: Robert Roebling
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Copyright: (c) Robert Roebling
|
2004-05-23 16:53:33 -04:00
|
|
|
// Licence: wxWindows licence
|
2001-06-26 17:09:16 -04:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
#ifndef _WX_GENERIC_ACCEL_H_
|
|
|
|
#define _WX_GENERIC_ACCEL_H_
|
|
|
|
|
2003-08-09 08:38:21 -04:00
|
|
|
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
|
2001-06-26 17:09:16 -04:00
|
|
|
#pragma interface "accel.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
class WXDLLEXPORT wxKeyEvent;
|
|
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
// wxAcceleratorTable
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
class WXDLLEXPORT wxAcceleratorTable : public wxObject
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
wxAcceleratorTable();
|
2002-05-28 12:51:14 -04:00
|
|
|
wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]);
|
2001-06-26 17:09:16 -04:00
|
|
|
virtual ~wxAcceleratorTable();
|
|
|
|
|
|
|
|
wxAcceleratorTable(const wxAcceleratorTable& accel)
|
2002-05-07 17:58:27 -04:00
|
|
|
: wxObject()
|
|
|
|
{ Ref(accel); }
|
2001-06-26 17:09:16 -04:00
|
|
|
wxAcceleratorTable& operator=(const wxAcceleratorTable& accel)
|
|
|
|
{ if ( m_refData != accel.m_refData ) Ref(accel); return *this; }
|
|
|
|
|
2004-12-03 10:38:35 -05:00
|
|
|
#if WXWIN_COMPATIBILITY_2_4
|
2001-06-26 17:09:16 -04:00
|
|
|
bool operator==(const wxAcceleratorTable& accel) const
|
2004-12-03 10:38:35 -05:00
|
|
|
{ return m_refData == accel.m_refData; }
|
2001-06-26 17:09:16 -04:00
|
|
|
bool operator!=(const wxAcceleratorTable& accel) const
|
|
|
|
{ return !(*this == accel); }
|
2004-12-03 10:38:35 -05:00
|
|
|
#endif
|
2001-06-26 17:09:16 -04:00
|
|
|
|
|
|
|
bool Ok() const;
|
|
|
|
|
|
|
|
void Add(const wxAcceleratorEntry& entry);
|
|
|
|
void Remove(const wxAcceleratorEntry& entry);
|
|
|
|
|
|
|
|
// implementation
|
|
|
|
// --------------
|
|
|
|
|
|
|
|
wxMenuItem *GetMenuItem(const wxKeyEvent& event) const;
|
|
|
|
int GetCommand(const wxKeyEvent& event) const;
|
|
|
|
|
|
|
|
const wxAcceleratorEntry *GetEntry(const wxKeyEvent& event) const;
|
|
|
|
|
2002-03-10 18:11:46 -05:00
|
|
|
protected:
|
|
|
|
// ref counting code
|
|
|
|
virtual wxObjectRefData *CreateRefData() const;
|
|
|
|
virtual wxObjectRefData *CloneRefData(const wxObjectRefData *data) const;
|
|
|
|
|
2001-06-26 17:09:16 -04:00
|
|
|
private:
|
|
|
|
DECLARE_DYNAMIC_CLASS(wxAcceleratorTable)
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _WX_GENERIC_ACCEL_H_
|
|
|
|
|