diff --git a/include/wx/generic/accel.h b/include/wx/generic/accel.h new file mode 100644 index 0000000000..76e2f9369c --- /dev/null +++ b/include/wx/generic/accel.h @@ -0,0 +1,58 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/generic/accel.h +// Purpose: wxAcceleratorTable class +// Author: Robert Roebling +// RCS-ID: $Id$ +// Copyright: (c) Robert Roebling +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_GENERIC_ACCEL_H_ +#define _WX_GENERIC_ACCEL_H_ + +#ifdef __GNUG__ +#pragma interface "accel.h" +#endif + +class WXDLLEXPORT wxKeyEvent; + +// ---------------------------------------------------------------------------- +// wxAcceleratorTable +// ---------------------------------------------------------------------------- + +class WXDLLEXPORT wxAcceleratorTable : public wxObject +{ +public: + wxAcceleratorTable(); + wxAcceleratorTable(int n, wxAcceleratorEntry entries[]); + virtual ~wxAcceleratorTable(); + + wxAcceleratorTable(const wxAcceleratorTable& accel) + { Ref(accel); } + wxAcceleratorTable& operator=(const wxAcceleratorTable& accel) + { if ( m_refData != accel.m_refData ) Ref(accel); return *this; } + + bool operator==(const wxAcceleratorTable& accel) const + { return m_refData == accel.m_refData; } // FIXME: this is wrong (VZ) + bool operator!=(const wxAcceleratorTable& accel) const + { return !(*this == accel); } + + 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; + +private: + DECLARE_DYNAMIC_CLASS(wxAcceleratorTable) +}; + +#endif // _WX_GENERIC_ACCEL_H_ +