Made wxWindowBase's variables protected again and such.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -143,19 +143,24 @@ public:
|
||||
virtual bool IsOwnGtkWindow( GdkWindow *window );
|
||||
void ConnectWidget( GtkWidget *widget );
|
||||
|
||||
// creates a new widget style if none is there
|
||||
// and sets m_widgetStyle to this value.
|
||||
GtkStyle *GetWidgetStyle();
|
||||
|
||||
// called by SetFont() and SetXXXColour etc
|
||||
void SetWidgetStyle();
|
||||
|
||||
// overridden in many GTK widgets
|
||||
virtual void ApplyWidgetStyle();
|
||||
|
||||
#if wxUSE_TOOLTIPS
|
||||
virtual void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
|
||||
#endif // wxUSE_TOOLTIPS
|
||||
|
||||
// called from GTK signales handlers
|
||||
// called from GTK signales handlers. it indicates that
|
||||
// the layouting functions have to be called later on
|
||||
// (i.e. in idle time, implemented in OnInternalIdle() ).
|
||||
void UpdateSize() { m_sizeSet = FALSE; }
|
||||
void InternalSetPosition(int x, int y) { m_x = x; m_y = y; }
|
||||
void InternalSetSize(int w, int h)
|
||||
{ m_width = w; m_height = h; UpdateSize(); }
|
||||
|
||||
// position and size of the window
|
||||
int m_x, m_y;
|
||||
@@ -167,8 +172,13 @@ public:
|
||||
|
||||
// scrolling stuff
|
||||
GtkAdjustment *m_hAdjust,*m_vAdjust;
|
||||
float m_oldHorizontalPos,
|
||||
m_oldVerticalPos;
|
||||
float m_oldHorizontalPos;
|
||||
float m_oldVerticalPos;
|
||||
|
||||
// we need an extra XGC flag set to get exposed
|
||||
// events from overlapping children upon moving
|
||||
// them. this flag will be set in this GC and
|
||||
// the GC will be used in wxWindow::ScrollWindow().
|
||||
GdkGC *m_scrollGC;
|
||||
|
||||
// extra (wxGTK-specific) flags
|
||||
@@ -182,8 +192,27 @@ public:
|
||||
bool m_isFrame:1; /* faster than IS_KIND_OF */
|
||||
bool m_acceptsFocus:1; /* ! wxStaticBox etc. */
|
||||
|
||||
// these are true if the style were set before the
|
||||
// widget was realized (typcally in the constructor)
|
||||
// but the actual GTK style must not be set before
|
||||
// the widget has been "realized"
|
||||
bool m_delayedFont:1;
|
||||
bool m_delayedForegroundColour:1;
|
||||
bool m_delayedBackgroundColour:1;
|
||||
bool m_delayedCursor:1;
|
||||
|
||||
// contains GTK's widgets internal information
|
||||
// about non-default widget font and colours.
|
||||
// we create one for each widget that gets any
|
||||
// non-default attribute set via SetFont() or
|
||||
// SetForegroundColour() / SetBackgroundColour().
|
||||
GtkStyle *m_widgetStyle;
|
||||
|
||||
// C++ has no virtual methods in the constrcutor
|
||||
// of any class but we need different methods
|
||||
// of inserting a child window into a wxFrame,
|
||||
// wxMDIFrame, wxNotebook etc. this is the
|
||||
// callback that will get used.
|
||||
wxInsertChildFunction m_insertCallback;
|
||||
|
||||
// implement the base class pure virtuals
|
||||
|
@@ -143,19 +143,24 @@ public:
|
||||
virtual bool IsOwnGtkWindow( GdkWindow *window );
|
||||
void ConnectWidget( GtkWidget *widget );
|
||||
|
||||
// creates a new widget style if none is there
|
||||
// and sets m_widgetStyle to this value.
|
||||
GtkStyle *GetWidgetStyle();
|
||||
|
||||
// called by SetFont() and SetXXXColour etc
|
||||
void SetWidgetStyle();
|
||||
|
||||
// overridden in many GTK widgets
|
||||
virtual void ApplyWidgetStyle();
|
||||
|
||||
#if wxUSE_TOOLTIPS
|
||||
virtual void ApplyToolTip( GtkTooltips *tips, const wxChar *tip );
|
||||
#endif // wxUSE_TOOLTIPS
|
||||
|
||||
// called from GTK signales handlers
|
||||
// called from GTK signales handlers. it indicates that
|
||||
// the layouting functions have to be called later on
|
||||
// (i.e. in idle time, implemented in OnInternalIdle() ).
|
||||
void UpdateSize() { m_sizeSet = FALSE; }
|
||||
void InternalSetPosition(int x, int y) { m_x = x; m_y = y; }
|
||||
void InternalSetSize(int w, int h)
|
||||
{ m_width = w; m_height = h; UpdateSize(); }
|
||||
|
||||
// position and size of the window
|
||||
int m_x, m_y;
|
||||
@@ -167,8 +172,13 @@ public:
|
||||
|
||||
// scrolling stuff
|
||||
GtkAdjustment *m_hAdjust,*m_vAdjust;
|
||||
float m_oldHorizontalPos,
|
||||
m_oldVerticalPos;
|
||||
float m_oldHorizontalPos;
|
||||
float m_oldVerticalPos;
|
||||
|
||||
// we need an extra XGC flag set to get exposed
|
||||
// events from overlapping children upon moving
|
||||
// them. this flag will be set in this GC and
|
||||
// the GC will be used in wxWindow::ScrollWindow().
|
||||
GdkGC *m_scrollGC;
|
||||
|
||||
// extra (wxGTK-specific) flags
|
||||
@@ -182,8 +192,27 @@ public:
|
||||
bool m_isFrame:1; /* faster than IS_KIND_OF */
|
||||
bool m_acceptsFocus:1; /* ! wxStaticBox etc. */
|
||||
|
||||
// these are true if the style were set before the
|
||||
// widget was realized (typcally in the constructor)
|
||||
// but the actual GTK style must not be set before
|
||||
// the widget has been "realized"
|
||||
bool m_delayedFont:1;
|
||||
bool m_delayedForegroundColour:1;
|
||||
bool m_delayedBackgroundColour:1;
|
||||
bool m_delayedCursor:1;
|
||||
|
||||
// contains GTK's widgets internal information
|
||||
// about non-default widget font and colours.
|
||||
// we create one for each widget that gets any
|
||||
// non-default attribute set via SetFont() or
|
||||
// SetForegroundColour() / SetBackgroundColour().
|
||||
GtkStyle *m_widgetStyle;
|
||||
|
||||
// C++ has no virtual methods in the constrcutor
|
||||
// of any class but we need different methods
|
||||
// of inserting a child window into a wxFrame,
|
||||
// wxMDIFrame, wxNotebook etc. this is the
|
||||
// callback that will get used.
|
||||
wxInsertChildFunction m_insertCallback;
|
||||
|
||||
// implement the base class pure virtuals
|
||||
|
@@ -596,14 +596,10 @@ public:
|
||||
void OnInitDialog( wxInitDialogEvent &event );
|
||||
|
||||
/*
|
||||
What is this doing in the platform independent part?
|
||||
// What is this doing in the platform independent part?
|
||||
// No doc specifies this. Of what use would that be?
|
||||
|
||||
// accessors
|
||||
WXWidget GetHandle() const { return m_widget; }
|
||||
|
||||
// the window handle (for the underlying windowing system) and the window
|
||||
// id - a number which uniquely identifies a window among its siblings
|
||||
// unless it is -1
|
||||
// the window handle (for the underlying windowing system)
|
||||
union
|
||||
{
|
||||
// we have 2 common names for this member, one for MSW and the other
|
||||
@@ -611,8 +607,15 @@ public:
|
||||
WXWidget m_widget;
|
||||
WXWidget m_hWnd;
|
||||
};
|
||||
|
||||
// accessor
|
||||
WXWidget GetHandle() const { return m_widget; }
|
||||
|
||||
*/
|
||||
|
||||
protected:
|
||||
// the window id - a number which uniquely identifies a window among
|
||||
// its siblings unless it is -1
|
||||
wxWindowID m_windowId;
|
||||
|
||||
// the parent window of this window (or NULL) and the list of the children
|
||||
|
@@ -284,7 +284,7 @@ void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
|
||||
else
|
||||
{
|
||||
SetReturnCode(wxID_CANCEL);
|
||||
this->Show(FALSE);
|
||||
Show(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -508,21 +508,11 @@ bool wxDialog::Show( bool show )
|
||||
GtkOnSize( m_x, m_y, m_width, m_height );
|
||||
}
|
||||
|
||||
if (show != m_isShown)
|
||||
{
|
||||
if (show)
|
||||
{
|
||||
gtk_widget_show( m_widget );
|
||||
}
|
||||
else
|
||||
gtk_widget_hide( m_widget );
|
||||
|
||||
m_isShown = show;
|
||||
}
|
||||
bool ret = wxWindow::Show( show );
|
||||
|
||||
if (show) InitDialog();
|
||||
|
||||
return TRUE;
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool wxDialog::IsModal() const
|
||||
|
@@ -1374,30 +1374,16 @@ gtk_window_realized_callback( GtkWidget *widget, wxWindow *win )
|
||||
if (g_isIdle)
|
||||
wxapp_install_idle_handler();
|
||||
|
||||
if (win->m_font != *wxSWISS_FONT)
|
||||
{
|
||||
wxFont font( win->m_font );
|
||||
win->m_font = wxNullFont;
|
||||
win->SetFont( font );
|
||||
}
|
||||
if (win->m_delayedFont)
|
||||
win->SetFont( win->GetFont() );
|
||||
|
||||
if (win->m_backgroundColour != wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE ))
|
||||
{
|
||||
wxColour bg( win->m_backgroundColour );
|
||||
win->m_backgroundColour = wxNullColour;
|
||||
win->SetBackgroundColour( bg );
|
||||
}
|
||||
if (win->m_delayedBackgroundColour)
|
||||
win->SetBackgroundColour( win->GetBackgroundColour() );
|
||||
|
||||
if (win->m_foregroundColour != *wxBLACK)
|
||||
{
|
||||
wxColour fg( win->m_foregroundColour );
|
||||
win->m_foregroundColour = wxNullColour;
|
||||
win->SetForegroundColour( fg );
|
||||
}
|
||||
if (win->m_delayedForegroundColour)
|
||||
win->SetForegroundColour( win->GetForegroundColour() );
|
||||
|
||||
wxCursor cursor( win->m_cursor );
|
||||
win->m_cursor = wxNullCursor;
|
||||
win->SetCursor( cursor );
|
||||
win->SetCursor( win->GetCursor() );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1464,9 +1450,6 @@ void wxWindow::Init()
|
||||
m_width = 0;
|
||||
m_height = 0;
|
||||
|
||||
m_font = *wxSWISS_FONT;
|
||||
m_windowName = "noname";
|
||||
|
||||
m_sizeSet = FALSE;
|
||||
m_hasVMT = FALSE;
|
||||
m_needParent = TRUE;
|
||||
@@ -2099,7 +2082,10 @@ bool wxWindow::Show( bool show )
|
||||
wxCHECK_MSG( (m_widget != NULL), FALSE, _T("invalid window") );
|
||||
|
||||
if (!wxWindowBase::Show(show))
|
||||
{
|
||||
// nothing to do
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (show)
|
||||
gtk_widget_show( m_widget );
|
||||
@@ -2114,7 +2100,10 @@ bool wxWindow::Enable( bool enable )
|
||||
wxCHECK_MSG( (m_widget != NULL), FALSE, _T("invalid window") );
|
||||
|
||||
if (!wxWindowBase::Enable(enable))
|
||||
{
|
||||
// nothing to do
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gtk_widget_set_sensitive( m_widget, enable );
|
||||
if ( m_wxwindow )
|
||||
@@ -2234,9 +2223,24 @@ bool wxWindow::SetCursor( const wxCursor &cursor )
|
||||
{
|
||||
wxCHECK_MSG( (m_widget != NULL), FALSE, _T("invalid window") );
|
||||
|
||||
if ( wxWindowBase::SetCursor(cursor) )
|
||||
if (!wxWindowBase::SetCursor(cursor))
|
||||
{
|
||||
if (!m_widget->window) return TRUE;
|
||||
// don't leave if the GTK widget has just
|
||||
// been realized
|
||||
if (!m_delayedCursor) return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget *connect_widget = GetConnectWidget();
|
||||
if (!connect_widget->window)
|
||||
{
|
||||
// indicate that a new style has been set
|
||||
// but it couldn't get applied as the
|
||||
// widget hasn't been realized yet.
|
||||
m_delayedCursor = TRUE;
|
||||
|
||||
// pretend we have done something
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if ((m_widget) && (m_widget->window))
|
||||
gdk_window_set_cursor( m_widget->window, GetCursor().GetCursor() );
|
||||
@@ -2247,12 +2251,6 @@ bool wxWindow::SetCursor( const wxCursor &cursor )
|
||||
// cursor was set
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
// cursor hasn't been changed
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void wxWindow::WarpPointer( int WXUNUSED(x), int WXUNUSED(y) )
|
||||
{
|
||||
@@ -2332,10 +2330,24 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour )
|
||||
{
|
||||
wxCHECK_MSG( m_widget != NULL, FALSE, _T("invalid window") );
|
||||
|
||||
if (!wxWindowBase::SetBackgroundColour(colour)) return FALSE;
|
||||
if (!wxWindowBase::SetBackgroundColour(colour))
|
||||
{
|
||||
// don't leave if the GTK widget has just
|
||||
// been realized
|
||||
if (!m_delayedBackgroundColour) return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget *connect_widget = GetConnectWidget();
|
||||
if (!connect_widget->window) return TRUE;
|
||||
if (!connect_widget->window)
|
||||
{
|
||||
// indicate that a new style has been set
|
||||
// but it couldn't get applied as the
|
||||
// widget hasn't been realized yet.
|
||||
m_delayedBackgroundColour = TRUE;
|
||||
|
||||
// pretend we have done something
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (m_wxwindow && m_wxwindow->window)
|
||||
{
|
||||
@@ -2366,10 +2378,24 @@ bool wxWindow::SetForegroundColour( const wxColour &colour )
|
||||
{
|
||||
wxCHECK_MSG( m_widget != NULL, FALSE, _T("invalid window") );
|
||||
|
||||
if (!wxWindowBase::SetForegroundColour(colour)) return FALSE;
|
||||
if (!wxWindowBase::SetForegroundColour(colour))
|
||||
{
|
||||
// don't leave if the GTK widget has just
|
||||
// been realized
|
||||
if (!m_delayedForegroundColour) return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget *connect_widget = GetConnectWidget();
|
||||
if (!connect_widget->window) return TRUE;
|
||||
if (!connect_widget->window)
|
||||
{
|
||||
// indicate that a new style has been set
|
||||
// but it couldn't get applied as the
|
||||
// widget hasn't been realized yet.
|
||||
m_delayedForegroundColour = TRUE;
|
||||
|
||||
// pretend we have done something
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
|
||||
if (sysbg == m_foregroundColour)
|
||||
@@ -2514,10 +2540,24 @@ bool wxWindow::SetFont( const wxFont &font )
|
||||
{
|
||||
wxCHECK_MSG( m_widget != NULL, FALSE, _T( "invalid window") );
|
||||
|
||||
if (!wxWindowBase::SetFont(font)) return FALSE;
|
||||
if (!wxWindowBase::SetFont(font))
|
||||
{
|
||||
// don't leave if the GTK widget has just
|
||||
// been realized
|
||||
if (!m_delayedFont) return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget *connect_widget = GetConnectWidget();
|
||||
if (!connect_widget->window) return TRUE;
|
||||
if (!connect_widget->window)
|
||||
{
|
||||
// indicate that a new style has been set
|
||||
// but it couldn't get applied as the
|
||||
// widget hasn't been realized yet.
|
||||
m_delayedFont = TRUE;
|
||||
|
||||
// pretend we have done something
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
|
||||
if ( sysbg == m_backgroundColour )
|
||||
|
@@ -284,7 +284,7 @@ void wxDialog::OnCancel( wxCommandEvent &WXUNUSED(event) )
|
||||
else
|
||||
{
|
||||
SetReturnCode(wxID_CANCEL);
|
||||
this->Show(FALSE);
|
||||
Show(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -508,21 +508,11 @@ bool wxDialog::Show( bool show )
|
||||
GtkOnSize( m_x, m_y, m_width, m_height );
|
||||
}
|
||||
|
||||
if (show != m_isShown)
|
||||
{
|
||||
if (show)
|
||||
{
|
||||
gtk_widget_show( m_widget );
|
||||
}
|
||||
else
|
||||
gtk_widget_hide( m_widget );
|
||||
|
||||
m_isShown = show;
|
||||
}
|
||||
bool ret = wxWindow::Show( show );
|
||||
|
||||
if (show) InitDialog();
|
||||
|
||||
return TRUE;
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool wxDialog::IsModal() const
|
||||
|
@@ -1374,30 +1374,16 @@ gtk_window_realized_callback( GtkWidget *widget, wxWindow *win )
|
||||
if (g_isIdle)
|
||||
wxapp_install_idle_handler();
|
||||
|
||||
if (win->m_font != *wxSWISS_FONT)
|
||||
{
|
||||
wxFont font( win->m_font );
|
||||
win->m_font = wxNullFont;
|
||||
win->SetFont( font );
|
||||
}
|
||||
if (win->m_delayedFont)
|
||||
win->SetFont( win->GetFont() );
|
||||
|
||||
if (win->m_backgroundColour != wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE ))
|
||||
{
|
||||
wxColour bg( win->m_backgroundColour );
|
||||
win->m_backgroundColour = wxNullColour;
|
||||
win->SetBackgroundColour( bg );
|
||||
}
|
||||
if (win->m_delayedBackgroundColour)
|
||||
win->SetBackgroundColour( win->GetBackgroundColour() );
|
||||
|
||||
if (win->m_foregroundColour != *wxBLACK)
|
||||
{
|
||||
wxColour fg( win->m_foregroundColour );
|
||||
win->m_foregroundColour = wxNullColour;
|
||||
win->SetForegroundColour( fg );
|
||||
}
|
||||
if (win->m_delayedForegroundColour)
|
||||
win->SetForegroundColour( win->GetForegroundColour() );
|
||||
|
||||
wxCursor cursor( win->m_cursor );
|
||||
win->m_cursor = wxNullCursor;
|
||||
win->SetCursor( cursor );
|
||||
win->SetCursor( win->GetCursor() );
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1464,9 +1450,6 @@ void wxWindow::Init()
|
||||
m_width = 0;
|
||||
m_height = 0;
|
||||
|
||||
m_font = *wxSWISS_FONT;
|
||||
m_windowName = "noname";
|
||||
|
||||
m_sizeSet = FALSE;
|
||||
m_hasVMT = FALSE;
|
||||
m_needParent = TRUE;
|
||||
@@ -2099,7 +2082,10 @@ bool wxWindow::Show( bool show )
|
||||
wxCHECK_MSG( (m_widget != NULL), FALSE, _T("invalid window") );
|
||||
|
||||
if (!wxWindowBase::Show(show))
|
||||
{
|
||||
// nothing to do
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (show)
|
||||
gtk_widget_show( m_widget );
|
||||
@@ -2114,7 +2100,10 @@ bool wxWindow::Enable( bool enable )
|
||||
wxCHECK_MSG( (m_widget != NULL), FALSE, _T("invalid window") );
|
||||
|
||||
if (!wxWindowBase::Enable(enable))
|
||||
{
|
||||
// nothing to do
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
gtk_widget_set_sensitive( m_widget, enable );
|
||||
if ( m_wxwindow )
|
||||
@@ -2234,9 +2223,24 @@ bool wxWindow::SetCursor( const wxCursor &cursor )
|
||||
{
|
||||
wxCHECK_MSG( (m_widget != NULL), FALSE, _T("invalid window") );
|
||||
|
||||
if ( wxWindowBase::SetCursor(cursor) )
|
||||
if (!wxWindowBase::SetCursor(cursor))
|
||||
{
|
||||
if (!m_widget->window) return TRUE;
|
||||
// don't leave if the GTK widget has just
|
||||
// been realized
|
||||
if (!m_delayedCursor) return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget *connect_widget = GetConnectWidget();
|
||||
if (!connect_widget->window)
|
||||
{
|
||||
// indicate that a new style has been set
|
||||
// but it couldn't get applied as the
|
||||
// widget hasn't been realized yet.
|
||||
m_delayedCursor = TRUE;
|
||||
|
||||
// pretend we have done something
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if ((m_widget) && (m_widget->window))
|
||||
gdk_window_set_cursor( m_widget->window, GetCursor().GetCursor() );
|
||||
@@ -2247,12 +2251,6 @@ bool wxWindow::SetCursor( const wxCursor &cursor )
|
||||
// cursor was set
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
// cursor hasn't been changed
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void wxWindow::WarpPointer( int WXUNUSED(x), int WXUNUSED(y) )
|
||||
{
|
||||
@@ -2332,10 +2330,24 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour )
|
||||
{
|
||||
wxCHECK_MSG( m_widget != NULL, FALSE, _T("invalid window") );
|
||||
|
||||
if (!wxWindowBase::SetBackgroundColour(colour)) return FALSE;
|
||||
if (!wxWindowBase::SetBackgroundColour(colour))
|
||||
{
|
||||
// don't leave if the GTK widget has just
|
||||
// been realized
|
||||
if (!m_delayedBackgroundColour) return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget *connect_widget = GetConnectWidget();
|
||||
if (!connect_widget->window) return TRUE;
|
||||
if (!connect_widget->window)
|
||||
{
|
||||
// indicate that a new style has been set
|
||||
// but it couldn't get applied as the
|
||||
// widget hasn't been realized yet.
|
||||
m_delayedBackgroundColour = TRUE;
|
||||
|
||||
// pretend we have done something
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (m_wxwindow && m_wxwindow->window)
|
||||
{
|
||||
@@ -2366,10 +2378,24 @@ bool wxWindow::SetForegroundColour( const wxColour &colour )
|
||||
{
|
||||
wxCHECK_MSG( m_widget != NULL, FALSE, _T("invalid window") );
|
||||
|
||||
if (!wxWindowBase::SetForegroundColour(colour)) return FALSE;
|
||||
if (!wxWindowBase::SetForegroundColour(colour))
|
||||
{
|
||||
// don't leave if the GTK widget has just
|
||||
// been realized
|
||||
if (!m_delayedForegroundColour) return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget *connect_widget = GetConnectWidget();
|
||||
if (!connect_widget->window) return TRUE;
|
||||
if (!connect_widget->window)
|
||||
{
|
||||
// indicate that a new style has been set
|
||||
// but it couldn't get applied as the
|
||||
// widget hasn't been realized yet.
|
||||
m_delayedForegroundColour = TRUE;
|
||||
|
||||
// pretend we have done something
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
|
||||
if (sysbg == m_foregroundColour)
|
||||
@@ -2514,10 +2540,24 @@ bool wxWindow::SetFont( const wxFont &font )
|
||||
{
|
||||
wxCHECK_MSG( m_widget != NULL, FALSE, _T( "invalid window") );
|
||||
|
||||
if (!wxWindowBase::SetFont(font)) return FALSE;
|
||||
if (!wxWindowBase::SetFont(font))
|
||||
{
|
||||
// don't leave if the GTK widget has just
|
||||
// been realized
|
||||
if (!m_delayedFont) return FALSE;
|
||||
}
|
||||
|
||||
GtkWidget *connect_widget = GetConnectWidget();
|
||||
if (!connect_widget->window) return TRUE;
|
||||
if (!connect_widget->window)
|
||||
{
|
||||
// indicate that a new style has been set
|
||||
// but it couldn't get applied as the
|
||||
// widget hasn't been realized yet.
|
||||
m_delayedFont = TRUE;
|
||||
|
||||
// pretend we have done something
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
wxColour sysbg = wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE );
|
||||
if ( sysbg == m_backgroundColour )
|
||||
|
Reference in New Issue
Block a user