}
#endif
-// ---------------------------------------------------------------------------
-// wxWindowExtraData
-// ---------------------------------------------------------------------------
-
-#if USE_DEFER_BUG_WORKAROUND
-// This class is used to hold additional data memebers that were added after
-// the stable 2.6.0 release. They should be moved into wxWindow for 2.7 after
-// binary compatibility is no longer being maintained.
-
-class wxWindowExtraData {
-public:
- wxWindowExtraData()
- : m_pendingPosition(wxDefaultPosition),
- m_pendingSize(wxDefaultSize)
- {}
-
- wxPoint m_pendingPosition;
- wxSize m_pendingSize;
-};
-
-#endif
-
// ---------------------------------------------------------------------------
// event tables
// ---------------------------------------------------------------------------
m_lastMouseEvent = -1;
#endif // wxUSE_MOUSEEVENT_HACK
-#if USE_DEFER_BUG_WORKAROUND
- m_extraData = new wxWindowExtraData;
-#endif
+ m_pendingPosition = wxDefaultPosition;
+ m_pendingSize = wxDefaultSize;
}
// Destructor
delete m_childrenDisabled;
-#if USE_DEFER_BUG_WORKAROUND
- delete m_extraData;
-#endif
}
// real construction (Init() must have been called before!)
wOrient,
&scrollInfo) )
{
- // Not neccessarily an error, if there are no scrollbars yet.
+ // Not necessarily an error, if there are no scrollbars yet.
// wxLogLastError(_T("GetScrollInfo"));
}
return scrollInfo.nPos;
pRect = NULL;
}
- // RedrawWindow not available on SmartPhone or eVC++ 3
+ // RedrawWindow not available on SmartPhone or eVC++ 3
#if !defined(__SMARTPHONE__) && !(defined(_WIN32_WCE) && _WIN32_WCE < 400)
UINT flags = RDW_INVALIDATE | RDW_ALLCHILDREN;
if ( eraseBack )
int currentW, currentH;
#if USE_DEFER_BUG_WORKAROUND
- currentX = m_extraData->m_pendingPosition.x;
+ currentX = m_pendingPosition.x;
if (currentX == wxDefaultCoord)
GetPosition(¤tX, NULL);
- currentY = m_extraData->m_pendingPosition.y;
+ currentY = m_pendingPosition.y;
if (currentY == wxDefaultCoord)
GetPosition(NULL, ¤tY);
- currentW = m_extraData->m_pendingSize.x;
+ currentW = m_pendingSize.x;
if (currentW == wxDefaultCoord)
GetSize(¤tW, NULL);
- currentH = m_extraData->m_pendingSize.y;
+ currentH = m_pendingSize.y;
if (currentH == wxDefaultCoord)
GetSize(NULL, ¤tH);
#else
// save the pending dimensions or not. This isn't done in DoMoveWindow
// (where the hdwp is used) because some controls have thier own
// DoMoveWindow so it is easier to catch it here.
- HDWP hdwp = GetParent() && !IsTopLevel() ? (HDWP)GetParent()->m_hDWP : NULL;
+ wxWindowMSW *parent = GetParent();
+ HDWP hdwp = parent && !IsTopLevel() ? (HDWP)parent->m_hDWP : NULL;
if (hdwp)
{
- m_extraData->m_pendingPosition = wxPoint(x, y);
- m_extraData->m_pendingSize = wxSize(width, height);
+ m_pendingPosition = wxPoint(x, y);
+ m_pendingSize = wxSize(width, height);
}
else
{
- m_extraData->m_pendingPosition = wxDefaultPosition;
- m_extraData->m_pendingSize = wxDefaultSize;
+ m_pendingPosition = wxDefaultPosition;
+ m_pendingSize = wxDefaultSize;
}
#endif
// we want to avoid Windows' "help" and for this we need to have a
// reference bitmap which can tell us what the RGB values change
// to.
+ wxLogNull logNo; // suppress error if we couldn't load the bitmap
wxBitmap stdColourBitmap(_T("wxBITMAP_STD_COLOURS"));
if ( stdColourBitmap.Ok() )
{
if ( IsTopLevel() || InheritsBackgroundColour() )
return false;
+ // sometimes we don't want the parent to handle it at all, instead
+ // return whatever value this window wants
+ if ( !MSWShouldPropagatePrintChild() )
+ return MSWPrintChild(hDC, (wxWindow *)this);
+
for ( wxWindow *win = GetParent(); win; win = win->GetParent() )
{
if ( win->MSWPrintChild(hDC, (wxWindow *)this) )
node;
node = node->GetNext() )
{
- wxWindow *child = node->GetData();
- child->m_extraData->m_pendingPosition = wxDefaultPosition;
- child->m_extraData->m_pendingSize = wxDefaultSize;
+ wxWindowMSW *child = node->GetData();
+ child->m_pendingPosition = wxDefaultPosition;
+ child->m_pendingSize = wxDefaultSize;
}
#endif
}
: SB_VERT,
&scrollInfo) )
{
- // Not neccessarily an error, if there are no scrollbars yet.
+ // Not necessarily an error, if there are no scrollbars yet.
// wxLogLastError(_T("GetScrollInfo"));
}