/////////////////////////////////////////////////////////////////////////////
-// 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
friend class WXDLLEXPORT wxAcceleratorTable;
public:
wxAcceleratorRefData();
- ~wxAcceleratorRefData();
+ virtual ~wxAcceleratorRefData();
wxAccelList m_accels;
};
#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()
}
// Create from an array
-wxAcceleratorTable::wxAcceleratorTable(int n, wxAcceleratorEntry entries[])
+wxAcceleratorTable::wxAcceleratorTable(int n, const wxAcceleratorEntry entries[])
{
m_refData = new wxAcceleratorRefData;
}
}
-bool wxAcceleratorTable::Ok() const
+bool wxAcceleratorTable::IsOk() const
{
return (m_refData != NULL);
}
{
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;
}
-
-