X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2d120f8391920145647ec10e84629bc21fa9f1bb..74a8f67d96591cec101def2a7d47c64072aff7fd:/src/motif/accel.cpp diff --git a/src/motif/accel.cpp b/src/motif/accel.cpp index 46adbcc4b6..d66f03b8af 100644 --- a/src/motif/accel.cpp +++ b/src/motif/accel.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: accel.cpp +// Name: src/motif/accel.cpp // Purpose: wxAcceleratorTable // Author: Julian Smart // Modified by: @@ -9,27 +9,27 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "accel.h" -#endif +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" -#include "wx/setup.h" #include "wx/accel.h" -#include "wx/string.h" -#include "wx/utils.h" + +#ifndef WX_PRECOMP + #include "wx/string.h" + #include "wx/utils.h" +#endif + #include -#if !USE_SHARED_LIBRARIES IMPLEMENT_DYNAMIC_CLASS(wxAcceleratorTable, wxObject) -#endif class WXDLLEXPORT wxAcceleratorRefData: public wxObjectRefData { - friend class WXDLLEXPORT wxAcceleratorTable; + friend class wxAcceleratorTable; public: wxAcceleratorRefData(); - ~wxAcceleratorRefData(); - + virtual ~wxAcceleratorRefData(); + public: int m_count; wxAcceleratorEntry* m_entries; @@ -40,19 +40,18 @@ public: wxAcceleratorRefData::wxAcceleratorRefData() { m_count = 0; - m_entries = (wxAcceleratorEntry*) NULL; + m_entries = NULL; } wxAcceleratorRefData::~wxAcceleratorRefData() { - delete[] m_entries; - m_entries = (wxAcceleratorEntry*) NULL; + wxDELETEA(m_entries); m_count = 0; } wxAcceleratorTable::wxAcceleratorTable() { - m_refData = (wxAcceleratorRefData*) NULL; + m_refData = NULL; } wxAcceleratorTable::~wxAcceleratorTable() @@ -61,28 +60,28 @@ wxAcceleratorTable::~wxAcceleratorTable() } // Load from .rc resource -wxAcceleratorTable::wxAcceleratorTable(const wxString& resource) +wxAcceleratorTable::wxAcceleratorTable(const wxString& WXUNUSED(resource)) { m_refData = new wxAcceleratorRefData; } // Create from an array -wxAcceleratorTable::wxAcceleratorTable(int n, wxAcceleratorEntry entries[]) +wxAcceleratorTable::wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]) { wxAcceleratorRefData* data = new wxAcceleratorRefData; m_refData = data; - + data->m_count = n; data->m_entries = new wxAcceleratorEntry[n]; int i; for (i = 0; i < n; i++) data->m_entries[i] = entries[i]; - + } -bool wxAcceleratorTable::Ok() const +bool wxAcceleratorTable::IsOk() const { - return (m_refData != (wxAcceleratorRefData*) NULL); + return (m_refData != NULL); } int wxAcceleratorTable::GetCount() const @@ -101,18 +100,17 @@ bool wxAcceleratorEntry::MatchesEvent(const wxKeyEvent& event) const bool eventAltDown = event.AltDown(); bool eventCtrlDown = event.ControlDown(); bool eventShiftDown = event.ShiftDown(); - int eventKeyCode = event.KeyCode(); - + int eventKeyCode = event.GetKeyCode(); + bool accAltDown = ((GetFlags() & wxACCEL_ALT) == wxACCEL_ALT); bool accCtrlDown = ((GetFlags() & wxACCEL_CTRL) == wxACCEL_CTRL); bool accShiftDown = ((GetFlags() & wxACCEL_SHIFT) == wxACCEL_SHIFT); int accKeyCode = GetKeyCode(); int accKeyCode2 = GetKeyCode(); - if (isascii(accKeyCode2)) - accKeyCode2 = wxToLower(accKeyCode2); - + if (wxIsascii(accKeyCode2)) + accKeyCode2 = wxTolower(accKeyCode2); + return ((eventAltDown == accAltDown) && (eventCtrlDown == accCtrlDown) && (eventShiftDown == accShiftDown) && ((eventKeyCode == accKeyCode || eventKeyCode == accKeyCode2))) ; } -