From 117247fd2cf664fc7b86b3101246a3a58332898a Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Fri, 15 Sep 2000 11:49:39 +0000 Subject: [PATCH] wxFrame's m_mainWidget didn't have themes. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8366 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/frame.cpp | 33 +++++++++++++++++++++++++++++++++ src/gtk1/frame.cpp | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp index 43d5e07887..a0be42f520 100644 --- a/src/gtk/frame.cpp +++ b/src/gtk/frame.cpp @@ -347,6 +347,33 @@ gtk_frame_unmap_callback( GtkWidget * WXUNUSED(widget), win->m_isIconized = TRUE; } +//----------------------------------------------------------------------------- +// "expose_event" of m_client +//----------------------------------------------------------------------------- + +static int gtk_window_expose_callback( GtkWidget *widget, GdkEventExpose *gdk_event, wxWindow *win ) +{ + GtkPizza *pizza = GTK_PIZZA(widget); + + gtk_paint_flat_box (win->m_widget->style, pizza->bin_window, GTK_STATE_NORMAL, + GTK_SHADOW_NONE, &gdk_event->area, win->m_widget, "base", 0, 0, -1, -1); + + return TRUE; +} + +//----------------------------------------------------------------------------- +// "draw" of m_client +//----------------------------------------------------------------------------- + + +static void gtk_window_draw_callback( GtkWidget *widget, GdkRectangle *rect, wxWindow *win ) +{ + GtkPizza *pizza = GTK_PIZZA(widget); + + gtk_paint_flat_box (win->m_widget->style, pizza->bin_window, GTK_STATE_NORMAL, + GTK_SHADOW_NONE, rect, win->m_widget, "base", 0, 0, -1, -1); +} + // ---------------------------------------------------------------------------- // wxFrame itself // ---------------------------------------------------------------------------- @@ -476,6 +503,12 @@ bool wxFrame::Create( wxWindow *parent, GTK_WIDGET_UNSET_FLAGS( m_mainWidget, GTK_CAN_FOCUS ); gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget ); + /* for m_mainWidget themes */ + gtk_signal_connect( GTK_OBJECT(m_mainWidget), "expose_event", + GTK_SIGNAL_FUNC(gtk_window_expose_callback), (gpointer)this ); + gtk_signal_connect( GTK_OBJECT(m_mainWidget), "draw", + GTK_SIGNAL_FUNC(gtk_window_draw_callback), (gpointer)this ); + #ifdef __WXDEBUG__ debug_focus_in( m_mainWidget, wxT("wxFrame::m_mainWidget"), name ); #endif diff --git a/src/gtk1/frame.cpp b/src/gtk1/frame.cpp index 43d5e07887..a0be42f520 100644 --- a/src/gtk1/frame.cpp +++ b/src/gtk1/frame.cpp @@ -347,6 +347,33 @@ gtk_frame_unmap_callback( GtkWidget * WXUNUSED(widget), win->m_isIconized = TRUE; } +//----------------------------------------------------------------------------- +// "expose_event" of m_client +//----------------------------------------------------------------------------- + +static int gtk_window_expose_callback( GtkWidget *widget, GdkEventExpose *gdk_event, wxWindow *win ) +{ + GtkPizza *pizza = GTK_PIZZA(widget); + + gtk_paint_flat_box (win->m_widget->style, pizza->bin_window, GTK_STATE_NORMAL, + GTK_SHADOW_NONE, &gdk_event->area, win->m_widget, "base", 0, 0, -1, -1); + + return TRUE; +} + +//----------------------------------------------------------------------------- +// "draw" of m_client +//----------------------------------------------------------------------------- + + +static void gtk_window_draw_callback( GtkWidget *widget, GdkRectangle *rect, wxWindow *win ) +{ + GtkPizza *pizza = GTK_PIZZA(widget); + + gtk_paint_flat_box (win->m_widget->style, pizza->bin_window, GTK_STATE_NORMAL, + GTK_SHADOW_NONE, rect, win->m_widget, "base", 0, 0, -1, -1); +} + // ---------------------------------------------------------------------------- // wxFrame itself // ---------------------------------------------------------------------------- @@ -476,6 +503,12 @@ bool wxFrame::Create( wxWindow *parent, GTK_WIDGET_UNSET_FLAGS( m_mainWidget, GTK_CAN_FOCUS ); gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget ); + /* for m_mainWidget themes */ + gtk_signal_connect( GTK_OBJECT(m_mainWidget), "expose_event", + GTK_SIGNAL_FUNC(gtk_window_expose_callback), (gpointer)this ); + gtk_signal_connect( GTK_OBJECT(m_mainWidget), "draw", + GTK_SIGNAL_FUNC(gtk_window_draw_callback), (gpointer)this ); + #ifdef __WXDEBUG__ debug_focus_in( m_mainWidget, wxT("wxFrame::m_mainWidget"), name ); #endif -- 2.47.2