// Created: 06.08.00
// RCS-ID: $Id$
// Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
-// Licence: wxWindows license
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ===========================================================================
// headers
// ---------------------------------------------------------------------------
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "univwindow.h"
#endif
// ----------------------------------------------------------------------------
// the event handlers executed when the window must be repainted
-void wxWindow::OnNcPaint(wxPaintEvent& event)
+void wxWindow::OnNcPaint(wxPaintEvent& WXUNUSED(event))
{
if ( m_renderer )
{
}
}
-void wxWindow::DoDraw(wxControlRenderer *renderer)
+void wxWindow::DoDraw(wxControlRenderer * WXUNUSED(renderer))
{
}
#endif // WXDEBUG_REFRESH
wxWindowNative::Refresh(eraseBackground, &rectWin);
+
+ // Refresh all sub controls if any.
+ wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
+ while ( node )
+ {
+ wxWindow *win = node->GetData();
+ // Only refresh sub controls when it is visible
+ // and when it is in the update region.
+ if(!win->IsKindOf(CLASSINFO(wxTopLevelWindow)) && win->IsShown() && wxRegion(rectWin).Contains(win->GetRect()) != wxOutRegion)
+ win->Refresh(eraseBackground, &rectWin);
+
+ node = node->GetNext();
+ }
}
// ----------------------------------------------------------------------------
}
}
-void wxWindow::SetScrollPos(int orient, int pos, bool refresh)
+void wxWindow::SetScrollPos(int orient, int pos, bool WXUNUSED(refresh))
{
wxScrollBar *scrollbar = GetScrollbar(orient);
wxCHECK_RET( scrollbar, _T("no scrollbar to set position for") );
// scroll children accordingly:
wxPoint offset(dx, dy);
- for (wxWindowList::Node *node = GetChildren().GetFirst();
+ for (wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
node; node = node->GetNext())
{
wxWindow *child = node->GetData();