Refresh() problem from DialogEd solved

Unified the naming of GNU pragmas for base classed:
    dialogbase, choicebase, etc.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-10-12 21:52:17 +00:00
parent 8ad4b7acf4
commit 1b68e0b5b9
10 changed files with 59 additions and 61 deletions

View File

@@ -17,7 +17,7 @@
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#ifdef __GNUG__ #ifdef __GNUG__
#pragma interface "choiccmn.h" #pragma interface "choicebase.h"
#endif #endif
#include "wx/control.h" // the base class #include "wx/control.h" // the base class

View File

@@ -17,7 +17,7 @@
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#ifdef __GNUG__ #ifdef __GNUG__
#pragma interface "ctrlcmn.h" #pragma interface "controlbase.h"
#endif #endif
#include "wx/window.h" // base class #include "wx/window.h" // base class

View File

@@ -12,6 +12,10 @@
#ifndef _WX_DIALOG_H_BASE_ #ifndef _WX_DIALOG_H_BASE_
#define _WX_DIALOG_H_BASE_ #define _WX_DIALOG_H_BASE_
#ifdef __GNUG__
#pragma interface "dialogbase.h"
#endif
#include "wx/defs.h" #include "wx/defs.h"
#include "wx/panel.h" #include "wx/panel.h"

View File

@@ -12,6 +12,10 @@
#ifndef _WX_FONT_H_BASE_ #ifndef _WX_FONT_H_BASE_
#define _WX_FONT_H_BASE_ #define _WX_FONT_H_BASE_
#ifdef __GNUG__
#pragma interface "fontbase.h"
#endif
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// headers // headers
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------

View File

@@ -18,7 +18,7 @@
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation "choiccmn.h" #pragma implementation "choicebase.h"
#endif #endif
// For compilers that support precompilation, includes "wx.h". // For compilers that support precompilation, includes "wx.h".

View File

@@ -18,7 +18,7 @@
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation "ctrlcmn.h" #pragma implementation "controlbase.h"
#endif #endif
// For compilers that support precompilation, includes "wx.h". // For compilers that support precompilation, includes "wx.h".

View File

@@ -17,10 +17,8 @@
// headers // headers
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#if 0
#ifdef __GNUG__ #ifdef __GNUG__
#pragma implementation #pragma implementation "dialogbase.h"
#endif
#endif #endif
// For compilers that support precompilation, includes "wx.h". // For compilers that support precompilation, includes "wx.h".

View File

@@ -17,6 +17,10 @@
// headers // headers
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#ifdef __GNUG__
#pragma implementation "fontbase.h"
#endif
// For compilers that support precompilation, includes "wx.h". // For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h" #include "wx/wxprec.h"

View File

@@ -2663,50 +2663,44 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
} }
} }
/* there is no GTK equivalent of "draw only, don't clear" so we
invent our own in the GtkMyFixed widget */
if (!rect) if (!rect)
{ {
if (m_wxwindow) if (m_wxwindow)
{ {
/* call the callback directly for preventing GTK from GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow);
clearing the background */ gboolean old_clear = myfixed->clear_on_draw;
int w = 0; gtk_my_fixed_set_clear( myfixed, FALSE );
int h = 0;
GetClientSize( &w, &h );
GetUpdateRegion().Union( 0, 0, w, h ); gtk_widget_draw( m_wxwindow, (GdkRectangle*) NULL );
wxPaintEvent event( GetId() );
event.SetEventObject( this ); gtk_my_fixed_set_clear( myfixed, old_clear );
GetEventHandler()->ProcessEvent( event );
GetUpdateRegion().Clear();
} }
else else
{
gtk_widget_draw( m_widget, (GdkRectangle*) NULL ); gtk_widget_draw( m_widget, (GdkRectangle*) NULL );
}
} }
else else
{ {
GdkRectangle gdk_rect;
gdk_rect.x = rect->x;
gdk_rect.y = rect->y;
gdk_rect.width = rect->width;
gdk_rect.height = rect->height;
if (m_wxwindow) if (m_wxwindow)
{ {
/* call the callback directly for preventing GTK from GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow);
clearing the background */ gboolean old_clear = myfixed->clear_on_draw;
GetUpdateRegion().Union( rect->x, rect->y, rect->width, rect->height ); gtk_my_fixed_set_clear( myfixed, FALSE );
wxPaintEvent event( GetId() );
event.SetEventObject( this ); gtk_widget_draw( m_wxwindow, &gdk_rect );
GetEventHandler()->ProcessEvent( event );
GetUpdateRegion().Clear(); gtk_my_fixed_set_clear( myfixed, old_clear );
} }
else else
{
GdkRectangle gdk_rect;
gdk_rect.x = rect->x;
gdk_rect.y = rect->y;
gdk_rect.width = rect->width;
gdk_rect.height = rect->height;
gtk_widget_draw( m_widget, &gdk_rect ); gtk_widget_draw( m_widget, &gdk_rect );
}
} }
} }

View File

@@ -2663,50 +2663,44 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
} }
} }
/* there is no GTK equivalent of "draw only, don't clear" so we
invent our own in the GtkMyFixed widget */
if (!rect) if (!rect)
{ {
if (m_wxwindow) if (m_wxwindow)
{ {
/* call the callback directly for preventing GTK from GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow);
clearing the background */ gboolean old_clear = myfixed->clear_on_draw;
int w = 0; gtk_my_fixed_set_clear( myfixed, FALSE );
int h = 0;
GetClientSize( &w, &h );
GetUpdateRegion().Union( 0, 0, w, h ); gtk_widget_draw( m_wxwindow, (GdkRectangle*) NULL );
wxPaintEvent event( GetId() );
event.SetEventObject( this ); gtk_my_fixed_set_clear( myfixed, old_clear );
GetEventHandler()->ProcessEvent( event );
GetUpdateRegion().Clear();
} }
else else
{
gtk_widget_draw( m_widget, (GdkRectangle*) NULL ); gtk_widget_draw( m_widget, (GdkRectangle*) NULL );
}
} }
else else
{ {
GdkRectangle gdk_rect;
gdk_rect.x = rect->x;
gdk_rect.y = rect->y;
gdk_rect.width = rect->width;
gdk_rect.height = rect->height;
if (m_wxwindow) if (m_wxwindow)
{ {
/* call the callback directly for preventing GTK from GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow);
clearing the background */ gboolean old_clear = myfixed->clear_on_draw;
GetUpdateRegion().Union( rect->x, rect->y, rect->width, rect->height ); gtk_my_fixed_set_clear( myfixed, FALSE );
wxPaintEvent event( GetId() );
event.SetEventObject( this ); gtk_widget_draw( m_wxwindow, &gdk_rect );
GetEventHandler()->ProcessEvent( event );
GetUpdateRegion().Clear(); gtk_my_fixed_set_clear( myfixed, old_clear );
} }
else else
{
GdkRectangle gdk_rect;
gdk_rect.x = rect->x;
gdk_rect.y = rect->y;
gdk_rect.width = rect->width;
gdk_rect.height = rect->height;
gtk_widget_draw( m_widget, &gdk_rect ); gtk_widget_draw( m_widget, &gdk_rect );
}
} }
} }