X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/837e57436a89516a5fa9f478f401e06bd872c17c..37b8e6798782278fdfe4f3c1291aaff55cdbb8c9:/src/msw/accel.cpp diff --git a/src/msw/accel.cpp b/src/msw/accel.cpp index fbd23d9939..e433443dd3 100644 --- a/src/msw/accel.cpp +++ b/src/msw/accel.cpp @@ -30,16 +30,14 @@ #include "wx/msw/private.h" -#if !USE_SHARED_LIBRARIES IMPLEMENT_DYNAMIC_CLASS(wxAcceleratorTable, wxObject) -#endif class WXDLLEXPORT wxAcceleratorRefData: public wxObjectRefData { friend class WXDLLEXPORT wxAcceleratorTable; public: - wxAcceleratorRefData(void); - ~wxAcceleratorRefData(void); + wxAcceleratorRefData(); + ~wxAcceleratorRefData(); inline HACCEL GetHACCEL() const { return m_hAccel; } protected: @@ -132,13 +130,16 @@ wxAcceleratorTable::wxAcceleratorTable(int n, const wxAcceleratorEntry entries[] M_ACCELDATA->m_ok = (M_ACCELDATA->m_hAccel != 0); } -#else +#else // Win16 wxAcceleratorTable::wxAcceleratorTable(int WXUNUSED(n), const wxAcceleratorEntry WXUNUSED(entries)[]) { + // No, we simply gracefully degrade; we don't expect the + // developer to pepper their code with #ifdefs just for this. + // wxFAIL_MSG("not implemented"); } -#endif +#endif // Win32/16 -bool wxAcceleratorTable::Ok(void) const +bool wxAcceleratorTable::Ok() const { return (M_ACCELDATA && (M_ACCELDATA->m_ok)); } @@ -158,3 +159,10 @@ WXHACCEL wxAcceleratorTable::GetHACCEL() const return (WXHACCEL) M_ACCELDATA->m_hAccel; } +bool wxAcceleratorTable::Translate(wxWindow *window, WXMSG *wxmsg) const +{ + MSG *msg = (MSG *)wxmsg; + + return Ok() && ::TranslateAccelerator(GetHwndOf(window), GetHaccel(), msg); +} +