// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#include "wx/msw/private.h"
IMPLEMENT_DYNAMIC_CLASS(wxMSWSystemMenuFontModule, wxModule)
-// temporary hack to implement wxOwnerDrawn::IsMenuItem() without breaking
-// backwards compatibility
-#if wxCHECK_VERSION(2, 7, 0)
- #pragma warning "TODO: remove gs_menuItems hack"
-#endif
-
// VC++ 6 gives a warning here:
//
// return type for 'OwnerDrawnSet_wxImplementation_HashTable::iterator::
// a UDT. Will produce errors if applied using infix notation.
//
// shut it down
-#ifdef __VISUALC__
- #if __VISUALC__ <= 1300
+#if defined __VISUALC__ && __VISUALC__ <= 1300
+ #if __VISUALC__ >= 1200
#pragma warning(push)
- #pragma warning(disable: 4284)
#define POP_WARNINGS
#endif
+ #pragma warning(disable: 4284)
#endif
#include "wx/hashset.h"
#pragma warning(pop)
#endif
-static OwnerDrawnSet gs_menuItems;
-
// ============================================================================
// implementation of wxOwnerDrawn class
// ============================================================================
bool bMenuItem)
: m_strName(str)
{
- if (ms_nDefaultMarginWidth == 0)
+ if ( ms_nDefaultMarginWidth == 0 )
{
ms_nDefaultMarginWidth = ::GetSystemMetrics(SM_CXMENUCHECK) +
wxSystemSettings::GetMetric(wxSYS_EDGE_X);
m_bCheckable = bCheckable;
m_bOwnerDrawn = false;
+ m_isMenuItem = bMenuItem;
m_nHeight = 0;
m_nMarginWidth = ms_nLastMarginWidth;
m_nMinHeight = wxMSWSystemMenuFontModule::ms_systemMenuHeight;
-
- m_bmpDisabled = wxNullBitmap;
-
- // TODO: we can't add new m_isMenuItem field in 2.6, so we use this hack
- // with the map, but do add m_isMenuItem in 2.7
- if ( bMenuItem )
- {
- gs_menuItems.insert(this);
- }
}
wxOwnerDrawn::~wxOwnerDrawn()
{
- // TODO: remove this in 2.7
- gs_menuItems.erase(this);
}
bool wxOwnerDrawn::IsMenuItem() const
{
- // TODO: in 2.7, replace this with simple "return m_isMenuItem"
-
- // some versions of mingw have problems without const_cast when wxUSE_STL=1
- return gs_menuItems.count(wx_const_cast(wxOwnerDrawn *, this)) == 1;
+ return m_isMenuItem;
}