X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ffc93a32d83c17e9037aefb3a7e076721a1552a8..7816e624f3cc9041de71b4acfe183976624ff833:/src/mac/carbon/accel.cpp diff --git a/src/mac/carbon/accel.cpp b/src/mac/carbon/accel.cpp index 181460adf4..484b49e5ad 100644 --- a/src/mac/carbon/accel.cpp +++ b/src/mac/carbon/accel.cpp @@ -1,33 +1,31 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: accel.cpp +// Name: src/mac/carbon/accel.cpp // Purpose: wxAcceleratorTable -// Author: AUTHOR +// Author: Stefan Csomor // Modified by: -// Created: ??/??/98 +// Created: 1998-01-01 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR +// Copyright: (c) Stefan Csomor // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ -#pragma implementation "accel.h" -#endif +#include "wx/wxprec.h" -#include "wx/setup.h" #include "wx/accel.h" -#include "wx/string.h" -#if !USE_SHARED_LIBRARIES -IMPLEMENT_DYNAMIC_CLASS(wxAcceleratorTable, wxObject) +#ifndef WX_PRECOMP + #include "wx/string.h" #endif +IMPLEMENT_DYNAMIC_CLASS(wxAcceleratorTable, wxObject) + // ---------------------------------------------------------------------------- // wxAccelList: a list of wxAcceleratorEntries // ---------------------------------------------------------------------------- WX_DECLARE_LIST(wxAcceleratorEntry, wxAccelList); #include "wx/listimpl.cpp" -WX_DEFINE_LIST(wxAccelList); +WX_DEFINE_LIST(wxAccelList) // ---------------------------------------------------------------------------- // wxAccelRefData: the data used by wxAcceleratorTable @@ -38,7 +36,7 @@ class WXDLLEXPORT wxAcceleratorRefData: public wxObjectRefData friend class WXDLLEXPORT wxAcceleratorTable; public: wxAcceleratorRefData(); - ~wxAcceleratorRefData(); + virtual ~wxAcceleratorRefData(); wxAccelList m_accels; }; @@ -46,18 +44,18 @@ public: #define M_ACCELDATA ((wxAcceleratorRefData *)m_refData) wxAcceleratorRefData::wxAcceleratorRefData() + : m_accels() { - m_accels.DeleteContents( TRUE ); } wxAcceleratorRefData::~wxAcceleratorRefData() { - m_accels.DeleteContents( TRUE ); + WX_CLEAR_LIST( wxAccelList, m_accels ); } wxAcceleratorTable::wxAcceleratorTable() { - m_refData = NULL; + m_refData = NULL; } wxAcceleratorTable::~wxAcceleratorTable() @@ -65,7 +63,7 @@ wxAcceleratorTable::~wxAcceleratorTable() } // Create from an array -wxAcceleratorTable::wxAcceleratorTable(int n, wxAcceleratorEntry entries[]) +wxAcceleratorTable::wxAcceleratorTable(int n, const wxAcceleratorEntry entries[]) { m_refData = new wxAcceleratorRefData; @@ -79,7 +77,7 @@ wxAcceleratorTable::wxAcceleratorTable(int n, wxAcceleratorEntry entries[]) } } -bool wxAcceleratorTable::Ok() const +bool wxAcceleratorTable::IsOk() const { return (m_refData != NULL); } @@ -88,21 +86,20 @@ int wxAcceleratorTable::GetCommand( wxKeyEvent &event ) { if (!Ok()) return -1; - wxNode *node = M_ACCELDATA->m_accels.First(); + wxAccelList::compatibility_iterator node = M_ACCELDATA->m_accels.GetFirst(); while (node) { - wxAcceleratorEntry *entry = (wxAcceleratorEntry*)node->Data(); + wxAcceleratorEntry *entry = node->GetData(); if ((event.m_keyCode == entry->GetKeyCode()) && (((entry->GetFlags() & wxACCEL_CTRL) == 0) || event.ControlDown()) && (((entry->GetFlags() & wxACCEL_SHIFT) == 0) || event.ShiftDown()) && - (((entry->GetFlags() & wxACCEL_ALT) == 0) || event.AltDown() || event.MetaDown())) + (((entry->GetFlags() & wxACCEL_ALT) == 0) || event.AltDown()) && + (((entry->GetFlags() & wxACCEL_CMD) == 0) || event.CmdDown())) { return entry->GetCommand(); } - node = node->Next(); + node = node->GetNext(); } return -1; } - -