// debug
//-----------------------------------------------------------------------------
+#define DISABLE_STYLE_IF_BROKEN_THEME 1
+
#ifdef __WXDEBUG__
#if wxUSE_THREADS
{
DEBUG_MAIN_THREAD
- if (!win->m_hasVMT)
- return;
-
/*
- if (win->GetName() == wxT("columntitles"))
+ if (win->GetName() == wxT("grid window"))
{
wxPrintf( wxT("OnExpose from ") );
if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
if (gdk_event->count > 0)
return;
+ if (!win->m_hasVMT)
+ return;
+
wxEraseEvent eevent( win->GetId() );
eevent.SetEventObject( win );
win->GetEventHandler()->ProcessEvent(eevent);
if (g_isIdle)
wxapp_install_idle_handler();
+
+ if ((rect->x == 0) && (rect->y == 0) && (rect->width <= 1) && (rect->height <= 1))
+ return;
/*
- if ((win->GetName() == wxT("columntitles")) && (rect->x == 2))
+ if (win->GetName() == wxT("grid window"))
{
wxPrintf( wxT("OnDraw from ") );
if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
win->GetUpdateRegion().Union( rect->x, rect->y,
rect->width, rect->height );
+ if (!win->m_hasVMT)
+ return;
+
wxEraseEvent eevent( win->GetId() );
eevent.SetEventObject( win );
win->GetEventHandler()->ProcessEvent(eevent);
if (m_widgetStyle)
{
+#if DISABLE_STYLE_IF_BROKEN_THEME
// don't delete if it's a pixmap theme style
if (!m_widgetStyle->engine_data)
gtk_style_unref( m_widgetStyle );
-
+#endif
m_widgetStyle = (GtkStyle*) NULL;
}
void wxWindow::SetWidgetStyle()
{
+#if DISABLE_STYLE_IF_BROKEN_THEM
if (m_widget->style->engine_data)
{
static bool s_warningPrinted = FALSE;
m_widgetStyle = m_widget->style;
return;
}
+#endif
GtkStyle *style = GetWidgetStyle();
wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") );
+
+ if ((dx == 0) && (dy == 0)) return;
gtk_pizza_scroll( GTK_PIZZA(m_wxwindow), -dx, -dy );
+
+/*
+ if (m_children.GetCount() > 0)
+ {
+ gtk_pizza_scroll( GTK_PIZZA(m_wxwindow), -dx, -dy );
+ }
+ else
+ {
+ GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
+
+ pizza->xoffset -= dx;
+ pizza->yoffset -= dy;
+
+ GdkGC *m_scrollGC = gdk_gc_new( pizza->bin_window );
+ gdk_gc_set_exposures( m_scrollGC, TRUE );
+
+ int cw = 0;
+ int ch = 0;
+ GetClientSize( &cw, &ch );
+ int w = cw - abs(dx);
+ int h = ch - abs(dy);
+
+ if ((h < 0) || (w < 0))
+ {
+ Refresh();
+ }
+ else
+ {
+ int s_x = 0;
+ int s_y = 0;
+ if (dx < 0) s_x = -dx;
+ if (dy < 0) s_y = -dy;
+ int d_x = 0;
+ int d_y = 0;
+ if (dx > 0) d_x = dx;
+ if (dy > 0) d_y = dy;
+
+ gdk_window_copy_area( pizza->bin_window, m_scrollGC, d_x, d_y,
+ pizza->bin_window, s_x, s_y, w, h );
+
+ wxRect rect;
+ if (dx < 0) rect.x = cw+dx; else rect.x = 0;
+ if (dy < 0) rect.y = ch+dy; else rect.y = 0;
+ if (dy != 0) rect.width = cw; else rect.width = abs(dx);
+ if (dx != 0) rect.height = ch; else rect.height = abs(dy);
+
+ Refresh( TRUE, &rect );
+ }
+
+ gdk_gc_unref( m_scrollGC );
+ }
+*/
}