From: Robert Roebling Date: Fri, 29 Oct 1999 17:20:44 +0000 (+0000) Subject: Renamed GtkMyFixed to GtkPizza, X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/da048e3d4c244a0d0b42e6e6970ad895ea948a53 Renamed GtkMyFixed to GtkPizza, Made default button work more often than before. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4256 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/gtk/spinctrl.h b/include/wx/gtk/spinctrl.h index c2afe4645c..1bb09317c6 100644 --- a/include/wx/gtk/spinctrl.h +++ b/include/wx/gtk/spinctrl.h @@ -53,6 +53,8 @@ public: virtual int GetMax() const; // implementation + void OnChar( wxKeyEvent &event ); + bool IsOwnGtkWindow( GdkWindow *window ); void ApplyWidgetStyle(); @@ -61,6 +63,7 @@ public: private: DECLARE_DYNAMIC_CLASS(wxSpinCtrl) + DECLARE_EVENT_TABLE() }; #endif diff --git a/include/wx/gtk/win_gtk.h b/include/wx/gtk/win_gtk.h index e48944e75f..1029d03f85 100644 --- a/include/wx/gtk/win_gtk.h +++ b/include/wx/gtk/win_gtk.h @@ -1,6 +1,6 @@ /* /////////////////////////////////////////////////////////////////////////// // Name: win_gtk.h -// Purpose: wxWindows's GTK base widget +// Purpose: wxWindows's GTK base widget = GtkPizza // Author: Robert Roebling // Id: $Id$ // Copyright: (c) 1998 Robert Roebling @@ -8,8 +8,8 @@ /////////////////////////////////////////////////////////////////////////// */ -#ifndef __GTK_MYFIXED_H__ -#define __GTK_MYFIXED_H__ +#ifndef __GTK_PIZZA_H__ +#define __GTK_PIZZA_H__ #include #include @@ -21,9 +21,9 @@ extern "C" { #endif /* __cplusplus */ -#define GTK_MYFIXED(obj) GTK_CHECK_CAST (obj, gtk_myfixed_get_type (), GtkMyFixed) -#define GTK_MYFIXED_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_myfixed_get_type (), GtkMyFixedClass) -#define GTK_IS_MYFIXED(obj) GTK_CHECK_TYPE (obj, gtk_myfixed_get_type ()) +#define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza) +#define GTK_PIZZA_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_pizza_get_type (), GtkPizzaClass) +#define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ()) /* Shadow types */ typedef enum @@ -34,10 +34,10 @@ typedef enum GTK_MYSHADOW_OUT } GtkMyShadowType; -typedef struct _GtkMyFixed GtkMyFixed; -typedef struct _GtkMyFixedClass GtkMyFixedClass; +typedef struct _GtkPizza GtkPizza; +typedef struct _GtkPizzaClass GtkPizzaClass; -struct _GtkMyFixed +struct _GtkPizza { GtkContainer container; GList *children; @@ -59,46 +59,46 @@ struct _GtkMyFixed gboolean clear_on_draw; }; -struct _GtkMyFixedClass +struct _GtkPizzaClass { GtkContainerClass parent_class; - void (*set_scroll_adjustments) (GtkMyFixed *myfixed, + void (*set_scroll_adjustments) (GtkPizza *pizza, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); }; -guint gtk_myfixed_get_type (void); -GtkWidget* gtk_myfixed_new (void); +guint gtk_pizza_get_type (void); +GtkWidget* gtk_pizza_new (void); -void gtk_myfixed_set_shadow_type (GtkMyFixed *myfixed, +void gtk_pizza_set_shadow_type (GtkPizza *pizza, GtkMyShadowType type); -void gtk_my_fixed_set_clear (GtkMyFixed *myfixed, +void gtk_pizza_set_clear (GtkPizza *pizza, gboolean clear); -void gtk_myfixed_scroll (GtkMyFixed *myfixed, +void gtk_pizza_scroll (GtkPizza *pizza, gint dx, gint dy); -void gtk_myfixed_put (GtkMyFixed *myfixed, +void gtk_pizza_put (GtkPizza *pizza, GtkWidget *widget, gint x, gint y, gint width, gint height); -void gtk_myfixed_move (GtkMyFixed *myfixed, +void gtk_pizza_move (GtkPizza *pizza, GtkWidget *widget, gint x, gint y ); -void gtk_myfixed_resize (GtkMyFixed *myfixed, +void gtk_pizza_resize (GtkPizza *pizza, GtkWidget *widget, gint width, gint height ); -void gtk_myfixed_set_size (GtkMyFixed *myfixed, +void gtk_pizza_set_size (GtkPizza *pizza, GtkWidget *widget, gint x, gint y, @@ -109,4 +109,4 @@ void gtk_myfixed_set_size (GtkMyFixed *myfixed, #endif /* __cplusplus */ -#endif /* __GTK_MYFIXED_H__ */ +#endif /* __GTK_PIZZA_H__ */ diff --git a/include/wx/gtk1/spinctrl.h b/include/wx/gtk1/spinctrl.h index c2afe4645c..1bb09317c6 100644 --- a/include/wx/gtk1/spinctrl.h +++ b/include/wx/gtk1/spinctrl.h @@ -53,6 +53,8 @@ public: virtual int GetMax() const; // implementation + void OnChar( wxKeyEvent &event ); + bool IsOwnGtkWindow( GdkWindow *window ); void ApplyWidgetStyle(); @@ -61,6 +63,7 @@ public: private: DECLARE_DYNAMIC_CLASS(wxSpinCtrl) + DECLARE_EVENT_TABLE() }; #endif diff --git a/include/wx/gtk1/win_gtk.h b/include/wx/gtk1/win_gtk.h index e48944e75f..1029d03f85 100644 --- a/include/wx/gtk1/win_gtk.h +++ b/include/wx/gtk1/win_gtk.h @@ -1,6 +1,6 @@ /* /////////////////////////////////////////////////////////////////////////// // Name: win_gtk.h -// Purpose: wxWindows's GTK base widget +// Purpose: wxWindows's GTK base widget = GtkPizza // Author: Robert Roebling // Id: $Id$ // Copyright: (c) 1998 Robert Roebling @@ -8,8 +8,8 @@ /////////////////////////////////////////////////////////////////////////// */ -#ifndef __GTK_MYFIXED_H__ -#define __GTK_MYFIXED_H__ +#ifndef __GTK_PIZZA_H__ +#define __GTK_PIZZA_H__ #include #include @@ -21,9 +21,9 @@ extern "C" { #endif /* __cplusplus */ -#define GTK_MYFIXED(obj) GTK_CHECK_CAST (obj, gtk_myfixed_get_type (), GtkMyFixed) -#define GTK_MYFIXED_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_myfixed_get_type (), GtkMyFixedClass) -#define GTK_IS_MYFIXED(obj) GTK_CHECK_TYPE (obj, gtk_myfixed_get_type ()) +#define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza) +#define GTK_PIZZA_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_pizza_get_type (), GtkPizzaClass) +#define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ()) /* Shadow types */ typedef enum @@ -34,10 +34,10 @@ typedef enum GTK_MYSHADOW_OUT } GtkMyShadowType; -typedef struct _GtkMyFixed GtkMyFixed; -typedef struct _GtkMyFixedClass GtkMyFixedClass; +typedef struct _GtkPizza GtkPizza; +typedef struct _GtkPizzaClass GtkPizzaClass; -struct _GtkMyFixed +struct _GtkPizza { GtkContainer container; GList *children; @@ -59,46 +59,46 @@ struct _GtkMyFixed gboolean clear_on_draw; }; -struct _GtkMyFixedClass +struct _GtkPizzaClass { GtkContainerClass parent_class; - void (*set_scroll_adjustments) (GtkMyFixed *myfixed, + void (*set_scroll_adjustments) (GtkPizza *pizza, GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); }; -guint gtk_myfixed_get_type (void); -GtkWidget* gtk_myfixed_new (void); +guint gtk_pizza_get_type (void); +GtkWidget* gtk_pizza_new (void); -void gtk_myfixed_set_shadow_type (GtkMyFixed *myfixed, +void gtk_pizza_set_shadow_type (GtkPizza *pizza, GtkMyShadowType type); -void gtk_my_fixed_set_clear (GtkMyFixed *myfixed, +void gtk_pizza_set_clear (GtkPizza *pizza, gboolean clear); -void gtk_myfixed_scroll (GtkMyFixed *myfixed, +void gtk_pizza_scroll (GtkPizza *pizza, gint dx, gint dy); -void gtk_myfixed_put (GtkMyFixed *myfixed, +void gtk_pizza_put (GtkPizza *pizza, GtkWidget *widget, gint x, gint y, gint width, gint height); -void gtk_myfixed_move (GtkMyFixed *myfixed, +void gtk_pizza_move (GtkPizza *pizza, GtkWidget *widget, gint x, gint y ); -void gtk_myfixed_resize (GtkMyFixed *myfixed, +void gtk_pizza_resize (GtkPizza *pizza, GtkWidget *widget, gint width, gint height ); -void gtk_myfixed_set_size (GtkMyFixed *myfixed, +void gtk_pizza_set_size (GtkPizza *pizza, GtkWidget *widget, gint x, gint y, @@ -109,4 +109,4 @@ void gtk_myfixed_set_size (GtkMyFixed *myfixed, #endif /* __cplusplus */ -#endif /* __GTK_MYFIXED_H__ */ +#endif /* __GTK_PIZZA_H__ */ diff --git a/src/gtk/button.cpp b/src/gtk/button.cpp index 39d94b37b1..cd85a483ae 100644 --- a/src/gtk/button.cpp +++ b/src/gtk/button.cpp @@ -64,14 +64,12 @@ wxButton::wxButton() wxButton::~wxButton() { - if (m_clientData) delete m_clientData; } bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos, const wxSize &size, long style, const wxValidator& validator, const wxString &name ) { - m_clientData = (wxClientData*) NULL; m_needParent = TRUE; m_acceptsFocus = TRUE; @@ -126,7 +124,7 @@ bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, return TRUE; } -void wxButton::SetDefault(void) +void wxButton::SetDefault() { GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT ); gtk_widget_grab_default( m_widget ); diff --git a/src/gtk/dcclient.cpp b/src/gtk/dcclient.cpp index a3ddfa66a0..fd0105435a 100644 --- a/src/gtk/dcclient.cpp +++ b/src/gtk/dcclient.cpp @@ -119,8 +119,8 @@ wxWindowDC::wxWindowDC( wxWindow *window ) wxASSERT_MSG( widget, wxT("DC needs a widget") ); - GtkMyFixed *myfixed = GTK_MYFIXED( widget ); - m_window = myfixed->bin_window; + GtkPizza *pizza = GTK_PIZZA( widget ); + m_window = pizza->bin_window; /* not realized ? */ if (!m_window) diff --git a/src/gtk/dialog.cpp b/src/gtk/dialog.cpp index e51c6cb3db..712a1fd986 100644 --- a/src/gtk/dialog.cpp +++ b/src/gtk/dialog.cpp @@ -194,7 +194,7 @@ gtk_dialog_realized_callback( GtkWidget *widget, wxDialog *win ) static void wxInsertChildInDialog( wxDialog* parent, wxWindow* child ) { - gtk_myfixed_put( GTK_MYFIXED(parent->m_wxwindow), + gtk_pizza_put( GTK_PIZZA(parent->m_wxwindow), GTK_WIDGET(child->m_widget), child->m_x, child->m_y, @@ -269,7 +269,7 @@ bool wxDialog::Create( wxWindow *parent, gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event", GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this ); - m_wxwindow = gtk_myfixed_new(); + m_wxwindow = gtk_pizza_new(); gtk_widget_show( m_wxwindow ); GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS ); diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp index 3098d050c0..928f7fa900 100644 --- a/src/gtk/frame.cpp +++ b/src/gtk/frame.cpp @@ -300,7 +300,7 @@ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child ) { /* these are outside the client area */ wxFrame* frame = (wxFrame*) parent; - gtk_myfixed_put( GTK_MYFIXED(frame->m_mainWidget), + gtk_pizza_put( GTK_PIZZA(frame->m_mainWidget), GTK_WIDGET(child->m_widget), child->m_x, child->m_y, @@ -327,7 +327,7 @@ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child ) else { /* these are inside the client area */ - gtk_myfixed_put( GTK_MYFIXED(parent->m_wxwindow), + gtk_pizza_put( GTK_PIZZA(parent->m_wxwindow), GTK_WIDGET(child->m_widget), child->m_x, child->m_y, @@ -418,7 +418,7 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title, GTK_SIGNAL_FUNC(gtk_frame_delete_callback), (gpointer)this ); /* m_mainWidget holds the toolbar, the menubar and the client area */ - m_mainWidget = gtk_myfixed_new(); + m_mainWidget = gtk_pizza_new(); gtk_widget_show( m_mainWidget ); GTK_WIDGET_UNSET_FLAGS( m_mainWidget, GTK_CAN_FOCUS ); gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget ); @@ -428,7 +428,7 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title, #endif /* m_wxwindow only represents the client area without toolbar and menubar */ - m_wxwindow = gtk_myfixed_new(); + m_wxwindow = gtk_pizza_new(); gtk_widget_show( m_wxwindow ); gtk_container_add( GTK_CONTAINER(m_mainWidget), m_wxwindow ); @@ -726,7 +726,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height m_frameMenuBar->m_y = yy; m_frameMenuBar->m_width = ww; m_frameMenuBar->m_height = hh; - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), m_frameMenuBar->m_widget, xx, yy, ww, hh ); client_area_y_offset += hh; @@ -752,7 +752,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height m_frameToolBar->m_y = yy; /* m_frameToolBar->m_height = hh; don't change the toolbar's reported size m_frameToolBar->m_width = ww; */ - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), m_frameToolBar->m_widget, xx, yy, ww, hh ); client_area_y_offset += hh; @@ -763,7 +763,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height int client_y = client_area_y_offset + m_miniEdge + m_miniTitle; int client_w = m_width - 2*m_miniEdge; int client_h = m_height - client_area_y_offset- 2*m_miniEdge - m_miniTitle; - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), m_wxwindow, client_x, client_y, client_w, client_h ); } @@ -784,7 +784,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height m_frameStatusBar->m_y = yy; m_frameStatusBar->m_width = ww; m_frameStatusBar->m_height = hh; - gtk_myfixed_set_size( GTK_MYFIXED(m_wxwindow), + gtk_pizza_set_size( GTK_PIZZA(m_wxwindow), m_frameStatusBar->m_widget, xx, yy, ww, hh ); } @@ -902,7 +902,7 @@ void wxFrame::SetMenuBar( wxMenuBar *menuBar ) if (m_frameMenuBar->GetParent() != this) { m_frameMenuBar->SetParent(this); - gtk_myfixed_put( GTK_MYFIXED(m_mainWidget), + gtk_pizza_put( GTK_PIZZA(m_mainWidget), m_frameMenuBar->m_widget, m_frameMenuBar->m_x, m_frameMenuBar->m_y, diff --git a/src/gtk/mdi.cpp b/src/gtk/mdi.cpp index 3437436706..f31951f90c 100644 --- a/src/gtk/mdi.cpp +++ b/src/gtk/mdi.cpp @@ -120,7 +120,7 @@ void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height ) menu_bar->m_y = 0; menu_bar->m_width = m_width; menu_bar->m_height = wxMENU_HEIGHT; - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), menu_bar->m_widget, 0, 0, m_width, wxMENU_HEIGHT ); } @@ -159,7 +159,7 @@ void wxMDIParentFrame::OnInternalIdle() { menu_bar->m_width = m_width; menu_bar->m_height = wxMENU_HEIGHT; - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), menu_bar->m_widget, 0, 0, m_width, wxMENU_HEIGHT ); menu_bar->SetInvokingWindow( child_frame ); @@ -193,7 +193,7 @@ void wxMDIParentFrame::OnInternalIdle() m_frameMenuBar->m_width = m_width; m_frameMenuBar->m_height = wxMENU_HEIGHT; - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), m_frameMenuBar->m_widget, 0, 0, m_width, wxMENU_HEIGHT ); } @@ -330,7 +330,7 @@ void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar ) m_menuBar->SetParent( mdi_frame ); /* insert the invisible menu bar into the _parent_ mdi frame */ - gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWidget), + gtk_pizza_put( GTK_PIZZA(mdi_frame->m_mainWidget), m_menuBar->m_widget, 0, 0, mdi_frame->m_width, wxMENU_HEIGHT ); } diff --git a/src/gtk/minifram.cpp b/src/gtk/minifram.cpp index 26a08dea23..5f26abaf61 100644 --- a/src/gtk/minifram.cpp +++ b/src/gtk/minifram.cpp @@ -71,10 +71,10 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g if (!win->m_hasVMT) return; if (gdk_event->count > 0) return; - GtkMyFixed *myfixed = GTK_MYFIXED(widget); + GtkPizza *pizza = GTK_PIZZA(widget); gtk_draw_shadow( widget->style, - myfixed->bin_window, + pizza->bin_window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, 0, 0, @@ -85,20 +85,20 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g (win->GetWindowStyle() & wxTINY_CAPTION_HORIZ) || (win->GetWindowStyle() & wxTINY_CAPTION_VERT))) { - GdkGC *gc = gdk_gc_new( myfixed->bin_window ); + GdkGC *gc = gdk_gc_new( pizza->bin_window ); GdkFont *font = wxSMALL_FONT->GetInternalFont(1.0); int x = 2; if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 18; gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] ); - gdk_draw_rectangle( myfixed->bin_window, gc, TRUE, + gdk_draw_rectangle( pizza->bin_window, gc, TRUE, x, 3, win->m_width - 4 - x, font->ascent + font->descent+1 ); gdk_gc_set_foreground( gc, &widget->style->white ); - gdk_draw_string( myfixed->bin_window, font, gc, + gdk_draw_string( pizza->bin_window, font, gc, x+2, 3+font->ascent, win->m_title.mb_str() ); @@ -117,10 +117,10 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU if (!win->m_hasVMT) return; - GtkMyFixed *myfixed = GTK_MYFIXED(widget); + GtkPizza *pizza = GTK_PIZZA(widget); gtk_draw_shadow( widget->style, - myfixed->bin_window, + pizza->bin_window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, 0, 0, @@ -131,20 +131,20 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU (win->GetWindowStyle() & wxTINY_CAPTION_HORIZ) || (win->GetWindowStyle() & wxTINY_CAPTION_VERT))) { - GdkGC *gc = gdk_gc_new( myfixed->bin_window ); + GdkGC *gc = gdk_gc_new( pizza->bin_window ); GdkFont *font = wxSMALL_FONT->GetInternalFont(1.0); int x = 2; if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 17; gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] ); - gdk_draw_rectangle( myfixed->bin_window, gc, TRUE, + gdk_draw_rectangle( pizza->bin_window, gc, TRUE, x, 3, win->m_width - 4 - x, font->ascent + font->descent+1 ); gdk_gc_set_foreground( gc, &widget->style->white ); - gdk_draw_string( myfixed->bin_window, font, gc, + gdk_draw_string( pizza->bin_window, font, gc, x+2, 3+font->ascent, win->m_title.mb_str() ); @@ -299,7 +299,7 @@ bool wxMiniFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title { GtkWidget *close_button = gtk_button_new_with_label( "x" ); - gtk_myfixed_put( GTK_MYFIXED(m_mainWidget), + gtk_pizza_put( GTK_PIZZA(m_mainWidget), close_button, 4, 4, 12, 11 ); diff --git a/src/gtk/radiobox.cpp b/src/gtk/radiobox.cpp index 53796108d5..2d30dff5e1 100644 --- a/src/gtk/radiobox.cpp +++ b/src/gtk/radiobox.cpp @@ -119,7 +119,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title, gtk_signal_connect( GTK_OBJECT(m_radio), "clicked", GTK_SIGNAL_FUNC(gtk_radiobutton_clicked_callback), (gpointer*)this ); - gtk_myfixed_put( GTK_MYFIXED(m_parent->m_wxwindow), + gtk_pizza_put( GTK_PIZZA(m_parent->m_wxwindow), GTK_WIDGET(m_radio), m_x+10, m_y+10+(i*24), 10, 10 ); } @@ -211,7 +211,7 @@ wxSize wxRadioBox::LayoutItems() int len = 22+gdk_string_measure( font, label->label ); if (len > max_len) max_len = len; - gtk_myfixed_move( GTK_MYFIXED(m_parent->m_wxwindow), button, m_x+x, m_y+y ); + gtk_pizza_move( GTK_PIZZA(m_parent->m_wxwindow), button, m_x+x, m_y+y ); y += 22; node = node->Next(); @@ -225,7 +225,7 @@ wxSize wxRadioBox::LayoutItems() { GtkWidget *button = GTK_WIDGET( node->Data() ); - gtk_myfixed_resize( GTK_MYFIXED(m_parent->m_wxwindow), button, max_len, 20 ); + gtk_pizza_resize( GTK_PIZZA(m_parent->m_wxwindow), button, max_len, 20 ); node = node->Next(); if (!node) break; @@ -261,7 +261,7 @@ wxSize wxRadioBox::LayoutItems() { GtkWidget *button = GTK_WIDGET( node->Data() ); - gtk_myfixed_set_size( GTK_MYFIXED(m_parent->m_wxwindow), button, m_x+x, m_y+y, max, 20 ); + gtk_pizza_set_size( GTK_PIZZA(m_parent->m_wxwindow), button, m_x+x, m_y+y, max, 20 ); x += max; node = node->Next(); diff --git a/src/gtk/spinctrl.cpp b/src/gtk/spinctrl.cpp index 77cc2b8fe5..5a46da4048 100644 --- a/src/gtk/spinctrl.cpp +++ b/src/gtk/spinctrl.cpp @@ -85,6 +85,10 @@ static void gtk_spinctrl_callback( GtkWidget *WXUNUSED(widget), wxSpinCtrl *win IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl,wxControl) +BEGIN_EVENT_TABLE(wxSpinCtrl, wxControl) + EVT_CHAR(wxSpinCtrl::OnChar) +END_EVENT_TABLE() + bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id, const wxString& value, const wxPoint& pos, const wxSize& size, @@ -205,6 +209,27 @@ void wxSpinCtrl::SetRange(int minVal, int maxVal) SetFocus(); } +void wxSpinCtrl::OnChar( wxKeyEvent &event ) +{ + wxCHECK_RET( m_widget != NULL, wxT("invalid spin ctrl") ); + + if (event.KeyCode() == WXK_RETURN) + { + wxWindow *top_frame = m_parent; + while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) + top_frame = top_frame->GetParent(); + GtkWindow *window = GTK_WINDOW(top_frame->m_widget); + + if (window->default_widget) + { + gtk_widget_activate (window->default_widget); + return; + } + } + + event.Skip(); +} + bool wxSpinCtrl::IsOwnGtkWindow( GdkWindow *window ) { return GTK_SPIN_BUTTON(m_widget)->panel == window; diff --git a/src/gtk/textctrl.cpp b/src/gtk/textctrl.cpp index 8a2fcc6491..1039af2f37 100644 --- a/src/gtk/textctrl.cpp +++ b/src/gtk/textctrl.cpp @@ -779,6 +779,20 @@ void wxTextCtrl::OnChar( wxKeyEvent &key_event ) if (GetEventHandler()->ProcessEvent(event)) return; } + if ((key_event.KeyCode() == WXK_RETURN) && !(m_windowStyle & wxTE_MULTILINE)) + { + wxWindow *top_frame = m_parent; + while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) + top_frame = top_frame->GetParent(); + GtkWindow *window = GTK_WINDOW(top_frame->m_widget); + + if (window->default_widget) + { + gtk_widget_activate (window->default_widget); + return; + } + } + key_event.Skip(); } diff --git a/src/gtk/win_gtk.c b/src/gtk/win_gtk.c index 1c9d784266..2097a2db33 100644 --- a/src/gtk/win_gtk.c +++ b/src/gtk/win_gtk.c @@ -21,16 +21,16 @@ extern "C" { #define IS_ONSCREEN(x,y) ((x >= G_MINSHORT) && (x <= G_MAXSHORT) && \ (y >= G_MINSHORT) && (y <= G_MAXSHORT)) -typedef struct _GtkMyFixedAdjData GtkMyFixedAdjData; -typedef struct _GtkMyFixedChild GtkMyFixedChild; +typedef struct _GtkPizzaAdjData GtkPizzaAdjData; +typedef struct _GtkPizzaChild GtkPizzaChild; -struct _GtkMyFixedAdjData +struct _GtkPizzaAdjData { gint dx; gint dy; }; -struct _GtkMyFixedChild +struct _GtkPizzaChild { GtkWidget *widget; gint x; @@ -39,62 +39,62 @@ struct _GtkMyFixedChild gint height; }; -static void gtk_myfixed_class_init (GtkMyFixedClass *klass); -static void gtk_myfixed_init (GtkMyFixed *myfixed); +static void gtk_pizza_class_init (GtkPizzaClass *klass); +static void gtk_pizza_init (GtkPizza *pizza); -static void gtk_myfixed_realize (GtkWidget *widget); -static void gtk_myfixed_unrealize (GtkWidget *widget); +static void gtk_pizza_realize (GtkWidget *widget); +static void gtk_pizza_unrealize (GtkWidget *widget); -static void gtk_myfixed_map (GtkWidget *widget); +static void gtk_pizza_map (GtkWidget *widget); -static void gtk_myfixed_size_request (GtkWidget *widget, +static void gtk_pizza_size_request (GtkWidget *widget, GtkRequisition *requisition); -static void gtk_myfixed_size_allocate (GtkWidget *widget, +static void gtk_pizza_size_allocate (GtkWidget *widget, GtkAllocation *allocation); -static void gtk_myfixed_draw (GtkWidget *widget, +static void gtk_pizza_draw (GtkWidget *widget, GdkRectangle *area); -static gint gtk_myfixed_expose (GtkWidget *widget, +static gint gtk_pizza_expose (GtkWidget *widget, GdkEventExpose *event); -static void gtk_myfixed_add (GtkContainer *container, +static void gtk_pizza_add (GtkContainer *container, GtkWidget *widget); -static void gtk_myfixed_remove (GtkContainer *container, +static void gtk_pizza_remove (GtkContainer *container, GtkWidget *widget); -static void gtk_myfixed_forall (GtkContainer *container, +static void gtk_pizza_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data); -static void gtk_myfixed_position_child (GtkMyFixed *myfixed, - GtkMyFixedChild *child); -static void gtk_myfixed_allocate_child (GtkMyFixed *myfixed, - GtkMyFixedChild *child); -static void gtk_myfixed_position_children (GtkMyFixed *myfixed); +static void gtk_pizza_position_child (GtkPizza *pizza, + GtkPizzaChild *child); +static void gtk_pizza_allocate_child (GtkPizza *pizza, + GtkPizzaChild *child); +static void gtk_pizza_position_children (GtkPizza *pizza); -static void gtk_myfixed_adjust_allocations_recurse (GtkWidget *widget, +static void gtk_pizza_adjust_allocations_recurse (GtkWidget *widget, gpointer cb_data); -static void gtk_myfixed_adjust_allocations (GtkMyFixed *myfixed, +static void gtk_pizza_adjust_allocations (GtkPizza *pizza, gint dx, gint dy); -static void gtk_myfixed_expose_area (GtkMyFixed *myfixed, +static void gtk_pizza_expose_area (GtkPizza *pizza, gint x, gint y, gint width, gint height); -static void gtk_myfixed_adjustment_changed (GtkAdjustment *adjustment, - GtkMyFixed *myfixed); -static GdkFilterReturn gtk_myfixed_filter (GdkXEvent *gdk_xevent, +static void gtk_pizza_adjustment_changed (GtkAdjustment *adjustment, + GtkPizza *pizza); +static GdkFilterReturn gtk_pizza_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data); -static GdkFilterReturn gtk_myfixed_main_filter (GdkXEvent *gdk_xevent, +static GdkFilterReturn gtk_pizza_main_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data); -static GtkType gtk_myfixed_child_type (GtkContainer *container); +static GtkType gtk_pizza_child_type (GtkContainer *container); -static void gtk_myfixed_scroll_set_adjustments (GtkMyFixed *myfixed, +static void gtk_pizza_scroll_set_adjustments (GtkPizza *pizza, GtkAdjustment *hadj, GtkAdjustment *vadj); @@ -103,31 +103,31 @@ static GtkContainerClass *parent_class = NULL; static gboolean gravity_works; guint -gtk_myfixed_get_type () +gtk_pizza_get_type () { - static guint myfixed_type = 0; + static guint pizza_type = 0; - if (!myfixed_type) + if (!pizza_type) { - GtkTypeInfo myfixed_info = + GtkTypeInfo pizza_info = { - "GtkMyFixed", - sizeof (GtkMyFixed), - sizeof (GtkMyFixedClass), - (GtkClassInitFunc) gtk_myfixed_class_init, - (GtkObjectInitFunc) gtk_myfixed_init, + "GtkPizza", + sizeof (GtkPizza), + sizeof (GtkPizzaClass), + (GtkClassInitFunc) gtk_pizza_class_init, + (GtkObjectInitFunc) gtk_pizza_init, /* reserved_1 */ NULL, /* reserved_2 */ NULL, (GtkClassInitFunc) NULL, }; - myfixed_type = gtk_type_unique (gtk_container_get_type (), &myfixed_info); + pizza_type = gtk_type_unique (gtk_container_get_type (), &pizza_info); } - return myfixed_type; + return pizza_type; } static void -gtk_myfixed_class_init (GtkMyFixedClass *klass) +gtk_pizza_class_init (GtkPizzaClass *klass) { GtkObjectClass *object_class; GtkWidgetClass *widget_class; @@ -138,71 +138,71 @@ gtk_myfixed_class_init (GtkMyFixedClass *klass) container_class = (GtkContainerClass*) klass; parent_class = gtk_type_class (GTK_TYPE_CONTAINER); - widget_class->map = gtk_myfixed_map; - widget_class->realize = gtk_myfixed_realize; - widget_class->unrealize = gtk_myfixed_unrealize; - widget_class->size_request = gtk_myfixed_size_request; - widget_class->size_allocate = gtk_myfixed_size_allocate; - widget_class->draw = gtk_myfixed_draw; - widget_class->expose_event = gtk_myfixed_expose; + widget_class->map = gtk_pizza_map; + widget_class->realize = gtk_pizza_realize; + widget_class->unrealize = gtk_pizza_unrealize; + widget_class->size_request = gtk_pizza_size_request; + widget_class->size_allocate = gtk_pizza_size_allocate; + widget_class->draw = gtk_pizza_draw; + widget_class->expose_event = gtk_pizza_expose; - container_class->add = gtk_myfixed_add; - container_class->remove = gtk_myfixed_remove; - container_class->forall = gtk_myfixed_forall; + container_class->add = gtk_pizza_add; + container_class->remove = gtk_pizza_remove; + container_class->forall = gtk_pizza_forall; - container_class->child_type = gtk_myfixed_child_type; + container_class->child_type = gtk_pizza_child_type; - klass->set_scroll_adjustments = gtk_myfixed_scroll_set_adjustments; + klass->set_scroll_adjustments = gtk_pizza_scroll_set_adjustments; widget_class->set_scroll_adjustments_signal = gtk_signal_new ("set_scroll_adjustments", GTK_RUN_LAST, object_class->type, - GTK_SIGNAL_OFFSET (GtkMyFixedClass, set_scroll_adjustments), + GTK_SIGNAL_OFFSET (GtkPizzaClass, set_scroll_adjustments), gtk_marshal_NONE__POINTER_POINTER, GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT); } static GtkType -gtk_myfixed_child_type (GtkContainer *container) +gtk_pizza_child_type (GtkContainer *container) { return GTK_TYPE_WIDGET; } static void -gtk_myfixed_init (GtkMyFixed *myfixed) +gtk_pizza_init (GtkPizza *pizza) { - GTK_WIDGET_UNSET_FLAGS (myfixed, GTK_NO_WINDOW); + GTK_WIDGET_UNSET_FLAGS (pizza, GTK_NO_WINDOW); - myfixed->shadow_type = GTK_MYSHADOW_NONE; + pizza->shadow_type = GTK_MYSHADOW_NONE; - myfixed->children = NULL; + pizza->children = NULL; - myfixed->width = 20; - myfixed->height = 20; + pizza->width = 20; + pizza->height = 20; - myfixed->bin_window = NULL; + pizza->bin_window = NULL; - myfixed->configure_serial = 0; - myfixed->scroll_x = 0; - myfixed->scroll_y = 0; - myfixed->visibility = GDK_VISIBILITY_PARTIAL; + pizza->configure_serial = 0; + pizza->scroll_x = 0; + pizza->scroll_y = 0; + pizza->visibility = GDK_VISIBILITY_PARTIAL; - myfixed->clear_on_draw = TRUE; + pizza->clear_on_draw = TRUE; } GtkWidget* -gtk_myfixed_new () +gtk_pizza_new () { - GtkMyFixed *myfixed; + GtkPizza *pizza; - myfixed = gtk_type_new (gtk_myfixed_get_type ()); + pizza = gtk_type_new (gtk_pizza_get_type ()); - return GTK_WIDGET (myfixed); + return GTK_WIDGET (pizza); } void -gtk_myfixed_scroll_set_adjustments (GtkMyFixed *myfixed, +gtk_pizza_scroll_set_adjustments (GtkPizza *pizza, GtkAdjustment *hadj, GtkAdjustment *vadj) { @@ -210,49 +210,49 @@ gtk_myfixed_scroll_set_adjustments (GtkMyFixed *myfixed, } void -gtk_myfixed_set_shadow_type (GtkMyFixed *myfixed, +gtk_pizza_set_shadow_type (GtkPizza *pizza, GtkMyShadowType type) { - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); - if ((GtkMyShadowType) myfixed->shadow_type != type) + if ((GtkMyShadowType) pizza->shadow_type != type) { - myfixed->shadow_type = type; + pizza->shadow_type = type; - if (GTK_WIDGET_VISIBLE (myfixed)) + if (GTK_WIDGET_VISIBLE (pizza)) { - gtk_widget_size_allocate (GTK_WIDGET (myfixed), &(GTK_WIDGET (myfixed)->allocation)); - gtk_widget_queue_draw (GTK_WIDGET (myfixed)); + gtk_widget_size_allocate (GTK_WIDGET (pizza), &(GTK_WIDGET (pizza)->allocation)); + gtk_widget_queue_draw (GTK_WIDGET (pizza)); } } } void -gtk_my_fixed_set_clear (GtkMyFixed *myfixed, +gtk_pizza_set_clear (GtkPizza *pizza, gboolean clear) { - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); - myfixed->clear_on_draw = clear; + pizza->clear_on_draw = clear; } void -gtk_myfixed_put (GtkMyFixed *myfixed, +gtk_pizza_put (GtkPizza *pizza, GtkWidget *widget, gint x, gint y, gint width, gint height) { - GtkMyFixedChild *child_info; + GtkPizzaChild *child_info; - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); g_return_if_fail (widget != NULL); - child_info = g_new (GtkMyFixedChild, 1); + child_info = g_new (GtkPizzaChild, 1); child_info->widget = widget; child_info->x = x; @@ -260,24 +260,24 @@ gtk_myfixed_put (GtkMyFixed *myfixed, child_info->width = width; child_info->height = height; - myfixed->children = g_list_append (myfixed->children, child_info); + pizza->children = g_list_append (pizza->children, child_info); - gtk_widget_set_parent (widget, GTK_WIDGET (myfixed)); + gtk_widget_set_parent (widget, GTK_WIDGET (pizza)); - if (GTK_WIDGET_REALIZED (myfixed)) - gtk_widget_set_parent_window (widget, myfixed->bin_window); + if (GTK_WIDGET_REALIZED (pizza)) + gtk_widget_set_parent_window (widget, pizza->bin_window); if (!IS_ONSCREEN (x, y)) GTK_PRIVATE_SET_FLAG (widget, GTK_IS_OFFSCREEN); - if (GTK_WIDGET_REALIZED (myfixed)) + if (GTK_WIDGET_REALIZED (pizza)) gtk_widget_realize (widget); gtk_widget_set_usize (widget, width, height); - if (GTK_WIDGET_VISIBLE (myfixed) && GTK_WIDGET_VISIBLE (widget)) + if (GTK_WIDGET_VISIBLE (pizza) && GTK_WIDGET_VISIBLE (widget)) { - if (GTK_WIDGET_MAPPED (myfixed)) + if (GTK_WIDGET_MAPPED (pizza)) gtk_widget_map (widget); gtk_widget_queue_resize (widget); @@ -285,19 +285,19 @@ gtk_myfixed_put (GtkMyFixed *myfixed, } void -gtk_myfixed_move (GtkMyFixed *myfixed, +gtk_pizza_move (GtkPizza *pizza, GtkWidget *widget, gint x, gint y) { - GtkMyFixedChild *child; + GtkPizzaChild *child; GList *children; - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); g_return_if_fail (widget != NULL); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -311,7 +311,7 @@ gtk_myfixed_move (GtkMyFixed *myfixed, child->x = x; child->y = y; - if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (myfixed)) + if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza)) gtk_widget_queue_resize (widget); break; } @@ -319,19 +319,19 @@ gtk_myfixed_move (GtkMyFixed *myfixed, } void -gtk_myfixed_resize (GtkMyFixed *myfixed, +gtk_pizza_resize (GtkPizza *pizza, GtkWidget *widget, gint width, gint height) { - GtkMyFixedChild *child; + GtkPizzaChild *child; GList *children; - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); g_return_if_fail (widget != NULL); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -347,7 +347,7 @@ gtk_myfixed_resize (GtkMyFixed *myfixed, gtk_widget_set_usize (widget, width, height); - if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (myfixed)) + if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza)) gtk_widget_queue_resize (widget); break; } @@ -355,22 +355,22 @@ gtk_myfixed_resize (GtkMyFixed *myfixed, } void -gtk_myfixed_set_size (GtkMyFixed *myfixed, +gtk_pizza_set_size (GtkPizza *pizza, GtkWidget *widget, gint x, gint y, gint width, gint height) { - GtkMyFixedChild *child; + GtkPizzaChild *child; GList *children; GtkAllocation child_allocation; - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); g_return_if_fail (widget != NULL); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -390,7 +390,7 @@ gtk_myfixed_set_size (GtkMyFixed *myfixed, gtk_widget_set_usize (widget, width, height); - if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (myfixed)) + if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza)) gtk_widget_queue_resize (widget); return; @@ -399,19 +399,19 @@ gtk_myfixed_set_size (GtkMyFixed *myfixed, } static void -gtk_myfixed_map (GtkWidget *widget) +gtk_pizza_map (GtkWidget *widget) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GList *children; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED (widget)); + g_return_if_fail (GTK_IS_PIZZA (widget)); GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -426,22 +426,22 @@ gtk_myfixed_map (GtkWidget *widget) } gdk_window_show (widget->window); - gdk_window_show (myfixed->bin_window); + gdk_window_show (pizza->bin_window); } static void -gtk_myfixed_realize (GtkWidget *widget) +gtk_pizza_realize (GtkWidget *widget) { - GtkMyFixed *myfixed; + GtkPizza *pizza; GdkWindowAttr attributes; gint attributes_mask; - GtkMyFixedChild *child; + GtkPizzaChild *child; GList *children; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED (widget)); + g_return_if_fail (GTK_IS_PIZZA (widget)); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); @@ -452,11 +452,11 @@ gtk_myfixed_realize (GtkWidget *widget) attributes.width = widget->allocation.width; attributes.height = widget->allocation.height; - if (myfixed->shadow_type == GTK_MYSHADOW_NONE) + if (pizza->shadow_type == GTK_MYSHADOW_NONE) { /* no border, no changes to sizes */ } else - if (myfixed->shadow_type == GTK_MYSHADOW_THIN) + if (pizza->shadow_type == GTK_MYSHADOW_THIN) { /* GTK_MYSHADOW_THIN == wxSIMPLE_BORDER */ attributes.x += 1; @@ -508,66 +508,66 @@ gtk_myfixed_realize (GtkWidget *widget) GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK; - myfixed->bin_window = gdk_window_new (widget->window, + pizza->bin_window = gdk_window_new (widget->window, &attributes, attributes_mask); - gdk_window_set_user_data (myfixed->bin_window, widget); + gdk_window_set_user_data (pizza->bin_window, widget); widget->style = gtk_style_attach (widget->style, widget->window); gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL); - gtk_style_set_background (widget->style, myfixed->bin_window, GTK_STATE_NORMAL); + gtk_style_set_background (widget->style, pizza->bin_window, GTK_STATE_NORMAL); /* add filters for intercepting visibility and expose events */ - gdk_window_add_filter (widget->window, gtk_myfixed_main_filter, myfixed); - gdk_window_add_filter (myfixed->bin_window, gtk_myfixed_filter, myfixed); + gdk_window_add_filter (widget->window, gtk_pizza_main_filter, pizza); + gdk_window_add_filter (pizza->bin_window, gtk_pizza_filter, pizza); /* we NEED gravity or we'll give up */ - gravity_works = gdk_window_set_static_gravities (myfixed->bin_window, TRUE); + gravity_works = gdk_window_set_static_gravities (pizza->bin_window, TRUE); /* cannot be done before realisation */ - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; children = children->next; - gtk_widget_set_parent_window (child->widget, myfixed->bin_window); + gtk_widget_set_parent_window (child->widget, pizza->bin_window); } } static void -gtk_myfixed_unrealize (GtkWidget *widget) +gtk_pizza_unrealize (GtkWidget *widget) { - GtkMyFixed *myfixed; + GtkPizza *pizza; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED (widget)); + g_return_if_fail (GTK_IS_PIZZA (widget)); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); - gdk_window_set_user_data (myfixed->bin_window, NULL); - gdk_window_destroy (myfixed->bin_window); - myfixed->bin_window = NULL; + gdk_window_set_user_data (pizza->bin_window, NULL); + gdk_window_destroy (pizza->bin_window); + pizza->bin_window = NULL; if (GTK_WIDGET_CLASS (parent_class)->unrealize) (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); } static void -gtk_myfixed_size_request (GtkWidget *widget, +gtk_pizza_size_request (GtkWidget *widget, GtkRequisition *requisition) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GList *children; GtkRequisition child_requisition; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED (widget)); + g_return_if_fail (GTK_IS_PIZZA (widget)); g_return_if_fail (requisition != NULL); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -586,28 +586,28 @@ gtk_myfixed_size_request (GtkWidget *widget, } static void -gtk_myfixed_size_allocate (GtkWidget *widget, +gtk_pizza_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { - GtkMyFixed *myfixed; + GtkPizza *pizza; gint border; gint x,y,w,h; - GtkMyFixedChild *child; + GtkPizzaChild *child; GtkAllocation child_allocation; GList *children; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED(widget)); + g_return_if_fail (GTK_IS_PIZZA(widget)); g_return_if_fail (allocation != NULL); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); widget->allocation = *allocation; - if (myfixed->shadow_type == GTK_MYSHADOW_NONE) + if (pizza->shadow_type == GTK_MYSHADOW_NONE) border = 0; else - if (myfixed->shadow_type == GTK_MYSHADOW_THIN) + if (pizza->shadow_type == GTK_MYSHADOW_THIN) border = 1; else border = 2; @@ -620,39 +620,39 @@ gtk_myfixed_size_allocate (GtkWidget *widget, if (GTK_WIDGET_REALIZED (widget)) { gdk_window_move_resize( widget->window, x, y, w, h ); - gdk_window_move_resize( myfixed->bin_window, 0, 0, w, h ); + gdk_window_move_resize( pizza->bin_window, 0, 0, w, h ); } - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; children = children->next; - gtk_myfixed_position_child (myfixed, child); - gtk_myfixed_allocate_child (myfixed, child); + gtk_pizza_position_child (pizza, child); + gtk_pizza_allocate_child (pizza, child); } } static void -gtk_myfixed_draw (GtkWidget *widget, +gtk_pizza_draw (GtkWidget *widget, GdkRectangle *area) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GdkRectangle child_area; GList *children; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED (widget)); + g_return_if_fail (GTK_IS_PIZZA (widget)); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); - children = myfixed->children; + children = pizza->children; if ( !(GTK_WIDGET_APP_PAINTABLE (widget)) && - (myfixed->clear_on_draw)) + (pizza->clear_on_draw)) { - gdk_window_clear_area( myfixed->bin_window, + gdk_window_clear_area( pizza->bin_window, area->x, area->y, area->width, area->height); } @@ -667,32 +667,32 @@ gtk_myfixed_draw (GtkWidget *widget, } static gint -gtk_myfixed_expose (GtkWidget *widget, +gtk_pizza_expose (GtkWidget *widget, GdkEventExpose *event) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GdkEventExpose child_event; GList *children; g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_MYFIXED (widget), FALSE); + g_return_val_if_fail (GTK_IS_PIZZA (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); /* if (event->window == widget->window) { - gtk_myfixed_draw_border( myfixed ); + gtk_pizza_draw_border( pizza ); return FALSE; } */ - if (event->window != myfixed->bin_window) + if (event->window != pizza->bin_window) return FALSE; - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -712,31 +712,31 @@ gtk_myfixed_expose (GtkWidget *widget, } static void -gtk_myfixed_add (GtkContainer *container, +gtk_pizza_add (GtkContainer *container, GtkWidget *widget) { g_return_if_fail (container != NULL); - g_return_if_fail (GTK_IS_MYFIXED (container)); + g_return_if_fail (GTK_IS_PIZZA (container)); g_return_if_fail (widget != NULL); - gtk_myfixed_put (GTK_MYFIXED (container), widget, 0, 0, 20, 20 ); + gtk_pizza_put (GTK_PIZZA (container), widget, 0, 0, 20, 20 ); } static void -gtk_myfixed_remove (GtkContainer *container, +gtk_pizza_remove (GtkContainer *container, GtkWidget *widget) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GList *children; g_return_if_fail (container != NULL); - g_return_if_fail (GTK_IS_MYFIXED (container)); + g_return_if_fail (GTK_IS_PIZZA (container)); g_return_if_fail (widget != NULL); - myfixed = GTK_MYFIXED (container); + pizza = GTK_PIZZA (container); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -748,7 +748,7 @@ gtk_myfixed_remove (GtkContainer *container, /* security checks */ g_return_if_fail (GTK_IS_WIDGET (widget)); - myfixed->children = g_list_remove_link (myfixed->children, children); + pizza->children = g_list_remove_link (pizza->children, children); g_list_free (children); g_free (child); @@ -765,22 +765,22 @@ gtk_myfixed_remove (GtkContainer *container, } static void -gtk_myfixed_forall (GtkContainer *container, +gtk_pizza_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GList *children; g_return_if_fail (container != NULL); - g_return_if_fail (GTK_IS_MYFIXED (container)); + g_return_if_fail (GTK_IS_PIZZA (container)); g_return_if_fail (callback != NULL); - myfixed = GTK_MYFIXED (container); + pizza = GTK_PIZZA (container); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -795,18 +795,18 @@ gtk_myfixed_forall (GtkContainer *container, */ static void -gtk_myfixed_position_child (GtkMyFixed *myfixed, - GtkMyFixedChild *child) +gtk_pizza_position_child (GtkPizza *pizza, + GtkPizzaChild *child) { gint x; gint y; - x = child->x - myfixed->xoffset; - y = child->y - myfixed->yoffset; + x = child->x - pizza->xoffset; + y = child->y - pizza->yoffset; if (IS_ONSCREEN (x,y)) { - if (GTK_WIDGET_MAPPED (myfixed) && + if (GTK_WIDGET_MAPPED (pizza) && GTK_WIDGET_VISIBLE (child->widget)) { if (!GTK_WIDGET_MAPPED (child->widget)) @@ -827,14 +827,14 @@ gtk_myfixed_position_child (GtkMyFixed *myfixed, } static void -gtk_myfixed_allocate_child (GtkMyFixed *myfixed, - GtkMyFixedChild *child) +gtk_pizza_allocate_child (GtkPizza *pizza, + GtkPizzaChild *child) { GtkAllocation allocation; GtkRequisition requisition; - allocation.x = child->x - myfixed->xoffset; - allocation.y = child->y - myfixed->yoffset; + allocation.x = child->x - pizza->xoffset; + allocation.y = child->y - pizza->yoffset; gtk_widget_get_child_requisition (child->widget, &requisition); allocation.width = requisition.width; allocation.height = requisition.height; @@ -843,25 +843,25 @@ gtk_myfixed_allocate_child (GtkMyFixed *myfixed, } static void -gtk_myfixed_position_children (GtkMyFixed *myfixed) +gtk_pizza_position_children (GtkPizza *pizza) { GList *tmp_list; - tmp_list = myfixed->children; + tmp_list = pizza->children; while (tmp_list) { - GtkMyFixedChild *child = tmp_list->data; + GtkPizzaChild *child = tmp_list->data; tmp_list = tmp_list->next; - gtk_myfixed_position_child (myfixed, child); + gtk_pizza_position_child (pizza, child); } } static void -gtk_myfixed_adjust_allocations_recurse (GtkWidget *widget, +gtk_pizza_adjust_allocations_recurse (GtkWidget *widget, gpointer cb_data) { - GtkMyFixedAdjData *data = cb_data; + GtkPizzaAdjData *data = cb_data; widget->allocation.x += data->dx; widget->allocation.y += data->dy; @@ -869,26 +869,26 @@ gtk_myfixed_adjust_allocations_recurse (GtkWidget *widget, if (GTK_WIDGET_NO_WINDOW (widget) && GTK_IS_CONTAINER (widget)) { gtk_container_forall (GTK_CONTAINER (widget), - gtk_myfixed_adjust_allocations_recurse, + gtk_pizza_adjust_allocations_recurse, cb_data); } } static void -gtk_myfixed_adjust_allocations (GtkMyFixed *myfixed, +gtk_pizza_adjust_allocations (GtkPizza *pizza, gint dx, gint dy) { GList *tmp_list; - GtkMyFixedAdjData data; + GtkPizzaAdjData data; data.dx = dx; data.dy = dy; - tmp_list = myfixed->children; + tmp_list = pizza->children; while (tmp_list) { - GtkMyFixedChild *child = tmp_list->data; + GtkPizzaChild *child = tmp_list->data; tmp_list = tmp_list->next; child->widget->allocation.x += dx; @@ -897,7 +897,7 @@ gtk_myfixed_adjust_allocations (GtkMyFixed *myfixed, if (GTK_WIDGET_NO_WINDOW (child->widget) && GTK_IS_CONTAINER (child->widget)) gtk_container_forall (GTK_CONTAINER (child->widget), - gtk_myfixed_adjust_allocations_recurse, + gtk_pizza_adjust_allocations_recurse, &data); } } @@ -907,16 +907,16 @@ gtk_myfixed_adjust_allocations (GtkMyFixed *myfixed, /* Send a synthetic expose event to the widget */ static void -gtk_myfixed_expose_area (GtkMyFixed *myfixed, +gtk_pizza_expose_area (GtkPizza *pizza, gint x, gint y, gint width, gint height) { - if (myfixed->visibility == GDK_VISIBILITY_UNOBSCURED) + if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED) { GdkEventExpose event; event.type = GDK_EXPOSE; event.send_event = TRUE; - event.window = myfixed->bin_window; + event.window = pizza->bin_window; event.count = 0; event.area.x = x; @@ -925,7 +925,7 @@ gtk_myfixed_expose_area (GtkMyFixed *myfixed, event.area.height = height; gdk_window_ref (event.window); - gtk_widget_event (GTK_WIDGET (myfixed), (GdkEvent *)&event); + gtk_widget_event (GTK_WIDGET (pizza), (GdkEvent *)&event); gdk_window_unref (event.window); } } @@ -934,7 +934,7 @@ gtk_myfixed_expose_area (GtkMyFixed *myfixed, */ static Bool -gtk_myfixed_expose_predicate (Display *display, +gtk_pizza_expose_predicate (Display *display, XEvent *xevent, XPointer arg) { @@ -959,30 +959,30 @@ gtk_myfixed_expose_predicate (Display *display, */ void -gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) +gtk_pizza_scroll (GtkPizza *pizza, gint dx, gint dy) { GtkWidget *widget; XEvent xevent; gint x,y,w,h,border; - widget = GTK_WIDGET (myfixed); + widget = GTK_WIDGET (pizza); - myfixed->xoffset += dx; - myfixed->yoffset += dy; + pizza->xoffset += dx; + pizza->yoffset += dy; - if (!GTK_WIDGET_MAPPED (myfixed)) + if (!GTK_WIDGET_MAPPED (pizza)) { - gtk_myfixed_position_children (myfixed); + gtk_pizza_position_children (pizza); return; } - gtk_myfixed_adjust_allocations (myfixed, -dx, -dy); + gtk_pizza_adjust_allocations (pizza, -dx, -dy); - if (myfixed->shadow_type == GTK_MYSHADOW_NONE) + if (pizza->shadow_type == GTK_MYSHADOW_NONE) border = 0; else - if (myfixed->shadow_type == GTK_MYSHADOW_THIN) + if (pizza->shadow_type == GTK_MYSHADOW_THIN) border = 1; else border = 2; @@ -996,18 +996,18 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) { if (gravity_works) { - gdk_window_resize (myfixed->bin_window, + gdk_window_resize (pizza->bin_window, w + dx, h); - gdk_window_move (myfixed->bin_window, x-dx, y); - gdk_window_move_resize (myfixed->bin_window, x, y, w, h ); + gdk_window_move (pizza->bin_window, x-dx, y); + gdk_window_move_resize (pizza->bin_window, x, y, w, h ); } else { /* FIXME */ } - gtk_myfixed_expose_area (myfixed, + gtk_pizza_expose_area (pizza, MAX ((gint)w - dx, 0), 0, MIN (dx, w), @@ -1017,20 +1017,20 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) { if (gravity_works) { - gdk_window_move_resize (myfixed->bin_window, + gdk_window_move_resize (pizza->bin_window, x + dx, y, w - dx, h); - gdk_window_move (myfixed->bin_window, x, y); - gdk_window_resize (myfixed->bin_window, w, h ); + gdk_window_move (pizza->bin_window, x, y); + gdk_window_resize (pizza->bin_window, w, h ); } else { /* FIXME */ } - gtk_myfixed_expose_area (myfixed, + gtk_pizza_expose_area (pizza, 0, 0, MIN (-dx, w), @@ -1041,9 +1041,9 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) { if (gravity_works) { - gdk_window_resize (myfixed->bin_window, w, h + dy); - gdk_window_move (myfixed->bin_window, x, y-dy); - gdk_window_move_resize (myfixed->bin_window, + gdk_window_resize (pizza->bin_window, w, h + dy); + gdk_window_move (pizza->bin_window, x, y-dy); + gdk_window_move_resize (pizza->bin_window, x, y, w, h ); } else @@ -1051,7 +1051,7 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) /* FIXME */ } - gtk_myfixed_expose_area (myfixed, + gtk_pizza_expose_area (pizza, 0, MAX ((gint)h - dy, 0), w, @@ -1061,23 +1061,23 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) { if (gravity_works) { - gdk_window_move_resize (myfixed->bin_window, + gdk_window_move_resize (pizza->bin_window, x, y+dy, w, h - dy ); - gdk_window_move (myfixed->bin_window, x, y); - gdk_window_resize (myfixed->bin_window, w, h ); + gdk_window_move (pizza->bin_window, x, y); + gdk_window_resize (pizza->bin_window, w, h ); } else { /* FIXME */ } - gtk_myfixed_expose_area (myfixed, + gtk_pizza_expose_area (pizza, 0, 0, w, MIN (-dy, (gint)h)); } - gtk_myfixed_position_children (myfixed); + gtk_pizza_position_children (pizza); /* We have to make sure that all exposes from this scroll get * processed before we scroll again, or the expose events will @@ -1091,16 +1091,16 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) */ gdk_flush(); - while (XCheckIfEvent(GDK_WINDOW_XDISPLAY (myfixed->bin_window), + while (XCheckIfEvent(GDK_WINDOW_XDISPLAY (pizza->bin_window), &xevent, - gtk_myfixed_expose_predicate, - (XPointer)&GDK_WINDOW_XWINDOW (myfixed->bin_window))) + gtk_pizza_expose_predicate, + (XPointer)&GDK_WINDOW_XWINDOW (pizza->bin_window))) { GdkEvent event; GtkWidget *event_widget; - if ((xevent.xany.window == GDK_WINDOW_XWINDOW (myfixed->bin_window)) && - (gtk_myfixed_filter (&xevent, &event, myfixed) == GDK_FILTER_REMOVE)) + if ((xevent.xany.window == GDK_WINDOW_XWINDOW (pizza->bin_window)) && + (gtk_pizza_filter (&xevent, &event, pizza) == GDK_FILTER_REMOVE)) continue; if (xevent.type == Expose) @@ -1137,27 +1137,27 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) * or not. */ static GdkFilterReturn -gtk_myfixed_filter (GdkXEvent *gdk_xevent, +gtk_pizza_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) { XEvent *xevent; - GtkMyFixed *myfixed; + GtkPizza *pizza; xevent = (XEvent *)gdk_xevent; - myfixed = GTK_MYFIXED (data); + pizza = GTK_PIZZA (data); switch (xevent->type) { case Expose: - if (xevent->xexpose.serial == myfixed->configure_serial) + if (xevent->xexpose.serial == pizza->configure_serial) { - if (myfixed->visibility == GDK_VISIBILITY_UNOBSCURED) + if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED) return GDK_FILTER_REMOVE; else { - xevent->xexpose.x += myfixed->scroll_x; - xevent->xexpose.y += myfixed->scroll_y; + xevent->xexpose.x += pizza->scroll_x; + xevent->xexpose.y += pizza->scroll_y; break; } @@ -1167,9 +1167,9 @@ gtk_myfixed_filter (GdkXEvent *gdk_xevent, case ConfigureNotify: if ((xevent->xconfigure.x != 0) || (xevent->xconfigure.y != 0)) { - myfixed->configure_serial = xevent->xconfigure.serial; - myfixed->scroll_x = xevent->xconfigure.x; - myfixed->scroll_y = xevent->xconfigure.y; + pizza->configure_serial = xevent->xconfigure.serial; + pizza->scroll_x = xevent->xconfigure.x; + pizza->scroll_y = xevent->xconfigure.y; } break; } @@ -1182,30 +1182,30 @@ gtk_myfixed_filter (GdkXEvent *gdk_xevent, * to get the events from a filter */ static GdkFilterReturn -gtk_myfixed_main_filter (GdkXEvent *gdk_xevent, +gtk_pizza_main_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) { XEvent *xevent; - GtkMyFixed *myfixed; + GtkPizza *pizza; xevent = (XEvent *)gdk_xevent; - myfixed = GTK_MYFIXED (data); + pizza = GTK_PIZZA (data); if (xevent->type == VisibilityNotify) { switch (xevent->xvisibility.state) { case VisibilityFullyObscured: - myfixed->visibility = GDK_VISIBILITY_FULLY_OBSCURED; + pizza->visibility = GDK_VISIBILITY_FULLY_OBSCURED; break; case VisibilityPartiallyObscured: - myfixed->visibility = GDK_VISIBILITY_PARTIAL; + pizza->visibility = GDK_VISIBILITY_PARTIAL; break; case VisibilityUnobscured: - myfixed->visibility = GDK_VISIBILITY_UNOBSCURED; + pizza->visibility = GDK_VISIBILITY_UNOBSCURED; break; } diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index c6b827a1e4..ccd1269827 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -106,19 +106,19 @@ can find in m_widget (defined in wxWindow) When the class has a client area for drawing into and for containing children - it has to handle the client area widget (of the type GtkMyFixed, defined in + it has to handle the client area widget (of the type GtkPizza, defined in win_gtk.c), but there could be any number of widgets, handled by a class The common rule for all windows is only, that the widget that interacts with the rest of GTK must be referenced in m_widget and all other widgets must be children of this widget on the GTK level. The top-most widget, which also represents the client area, must be in the m_wxwindow field and must be of - the type GtkMyFixed. + the type GtkPizza. As I said, the window classes that display a GTK native widget only have one widget, so in the case of e.g. the wxButton class m_widget holds a pointer to a GtkButton widget. But windows with client areas (for drawing and children) have a m_widget field that is a pointer to a GtkScrolled- - Window and a m_wxwindow field that is pointer to a GtkMyFixed and this + Window and a m_wxwindow field that is pointer to a GtkPizza and this one is (in the GTK sense) a child of the GtkScrolledWindow. If the m_wxwindow field is set, then all input to this widget is inter- @@ -132,10 +132,10 @@ clicking on a scrollbar belonging to scrolled window will inevitably move the window. In wxWindows, the scrollbar will only emit an event, send this to (normally) a wxScrolledWindow and that class will call ScrollWindow() - which actually moves the window and its subchildren. Note that GtkMyFixed + which actually moves the window and its subchildren. Note that GtkPizza memorizes how much it has been scrolled but that wxWindows forgets this so that the two coordinates systems have to be kept in synch. This is done - in various places using the myfixed->xoffset and myfixed->yoffset values. + in various places using the pizza->xoffset and pizza->yoffset values. III) @@ -267,8 +267,6 @@ extern bool g_isIdle; // local code (see below) //----------------------------------------------------------------------------- -#if (GTK_MINOR_VERSION > 0) - static void draw_frame( GtkWidget *widget, wxWindow *win ) { if (!win->m_hasVMT) @@ -364,156 +362,10 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU draw_frame( widget, win ); } -#endif // GTK_MINOR_VERSION > 0 - //----------------------------------------------------------------------------- -// key event conversion routines +// key code mapping routines //----------------------------------------------------------------------------- -#if (GTK_MINOR_VERSION == 0) -/* these functions are copied verbatim from GTK 1.2 */ -static void -gdkx_XConvertCase (KeySym symbol, - KeySym *lower, - KeySym *upper) -{ - register KeySym sym = symbol; - - g_return_if_fail (lower != NULL); - g_return_if_fail (upper != NULL); - - *lower = sym; - *upper = sym; - - switch (sym >> 8) - { -#if defined (GDK_A) && defined (GDK_Ooblique) - case 0: /* Latin 1 */ - if ((sym >= GDK_A) && (sym <= GDK_Z)) - *lower += (GDK_a - GDK_A); - else if ((sym >= GDK_a) && (sym <= GDK_z)) - *upper -= (GDK_a - GDK_A); - else if ((sym >= GDK_Agrave) && (sym <= GDK_Odiaeresis)) - *lower += (GDK_agrave - GDK_Agrave); - else if ((sym >= GDK_agrave) && (sym <= GDK_odiaeresis)) - *upper -= (GDK_agrave - GDK_Agrave); - else if ((sym >= GDK_Ooblique) && (sym <= GDK_Thorn)) - *lower += (GDK_oslash - GDK_Ooblique); - else if ((sym >= GDK_oslash) && (sym <= GDK_thorn)) - *upper -= (GDK_oslash - GDK_Ooblique); - break; -#endif /* LATIN1 */ - -#if defined (GDK_Aogonek) && defined (GDK_tcedilla) - case 1: /* Latin 2 */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (sym == GDK_Aogonek) - *lower = GDK_aogonek; - else if (sym >= GDK_Lstroke && sym <= GDK_Sacute) - *lower += (GDK_lstroke - GDK_Lstroke); - else if (sym >= GDK_Scaron && sym <= GDK_Zacute) - *lower += (GDK_scaron - GDK_Scaron); - else if (sym >= GDK_Zcaron && sym <= GDK_Zabovedot) - *lower += (GDK_zcaron - GDK_Zcaron); - else if (sym == GDK_aogonek) - *upper = GDK_Aogonek; - else if (sym >= GDK_lstroke && sym <= GDK_sacute) - *upper -= (GDK_lstroke - GDK_Lstroke); - else if (sym >= GDK_scaron && sym <= GDK_zacute) - *upper -= (GDK_scaron - GDK_Scaron); - else if (sym >= GDK_zcaron && sym <= GDK_zabovedot) - *upper -= (GDK_zcaron - GDK_Zcaron); - else if (sym >= GDK_Racute && sym <= GDK_Tcedilla) - *lower += (GDK_racute - GDK_Racute); - else if (sym >= GDK_racute && sym <= GDK_tcedilla) - *upper -= (GDK_racute - GDK_Racute); - break; -#endif /* LATIN2 */ - -#if defined (GDK_Hstroke) && defined (GDK_Cabovedot) - case 2: /* Latin 3 */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (sym >= GDK_Hstroke && sym <= GDK_Hcircumflex) - *lower += (GDK_hstroke - GDK_Hstroke); - else if (sym >= GDK_Gbreve && sym <= GDK_Jcircumflex) - *lower += (GDK_gbreve - GDK_Gbreve); - else if (sym >= GDK_hstroke && sym <= GDK_hcircumflex) - *upper -= (GDK_hstroke - GDK_Hstroke); - else if (sym >= GDK_gbreve && sym <= GDK_jcircumflex) - *upper -= (GDK_gbreve - GDK_Gbreve); - else if (sym >= GDK_Cabovedot && sym <= GDK_Scircumflex) - *lower += (GDK_cabovedot - GDK_Cabovedot); - else if (sym >= GDK_cabovedot && sym <= GDK_scircumflex) - *upper -= (GDK_cabovedot - GDK_Cabovedot); - break; -#endif /* LATIN3 */ - -#if defined (GDK_Rcedilla) && defined (GDK_Amacron) - case 3: /* Latin 4 */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (sym >= GDK_Rcedilla && sym <= GDK_Tslash) - *lower += (GDK_rcedilla - GDK_Rcedilla); - else if (sym >= GDK_rcedilla && sym <= GDK_tslash) - *upper -= (GDK_rcedilla - GDK_Rcedilla); - else if (sym == GDK_ENG) - *lower = GDK_eng; - else if (sym == GDK_eng) - *upper = GDK_ENG; - else if (sym >= GDK_Amacron && sym <= GDK_Umacron) - *lower += (GDK_amacron - GDK_Amacron); - else if (sym >= GDK_amacron && sym <= GDK_umacron) - *upper -= (GDK_amacron - GDK_Amacron); - break; -#endif /* LATIN4 */ - -#if defined (GDK_Serbian_DJE) && defined (GDK_Cyrillic_yu) - case 6: /* Cyrillic */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (sym >= GDK_Serbian_DJE && sym <= GDK_Serbian_DZE) - *lower -= (GDK_Serbian_DJE - GDK_Serbian_dje); - else if (sym >= GDK_Serbian_dje && sym <= GDK_Serbian_dze) - *upper += (GDK_Serbian_DJE - GDK_Serbian_dje); - else if (sym >= GDK_Cyrillic_YU && sym <= GDK_Cyrillic_HARDSIGN) - *lower -= (GDK_Cyrillic_YU - GDK_Cyrillic_yu); - else if (sym >= GDK_Cyrillic_yu && sym <= GDK_Cyrillic_hardsign) - *upper += (GDK_Cyrillic_YU - GDK_Cyrillic_yu); - break; -#endif /* CYRILLIC */ - -#if defined (GDK_Greek_ALPHAaccent) && defined (GDK_Greek_finalsmallsigma) - case 7: /* Greek */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (sym >= GDK_Greek_ALPHAaccent && sym <= GDK_Greek_OMEGAaccent) - *lower += (GDK_Greek_alphaaccent - GDK_Greek_ALPHAaccent); - else if (sym >= GDK_Greek_alphaaccent && sym <= GDK_Greek_omegaaccent && - sym != GDK_Greek_iotaaccentdieresis && - sym != GDK_Greek_upsilonaccentdieresis) - *upper -= (GDK_Greek_alphaaccent - GDK_Greek_ALPHAaccent); - else if (sym >= GDK_Greek_ALPHA && sym <= GDK_Greek_OMEGA) - *lower += (GDK_Greek_alpha - GDK_Greek_ALPHA); - else if (sym >= GDK_Greek_alpha && sym <= GDK_Greek_omega && - sym != GDK_Greek_finalsmallsigma) - *upper -= (GDK_Greek_alpha - GDK_Greek_ALPHA); - break; -#endif /* GREEK */ - } -} - -static guint -gdk_keyval_to_upper (guint keyval) -{ - if (keyval) - { - KeySym lower_val = 0; - KeySym upper_val = 0; - - gdkx_XConvertCase (keyval, &lower_val, &upper_val); - return upper_val; - } - return 0; -} -#endif - static long map_to_unmodified_wx_keysym( KeySym keysym ) { guint key_code = 0; @@ -855,6 +707,8 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e ret = ancestor->GetEventHandler()->ProcessEvent( command_event ); break; } + if (ancestor->m_isFrame) + break; ancestor = ancestor->GetParent(); } } @@ -906,7 +760,8 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e } #if (GTK_MINOR_VERSION > 0) - /* pressing F10 will activate the menu bar of the top frame */ + /* Pressing F10 will activate the menu bar of the top frame. */ + /* Doesn't work. */ /* if ( (!ret) && (gdk_event->keyval == GDK_F10) ) @@ -1113,9 +968,9 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton int y = event.m_y; if (win->m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); - x += myfixed->xoffset; - y += myfixed->yoffset; + GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow); + x += pizza->xoffset; + y += pizza->yoffset; } wxNode *node = win->GetChildren().First(); @@ -1240,9 +1095,9 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto int y = event.m_y; if (win->m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); - x += myfixed->xoffset; - y += myfixed->yoffset; + GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow); + x += pizza->xoffset; + y += pizza->yoffset; } wxNode *node = win->GetChildren().First(); @@ -1360,9 +1215,9 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion int y = event.m_y; if (win->m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); - x += myfixed->xoffset; - y += myfixed->yoffset; + GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow); + x += pizza->xoffset; + y += pizza->yoffset; } wxNode *node = win->GetChildren().First(); @@ -1806,11 +1661,11 @@ static void wxInsertChildInWindow( wxWindow* parent, wxWindow* child ) { /* the window might have been scrolled already, do we have to adapt the position */ - GtkMyFixed *myfixed = GTK_MYFIXED(parent->m_wxwindow); - child->m_x += myfixed->xoffset; - child->m_y += myfixed->yoffset; + GtkPizza *pizza = GTK_PIZZA(parent->m_wxwindow); + child->m_x += pizza->xoffset; + child->m_y += pizza->yoffset; - gtk_myfixed_put( GTK_MYFIXED(parent->m_wxwindow), + gtk_pizza_put( GTK_PIZZA(parent->m_wxwindow), GTK_WIDGET(child->m_widget), child->m_x, child->m_y, @@ -1933,7 +1788,7 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id, m_hAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->hscrollbar) ); m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->vscrollbar) ); - m_wxwindow = gtk_myfixed_new(); + m_wxwindow = gtk_pizza_new(); #ifdef __WXDEBUG__ debug_focus_in( m_wxwindow, wxT("wxWindow::m_wxwindow"), name ); @@ -1942,23 +1797,23 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id, gtk_container_add( GTK_CONTAINER(m_widget), m_wxwindow ); #if (GTK_MINOR_VERSION > 0) - GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); + GtkPizza *pizza = GTK_PIZZA(m_wxwindow); if (HasFlag(wxRAISED_BORDER)) { - gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_OUT ); + gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_OUT ); } else if (HasFlag(wxSUNKEN_BORDER)) { - gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_IN ); + gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_IN ); } else if (HasFlag(wxSIMPLE_BORDER)) { - gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_THIN ); + gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_THIN ); } else { - gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_NONE ); + gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_NONE ); } #else // GTK_MINOR_VERSION == 0 GtkViewport *viewport = GTK_VIEWPORT(scrolledWindow->viewport); @@ -2213,19 +2068,19 @@ void wxWindow::DoSetSize( int x, int y, int width, int height, int sizeFlags ) } else { - GtkMyFixed *myfixed = GTK_MYFIXED(m_parent->m_wxwindow); + GtkPizza *pizza = GTK_PIZZA(m_parent->m_wxwindow); if ((sizeFlags & wxSIZE_ALLOW_MINUS_ONE) == 0) { - if (x != -1) m_x = x + myfixed->xoffset; - if (y != -1) m_y = y + myfixed->yoffset; + if (x != -1) m_x = x + pizza->xoffset; + if (y != -1) m_y = y + pizza->yoffset; if (width != -1) m_width = width; if (height != -1) m_height = height; } else { - m_x = x + myfixed->xoffset; - m_y = y + myfixed->yoffset; + m_x = x + pizza->xoffset; + m_y = y + pizza->yoffset; m_width = width; m_height = height; } @@ -2255,7 +2110,7 @@ void wxWindow::DoSetSize( int x, int y, int width, int height, int sizeFlags ) bottom_border = 5; } - gtk_myfixed_set_size( GTK_MYFIXED(m_parent->m_wxwindow), + gtk_pizza_set_size( GTK_PIZZA(m_parent->m_wxwindow), m_widget, m_x-border, m_y-border, @@ -2294,7 +2149,7 @@ void wxWindow::OnInternalIdle() if (m_wxwindow) { - GdkWindow *window = GTK_MYFIXED(m_wxwindow)->bin_window; + GdkWindow *window = GTK_PIZZA(m_wxwindow)->bin_window; if (window) gdk_window_set_cursor( window, cursor.GetCursor() ); @@ -2484,9 +2339,9 @@ void wxWindow::DoGetPosition( int *x, int *y ) const int dy = 0; if (m_parent && m_parent->m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(m_parent->m_wxwindow); - dx = myfixed->xoffset; - dy = myfixed->yoffset; + GtkPizza *pizza = GTK_PIZZA(m_parent->m_wxwindow); + dx = pizza->xoffset; + dy = pizza->yoffset; } if (x) (*x) = m_x - dx; @@ -2501,7 +2356,7 @@ void wxWindow::DoClientToScreen( int *x, int *y ) const GdkWindow *source = (GdkWindow *) NULL; if (m_wxwindow) - source = GTK_MYFIXED(m_wxwindow)->bin_window; + source = GTK_PIZZA(m_wxwindow)->bin_window; else source = m_widget->window; @@ -2530,7 +2385,7 @@ void wxWindow::DoScreenToClient( int *x, int *y ) const GdkWindow *source = (GdkWindow *) NULL; if (m_wxwindow) - source = GTK_MYFIXED(m_wxwindow)->bin_window; + source = GTK_PIZZA(m_wxwindow)->bin_window; else source = m_widget->window; @@ -2738,7 +2593,7 @@ void wxWindow::WarpPointer( int x, int y ) GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -2756,30 +2611,30 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect ) { if (rect) { - gdk_window_clear_area( GTK_MYFIXED(m_wxwindow)->bin_window, + gdk_window_clear_area( GTK_PIZZA(m_wxwindow)->bin_window, rect->x, rect->y, rect->width, rect->height ); } else { - gdk_window_clear( GTK_MYFIXED(m_wxwindow)->bin_window ); + gdk_window_clear( GTK_PIZZA(m_wxwindow)->bin_window ); } } /* there is no GTK equivalent of "draw only, don't clear" so we - invent our own in the GtkMyFixed widget */ + invent our own in the GtkPizza widget */ if (!rect) { if (m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); - gboolean old_clear = myfixed->clear_on_draw; - gtk_my_fixed_set_clear( myfixed, FALSE ); + GtkPizza *pizza = GTK_PIZZA(m_wxwindow); + gboolean old_clear = pizza->clear_on_draw; + gtk_pizza_set_clear( pizza, FALSE ); gtk_widget_draw( m_wxwindow, (GdkRectangle*) NULL ); - gtk_my_fixed_set_clear( myfixed, old_clear ); + gtk_pizza_set_clear( pizza, old_clear ); } else gtk_widget_draw( m_widget, (GdkRectangle*) NULL ); @@ -2794,13 +2649,13 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect ) if (m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); - gboolean old_clear = myfixed->clear_on_draw; - gtk_my_fixed_set_clear( myfixed, FALSE ); + GtkPizza *pizza = GTK_PIZZA(m_wxwindow); + gboolean old_clear = pizza->clear_on_draw; + gtk_pizza_set_clear( pizza, FALSE ); gtk_widget_draw( m_wxwindow, &gdk_rect ); - gtk_my_fixed_set_clear( myfixed, old_clear ); + gtk_pizza_set_clear( pizza, old_clear ); } else gtk_widget_draw( m_widget, &gdk_rect ); @@ -2847,7 +2702,7 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour ) GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -2899,7 +2754,7 @@ bool wxWindow::SetForegroundColour( const wxColour &colour ) GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -3073,7 +2928,7 @@ GtkWidget* wxWindow::GetConnectWidget() bool wxWindow::IsOwnGtkWindow( GdkWindow *window ) { if (m_wxwindow) - return (window == GTK_MYFIXED(m_wxwindow)->bin_window); + return (window == GTK_PIZZA(m_wxwindow)->bin_window); return (window == m_widget->window); } @@ -3091,7 +2946,7 @@ bool wxWindow::SetFont( const wxFont &font ) GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -3129,7 +2984,7 @@ void wxWindow::CaptureMouse() GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -3155,7 +3010,7 @@ void wxWindow::ReleaseMouse() GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -3319,7 +3174,7 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) ) wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") ); - gtk_myfixed_scroll( GTK_MYFIXED(m_wxwindow), -dx, -dy ); + gtk_pizza_scroll( GTK_PIZZA(m_wxwindow), -dx, -dy ); /* if (!m_scrollGC) diff --git a/src/gtk1/button.cpp b/src/gtk1/button.cpp index 39d94b37b1..cd85a483ae 100644 --- a/src/gtk1/button.cpp +++ b/src/gtk1/button.cpp @@ -64,14 +64,12 @@ wxButton::wxButton() wxButton::~wxButton() { - if (m_clientData) delete m_clientData; } bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos, const wxSize &size, long style, const wxValidator& validator, const wxString &name ) { - m_clientData = (wxClientData*) NULL; m_needParent = TRUE; m_acceptsFocus = TRUE; @@ -126,7 +124,7 @@ bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, return TRUE; } -void wxButton::SetDefault(void) +void wxButton::SetDefault() { GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT ); gtk_widget_grab_default( m_widget ); diff --git a/src/gtk1/dcclient.cpp b/src/gtk1/dcclient.cpp index a3ddfa66a0..fd0105435a 100644 --- a/src/gtk1/dcclient.cpp +++ b/src/gtk1/dcclient.cpp @@ -119,8 +119,8 @@ wxWindowDC::wxWindowDC( wxWindow *window ) wxASSERT_MSG( widget, wxT("DC needs a widget") ); - GtkMyFixed *myfixed = GTK_MYFIXED( widget ); - m_window = myfixed->bin_window; + GtkPizza *pizza = GTK_PIZZA( widget ); + m_window = pizza->bin_window; /* not realized ? */ if (!m_window) diff --git a/src/gtk1/dialog.cpp b/src/gtk1/dialog.cpp index e51c6cb3db..712a1fd986 100644 --- a/src/gtk1/dialog.cpp +++ b/src/gtk1/dialog.cpp @@ -194,7 +194,7 @@ gtk_dialog_realized_callback( GtkWidget *widget, wxDialog *win ) static void wxInsertChildInDialog( wxDialog* parent, wxWindow* child ) { - gtk_myfixed_put( GTK_MYFIXED(parent->m_wxwindow), + gtk_pizza_put( GTK_PIZZA(parent->m_wxwindow), GTK_WIDGET(child->m_widget), child->m_x, child->m_y, @@ -269,7 +269,7 @@ bool wxDialog::Create( wxWindow *parent, gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event", GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this ); - m_wxwindow = gtk_myfixed_new(); + m_wxwindow = gtk_pizza_new(); gtk_widget_show( m_wxwindow ); GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS ); diff --git a/src/gtk1/frame.cpp b/src/gtk1/frame.cpp index 3098d050c0..928f7fa900 100644 --- a/src/gtk1/frame.cpp +++ b/src/gtk1/frame.cpp @@ -300,7 +300,7 @@ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child ) { /* these are outside the client area */ wxFrame* frame = (wxFrame*) parent; - gtk_myfixed_put( GTK_MYFIXED(frame->m_mainWidget), + gtk_pizza_put( GTK_PIZZA(frame->m_mainWidget), GTK_WIDGET(child->m_widget), child->m_x, child->m_y, @@ -327,7 +327,7 @@ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child ) else { /* these are inside the client area */ - gtk_myfixed_put( GTK_MYFIXED(parent->m_wxwindow), + gtk_pizza_put( GTK_PIZZA(parent->m_wxwindow), GTK_WIDGET(child->m_widget), child->m_x, child->m_y, @@ -418,7 +418,7 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title, GTK_SIGNAL_FUNC(gtk_frame_delete_callback), (gpointer)this ); /* m_mainWidget holds the toolbar, the menubar and the client area */ - m_mainWidget = gtk_myfixed_new(); + m_mainWidget = gtk_pizza_new(); gtk_widget_show( m_mainWidget ); GTK_WIDGET_UNSET_FLAGS( m_mainWidget, GTK_CAN_FOCUS ); gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget ); @@ -428,7 +428,7 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title, #endif /* m_wxwindow only represents the client area without toolbar and menubar */ - m_wxwindow = gtk_myfixed_new(); + m_wxwindow = gtk_pizza_new(); gtk_widget_show( m_wxwindow ); gtk_container_add( GTK_CONTAINER(m_mainWidget), m_wxwindow ); @@ -726,7 +726,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height m_frameMenuBar->m_y = yy; m_frameMenuBar->m_width = ww; m_frameMenuBar->m_height = hh; - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), m_frameMenuBar->m_widget, xx, yy, ww, hh ); client_area_y_offset += hh; @@ -752,7 +752,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height m_frameToolBar->m_y = yy; /* m_frameToolBar->m_height = hh; don't change the toolbar's reported size m_frameToolBar->m_width = ww; */ - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), m_frameToolBar->m_widget, xx, yy, ww, hh ); client_area_y_offset += hh; @@ -763,7 +763,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height int client_y = client_area_y_offset + m_miniEdge + m_miniTitle; int client_w = m_width - 2*m_miniEdge; int client_h = m_height - client_area_y_offset- 2*m_miniEdge - m_miniTitle; - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), m_wxwindow, client_x, client_y, client_w, client_h ); } @@ -784,7 +784,7 @@ void wxFrame::GtkOnSize( int WXUNUSED(x), int WXUNUSED(y), int width, int height m_frameStatusBar->m_y = yy; m_frameStatusBar->m_width = ww; m_frameStatusBar->m_height = hh; - gtk_myfixed_set_size( GTK_MYFIXED(m_wxwindow), + gtk_pizza_set_size( GTK_PIZZA(m_wxwindow), m_frameStatusBar->m_widget, xx, yy, ww, hh ); } @@ -902,7 +902,7 @@ void wxFrame::SetMenuBar( wxMenuBar *menuBar ) if (m_frameMenuBar->GetParent() != this) { m_frameMenuBar->SetParent(this); - gtk_myfixed_put( GTK_MYFIXED(m_mainWidget), + gtk_pizza_put( GTK_PIZZA(m_mainWidget), m_frameMenuBar->m_widget, m_frameMenuBar->m_x, m_frameMenuBar->m_y, diff --git a/src/gtk1/mdi.cpp b/src/gtk1/mdi.cpp index 3437436706..f31951f90c 100644 --- a/src/gtk1/mdi.cpp +++ b/src/gtk1/mdi.cpp @@ -120,7 +120,7 @@ void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height ) menu_bar->m_y = 0; menu_bar->m_width = m_width; menu_bar->m_height = wxMENU_HEIGHT; - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), menu_bar->m_widget, 0, 0, m_width, wxMENU_HEIGHT ); } @@ -159,7 +159,7 @@ void wxMDIParentFrame::OnInternalIdle() { menu_bar->m_width = m_width; menu_bar->m_height = wxMENU_HEIGHT; - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), menu_bar->m_widget, 0, 0, m_width, wxMENU_HEIGHT ); menu_bar->SetInvokingWindow( child_frame ); @@ -193,7 +193,7 @@ void wxMDIParentFrame::OnInternalIdle() m_frameMenuBar->m_width = m_width; m_frameMenuBar->m_height = wxMENU_HEIGHT; - gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), m_frameMenuBar->m_widget, 0, 0, m_width, wxMENU_HEIGHT ); } @@ -330,7 +330,7 @@ void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar ) m_menuBar->SetParent( mdi_frame ); /* insert the invisible menu bar into the _parent_ mdi frame */ - gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWidget), + gtk_pizza_put( GTK_PIZZA(mdi_frame->m_mainWidget), m_menuBar->m_widget, 0, 0, mdi_frame->m_width, wxMENU_HEIGHT ); } diff --git a/src/gtk1/minifram.cpp b/src/gtk1/minifram.cpp index 26a08dea23..5f26abaf61 100644 --- a/src/gtk1/minifram.cpp +++ b/src/gtk1/minifram.cpp @@ -71,10 +71,10 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g if (!win->m_hasVMT) return; if (gdk_event->count > 0) return; - GtkMyFixed *myfixed = GTK_MYFIXED(widget); + GtkPizza *pizza = GTK_PIZZA(widget); gtk_draw_shadow( widget->style, - myfixed->bin_window, + pizza->bin_window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, 0, 0, @@ -85,20 +85,20 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g (win->GetWindowStyle() & wxTINY_CAPTION_HORIZ) || (win->GetWindowStyle() & wxTINY_CAPTION_VERT))) { - GdkGC *gc = gdk_gc_new( myfixed->bin_window ); + GdkGC *gc = gdk_gc_new( pizza->bin_window ); GdkFont *font = wxSMALL_FONT->GetInternalFont(1.0); int x = 2; if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 18; gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] ); - gdk_draw_rectangle( myfixed->bin_window, gc, TRUE, + gdk_draw_rectangle( pizza->bin_window, gc, TRUE, x, 3, win->m_width - 4 - x, font->ascent + font->descent+1 ); gdk_gc_set_foreground( gc, &widget->style->white ); - gdk_draw_string( myfixed->bin_window, font, gc, + gdk_draw_string( pizza->bin_window, font, gc, x+2, 3+font->ascent, win->m_title.mb_str() ); @@ -117,10 +117,10 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU if (!win->m_hasVMT) return; - GtkMyFixed *myfixed = GTK_MYFIXED(widget); + GtkPizza *pizza = GTK_PIZZA(widget); gtk_draw_shadow( widget->style, - myfixed->bin_window, + pizza->bin_window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, 0, 0, @@ -131,20 +131,20 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU (win->GetWindowStyle() & wxTINY_CAPTION_HORIZ) || (win->GetWindowStyle() & wxTINY_CAPTION_VERT))) { - GdkGC *gc = gdk_gc_new( myfixed->bin_window ); + GdkGC *gc = gdk_gc_new( pizza->bin_window ); GdkFont *font = wxSMALL_FONT->GetInternalFont(1.0); int x = 2; if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 17; gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] ); - gdk_draw_rectangle( myfixed->bin_window, gc, TRUE, + gdk_draw_rectangle( pizza->bin_window, gc, TRUE, x, 3, win->m_width - 4 - x, font->ascent + font->descent+1 ); gdk_gc_set_foreground( gc, &widget->style->white ); - gdk_draw_string( myfixed->bin_window, font, gc, + gdk_draw_string( pizza->bin_window, font, gc, x+2, 3+font->ascent, win->m_title.mb_str() ); @@ -299,7 +299,7 @@ bool wxMiniFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title { GtkWidget *close_button = gtk_button_new_with_label( "x" ); - gtk_myfixed_put( GTK_MYFIXED(m_mainWidget), + gtk_pizza_put( GTK_PIZZA(m_mainWidget), close_button, 4, 4, 12, 11 ); diff --git a/src/gtk1/radiobox.cpp b/src/gtk1/radiobox.cpp index 53796108d5..2d30dff5e1 100644 --- a/src/gtk1/radiobox.cpp +++ b/src/gtk1/radiobox.cpp @@ -119,7 +119,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title, gtk_signal_connect( GTK_OBJECT(m_radio), "clicked", GTK_SIGNAL_FUNC(gtk_radiobutton_clicked_callback), (gpointer*)this ); - gtk_myfixed_put( GTK_MYFIXED(m_parent->m_wxwindow), + gtk_pizza_put( GTK_PIZZA(m_parent->m_wxwindow), GTK_WIDGET(m_radio), m_x+10, m_y+10+(i*24), 10, 10 ); } @@ -211,7 +211,7 @@ wxSize wxRadioBox::LayoutItems() int len = 22+gdk_string_measure( font, label->label ); if (len > max_len) max_len = len; - gtk_myfixed_move( GTK_MYFIXED(m_parent->m_wxwindow), button, m_x+x, m_y+y ); + gtk_pizza_move( GTK_PIZZA(m_parent->m_wxwindow), button, m_x+x, m_y+y ); y += 22; node = node->Next(); @@ -225,7 +225,7 @@ wxSize wxRadioBox::LayoutItems() { GtkWidget *button = GTK_WIDGET( node->Data() ); - gtk_myfixed_resize( GTK_MYFIXED(m_parent->m_wxwindow), button, max_len, 20 ); + gtk_pizza_resize( GTK_PIZZA(m_parent->m_wxwindow), button, max_len, 20 ); node = node->Next(); if (!node) break; @@ -261,7 +261,7 @@ wxSize wxRadioBox::LayoutItems() { GtkWidget *button = GTK_WIDGET( node->Data() ); - gtk_myfixed_set_size( GTK_MYFIXED(m_parent->m_wxwindow), button, m_x+x, m_y+y, max, 20 ); + gtk_pizza_set_size( GTK_PIZZA(m_parent->m_wxwindow), button, m_x+x, m_y+y, max, 20 ); x += max; node = node->Next(); diff --git a/src/gtk1/spinctrl.cpp b/src/gtk1/spinctrl.cpp index 77cc2b8fe5..5a46da4048 100644 --- a/src/gtk1/spinctrl.cpp +++ b/src/gtk1/spinctrl.cpp @@ -85,6 +85,10 @@ static void gtk_spinctrl_callback( GtkWidget *WXUNUSED(widget), wxSpinCtrl *win IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl,wxControl) +BEGIN_EVENT_TABLE(wxSpinCtrl, wxControl) + EVT_CHAR(wxSpinCtrl::OnChar) +END_EVENT_TABLE() + bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id, const wxString& value, const wxPoint& pos, const wxSize& size, @@ -205,6 +209,27 @@ void wxSpinCtrl::SetRange(int minVal, int maxVal) SetFocus(); } +void wxSpinCtrl::OnChar( wxKeyEvent &event ) +{ + wxCHECK_RET( m_widget != NULL, wxT("invalid spin ctrl") ); + + if (event.KeyCode() == WXK_RETURN) + { + wxWindow *top_frame = m_parent; + while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) + top_frame = top_frame->GetParent(); + GtkWindow *window = GTK_WINDOW(top_frame->m_widget); + + if (window->default_widget) + { + gtk_widget_activate (window->default_widget); + return; + } + } + + event.Skip(); +} + bool wxSpinCtrl::IsOwnGtkWindow( GdkWindow *window ) { return GTK_SPIN_BUTTON(m_widget)->panel == window; diff --git a/src/gtk1/textctrl.cpp b/src/gtk1/textctrl.cpp index 8a2fcc6491..1039af2f37 100644 --- a/src/gtk1/textctrl.cpp +++ b/src/gtk1/textctrl.cpp @@ -779,6 +779,20 @@ void wxTextCtrl::OnChar( wxKeyEvent &key_event ) if (GetEventHandler()->ProcessEvent(event)) return; } + if ((key_event.KeyCode() == WXK_RETURN) && !(m_windowStyle & wxTE_MULTILINE)) + { + wxWindow *top_frame = m_parent; + while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) + top_frame = top_frame->GetParent(); + GtkWindow *window = GTK_WINDOW(top_frame->m_widget); + + if (window->default_widget) + { + gtk_widget_activate (window->default_widget); + return; + } + } + key_event.Skip(); } diff --git a/src/gtk1/win_gtk.c b/src/gtk1/win_gtk.c index 1c9d784266..2097a2db33 100644 --- a/src/gtk1/win_gtk.c +++ b/src/gtk1/win_gtk.c @@ -21,16 +21,16 @@ extern "C" { #define IS_ONSCREEN(x,y) ((x >= G_MINSHORT) && (x <= G_MAXSHORT) && \ (y >= G_MINSHORT) && (y <= G_MAXSHORT)) -typedef struct _GtkMyFixedAdjData GtkMyFixedAdjData; -typedef struct _GtkMyFixedChild GtkMyFixedChild; +typedef struct _GtkPizzaAdjData GtkPizzaAdjData; +typedef struct _GtkPizzaChild GtkPizzaChild; -struct _GtkMyFixedAdjData +struct _GtkPizzaAdjData { gint dx; gint dy; }; -struct _GtkMyFixedChild +struct _GtkPizzaChild { GtkWidget *widget; gint x; @@ -39,62 +39,62 @@ struct _GtkMyFixedChild gint height; }; -static void gtk_myfixed_class_init (GtkMyFixedClass *klass); -static void gtk_myfixed_init (GtkMyFixed *myfixed); +static void gtk_pizza_class_init (GtkPizzaClass *klass); +static void gtk_pizza_init (GtkPizza *pizza); -static void gtk_myfixed_realize (GtkWidget *widget); -static void gtk_myfixed_unrealize (GtkWidget *widget); +static void gtk_pizza_realize (GtkWidget *widget); +static void gtk_pizza_unrealize (GtkWidget *widget); -static void gtk_myfixed_map (GtkWidget *widget); +static void gtk_pizza_map (GtkWidget *widget); -static void gtk_myfixed_size_request (GtkWidget *widget, +static void gtk_pizza_size_request (GtkWidget *widget, GtkRequisition *requisition); -static void gtk_myfixed_size_allocate (GtkWidget *widget, +static void gtk_pizza_size_allocate (GtkWidget *widget, GtkAllocation *allocation); -static void gtk_myfixed_draw (GtkWidget *widget, +static void gtk_pizza_draw (GtkWidget *widget, GdkRectangle *area); -static gint gtk_myfixed_expose (GtkWidget *widget, +static gint gtk_pizza_expose (GtkWidget *widget, GdkEventExpose *event); -static void gtk_myfixed_add (GtkContainer *container, +static void gtk_pizza_add (GtkContainer *container, GtkWidget *widget); -static void gtk_myfixed_remove (GtkContainer *container, +static void gtk_pizza_remove (GtkContainer *container, GtkWidget *widget); -static void gtk_myfixed_forall (GtkContainer *container, +static void gtk_pizza_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data); -static void gtk_myfixed_position_child (GtkMyFixed *myfixed, - GtkMyFixedChild *child); -static void gtk_myfixed_allocate_child (GtkMyFixed *myfixed, - GtkMyFixedChild *child); -static void gtk_myfixed_position_children (GtkMyFixed *myfixed); +static void gtk_pizza_position_child (GtkPizza *pizza, + GtkPizzaChild *child); +static void gtk_pizza_allocate_child (GtkPizza *pizza, + GtkPizzaChild *child); +static void gtk_pizza_position_children (GtkPizza *pizza); -static void gtk_myfixed_adjust_allocations_recurse (GtkWidget *widget, +static void gtk_pizza_adjust_allocations_recurse (GtkWidget *widget, gpointer cb_data); -static void gtk_myfixed_adjust_allocations (GtkMyFixed *myfixed, +static void gtk_pizza_adjust_allocations (GtkPizza *pizza, gint dx, gint dy); -static void gtk_myfixed_expose_area (GtkMyFixed *myfixed, +static void gtk_pizza_expose_area (GtkPizza *pizza, gint x, gint y, gint width, gint height); -static void gtk_myfixed_adjustment_changed (GtkAdjustment *adjustment, - GtkMyFixed *myfixed); -static GdkFilterReturn gtk_myfixed_filter (GdkXEvent *gdk_xevent, +static void gtk_pizza_adjustment_changed (GtkAdjustment *adjustment, + GtkPizza *pizza); +static GdkFilterReturn gtk_pizza_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data); -static GdkFilterReturn gtk_myfixed_main_filter (GdkXEvent *gdk_xevent, +static GdkFilterReturn gtk_pizza_main_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data); -static GtkType gtk_myfixed_child_type (GtkContainer *container); +static GtkType gtk_pizza_child_type (GtkContainer *container); -static void gtk_myfixed_scroll_set_adjustments (GtkMyFixed *myfixed, +static void gtk_pizza_scroll_set_adjustments (GtkPizza *pizza, GtkAdjustment *hadj, GtkAdjustment *vadj); @@ -103,31 +103,31 @@ static GtkContainerClass *parent_class = NULL; static gboolean gravity_works; guint -gtk_myfixed_get_type () +gtk_pizza_get_type () { - static guint myfixed_type = 0; + static guint pizza_type = 0; - if (!myfixed_type) + if (!pizza_type) { - GtkTypeInfo myfixed_info = + GtkTypeInfo pizza_info = { - "GtkMyFixed", - sizeof (GtkMyFixed), - sizeof (GtkMyFixedClass), - (GtkClassInitFunc) gtk_myfixed_class_init, - (GtkObjectInitFunc) gtk_myfixed_init, + "GtkPizza", + sizeof (GtkPizza), + sizeof (GtkPizzaClass), + (GtkClassInitFunc) gtk_pizza_class_init, + (GtkObjectInitFunc) gtk_pizza_init, /* reserved_1 */ NULL, /* reserved_2 */ NULL, (GtkClassInitFunc) NULL, }; - myfixed_type = gtk_type_unique (gtk_container_get_type (), &myfixed_info); + pizza_type = gtk_type_unique (gtk_container_get_type (), &pizza_info); } - return myfixed_type; + return pizza_type; } static void -gtk_myfixed_class_init (GtkMyFixedClass *klass) +gtk_pizza_class_init (GtkPizzaClass *klass) { GtkObjectClass *object_class; GtkWidgetClass *widget_class; @@ -138,71 +138,71 @@ gtk_myfixed_class_init (GtkMyFixedClass *klass) container_class = (GtkContainerClass*) klass; parent_class = gtk_type_class (GTK_TYPE_CONTAINER); - widget_class->map = gtk_myfixed_map; - widget_class->realize = gtk_myfixed_realize; - widget_class->unrealize = gtk_myfixed_unrealize; - widget_class->size_request = gtk_myfixed_size_request; - widget_class->size_allocate = gtk_myfixed_size_allocate; - widget_class->draw = gtk_myfixed_draw; - widget_class->expose_event = gtk_myfixed_expose; + widget_class->map = gtk_pizza_map; + widget_class->realize = gtk_pizza_realize; + widget_class->unrealize = gtk_pizza_unrealize; + widget_class->size_request = gtk_pizza_size_request; + widget_class->size_allocate = gtk_pizza_size_allocate; + widget_class->draw = gtk_pizza_draw; + widget_class->expose_event = gtk_pizza_expose; - container_class->add = gtk_myfixed_add; - container_class->remove = gtk_myfixed_remove; - container_class->forall = gtk_myfixed_forall; + container_class->add = gtk_pizza_add; + container_class->remove = gtk_pizza_remove; + container_class->forall = gtk_pizza_forall; - container_class->child_type = gtk_myfixed_child_type; + container_class->child_type = gtk_pizza_child_type; - klass->set_scroll_adjustments = gtk_myfixed_scroll_set_adjustments; + klass->set_scroll_adjustments = gtk_pizza_scroll_set_adjustments; widget_class->set_scroll_adjustments_signal = gtk_signal_new ("set_scroll_adjustments", GTK_RUN_LAST, object_class->type, - GTK_SIGNAL_OFFSET (GtkMyFixedClass, set_scroll_adjustments), + GTK_SIGNAL_OFFSET (GtkPizzaClass, set_scroll_adjustments), gtk_marshal_NONE__POINTER_POINTER, GTK_TYPE_NONE, 2, GTK_TYPE_ADJUSTMENT, GTK_TYPE_ADJUSTMENT); } static GtkType -gtk_myfixed_child_type (GtkContainer *container) +gtk_pizza_child_type (GtkContainer *container) { return GTK_TYPE_WIDGET; } static void -gtk_myfixed_init (GtkMyFixed *myfixed) +gtk_pizza_init (GtkPizza *pizza) { - GTK_WIDGET_UNSET_FLAGS (myfixed, GTK_NO_WINDOW); + GTK_WIDGET_UNSET_FLAGS (pizza, GTK_NO_WINDOW); - myfixed->shadow_type = GTK_MYSHADOW_NONE; + pizza->shadow_type = GTK_MYSHADOW_NONE; - myfixed->children = NULL; + pizza->children = NULL; - myfixed->width = 20; - myfixed->height = 20; + pizza->width = 20; + pizza->height = 20; - myfixed->bin_window = NULL; + pizza->bin_window = NULL; - myfixed->configure_serial = 0; - myfixed->scroll_x = 0; - myfixed->scroll_y = 0; - myfixed->visibility = GDK_VISIBILITY_PARTIAL; + pizza->configure_serial = 0; + pizza->scroll_x = 0; + pizza->scroll_y = 0; + pizza->visibility = GDK_VISIBILITY_PARTIAL; - myfixed->clear_on_draw = TRUE; + pizza->clear_on_draw = TRUE; } GtkWidget* -gtk_myfixed_new () +gtk_pizza_new () { - GtkMyFixed *myfixed; + GtkPizza *pizza; - myfixed = gtk_type_new (gtk_myfixed_get_type ()); + pizza = gtk_type_new (gtk_pizza_get_type ()); - return GTK_WIDGET (myfixed); + return GTK_WIDGET (pizza); } void -gtk_myfixed_scroll_set_adjustments (GtkMyFixed *myfixed, +gtk_pizza_scroll_set_adjustments (GtkPizza *pizza, GtkAdjustment *hadj, GtkAdjustment *vadj) { @@ -210,49 +210,49 @@ gtk_myfixed_scroll_set_adjustments (GtkMyFixed *myfixed, } void -gtk_myfixed_set_shadow_type (GtkMyFixed *myfixed, +gtk_pizza_set_shadow_type (GtkPizza *pizza, GtkMyShadowType type) { - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); - if ((GtkMyShadowType) myfixed->shadow_type != type) + if ((GtkMyShadowType) pizza->shadow_type != type) { - myfixed->shadow_type = type; + pizza->shadow_type = type; - if (GTK_WIDGET_VISIBLE (myfixed)) + if (GTK_WIDGET_VISIBLE (pizza)) { - gtk_widget_size_allocate (GTK_WIDGET (myfixed), &(GTK_WIDGET (myfixed)->allocation)); - gtk_widget_queue_draw (GTK_WIDGET (myfixed)); + gtk_widget_size_allocate (GTK_WIDGET (pizza), &(GTK_WIDGET (pizza)->allocation)); + gtk_widget_queue_draw (GTK_WIDGET (pizza)); } } } void -gtk_my_fixed_set_clear (GtkMyFixed *myfixed, +gtk_pizza_set_clear (GtkPizza *pizza, gboolean clear) { - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); - myfixed->clear_on_draw = clear; + pizza->clear_on_draw = clear; } void -gtk_myfixed_put (GtkMyFixed *myfixed, +gtk_pizza_put (GtkPizza *pizza, GtkWidget *widget, gint x, gint y, gint width, gint height) { - GtkMyFixedChild *child_info; + GtkPizzaChild *child_info; - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); g_return_if_fail (widget != NULL); - child_info = g_new (GtkMyFixedChild, 1); + child_info = g_new (GtkPizzaChild, 1); child_info->widget = widget; child_info->x = x; @@ -260,24 +260,24 @@ gtk_myfixed_put (GtkMyFixed *myfixed, child_info->width = width; child_info->height = height; - myfixed->children = g_list_append (myfixed->children, child_info); + pizza->children = g_list_append (pizza->children, child_info); - gtk_widget_set_parent (widget, GTK_WIDGET (myfixed)); + gtk_widget_set_parent (widget, GTK_WIDGET (pizza)); - if (GTK_WIDGET_REALIZED (myfixed)) - gtk_widget_set_parent_window (widget, myfixed->bin_window); + if (GTK_WIDGET_REALIZED (pizza)) + gtk_widget_set_parent_window (widget, pizza->bin_window); if (!IS_ONSCREEN (x, y)) GTK_PRIVATE_SET_FLAG (widget, GTK_IS_OFFSCREEN); - if (GTK_WIDGET_REALIZED (myfixed)) + if (GTK_WIDGET_REALIZED (pizza)) gtk_widget_realize (widget); gtk_widget_set_usize (widget, width, height); - if (GTK_WIDGET_VISIBLE (myfixed) && GTK_WIDGET_VISIBLE (widget)) + if (GTK_WIDGET_VISIBLE (pizza) && GTK_WIDGET_VISIBLE (widget)) { - if (GTK_WIDGET_MAPPED (myfixed)) + if (GTK_WIDGET_MAPPED (pizza)) gtk_widget_map (widget); gtk_widget_queue_resize (widget); @@ -285,19 +285,19 @@ gtk_myfixed_put (GtkMyFixed *myfixed, } void -gtk_myfixed_move (GtkMyFixed *myfixed, +gtk_pizza_move (GtkPizza *pizza, GtkWidget *widget, gint x, gint y) { - GtkMyFixedChild *child; + GtkPizzaChild *child; GList *children; - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); g_return_if_fail (widget != NULL); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -311,7 +311,7 @@ gtk_myfixed_move (GtkMyFixed *myfixed, child->x = x; child->y = y; - if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (myfixed)) + if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza)) gtk_widget_queue_resize (widget); break; } @@ -319,19 +319,19 @@ gtk_myfixed_move (GtkMyFixed *myfixed, } void -gtk_myfixed_resize (GtkMyFixed *myfixed, +gtk_pizza_resize (GtkPizza *pizza, GtkWidget *widget, gint width, gint height) { - GtkMyFixedChild *child; + GtkPizzaChild *child; GList *children; - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); g_return_if_fail (widget != NULL); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -347,7 +347,7 @@ gtk_myfixed_resize (GtkMyFixed *myfixed, gtk_widget_set_usize (widget, width, height); - if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (myfixed)) + if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza)) gtk_widget_queue_resize (widget); break; } @@ -355,22 +355,22 @@ gtk_myfixed_resize (GtkMyFixed *myfixed, } void -gtk_myfixed_set_size (GtkMyFixed *myfixed, +gtk_pizza_set_size (GtkPizza *pizza, GtkWidget *widget, gint x, gint y, gint width, gint height) { - GtkMyFixedChild *child; + GtkPizzaChild *child; GList *children; GtkAllocation child_allocation; - g_return_if_fail (myfixed != NULL); - g_return_if_fail (GTK_IS_MYFIXED (myfixed)); + g_return_if_fail (pizza != NULL); + g_return_if_fail (GTK_IS_PIZZA (pizza)); g_return_if_fail (widget != NULL); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -390,7 +390,7 @@ gtk_myfixed_set_size (GtkMyFixed *myfixed, gtk_widget_set_usize (widget, width, height); - if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (myfixed)) + if (GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_VISIBLE (pizza)) gtk_widget_queue_resize (widget); return; @@ -399,19 +399,19 @@ gtk_myfixed_set_size (GtkMyFixed *myfixed, } static void -gtk_myfixed_map (GtkWidget *widget) +gtk_pizza_map (GtkWidget *widget) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GList *children; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED (widget)); + g_return_if_fail (GTK_IS_PIZZA (widget)); GTK_WIDGET_SET_FLAGS (widget, GTK_MAPPED); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -426,22 +426,22 @@ gtk_myfixed_map (GtkWidget *widget) } gdk_window_show (widget->window); - gdk_window_show (myfixed->bin_window); + gdk_window_show (pizza->bin_window); } static void -gtk_myfixed_realize (GtkWidget *widget) +gtk_pizza_realize (GtkWidget *widget) { - GtkMyFixed *myfixed; + GtkPizza *pizza; GdkWindowAttr attributes; gint attributes_mask; - GtkMyFixedChild *child; + GtkPizzaChild *child; GList *children; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED (widget)); + g_return_if_fail (GTK_IS_PIZZA (widget)); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED); @@ -452,11 +452,11 @@ gtk_myfixed_realize (GtkWidget *widget) attributes.width = widget->allocation.width; attributes.height = widget->allocation.height; - if (myfixed->shadow_type == GTK_MYSHADOW_NONE) + if (pizza->shadow_type == GTK_MYSHADOW_NONE) { /* no border, no changes to sizes */ } else - if (myfixed->shadow_type == GTK_MYSHADOW_THIN) + if (pizza->shadow_type == GTK_MYSHADOW_THIN) { /* GTK_MYSHADOW_THIN == wxSIMPLE_BORDER */ attributes.x += 1; @@ -508,66 +508,66 @@ gtk_myfixed_realize (GtkWidget *widget) GDK_LEAVE_NOTIFY_MASK | GDK_FOCUS_CHANGE_MASK; - myfixed->bin_window = gdk_window_new (widget->window, + pizza->bin_window = gdk_window_new (widget->window, &attributes, attributes_mask); - gdk_window_set_user_data (myfixed->bin_window, widget); + gdk_window_set_user_data (pizza->bin_window, widget); widget->style = gtk_style_attach (widget->style, widget->window); gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL); - gtk_style_set_background (widget->style, myfixed->bin_window, GTK_STATE_NORMAL); + gtk_style_set_background (widget->style, pizza->bin_window, GTK_STATE_NORMAL); /* add filters for intercepting visibility and expose events */ - gdk_window_add_filter (widget->window, gtk_myfixed_main_filter, myfixed); - gdk_window_add_filter (myfixed->bin_window, gtk_myfixed_filter, myfixed); + gdk_window_add_filter (widget->window, gtk_pizza_main_filter, pizza); + gdk_window_add_filter (pizza->bin_window, gtk_pizza_filter, pizza); /* we NEED gravity or we'll give up */ - gravity_works = gdk_window_set_static_gravities (myfixed->bin_window, TRUE); + gravity_works = gdk_window_set_static_gravities (pizza->bin_window, TRUE); /* cannot be done before realisation */ - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; children = children->next; - gtk_widget_set_parent_window (child->widget, myfixed->bin_window); + gtk_widget_set_parent_window (child->widget, pizza->bin_window); } } static void -gtk_myfixed_unrealize (GtkWidget *widget) +gtk_pizza_unrealize (GtkWidget *widget) { - GtkMyFixed *myfixed; + GtkPizza *pizza; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED (widget)); + g_return_if_fail (GTK_IS_PIZZA (widget)); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); - gdk_window_set_user_data (myfixed->bin_window, NULL); - gdk_window_destroy (myfixed->bin_window); - myfixed->bin_window = NULL; + gdk_window_set_user_data (pizza->bin_window, NULL); + gdk_window_destroy (pizza->bin_window); + pizza->bin_window = NULL; if (GTK_WIDGET_CLASS (parent_class)->unrealize) (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); } static void -gtk_myfixed_size_request (GtkWidget *widget, +gtk_pizza_size_request (GtkWidget *widget, GtkRequisition *requisition) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GList *children; GtkRequisition child_requisition; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED (widget)); + g_return_if_fail (GTK_IS_PIZZA (widget)); g_return_if_fail (requisition != NULL); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -586,28 +586,28 @@ gtk_myfixed_size_request (GtkWidget *widget, } static void -gtk_myfixed_size_allocate (GtkWidget *widget, +gtk_pizza_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { - GtkMyFixed *myfixed; + GtkPizza *pizza; gint border; gint x,y,w,h; - GtkMyFixedChild *child; + GtkPizzaChild *child; GtkAllocation child_allocation; GList *children; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED(widget)); + g_return_if_fail (GTK_IS_PIZZA(widget)); g_return_if_fail (allocation != NULL); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); widget->allocation = *allocation; - if (myfixed->shadow_type == GTK_MYSHADOW_NONE) + if (pizza->shadow_type == GTK_MYSHADOW_NONE) border = 0; else - if (myfixed->shadow_type == GTK_MYSHADOW_THIN) + if (pizza->shadow_type == GTK_MYSHADOW_THIN) border = 1; else border = 2; @@ -620,39 +620,39 @@ gtk_myfixed_size_allocate (GtkWidget *widget, if (GTK_WIDGET_REALIZED (widget)) { gdk_window_move_resize( widget->window, x, y, w, h ); - gdk_window_move_resize( myfixed->bin_window, 0, 0, w, h ); + gdk_window_move_resize( pizza->bin_window, 0, 0, w, h ); } - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; children = children->next; - gtk_myfixed_position_child (myfixed, child); - gtk_myfixed_allocate_child (myfixed, child); + gtk_pizza_position_child (pizza, child); + gtk_pizza_allocate_child (pizza, child); } } static void -gtk_myfixed_draw (GtkWidget *widget, +gtk_pizza_draw (GtkWidget *widget, GdkRectangle *area) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GdkRectangle child_area; GList *children; g_return_if_fail (widget != NULL); - g_return_if_fail (GTK_IS_MYFIXED (widget)); + g_return_if_fail (GTK_IS_PIZZA (widget)); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); - children = myfixed->children; + children = pizza->children; if ( !(GTK_WIDGET_APP_PAINTABLE (widget)) && - (myfixed->clear_on_draw)) + (pizza->clear_on_draw)) { - gdk_window_clear_area( myfixed->bin_window, + gdk_window_clear_area( pizza->bin_window, area->x, area->y, area->width, area->height); } @@ -667,32 +667,32 @@ gtk_myfixed_draw (GtkWidget *widget, } static gint -gtk_myfixed_expose (GtkWidget *widget, +gtk_pizza_expose (GtkWidget *widget, GdkEventExpose *event) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GdkEventExpose child_event; GList *children; g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_MYFIXED (widget), FALSE); + g_return_val_if_fail (GTK_IS_PIZZA (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); - myfixed = GTK_MYFIXED (widget); + pizza = GTK_PIZZA (widget); /* if (event->window == widget->window) { - gtk_myfixed_draw_border( myfixed ); + gtk_pizza_draw_border( pizza ); return FALSE; } */ - if (event->window != myfixed->bin_window) + if (event->window != pizza->bin_window) return FALSE; - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -712,31 +712,31 @@ gtk_myfixed_expose (GtkWidget *widget, } static void -gtk_myfixed_add (GtkContainer *container, +gtk_pizza_add (GtkContainer *container, GtkWidget *widget) { g_return_if_fail (container != NULL); - g_return_if_fail (GTK_IS_MYFIXED (container)); + g_return_if_fail (GTK_IS_PIZZA (container)); g_return_if_fail (widget != NULL); - gtk_myfixed_put (GTK_MYFIXED (container), widget, 0, 0, 20, 20 ); + gtk_pizza_put (GTK_PIZZA (container), widget, 0, 0, 20, 20 ); } static void -gtk_myfixed_remove (GtkContainer *container, +gtk_pizza_remove (GtkContainer *container, GtkWidget *widget) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GList *children; g_return_if_fail (container != NULL); - g_return_if_fail (GTK_IS_MYFIXED (container)); + g_return_if_fail (GTK_IS_PIZZA (container)); g_return_if_fail (widget != NULL); - myfixed = GTK_MYFIXED (container); + pizza = GTK_PIZZA (container); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -748,7 +748,7 @@ gtk_myfixed_remove (GtkContainer *container, /* security checks */ g_return_if_fail (GTK_IS_WIDGET (widget)); - myfixed->children = g_list_remove_link (myfixed->children, children); + pizza->children = g_list_remove_link (pizza->children, children); g_list_free (children); g_free (child); @@ -765,22 +765,22 @@ gtk_myfixed_remove (GtkContainer *container, } static void -gtk_myfixed_forall (GtkContainer *container, +gtk_pizza_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data) { - GtkMyFixed *myfixed; - GtkMyFixedChild *child; + GtkPizza *pizza; + GtkPizzaChild *child; GList *children; g_return_if_fail (container != NULL); - g_return_if_fail (GTK_IS_MYFIXED (container)); + g_return_if_fail (GTK_IS_PIZZA (container)); g_return_if_fail (callback != NULL); - myfixed = GTK_MYFIXED (container); + pizza = GTK_PIZZA (container); - children = myfixed->children; + children = pizza->children; while (children) { child = children->data; @@ -795,18 +795,18 @@ gtk_myfixed_forall (GtkContainer *container, */ static void -gtk_myfixed_position_child (GtkMyFixed *myfixed, - GtkMyFixedChild *child) +gtk_pizza_position_child (GtkPizza *pizza, + GtkPizzaChild *child) { gint x; gint y; - x = child->x - myfixed->xoffset; - y = child->y - myfixed->yoffset; + x = child->x - pizza->xoffset; + y = child->y - pizza->yoffset; if (IS_ONSCREEN (x,y)) { - if (GTK_WIDGET_MAPPED (myfixed) && + if (GTK_WIDGET_MAPPED (pizza) && GTK_WIDGET_VISIBLE (child->widget)) { if (!GTK_WIDGET_MAPPED (child->widget)) @@ -827,14 +827,14 @@ gtk_myfixed_position_child (GtkMyFixed *myfixed, } static void -gtk_myfixed_allocate_child (GtkMyFixed *myfixed, - GtkMyFixedChild *child) +gtk_pizza_allocate_child (GtkPizza *pizza, + GtkPizzaChild *child) { GtkAllocation allocation; GtkRequisition requisition; - allocation.x = child->x - myfixed->xoffset; - allocation.y = child->y - myfixed->yoffset; + allocation.x = child->x - pizza->xoffset; + allocation.y = child->y - pizza->yoffset; gtk_widget_get_child_requisition (child->widget, &requisition); allocation.width = requisition.width; allocation.height = requisition.height; @@ -843,25 +843,25 @@ gtk_myfixed_allocate_child (GtkMyFixed *myfixed, } static void -gtk_myfixed_position_children (GtkMyFixed *myfixed) +gtk_pizza_position_children (GtkPizza *pizza) { GList *tmp_list; - tmp_list = myfixed->children; + tmp_list = pizza->children; while (tmp_list) { - GtkMyFixedChild *child = tmp_list->data; + GtkPizzaChild *child = tmp_list->data; tmp_list = tmp_list->next; - gtk_myfixed_position_child (myfixed, child); + gtk_pizza_position_child (pizza, child); } } static void -gtk_myfixed_adjust_allocations_recurse (GtkWidget *widget, +gtk_pizza_adjust_allocations_recurse (GtkWidget *widget, gpointer cb_data) { - GtkMyFixedAdjData *data = cb_data; + GtkPizzaAdjData *data = cb_data; widget->allocation.x += data->dx; widget->allocation.y += data->dy; @@ -869,26 +869,26 @@ gtk_myfixed_adjust_allocations_recurse (GtkWidget *widget, if (GTK_WIDGET_NO_WINDOW (widget) && GTK_IS_CONTAINER (widget)) { gtk_container_forall (GTK_CONTAINER (widget), - gtk_myfixed_adjust_allocations_recurse, + gtk_pizza_adjust_allocations_recurse, cb_data); } } static void -gtk_myfixed_adjust_allocations (GtkMyFixed *myfixed, +gtk_pizza_adjust_allocations (GtkPizza *pizza, gint dx, gint dy) { GList *tmp_list; - GtkMyFixedAdjData data; + GtkPizzaAdjData data; data.dx = dx; data.dy = dy; - tmp_list = myfixed->children; + tmp_list = pizza->children; while (tmp_list) { - GtkMyFixedChild *child = tmp_list->data; + GtkPizzaChild *child = tmp_list->data; tmp_list = tmp_list->next; child->widget->allocation.x += dx; @@ -897,7 +897,7 @@ gtk_myfixed_adjust_allocations (GtkMyFixed *myfixed, if (GTK_WIDGET_NO_WINDOW (child->widget) && GTK_IS_CONTAINER (child->widget)) gtk_container_forall (GTK_CONTAINER (child->widget), - gtk_myfixed_adjust_allocations_recurse, + gtk_pizza_adjust_allocations_recurse, &data); } } @@ -907,16 +907,16 @@ gtk_myfixed_adjust_allocations (GtkMyFixed *myfixed, /* Send a synthetic expose event to the widget */ static void -gtk_myfixed_expose_area (GtkMyFixed *myfixed, +gtk_pizza_expose_area (GtkPizza *pizza, gint x, gint y, gint width, gint height) { - if (myfixed->visibility == GDK_VISIBILITY_UNOBSCURED) + if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED) { GdkEventExpose event; event.type = GDK_EXPOSE; event.send_event = TRUE; - event.window = myfixed->bin_window; + event.window = pizza->bin_window; event.count = 0; event.area.x = x; @@ -925,7 +925,7 @@ gtk_myfixed_expose_area (GtkMyFixed *myfixed, event.area.height = height; gdk_window_ref (event.window); - gtk_widget_event (GTK_WIDGET (myfixed), (GdkEvent *)&event); + gtk_widget_event (GTK_WIDGET (pizza), (GdkEvent *)&event); gdk_window_unref (event.window); } } @@ -934,7 +934,7 @@ gtk_myfixed_expose_area (GtkMyFixed *myfixed, */ static Bool -gtk_myfixed_expose_predicate (Display *display, +gtk_pizza_expose_predicate (Display *display, XEvent *xevent, XPointer arg) { @@ -959,30 +959,30 @@ gtk_myfixed_expose_predicate (Display *display, */ void -gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) +gtk_pizza_scroll (GtkPizza *pizza, gint dx, gint dy) { GtkWidget *widget; XEvent xevent; gint x,y,w,h,border; - widget = GTK_WIDGET (myfixed); + widget = GTK_WIDGET (pizza); - myfixed->xoffset += dx; - myfixed->yoffset += dy; + pizza->xoffset += dx; + pizza->yoffset += dy; - if (!GTK_WIDGET_MAPPED (myfixed)) + if (!GTK_WIDGET_MAPPED (pizza)) { - gtk_myfixed_position_children (myfixed); + gtk_pizza_position_children (pizza); return; } - gtk_myfixed_adjust_allocations (myfixed, -dx, -dy); + gtk_pizza_adjust_allocations (pizza, -dx, -dy); - if (myfixed->shadow_type == GTK_MYSHADOW_NONE) + if (pizza->shadow_type == GTK_MYSHADOW_NONE) border = 0; else - if (myfixed->shadow_type == GTK_MYSHADOW_THIN) + if (pizza->shadow_type == GTK_MYSHADOW_THIN) border = 1; else border = 2; @@ -996,18 +996,18 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) { if (gravity_works) { - gdk_window_resize (myfixed->bin_window, + gdk_window_resize (pizza->bin_window, w + dx, h); - gdk_window_move (myfixed->bin_window, x-dx, y); - gdk_window_move_resize (myfixed->bin_window, x, y, w, h ); + gdk_window_move (pizza->bin_window, x-dx, y); + gdk_window_move_resize (pizza->bin_window, x, y, w, h ); } else { /* FIXME */ } - gtk_myfixed_expose_area (myfixed, + gtk_pizza_expose_area (pizza, MAX ((gint)w - dx, 0), 0, MIN (dx, w), @@ -1017,20 +1017,20 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) { if (gravity_works) { - gdk_window_move_resize (myfixed->bin_window, + gdk_window_move_resize (pizza->bin_window, x + dx, y, w - dx, h); - gdk_window_move (myfixed->bin_window, x, y); - gdk_window_resize (myfixed->bin_window, w, h ); + gdk_window_move (pizza->bin_window, x, y); + gdk_window_resize (pizza->bin_window, w, h ); } else { /* FIXME */ } - gtk_myfixed_expose_area (myfixed, + gtk_pizza_expose_area (pizza, 0, 0, MIN (-dx, w), @@ -1041,9 +1041,9 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) { if (gravity_works) { - gdk_window_resize (myfixed->bin_window, w, h + dy); - gdk_window_move (myfixed->bin_window, x, y-dy); - gdk_window_move_resize (myfixed->bin_window, + gdk_window_resize (pizza->bin_window, w, h + dy); + gdk_window_move (pizza->bin_window, x, y-dy); + gdk_window_move_resize (pizza->bin_window, x, y, w, h ); } else @@ -1051,7 +1051,7 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) /* FIXME */ } - gtk_myfixed_expose_area (myfixed, + gtk_pizza_expose_area (pizza, 0, MAX ((gint)h - dy, 0), w, @@ -1061,23 +1061,23 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) { if (gravity_works) { - gdk_window_move_resize (myfixed->bin_window, + gdk_window_move_resize (pizza->bin_window, x, y+dy, w, h - dy ); - gdk_window_move (myfixed->bin_window, x, y); - gdk_window_resize (myfixed->bin_window, w, h ); + gdk_window_move (pizza->bin_window, x, y); + gdk_window_resize (pizza->bin_window, w, h ); } else { /* FIXME */ } - gtk_myfixed_expose_area (myfixed, + gtk_pizza_expose_area (pizza, 0, 0, w, MIN (-dy, (gint)h)); } - gtk_myfixed_position_children (myfixed); + gtk_pizza_position_children (pizza); /* We have to make sure that all exposes from this scroll get * processed before we scroll again, or the expose events will @@ -1091,16 +1091,16 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) */ gdk_flush(); - while (XCheckIfEvent(GDK_WINDOW_XDISPLAY (myfixed->bin_window), + while (XCheckIfEvent(GDK_WINDOW_XDISPLAY (pizza->bin_window), &xevent, - gtk_myfixed_expose_predicate, - (XPointer)&GDK_WINDOW_XWINDOW (myfixed->bin_window))) + gtk_pizza_expose_predicate, + (XPointer)&GDK_WINDOW_XWINDOW (pizza->bin_window))) { GdkEvent event; GtkWidget *event_widget; - if ((xevent.xany.window == GDK_WINDOW_XWINDOW (myfixed->bin_window)) && - (gtk_myfixed_filter (&xevent, &event, myfixed) == GDK_FILTER_REMOVE)) + if ((xevent.xany.window == GDK_WINDOW_XWINDOW (pizza->bin_window)) && + (gtk_pizza_filter (&xevent, &event, pizza) == GDK_FILTER_REMOVE)) continue; if (xevent.type == Expose) @@ -1137,27 +1137,27 @@ gtk_myfixed_scroll (GtkMyFixed *myfixed, gint dx, gint dy) * or not. */ static GdkFilterReturn -gtk_myfixed_filter (GdkXEvent *gdk_xevent, +gtk_pizza_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) { XEvent *xevent; - GtkMyFixed *myfixed; + GtkPizza *pizza; xevent = (XEvent *)gdk_xevent; - myfixed = GTK_MYFIXED (data); + pizza = GTK_PIZZA (data); switch (xevent->type) { case Expose: - if (xevent->xexpose.serial == myfixed->configure_serial) + if (xevent->xexpose.serial == pizza->configure_serial) { - if (myfixed->visibility == GDK_VISIBILITY_UNOBSCURED) + if (pizza->visibility == GDK_VISIBILITY_UNOBSCURED) return GDK_FILTER_REMOVE; else { - xevent->xexpose.x += myfixed->scroll_x; - xevent->xexpose.y += myfixed->scroll_y; + xevent->xexpose.x += pizza->scroll_x; + xevent->xexpose.y += pizza->scroll_y; break; } @@ -1167,9 +1167,9 @@ gtk_myfixed_filter (GdkXEvent *gdk_xevent, case ConfigureNotify: if ((xevent->xconfigure.x != 0) || (xevent->xconfigure.y != 0)) { - myfixed->configure_serial = xevent->xconfigure.serial; - myfixed->scroll_x = xevent->xconfigure.x; - myfixed->scroll_y = xevent->xconfigure.y; + pizza->configure_serial = xevent->xconfigure.serial; + pizza->scroll_x = xevent->xconfigure.x; + pizza->scroll_y = xevent->xconfigure.y; } break; } @@ -1182,30 +1182,30 @@ gtk_myfixed_filter (GdkXEvent *gdk_xevent, * to get the events from a filter */ static GdkFilterReturn -gtk_myfixed_main_filter (GdkXEvent *gdk_xevent, +gtk_pizza_main_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) { XEvent *xevent; - GtkMyFixed *myfixed; + GtkPizza *pizza; xevent = (XEvent *)gdk_xevent; - myfixed = GTK_MYFIXED (data); + pizza = GTK_PIZZA (data); if (xevent->type == VisibilityNotify) { switch (xevent->xvisibility.state) { case VisibilityFullyObscured: - myfixed->visibility = GDK_VISIBILITY_FULLY_OBSCURED; + pizza->visibility = GDK_VISIBILITY_FULLY_OBSCURED; break; case VisibilityPartiallyObscured: - myfixed->visibility = GDK_VISIBILITY_PARTIAL; + pizza->visibility = GDK_VISIBILITY_PARTIAL; break; case VisibilityUnobscured: - myfixed->visibility = GDK_VISIBILITY_UNOBSCURED; + pizza->visibility = GDK_VISIBILITY_UNOBSCURED; break; } diff --git a/src/gtk1/window.cpp b/src/gtk1/window.cpp index c6b827a1e4..ccd1269827 100644 --- a/src/gtk1/window.cpp +++ b/src/gtk1/window.cpp @@ -106,19 +106,19 @@ can find in m_widget (defined in wxWindow) When the class has a client area for drawing into and for containing children - it has to handle the client area widget (of the type GtkMyFixed, defined in + it has to handle the client area widget (of the type GtkPizza, defined in win_gtk.c), but there could be any number of widgets, handled by a class The common rule for all windows is only, that the widget that interacts with the rest of GTK must be referenced in m_widget and all other widgets must be children of this widget on the GTK level. The top-most widget, which also represents the client area, must be in the m_wxwindow field and must be of - the type GtkMyFixed. + the type GtkPizza. As I said, the window classes that display a GTK native widget only have one widget, so in the case of e.g. the wxButton class m_widget holds a pointer to a GtkButton widget. But windows with client areas (for drawing and children) have a m_widget field that is a pointer to a GtkScrolled- - Window and a m_wxwindow field that is pointer to a GtkMyFixed and this + Window and a m_wxwindow field that is pointer to a GtkPizza and this one is (in the GTK sense) a child of the GtkScrolledWindow. If the m_wxwindow field is set, then all input to this widget is inter- @@ -132,10 +132,10 @@ clicking on a scrollbar belonging to scrolled window will inevitably move the window. In wxWindows, the scrollbar will only emit an event, send this to (normally) a wxScrolledWindow and that class will call ScrollWindow() - which actually moves the window and its subchildren. Note that GtkMyFixed + which actually moves the window and its subchildren. Note that GtkPizza memorizes how much it has been scrolled but that wxWindows forgets this so that the two coordinates systems have to be kept in synch. This is done - in various places using the myfixed->xoffset and myfixed->yoffset values. + in various places using the pizza->xoffset and pizza->yoffset values. III) @@ -267,8 +267,6 @@ extern bool g_isIdle; // local code (see below) //----------------------------------------------------------------------------- -#if (GTK_MINOR_VERSION > 0) - static void draw_frame( GtkWidget *widget, wxWindow *win ) { if (!win->m_hasVMT) @@ -364,156 +362,10 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU draw_frame( widget, win ); } -#endif // GTK_MINOR_VERSION > 0 - //----------------------------------------------------------------------------- -// key event conversion routines +// key code mapping routines //----------------------------------------------------------------------------- -#if (GTK_MINOR_VERSION == 0) -/* these functions are copied verbatim from GTK 1.2 */ -static void -gdkx_XConvertCase (KeySym symbol, - KeySym *lower, - KeySym *upper) -{ - register KeySym sym = symbol; - - g_return_if_fail (lower != NULL); - g_return_if_fail (upper != NULL); - - *lower = sym; - *upper = sym; - - switch (sym >> 8) - { -#if defined (GDK_A) && defined (GDK_Ooblique) - case 0: /* Latin 1 */ - if ((sym >= GDK_A) && (sym <= GDK_Z)) - *lower += (GDK_a - GDK_A); - else if ((sym >= GDK_a) && (sym <= GDK_z)) - *upper -= (GDK_a - GDK_A); - else if ((sym >= GDK_Agrave) && (sym <= GDK_Odiaeresis)) - *lower += (GDK_agrave - GDK_Agrave); - else if ((sym >= GDK_agrave) && (sym <= GDK_odiaeresis)) - *upper -= (GDK_agrave - GDK_Agrave); - else if ((sym >= GDK_Ooblique) && (sym <= GDK_Thorn)) - *lower += (GDK_oslash - GDK_Ooblique); - else if ((sym >= GDK_oslash) && (sym <= GDK_thorn)) - *upper -= (GDK_oslash - GDK_Ooblique); - break; -#endif /* LATIN1 */ - -#if defined (GDK_Aogonek) && defined (GDK_tcedilla) - case 1: /* Latin 2 */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (sym == GDK_Aogonek) - *lower = GDK_aogonek; - else if (sym >= GDK_Lstroke && sym <= GDK_Sacute) - *lower += (GDK_lstroke - GDK_Lstroke); - else if (sym >= GDK_Scaron && sym <= GDK_Zacute) - *lower += (GDK_scaron - GDK_Scaron); - else if (sym >= GDK_Zcaron && sym <= GDK_Zabovedot) - *lower += (GDK_zcaron - GDK_Zcaron); - else if (sym == GDK_aogonek) - *upper = GDK_Aogonek; - else if (sym >= GDK_lstroke && sym <= GDK_sacute) - *upper -= (GDK_lstroke - GDK_Lstroke); - else if (sym >= GDK_scaron && sym <= GDK_zacute) - *upper -= (GDK_scaron - GDK_Scaron); - else if (sym >= GDK_zcaron && sym <= GDK_zabovedot) - *upper -= (GDK_zcaron - GDK_Zcaron); - else if (sym >= GDK_Racute && sym <= GDK_Tcedilla) - *lower += (GDK_racute - GDK_Racute); - else if (sym >= GDK_racute && sym <= GDK_tcedilla) - *upper -= (GDK_racute - GDK_Racute); - break; -#endif /* LATIN2 */ - -#if defined (GDK_Hstroke) && defined (GDK_Cabovedot) - case 2: /* Latin 3 */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (sym >= GDK_Hstroke && sym <= GDK_Hcircumflex) - *lower += (GDK_hstroke - GDK_Hstroke); - else if (sym >= GDK_Gbreve && sym <= GDK_Jcircumflex) - *lower += (GDK_gbreve - GDK_Gbreve); - else if (sym >= GDK_hstroke && sym <= GDK_hcircumflex) - *upper -= (GDK_hstroke - GDK_Hstroke); - else if (sym >= GDK_gbreve && sym <= GDK_jcircumflex) - *upper -= (GDK_gbreve - GDK_Gbreve); - else if (sym >= GDK_Cabovedot && sym <= GDK_Scircumflex) - *lower += (GDK_cabovedot - GDK_Cabovedot); - else if (sym >= GDK_cabovedot && sym <= GDK_scircumflex) - *upper -= (GDK_cabovedot - GDK_Cabovedot); - break; -#endif /* LATIN3 */ - -#if defined (GDK_Rcedilla) && defined (GDK_Amacron) - case 3: /* Latin 4 */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (sym >= GDK_Rcedilla && sym <= GDK_Tslash) - *lower += (GDK_rcedilla - GDK_Rcedilla); - else if (sym >= GDK_rcedilla && sym <= GDK_tslash) - *upper -= (GDK_rcedilla - GDK_Rcedilla); - else if (sym == GDK_ENG) - *lower = GDK_eng; - else if (sym == GDK_eng) - *upper = GDK_ENG; - else if (sym >= GDK_Amacron && sym <= GDK_Umacron) - *lower += (GDK_amacron - GDK_Amacron); - else if (sym >= GDK_amacron && sym <= GDK_umacron) - *upper -= (GDK_amacron - GDK_Amacron); - break; -#endif /* LATIN4 */ - -#if defined (GDK_Serbian_DJE) && defined (GDK_Cyrillic_yu) - case 6: /* Cyrillic */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (sym >= GDK_Serbian_DJE && sym <= GDK_Serbian_DZE) - *lower -= (GDK_Serbian_DJE - GDK_Serbian_dje); - else if (sym >= GDK_Serbian_dje && sym <= GDK_Serbian_dze) - *upper += (GDK_Serbian_DJE - GDK_Serbian_dje); - else if (sym >= GDK_Cyrillic_YU && sym <= GDK_Cyrillic_HARDSIGN) - *lower -= (GDK_Cyrillic_YU - GDK_Cyrillic_yu); - else if (sym >= GDK_Cyrillic_yu && sym <= GDK_Cyrillic_hardsign) - *upper += (GDK_Cyrillic_YU - GDK_Cyrillic_yu); - break; -#endif /* CYRILLIC */ - -#if defined (GDK_Greek_ALPHAaccent) && defined (GDK_Greek_finalsmallsigma) - case 7: /* Greek */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (sym >= GDK_Greek_ALPHAaccent && sym <= GDK_Greek_OMEGAaccent) - *lower += (GDK_Greek_alphaaccent - GDK_Greek_ALPHAaccent); - else if (sym >= GDK_Greek_alphaaccent && sym <= GDK_Greek_omegaaccent && - sym != GDK_Greek_iotaaccentdieresis && - sym != GDK_Greek_upsilonaccentdieresis) - *upper -= (GDK_Greek_alphaaccent - GDK_Greek_ALPHAaccent); - else if (sym >= GDK_Greek_ALPHA && sym <= GDK_Greek_OMEGA) - *lower += (GDK_Greek_alpha - GDK_Greek_ALPHA); - else if (sym >= GDK_Greek_alpha && sym <= GDK_Greek_omega && - sym != GDK_Greek_finalsmallsigma) - *upper -= (GDK_Greek_alpha - GDK_Greek_ALPHA); - break; -#endif /* GREEK */ - } -} - -static guint -gdk_keyval_to_upper (guint keyval) -{ - if (keyval) - { - KeySym lower_val = 0; - KeySym upper_val = 0; - - gdkx_XConvertCase (keyval, &lower_val, &upper_val); - return upper_val; - } - return 0; -} -#endif - static long map_to_unmodified_wx_keysym( KeySym keysym ) { guint key_code = 0; @@ -855,6 +707,8 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e ret = ancestor->GetEventHandler()->ProcessEvent( command_event ); break; } + if (ancestor->m_isFrame) + break; ancestor = ancestor->GetParent(); } } @@ -906,7 +760,8 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e } #if (GTK_MINOR_VERSION > 0) - /* pressing F10 will activate the menu bar of the top frame */ + /* Pressing F10 will activate the menu bar of the top frame. */ + /* Doesn't work. */ /* if ( (!ret) && (gdk_event->keyval == GDK_F10) ) @@ -1113,9 +968,9 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton int y = event.m_y; if (win->m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); - x += myfixed->xoffset; - y += myfixed->yoffset; + GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow); + x += pizza->xoffset; + y += pizza->yoffset; } wxNode *node = win->GetChildren().First(); @@ -1240,9 +1095,9 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto int y = event.m_y; if (win->m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); - x += myfixed->xoffset; - y += myfixed->yoffset; + GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow); + x += pizza->xoffset; + y += pizza->yoffset; } wxNode *node = win->GetChildren().First(); @@ -1360,9 +1215,9 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion int y = event.m_y; if (win->m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); - x += myfixed->xoffset; - y += myfixed->yoffset; + GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow); + x += pizza->xoffset; + y += pizza->yoffset; } wxNode *node = win->GetChildren().First(); @@ -1806,11 +1661,11 @@ static void wxInsertChildInWindow( wxWindow* parent, wxWindow* child ) { /* the window might have been scrolled already, do we have to adapt the position */ - GtkMyFixed *myfixed = GTK_MYFIXED(parent->m_wxwindow); - child->m_x += myfixed->xoffset; - child->m_y += myfixed->yoffset; + GtkPizza *pizza = GTK_PIZZA(parent->m_wxwindow); + child->m_x += pizza->xoffset; + child->m_y += pizza->yoffset; - gtk_myfixed_put( GTK_MYFIXED(parent->m_wxwindow), + gtk_pizza_put( GTK_PIZZA(parent->m_wxwindow), GTK_WIDGET(child->m_widget), child->m_x, child->m_y, @@ -1933,7 +1788,7 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id, m_hAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->hscrollbar) ); m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->vscrollbar) ); - m_wxwindow = gtk_myfixed_new(); + m_wxwindow = gtk_pizza_new(); #ifdef __WXDEBUG__ debug_focus_in( m_wxwindow, wxT("wxWindow::m_wxwindow"), name ); @@ -1942,23 +1797,23 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id, gtk_container_add( GTK_CONTAINER(m_widget), m_wxwindow ); #if (GTK_MINOR_VERSION > 0) - GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); + GtkPizza *pizza = GTK_PIZZA(m_wxwindow); if (HasFlag(wxRAISED_BORDER)) { - gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_OUT ); + gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_OUT ); } else if (HasFlag(wxSUNKEN_BORDER)) { - gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_IN ); + gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_IN ); } else if (HasFlag(wxSIMPLE_BORDER)) { - gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_THIN ); + gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_THIN ); } else { - gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_NONE ); + gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_NONE ); } #else // GTK_MINOR_VERSION == 0 GtkViewport *viewport = GTK_VIEWPORT(scrolledWindow->viewport); @@ -2213,19 +2068,19 @@ void wxWindow::DoSetSize( int x, int y, int width, int height, int sizeFlags ) } else { - GtkMyFixed *myfixed = GTK_MYFIXED(m_parent->m_wxwindow); + GtkPizza *pizza = GTK_PIZZA(m_parent->m_wxwindow); if ((sizeFlags & wxSIZE_ALLOW_MINUS_ONE) == 0) { - if (x != -1) m_x = x + myfixed->xoffset; - if (y != -1) m_y = y + myfixed->yoffset; + if (x != -1) m_x = x + pizza->xoffset; + if (y != -1) m_y = y + pizza->yoffset; if (width != -1) m_width = width; if (height != -1) m_height = height; } else { - m_x = x + myfixed->xoffset; - m_y = y + myfixed->yoffset; + m_x = x + pizza->xoffset; + m_y = y + pizza->yoffset; m_width = width; m_height = height; } @@ -2255,7 +2110,7 @@ void wxWindow::DoSetSize( int x, int y, int width, int height, int sizeFlags ) bottom_border = 5; } - gtk_myfixed_set_size( GTK_MYFIXED(m_parent->m_wxwindow), + gtk_pizza_set_size( GTK_PIZZA(m_parent->m_wxwindow), m_widget, m_x-border, m_y-border, @@ -2294,7 +2149,7 @@ void wxWindow::OnInternalIdle() if (m_wxwindow) { - GdkWindow *window = GTK_MYFIXED(m_wxwindow)->bin_window; + GdkWindow *window = GTK_PIZZA(m_wxwindow)->bin_window; if (window) gdk_window_set_cursor( window, cursor.GetCursor() ); @@ -2484,9 +2339,9 @@ void wxWindow::DoGetPosition( int *x, int *y ) const int dy = 0; if (m_parent && m_parent->m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(m_parent->m_wxwindow); - dx = myfixed->xoffset; - dy = myfixed->yoffset; + GtkPizza *pizza = GTK_PIZZA(m_parent->m_wxwindow); + dx = pizza->xoffset; + dy = pizza->yoffset; } if (x) (*x) = m_x - dx; @@ -2501,7 +2356,7 @@ void wxWindow::DoClientToScreen( int *x, int *y ) const GdkWindow *source = (GdkWindow *) NULL; if (m_wxwindow) - source = GTK_MYFIXED(m_wxwindow)->bin_window; + source = GTK_PIZZA(m_wxwindow)->bin_window; else source = m_widget->window; @@ -2530,7 +2385,7 @@ void wxWindow::DoScreenToClient( int *x, int *y ) const GdkWindow *source = (GdkWindow *) NULL; if (m_wxwindow) - source = GTK_MYFIXED(m_wxwindow)->bin_window; + source = GTK_PIZZA(m_wxwindow)->bin_window; else source = m_widget->window; @@ -2738,7 +2593,7 @@ void wxWindow::WarpPointer( int x, int y ) GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -2756,30 +2611,30 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect ) { if (rect) { - gdk_window_clear_area( GTK_MYFIXED(m_wxwindow)->bin_window, + gdk_window_clear_area( GTK_PIZZA(m_wxwindow)->bin_window, rect->x, rect->y, rect->width, rect->height ); } else { - gdk_window_clear( GTK_MYFIXED(m_wxwindow)->bin_window ); + gdk_window_clear( GTK_PIZZA(m_wxwindow)->bin_window ); } } /* there is no GTK equivalent of "draw only, don't clear" so we - invent our own in the GtkMyFixed widget */ + invent our own in the GtkPizza widget */ if (!rect) { if (m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); - gboolean old_clear = myfixed->clear_on_draw; - gtk_my_fixed_set_clear( myfixed, FALSE ); + GtkPizza *pizza = GTK_PIZZA(m_wxwindow); + gboolean old_clear = pizza->clear_on_draw; + gtk_pizza_set_clear( pizza, FALSE ); gtk_widget_draw( m_wxwindow, (GdkRectangle*) NULL ); - gtk_my_fixed_set_clear( myfixed, old_clear ); + gtk_pizza_set_clear( pizza, old_clear ); } else gtk_widget_draw( m_widget, (GdkRectangle*) NULL ); @@ -2794,13 +2649,13 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect ) if (m_wxwindow) { - GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); - gboolean old_clear = myfixed->clear_on_draw; - gtk_my_fixed_set_clear( myfixed, FALSE ); + GtkPizza *pizza = GTK_PIZZA(m_wxwindow); + gboolean old_clear = pizza->clear_on_draw; + gtk_pizza_set_clear( pizza, FALSE ); gtk_widget_draw( m_wxwindow, &gdk_rect ); - gtk_my_fixed_set_clear( myfixed, old_clear ); + gtk_pizza_set_clear( pizza, old_clear ); } else gtk_widget_draw( m_widget, &gdk_rect ); @@ -2847,7 +2702,7 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour ) GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -2899,7 +2754,7 @@ bool wxWindow::SetForegroundColour( const wxColour &colour ) GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -3073,7 +2928,7 @@ GtkWidget* wxWindow::GetConnectWidget() bool wxWindow::IsOwnGtkWindow( GdkWindow *window ) { if (m_wxwindow) - return (window == GTK_MYFIXED(m_wxwindow)->bin_window); + return (window == GTK_PIZZA(m_wxwindow)->bin_window); return (window == m_widget->window); } @@ -3091,7 +2946,7 @@ bool wxWindow::SetFont( const wxFont &font ) GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -3129,7 +2984,7 @@ void wxWindow::CaptureMouse() GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -3155,7 +3010,7 @@ void wxWindow::ReleaseMouse() GdkWindow *window = (GdkWindow*) NULL; if (m_wxwindow) - window = GTK_MYFIXED(m_wxwindow)->bin_window; + window = GTK_PIZZA(m_wxwindow)->bin_window; else window = GetConnectWidget()->window; @@ -3319,7 +3174,7 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) ) wxCHECK_RET( m_wxwindow != NULL, wxT("window needs client area for scrolling") ); - gtk_myfixed_scroll( GTK_MYFIXED(m_wxwindow), -dx, -dy ); + gtk_pizza_scroll( GTK_PIZZA(m_wxwindow), -dx, -dy ); /* if (!m_scrollGC) diff --git a/utils/glcanvas/gtk/glcanvas.cpp b/utils/glcanvas/gtk/glcanvas.cpp index b774feb1c4..735da31179 100644 --- a/utils/glcanvas/gtk/glcanvas.cpp +++ b/utils/glcanvas/gtk/glcanvas.cpp @@ -95,7 +95,7 @@ void wxGLContext::SwapBuffers() { if (m_glContext) { - GdkWindow *window = GTK_MYFIXED(m_widget)->bin_window; + GdkWindow *window = GTK_PIZZA(m_widget)->bin_window; glXSwapBuffers( GDK_DISPLAY(), GDK_WINDOW_XWINDOW( window ) ); } } @@ -104,7 +104,7 @@ void wxGLContext::SetCurrent() { if (m_glContext) { - GdkWindow *window = GTK_MYFIXED(m_widget)->bin_window; + GdkWindow *window = GTK_PIZZA(m_widget)->bin_window; glXMakeCurrent( GDK_DISPLAY(), GDK_WINDOW_XWINDOW(window), m_glContext ); } } @@ -304,7 +304,7 @@ bool wxGLCanvas::Create( wxWindow *parent, m_glWidget = m_wxwindow; - gtk_my_fixed_set_clear( GTK_MYFIXED(m_wxwindow), FALSE ); + gtk_pizza_set_clear( GTK_PIZZA(m_wxwindow), FALSE ); gtk_signal_connect( GTK_OBJECT(m_wxwindow), "realize", GTK_SIGNAL_FUNC(gtk_glwindow_realized_callback), (gpointer) this );