// declarations
// ============================================================================
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "accel.h"
-#endif
-
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxAcceleratorRefData: public wxObjectRefData
{
- friend class WXDLLEXPORT wxAcceleratorTable;
+ friend class WXDLLIMPEXP_FWD_CORE wxAcceleratorTable;
public:
wxAcceleratorRefData();
- ~wxAcceleratorRefData();
+ virtual ~wxAcceleratorRefData();
inline HACCEL GetHACCEL() const { return m_hAccel; }
protected:
{
m_refData = new wxAcceleratorRefData;
- HACCEL hAccel = ::LoadAccelerators(wxGetInstance(), resource);
+ HACCEL hAccel = ::LoadAccelerators(wxGetInstance(), resource.wx_str());
M_ACCELDATA->m_hAccel = hAccel;
M_ACCELDATA->m_ok = hAccel != 0;
}
M_ACCELDATA->m_ok = (M_ACCELDATA->m_hAccel != 0);
}
-bool wxAcceleratorTable::operator==(const wxAcceleratorTable& accel) const
-{
- const wxAcceleratorRefData *
- accelData = (wxAcceleratorRefData *)accel.m_refData;
-
- return m_refData ? (accelData &&
- M_ACCELDATA->m_hAccel == accelData->m_hAccel)
- : !accelData;
-}
-
-bool wxAcceleratorTable::Ok() const
+bool wxAcceleratorTable::IsOk() const
{
return (M_ACCELDATA && (M_ACCELDATA->m_ok));
}
bool wxAcceleratorTable::Translate(wxWindow *window, WXMSG *wxmsg) const
{
+#if 0
+ // calling TranslateAccelerator() with child window doesn't do anything so
+ // it's probably a bug
+ wxASSERT_MSG( window->IsTopLevel(),
+ _T("TranslateAccelerator() needs a top level window") );
+#endif
+
MSG *msg = (MSG *)wxmsg;
return Ok() && ::TranslateAccelerator(GetHwndOf(window), GetHaccel(), msg);
}