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
This commit is contained in:
Robert Roebling
1999-10-29 17:20:44 +00:00
parent 928b5c0860
commit da048e3d4c
27 changed files with 847 additions and 1057 deletions

View File

@@ -53,6 +53,8 @@ public:
virtual int GetMax() const; virtual int GetMax() const;
// implementation // implementation
void OnChar( wxKeyEvent &event );
bool IsOwnGtkWindow( GdkWindow *window ); bool IsOwnGtkWindow( GdkWindow *window );
void ApplyWidgetStyle(); void ApplyWidgetStyle();
@@ -61,6 +63,7 @@ public:
private: private:
DECLARE_DYNAMIC_CLASS(wxSpinCtrl) DECLARE_DYNAMIC_CLASS(wxSpinCtrl)
DECLARE_EVENT_TABLE()
}; };
#endif #endif

View File

@@ -1,6 +1,6 @@
/* /////////////////////////////////////////////////////////////////////////// /* ///////////////////////////////////////////////////////////////////////////
// Name: win_gtk.h // Name: win_gtk.h
// Purpose: wxWindows's GTK base widget // Purpose: wxWindows's GTK base widget = GtkPizza
// Author: Robert Roebling // Author: Robert Roebling
// Id: $Id$ // Id: $Id$
// Copyright: (c) 1998 Robert Roebling // Copyright: (c) 1998 Robert Roebling
@@ -8,8 +8,8 @@
/////////////////////////////////////////////////////////////////////////// */ /////////////////////////////////////////////////////////////////////////// */
#ifndef __GTK_MYFIXED_H__ #ifndef __GTK_PIZZA_H__
#define __GTK_MYFIXED_H__ #define __GTK_PIZZA_H__
#include <gdk/gdk.h> #include <gdk/gdk.h>
#include <gtk/gtkcontainer.h> #include <gtk/gtkcontainer.h>
@@ -21,9 +21,9 @@ extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
#define GTK_MYFIXED(obj) GTK_CHECK_CAST (obj, gtk_myfixed_get_type (), GtkMyFixed) #define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
#define GTK_MYFIXED_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_myfixed_get_type (), GtkMyFixedClass) #define GTK_PIZZA_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_pizza_get_type (), GtkPizzaClass)
#define GTK_IS_MYFIXED(obj) GTK_CHECK_TYPE (obj, gtk_myfixed_get_type ()) #define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
/* Shadow types */ /* Shadow types */
typedef enum typedef enum
@@ -34,10 +34,10 @@ typedef enum
GTK_MYSHADOW_OUT GTK_MYSHADOW_OUT
} GtkMyShadowType; } GtkMyShadowType;
typedef struct _GtkMyFixed GtkMyFixed; typedef struct _GtkPizza GtkPizza;
typedef struct _GtkMyFixedClass GtkMyFixedClass; typedef struct _GtkPizzaClass GtkPizzaClass;
struct _GtkMyFixed struct _GtkPizza
{ {
GtkContainer container; GtkContainer container;
GList *children; GList *children;
@@ -59,46 +59,46 @@ struct _GtkMyFixed
gboolean clear_on_draw; gboolean clear_on_draw;
}; };
struct _GtkMyFixedClass struct _GtkPizzaClass
{ {
GtkContainerClass parent_class; GtkContainerClass parent_class;
void (*set_scroll_adjustments) (GtkMyFixed *myfixed, void (*set_scroll_adjustments) (GtkPizza *pizza,
GtkAdjustment *hadjustment, GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment); GtkAdjustment *vadjustment);
}; };
guint gtk_myfixed_get_type (void); guint gtk_pizza_get_type (void);
GtkWidget* gtk_myfixed_new (void); GtkWidget* gtk_pizza_new (void);
void gtk_myfixed_set_shadow_type (GtkMyFixed *myfixed, void gtk_pizza_set_shadow_type (GtkPizza *pizza,
GtkMyShadowType type); GtkMyShadowType type);
void gtk_my_fixed_set_clear (GtkMyFixed *myfixed, void gtk_pizza_set_clear (GtkPizza *pizza,
gboolean clear); gboolean clear);
void gtk_myfixed_scroll (GtkMyFixed *myfixed, void gtk_pizza_scroll (GtkPizza *pizza,
gint dx, gint dx,
gint dy); gint dy);
void gtk_myfixed_put (GtkMyFixed *myfixed, void gtk_pizza_put (GtkPizza *pizza,
GtkWidget *widget, GtkWidget *widget,
gint x, gint x,
gint y, gint y,
gint width, gint width,
gint height); gint height);
void gtk_myfixed_move (GtkMyFixed *myfixed, void gtk_pizza_move (GtkPizza *pizza,
GtkWidget *widget, GtkWidget *widget,
gint x, gint x,
gint y ); gint y );
void gtk_myfixed_resize (GtkMyFixed *myfixed, void gtk_pizza_resize (GtkPizza *pizza,
GtkWidget *widget, GtkWidget *widget,
gint width, gint width,
gint height ); gint height );
void gtk_myfixed_set_size (GtkMyFixed *myfixed, void gtk_pizza_set_size (GtkPizza *pizza,
GtkWidget *widget, GtkWidget *widget,
gint x, gint x,
gint y, gint y,
@@ -109,4 +109,4 @@ void gtk_myfixed_set_size (GtkMyFixed *myfixed,
#endif /* __cplusplus */ #endif /* __cplusplus */
#endif /* __GTK_MYFIXED_H__ */ #endif /* __GTK_PIZZA_H__ */

View File

@@ -53,6 +53,8 @@ public:
virtual int GetMax() const; virtual int GetMax() const;
// implementation // implementation
void OnChar( wxKeyEvent &event );
bool IsOwnGtkWindow( GdkWindow *window ); bool IsOwnGtkWindow( GdkWindow *window );
void ApplyWidgetStyle(); void ApplyWidgetStyle();
@@ -61,6 +63,7 @@ public:
private: private:
DECLARE_DYNAMIC_CLASS(wxSpinCtrl) DECLARE_DYNAMIC_CLASS(wxSpinCtrl)
DECLARE_EVENT_TABLE()
}; };
#endif #endif

View File

@@ -1,6 +1,6 @@
/* /////////////////////////////////////////////////////////////////////////// /* ///////////////////////////////////////////////////////////////////////////
// Name: win_gtk.h // Name: win_gtk.h
// Purpose: wxWindows's GTK base widget // Purpose: wxWindows's GTK base widget = GtkPizza
// Author: Robert Roebling // Author: Robert Roebling
// Id: $Id$ // Id: $Id$
// Copyright: (c) 1998 Robert Roebling // Copyright: (c) 1998 Robert Roebling
@@ -8,8 +8,8 @@
/////////////////////////////////////////////////////////////////////////// */ /////////////////////////////////////////////////////////////////////////// */
#ifndef __GTK_MYFIXED_H__ #ifndef __GTK_PIZZA_H__
#define __GTK_MYFIXED_H__ #define __GTK_PIZZA_H__
#include <gdk/gdk.h> #include <gdk/gdk.h>
#include <gtk/gtkcontainer.h> #include <gtk/gtkcontainer.h>
@@ -21,9 +21,9 @@ extern "C" {
#endif /* __cplusplus */ #endif /* __cplusplus */
#define GTK_MYFIXED(obj) GTK_CHECK_CAST (obj, gtk_myfixed_get_type (), GtkMyFixed) #define GTK_PIZZA(obj) GTK_CHECK_CAST (obj, gtk_pizza_get_type (), GtkPizza)
#define GTK_MYFIXED_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_myfixed_get_type (), GtkMyFixedClass) #define GTK_PIZZA_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, gtk_pizza_get_type (), GtkPizzaClass)
#define GTK_IS_MYFIXED(obj) GTK_CHECK_TYPE (obj, gtk_myfixed_get_type ()) #define GTK_IS_PIZZA(obj) GTK_CHECK_TYPE (obj, gtk_pizza_get_type ())
/* Shadow types */ /* Shadow types */
typedef enum typedef enum
@@ -34,10 +34,10 @@ typedef enum
GTK_MYSHADOW_OUT GTK_MYSHADOW_OUT
} GtkMyShadowType; } GtkMyShadowType;
typedef struct _GtkMyFixed GtkMyFixed; typedef struct _GtkPizza GtkPizza;
typedef struct _GtkMyFixedClass GtkMyFixedClass; typedef struct _GtkPizzaClass GtkPizzaClass;
struct _GtkMyFixed struct _GtkPizza
{ {
GtkContainer container; GtkContainer container;
GList *children; GList *children;
@@ -59,46 +59,46 @@ struct _GtkMyFixed
gboolean clear_on_draw; gboolean clear_on_draw;
}; };
struct _GtkMyFixedClass struct _GtkPizzaClass
{ {
GtkContainerClass parent_class; GtkContainerClass parent_class;
void (*set_scroll_adjustments) (GtkMyFixed *myfixed, void (*set_scroll_adjustments) (GtkPizza *pizza,
GtkAdjustment *hadjustment, GtkAdjustment *hadjustment,
GtkAdjustment *vadjustment); GtkAdjustment *vadjustment);
}; };
guint gtk_myfixed_get_type (void); guint gtk_pizza_get_type (void);
GtkWidget* gtk_myfixed_new (void); GtkWidget* gtk_pizza_new (void);
void gtk_myfixed_set_shadow_type (GtkMyFixed *myfixed, void gtk_pizza_set_shadow_type (GtkPizza *pizza,
GtkMyShadowType type); GtkMyShadowType type);
void gtk_my_fixed_set_clear (GtkMyFixed *myfixed, void gtk_pizza_set_clear (GtkPizza *pizza,
gboolean clear); gboolean clear);
void gtk_myfixed_scroll (GtkMyFixed *myfixed, void gtk_pizza_scroll (GtkPizza *pizza,
gint dx, gint dx,
gint dy); gint dy);
void gtk_myfixed_put (GtkMyFixed *myfixed, void gtk_pizza_put (GtkPizza *pizza,
GtkWidget *widget, GtkWidget *widget,
gint x, gint x,
gint y, gint y,
gint width, gint width,
gint height); gint height);
void gtk_myfixed_move (GtkMyFixed *myfixed, void gtk_pizza_move (GtkPizza *pizza,
GtkWidget *widget, GtkWidget *widget,
gint x, gint x,
gint y ); gint y );
void gtk_myfixed_resize (GtkMyFixed *myfixed, void gtk_pizza_resize (GtkPizza *pizza,
GtkWidget *widget, GtkWidget *widget,
gint width, gint width,
gint height ); gint height );
void gtk_myfixed_set_size (GtkMyFixed *myfixed, void gtk_pizza_set_size (GtkPizza *pizza,
GtkWidget *widget, GtkWidget *widget,
gint x, gint x,
gint y, gint y,
@@ -109,4 +109,4 @@ void gtk_myfixed_set_size (GtkMyFixed *myfixed,
#endif /* __cplusplus */ #endif /* __cplusplus */
#endif /* __GTK_MYFIXED_H__ */ #endif /* __GTK_PIZZA_H__ */

View File

@@ -64,14 +64,12 @@ wxButton::wxButton()
wxButton::~wxButton() wxButton::~wxButton()
{ {
if (m_clientData) delete m_clientData;
} }
bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label,
const wxPoint &pos, const wxSize &size, const wxPoint &pos, const wxSize &size,
long style, const wxValidator& validator, const wxString &name ) long style, const wxValidator& validator, const wxString &name )
{ {
m_clientData = (wxClientData*) NULL;
m_needParent = TRUE; m_needParent = TRUE;
m_acceptsFocus = TRUE; m_acceptsFocus = TRUE;
@@ -126,7 +124,7 @@ bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label,
return TRUE; return TRUE;
} }
void wxButton::SetDefault(void) void wxButton::SetDefault()
{ {
GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT ); GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT );
gtk_widget_grab_default( m_widget ); gtk_widget_grab_default( m_widget );

View File

@@ -119,8 +119,8 @@ wxWindowDC::wxWindowDC( wxWindow *window )
wxASSERT_MSG( widget, wxT("DC needs a widget") ); wxASSERT_MSG( widget, wxT("DC needs a widget") );
GtkMyFixed *myfixed = GTK_MYFIXED( widget ); GtkPizza *pizza = GTK_PIZZA( widget );
m_window = myfixed->bin_window; m_window = pizza->bin_window;
/* not realized ? */ /* not realized ? */
if (!m_window) if (!m_window)

View File

@@ -194,7 +194,7 @@ gtk_dialog_realized_callback( GtkWidget *widget, wxDialog *win )
static void wxInsertChildInDialog( wxDialog* parent, wxWindow* child ) 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), GTK_WIDGET(child->m_widget),
child->m_x, child->m_x,
child->m_y, child->m_y,
@@ -269,7 +269,7 @@ bool wxDialog::Create( wxWindow *parent,
gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event", gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this ); 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_show( m_wxwindow );
GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS ); GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS );

View File

@@ -300,7 +300,7 @@ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child )
{ {
/* these are outside the client area */ /* these are outside the client area */
wxFrame* frame = (wxFrame*) parent; 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), GTK_WIDGET(child->m_widget),
child->m_x, child->m_x,
child->m_y, child->m_y,
@@ -327,7 +327,7 @@ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child )
else else
{ {
/* these are inside the client area */ /* 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), GTK_WIDGET(child->m_widget),
child->m_x, child->m_x,
child->m_y, 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 ); GTK_SIGNAL_FUNC(gtk_frame_delete_callback), (gpointer)this );
/* m_mainWidget holds the toolbar, the menubar and the client area */ /* 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_show( m_mainWidget );
GTK_WIDGET_UNSET_FLAGS( m_mainWidget, GTK_CAN_FOCUS ); GTK_WIDGET_UNSET_FLAGS( m_mainWidget, GTK_CAN_FOCUS );
gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget ); gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget );
@@ -428,7 +428,7 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
#endif #endif
/* m_wxwindow only represents the client area without toolbar and menubar */ /* 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_widget_show( m_wxwindow );
gtk_container_add( GTK_CONTAINER(m_mainWidget), 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_y = yy;
m_frameMenuBar->m_width = ww; m_frameMenuBar->m_width = ww;
m_frameMenuBar->m_height = hh; 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, m_frameMenuBar->m_widget,
xx, yy, ww, hh ); xx, yy, ww, hh );
client_area_y_offset += 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_y = yy;
/* m_frameToolBar->m_height = hh; don't change the toolbar's reported size /* m_frameToolBar->m_height = hh; don't change the toolbar's reported size
m_frameToolBar->m_width = ww; */ 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, m_frameToolBar->m_widget,
xx, yy, ww, hh ); xx, yy, ww, hh );
client_area_y_offset += 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_y = client_area_y_offset + m_miniEdge + m_miniTitle;
int client_w = m_width - 2*m_miniEdge; int client_w = m_width - 2*m_miniEdge;
int client_h = m_height - client_area_y_offset- 2*m_miniEdge - m_miniTitle; 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, m_wxwindow,
client_x, client_y, client_w, client_h ); 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_y = yy;
m_frameStatusBar->m_width = ww; m_frameStatusBar->m_width = ww;
m_frameStatusBar->m_height = hh; 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, m_frameStatusBar->m_widget,
xx, yy, ww, hh ); xx, yy, ww, hh );
} }
@@ -902,7 +902,7 @@ void wxFrame::SetMenuBar( wxMenuBar *menuBar )
if (m_frameMenuBar->GetParent() != this) if (m_frameMenuBar->GetParent() != this)
{ {
m_frameMenuBar->SetParent(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_widget,
m_frameMenuBar->m_x, m_frameMenuBar->m_x,
m_frameMenuBar->m_y, m_frameMenuBar->m_y,

View File

@@ -120,7 +120,7 @@ void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height )
menu_bar->m_y = 0; menu_bar->m_y = 0;
menu_bar->m_width = m_width; menu_bar->m_width = m_width;
menu_bar->m_height = wxMENU_HEIGHT; 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, menu_bar->m_widget,
0, 0, m_width, wxMENU_HEIGHT ); 0, 0, m_width, wxMENU_HEIGHT );
} }
@@ -159,7 +159,7 @@ void wxMDIParentFrame::OnInternalIdle()
{ {
menu_bar->m_width = m_width; menu_bar->m_width = m_width;
menu_bar->m_height = wxMENU_HEIGHT; 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, menu_bar->m_widget,
0, 0, m_width, wxMENU_HEIGHT ); 0, 0, m_width, wxMENU_HEIGHT );
menu_bar->SetInvokingWindow( child_frame ); menu_bar->SetInvokingWindow( child_frame );
@@ -193,7 +193,7 @@ void wxMDIParentFrame::OnInternalIdle()
m_frameMenuBar->m_width = m_width; m_frameMenuBar->m_width = m_width;
m_frameMenuBar->m_height = wxMENU_HEIGHT; 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, m_frameMenuBar->m_widget,
0, 0, m_width, wxMENU_HEIGHT ); 0, 0, m_width, wxMENU_HEIGHT );
} }
@@ -330,7 +330,7 @@ void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
m_menuBar->SetParent( mdi_frame ); m_menuBar->SetParent( mdi_frame );
/* insert the invisible menu bar into the _parent_ 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, m_menuBar->m_widget,
0, 0, mdi_frame->m_width, wxMENU_HEIGHT ); 0, 0, mdi_frame->m_width, wxMENU_HEIGHT );
} }

View File

@@ -71,10 +71,10 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g
if (!win->m_hasVMT) return; if (!win->m_hasVMT) return;
if (gdk_event->count > 0) return; if (gdk_event->count > 0) return;
GtkMyFixed *myfixed = GTK_MYFIXED(widget); GtkPizza *pizza = GTK_PIZZA(widget);
gtk_draw_shadow( widget->style, gtk_draw_shadow( widget->style,
myfixed->bin_window, pizza->bin_window,
GTK_STATE_NORMAL, GTK_STATE_NORMAL,
GTK_SHADOW_OUT, GTK_SHADOW_OUT,
0, 0, 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_HORIZ) ||
(win->GetWindowStyle() & wxTINY_CAPTION_VERT))) (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); GdkFont *font = wxSMALL_FONT->GetInternalFont(1.0);
int x = 2; int x = 2;
if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 18; if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 18;
gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] ); 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, x,
3, 3,
win->m_width - 4 - x, win->m_width - 4 - x,
font->ascent + font->descent+1 ); font->ascent + font->descent+1 );
gdk_gc_set_foreground( gc, &widget->style->white ); 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, x+2,
3+font->ascent, 3+font->ascent,
win->m_title.mb_str() ); 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; if (!win->m_hasVMT) return;
GtkMyFixed *myfixed = GTK_MYFIXED(widget); GtkPizza *pizza = GTK_PIZZA(widget);
gtk_draw_shadow( widget->style, gtk_draw_shadow( widget->style,
myfixed->bin_window, pizza->bin_window,
GTK_STATE_NORMAL, GTK_STATE_NORMAL,
GTK_SHADOW_OUT, GTK_SHADOW_OUT,
0, 0, 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_HORIZ) ||
(win->GetWindowStyle() & wxTINY_CAPTION_VERT))) (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); GdkFont *font = wxSMALL_FONT->GetInternalFont(1.0);
int x = 2; int x = 2;
if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 17; if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 17;
gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] ); 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, x,
3, 3,
win->m_width - 4 - x, win->m_width - 4 - x,
font->ascent + font->descent+1 ); font->ascent + font->descent+1 );
gdk_gc_set_foreground( gc, &widget->style->white ); 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, x+2,
3+font->ascent, 3+font->ascent,
win->m_title.mb_str() ); 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" ); 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, close_button,
4, 4, 12, 11 ); 4, 4, 12, 11 );

View File

@@ -119,7 +119,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
gtk_signal_connect( GTK_OBJECT(m_radio), "clicked", gtk_signal_connect( GTK_OBJECT(m_radio), "clicked",
GTK_SIGNAL_FUNC(gtk_radiobutton_clicked_callback), (gpointer*)this ); 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), GTK_WIDGET(m_radio),
m_x+10, m_y+10+(i*24), 10, 10 ); 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 ); int len = 22+gdk_string_measure( font, label->label );
if (len > max_len) max_len = len; 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; y += 22;
node = node->Next(); node = node->Next();
@@ -225,7 +225,7 @@ wxSize wxRadioBox::LayoutItems()
{ {
GtkWidget *button = GTK_WIDGET( node->Data() ); 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(); node = node->Next();
if (!node) break; if (!node) break;
@@ -261,7 +261,7 @@ wxSize wxRadioBox::LayoutItems()
{ {
GtkWidget *button = GTK_WIDGET( node->Data() ); 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; x += max;
node = node->Next(); node = node->Next();

View File

@@ -85,6 +85,10 @@ static void gtk_spinctrl_callback( GtkWidget *WXUNUSED(widget), wxSpinCtrl *win
IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl,wxControl) IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl,wxControl)
BEGIN_EVENT_TABLE(wxSpinCtrl, wxControl)
EVT_CHAR(wxSpinCtrl::OnChar)
END_EVENT_TABLE()
bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id, bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
const wxString& value, const wxString& value,
const wxPoint& pos, const wxSize& size, const wxPoint& pos, const wxSize& size,
@@ -205,6 +209,27 @@ void wxSpinCtrl::SetRange(int minVal, int maxVal)
SetFocus(); 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 ) bool wxSpinCtrl::IsOwnGtkWindow( GdkWindow *window )
{ {
return GTK_SPIN_BUTTON(m_widget)->panel == window; return GTK_SPIN_BUTTON(m_widget)->panel == window;

View File

@@ -779,6 +779,20 @@ void wxTextCtrl::OnChar( wxKeyEvent &key_event )
if (GetEventHandler()->ProcessEvent(event)) return; 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(); key_event.Skip();
} }

File diff suppressed because it is too large Load Diff

View File

@@ -106,19 +106,19 @@
can find in m_widget (defined in wxWindow) can find in m_widget (defined in wxWindow)
When the class has a client area for drawing into and for containing children 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 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 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 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 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 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 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 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 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- 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. 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- 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 clicking on a scrollbar belonging to scrolled window will inevitably move
the window. In wxWindows, the scrollbar will only emit an event, send this the window. In wxWindows, the scrollbar will only emit an event, send this
to (normally) a wxScrolledWindow and that class will call ScrollWindow() 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 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 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) III)
@@ -267,8 +267,6 @@ extern bool g_isIdle;
// local code (see below) // local code (see below)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#if (GTK_MINOR_VERSION > 0)
static void draw_frame( GtkWidget *widget, wxWindow *win ) static void draw_frame( GtkWidget *widget, wxWindow *win )
{ {
if (!win->m_hasVMT) if (!win->m_hasVMT)
@@ -364,156 +362,10 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU
draw_frame( widget, win ); 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 ) static long map_to_unmodified_wx_keysym( KeySym keysym )
{ {
guint key_code = 0; 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 ); ret = ancestor->GetEventHandler()->ProcessEvent( command_event );
break; break;
} }
if (ancestor->m_isFrame)
break;
ancestor = ancestor->GetParent(); ancestor = ancestor->GetParent();
} }
} }
@@ -906,7 +760,8 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e
} }
#if (GTK_MINOR_VERSION > 0) #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) && if ( (!ret) &&
(gdk_event->keyval == GDK_F10) ) (gdk_event->keyval == GDK_F10) )
@@ -1113,9 +968,9 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton
int y = event.m_y; int y = event.m_y;
if (win->m_wxwindow) if (win->m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow);
x += myfixed->xoffset; x += pizza->xoffset;
y += myfixed->yoffset; y += pizza->yoffset;
} }
wxNode *node = win->GetChildren().First(); wxNode *node = win->GetChildren().First();
@@ -1240,9 +1095,9 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto
int y = event.m_y; int y = event.m_y;
if (win->m_wxwindow) if (win->m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow);
x += myfixed->xoffset; x += pizza->xoffset;
y += myfixed->yoffset; y += pizza->yoffset;
} }
wxNode *node = win->GetChildren().First(); wxNode *node = win->GetChildren().First();
@@ -1360,9 +1215,9 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion
int y = event.m_y; int y = event.m_y;
if (win->m_wxwindow) if (win->m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow);
x += myfixed->xoffset; x += pizza->xoffset;
y += myfixed->yoffset; y += pizza->yoffset;
} }
wxNode *node = win->GetChildren().First(); 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 /* the window might have been scrolled already, do we
have to adapt the position */ have to adapt the position */
GtkMyFixed *myfixed = GTK_MYFIXED(parent->m_wxwindow); GtkPizza *pizza = GTK_PIZZA(parent->m_wxwindow);
child->m_x += myfixed->xoffset; child->m_x += pizza->xoffset;
child->m_y += myfixed->yoffset; 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), GTK_WIDGET(child->m_widget),
child->m_x, child->m_x,
child->m_y, 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_hAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->hscrollbar) );
m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->vscrollbar) ); m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->vscrollbar) );
m_wxwindow = gtk_myfixed_new(); m_wxwindow = gtk_pizza_new();
#ifdef __WXDEBUG__ #ifdef __WXDEBUG__
debug_focus_in( m_wxwindow, wxT("wxWindow::m_wxwindow"), name ); 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 ); gtk_container_add( GTK_CONTAINER(m_widget), m_wxwindow );
#if (GTK_MINOR_VERSION > 0) #if (GTK_MINOR_VERSION > 0)
GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
if (HasFlag(wxRAISED_BORDER)) 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)) 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)) else if (HasFlag(wxSIMPLE_BORDER))
{ {
gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_THIN ); gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_THIN );
} }
else else
{ {
gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_NONE ); gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_NONE );
} }
#else // GTK_MINOR_VERSION == 0 #else // GTK_MINOR_VERSION == 0
GtkViewport *viewport = GTK_VIEWPORT(scrolledWindow->viewport); GtkViewport *viewport = GTK_VIEWPORT(scrolledWindow->viewport);
@@ -2213,19 +2068,19 @@ void wxWindow::DoSetSize( int x, int y, int width, int height, int sizeFlags )
} }
else 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 ((sizeFlags & wxSIZE_ALLOW_MINUS_ONE) == 0)
{ {
if (x != -1) m_x = x + myfixed->xoffset; if (x != -1) m_x = x + pizza->xoffset;
if (y != -1) m_y = y + myfixed->yoffset; if (y != -1) m_y = y + pizza->yoffset;
if (width != -1) m_width = width; if (width != -1) m_width = width;
if (height != -1) m_height = height; if (height != -1) m_height = height;
} }
else else
{ {
m_x = x + myfixed->xoffset; m_x = x + pizza->xoffset;
m_y = y + myfixed->yoffset; m_y = y + pizza->yoffset;
m_width = width; m_width = width;
m_height = height; m_height = height;
} }
@@ -2255,7 +2110,7 @@ void wxWindow::DoSetSize( int x, int y, int width, int height, int sizeFlags )
bottom_border = 5; 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_widget,
m_x-border, m_x-border,
m_y-border, m_y-border,
@@ -2294,7 +2149,7 @@ void wxWindow::OnInternalIdle()
if (m_wxwindow) if (m_wxwindow)
{ {
GdkWindow *window = GTK_MYFIXED(m_wxwindow)->bin_window; GdkWindow *window = GTK_PIZZA(m_wxwindow)->bin_window;
if (window) if (window)
gdk_window_set_cursor( window, cursor.GetCursor() ); gdk_window_set_cursor( window, cursor.GetCursor() );
@@ -2484,9 +2339,9 @@ void wxWindow::DoGetPosition( int *x, int *y ) const
int dy = 0; int dy = 0;
if (m_parent && m_parent->m_wxwindow) if (m_parent && m_parent->m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(m_parent->m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_parent->m_wxwindow);
dx = myfixed->xoffset; dx = pizza->xoffset;
dy = myfixed->yoffset; dy = pizza->yoffset;
} }
if (x) (*x) = m_x - dx; if (x) (*x) = m_x - dx;
@@ -2501,7 +2356,7 @@ void wxWindow::DoClientToScreen( int *x, int *y ) const
GdkWindow *source = (GdkWindow *) NULL; GdkWindow *source = (GdkWindow *) NULL;
if (m_wxwindow) if (m_wxwindow)
source = GTK_MYFIXED(m_wxwindow)->bin_window; source = GTK_PIZZA(m_wxwindow)->bin_window;
else else
source = m_widget->window; source = m_widget->window;
@@ -2530,7 +2385,7 @@ void wxWindow::DoScreenToClient( int *x, int *y ) const
GdkWindow *source = (GdkWindow *) NULL; GdkWindow *source = (GdkWindow *) NULL;
if (m_wxwindow) if (m_wxwindow)
source = GTK_MYFIXED(m_wxwindow)->bin_window; source = GTK_PIZZA(m_wxwindow)->bin_window;
else else
source = m_widget->window; source = m_widget->window;
@@ -2738,7 +2593,7 @@ void wxWindow::WarpPointer( int x, int y )
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; window = GetConnectWidget()->window;
@@ -2756,30 +2611,30 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
{ {
if (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->x, rect->y,
rect->width, rect->height ); rect->width, rect->height );
} }
else 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 /* 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 (!rect)
{ {
if (m_wxwindow) if (m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
gboolean old_clear = myfixed->clear_on_draw; gboolean old_clear = pizza->clear_on_draw;
gtk_my_fixed_set_clear( myfixed, FALSE ); gtk_pizza_set_clear( pizza, FALSE );
gtk_widget_draw( m_wxwindow, (GdkRectangle*) NULL ); gtk_widget_draw( m_wxwindow, (GdkRectangle*) NULL );
gtk_my_fixed_set_clear( myfixed, old_clear ); gtk_pizza_set_clear( pizza, old_clear );
} }
else else
gtk_widget_draw( m_widget, (GdkRectangle*) NULL ); gtk_widget_draw( m_widget, (GdkRectangle*) NULL );
@@ -2794,13 +2649,13 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
if (m_wxwindow) if (m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
gboolean old_clear = myfixed->clear_on_draw; gboolean old_clear = pizza->clear_on_draw;
gtk_my_fixed_set_clear( myfixed, FALSE ); gtk_pizza_set_clear( pizza, FALSE );
gtk_widget_draw( m_wxwindow, &gdk_rect ); gtk_widget_draw( m_wxwindow, &gdk_rect );
gtk_my_fixed_set_clear( myfixed, old_clear ); gtk_pizza_set_clear( pizza, old_clear );
} }
else else
gtk_widget_draw( m_widget, &gdk_rect ); gtk_widget_draw( m_widget, &gdk_rect );
@@ -2847,7 +2702,7 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour )
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; window = GetConnectWidget()->window;
@@ -2899,7 +2754,7 @@ bool wxWindow::SetForegroundColour( const wxColour &colour )
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; window = GetConnectWidget()->window;
@@ -3073,7 +2928,7 @@ GtkWidget* wxWindow::GetConnectWidget()
bool wxWindow::IsOwnGtkWindow( GdkWindow *window ) bool wxWindow::IsOwnGtkWindow( GdkWindow *window )
{ {
if (m_wxwindow) if (m_wxwindow)
return (window == GTK_MYFIXED(m_wxwindow)->bin_window); return (window == GTK_PIZZA(m_wxwindow)->bin_window);
return (window == m_widget->window); return (window == m_widget->window);
} }
@@ -3091,7 +2946,7 @@ bool wxWindow::SetFont( const wxFont &font )
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; window = GetConnectWidget()->window;
@@ -3129,7 +2984,7 @@ void wxWindow::CaptureMouse()
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; window = GetConnectWidget()->window;
@@ -3155,7 +3010,7 @@ void wxWindow::ReleaseMouse()
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; 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") ); 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) if (!m_scrollGC)

View File

@@ -64,14 +64,12 @@ wxButton::wxButton()
wxButton::~wxButton() wxButton::~wxButton()
{ {
if (m_clientData) delete m_clientData;
} }
bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label,
const wxPoint &pos, const wxSize &size, const wxPoint &pos, const wxSize &size,
long style, const wxValidator& validator, const wxString &name ) long style, const wxValidator& validator, const wxString &name )
{ {
m_clientData = (wxClientData*) NULL;
m_needParent = TRUE; m_needParent = TRUE;
m_acceptsFocus = TRUE; m_acceptsFocus = TRUE;
@@ -126,7 +124,7 @@ bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label,
return TRUE; return TRUE;
} }
void wxButton::SetDefault(void) void wxButton::SetDefault()
{ {
GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT ); GTK_WIDGET_SET_FLAGS( m_widget, GTK_CAN_DEFAULT );
gtk_widget_grab_default( m_widget ); gtk_widget_grab_default( m_widget );

View File

@@ -119,8 +119,8 @@ wxWindowDC::wxWindowDC( wxWindow *window )
wxASSERT_MSG( widget, wxT("DC needs a widget") ); wxASSERT_MSG( widget, wxT("DC needs a widget") );
GtkMyFixed *myfixed = GTK_MYFIXED( widget ); GtkPizza *pizza = GTK_PIZZA( widget );
m_window = myfixed->bin_window; m_window = pizza->bin_window;
/* not realized ? */ /* not realized ? */
if (!m_window) if (!m_window)

View File

@@ -194,7 +194,7 @@ gtk_dialog_realized_callback( GtkWidget *widget, wxDialog *win )
static void wxInsertChildInDialog( wxDialog* parent, wxWindow* child ) 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), GTK_WIDGET(child->m_widget),
child->m_x, child->m_x,
child->m_y, child->m_y,
@@ -269,7 +269,7 @@ bool wxDialog::Create( wxWindow *parent,
gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event", gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
GTK_SIGNAL_FUNC(gtk_dialog_delete_callback), (gpointer)this ); 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_show( m_wxwindow );
GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS ); GTK_WIDGET_UNSET_FLAGS( m_wxwindow, GTK_CAN_FOCUS );

View File

@@ -300,7 +300,7 @@ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child )
{ {
/* these are outside the client area */ /* these are outside the client area */
wxFrame* frame = (wxFrame*) parent; 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), GTK_WIDGET(child->m_widget),
child->m_x, child->m_x,
child->m_y, child->m_y,
@@ -327,7 +327,7 @@ static void wxInsertChildInFrame( wxFrame* parent, wxWindow* child )
else else
{ {
/* these are inside the client area */ /* 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), GTK_WIDGET(child->m_widget),
child->m_x, child->m_x,
child->m_y, 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 ); GTK_SIGNAL_FUNC(gtk_frame_delete_callback), (gpointer)this );
/* m_mainWidget holds the toolbar, the menubar and the client area */ /* 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_show( m_mainWidget );
GTK_WIDGET_UNSET_FLAGS( m_mainWidget, GTK_CAN_FOCUS ); GTK_WIDGET_UNSET_FLAGS( m_mainWidget, GTK_CAN_FOCUS );
gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget ); gtk_container_add( GTK_CONTAINER(m_widget), m_mainWidget );
@@ -428,7 +428,7 @@ bool wxFrame::Create( wxWindow *parent, wxWindowID id, const wxString &title,
#endif #endif
/* m_wxwindow only represents the client area without toolbar and menubar */ /* 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_widget_show( m_wxwindow );
gtk_container_add( GTK_CONTAINER(m_mainWidget), 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_y = yy;
m_frameMenuBar->m_width = ww; m_frameMenuBar->m_width = ww;
m_frameMenuBar->m_height = hh; 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, m_frameMenuBar->m_widget,
xx, yy, ww, hh ); xx, yy, ww, hh );
client_area_y_offset += 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_y = yy;
/* m_frameToolBar->m_height = hh; don't change the toolbar's reported size /* m_frameToolBar->m_height = hh; don't change the toolbar's reported size
m_frameToolBar->m_width = ww; */ 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, m_frameToolBar->m_widget,
xx, yy, ww, hh ); xx, yy, ww, hh );
client_area_y_offset += 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_y = client_area_y_offset + m_miniEdge + m_miniTitle;
int client_w = m_width - 2*m_miniEdge; int client_w = m_width - 2*m_miniEdge;
int client_h = m_height - client_area_y_offset- 2*m_miniEdge - m_miniTitle; 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, m_wxwindow,
client_x, client_y, client_w, client_h ); 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_y = yy;
m_frameStatusBar->m_width = ww; m_frameStatusBar->m_width = ww;
m_frameStatusBar->m_height = hh; 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, m_frameStatusBar->m_widget,
xx, yy, ww, hh ); xx, yy, ww, hh );
} }
@@ -902,7 +902,7 @@ void wxFrame::SetMenuBar( wxMenuBar *menuBar )
if (m_frameMenuBar->GetParent() != this) if (m_frameMenuBar->GetParent() != this)
{ {
m_frameMenuBar->SetParent(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_widget,
m_frameMenuBar->m_x, m_frameMenuBar->m_x,
m_frameMenuBar->m_y, m_frameMenuBar->m_y,

View File

@@ -120,7 +120,7 @@ void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height )
menu_bar->m_y = 0; menu_bar->m_y = 0;
menu_bar->m_width = m_width; menu_bar->m_width = m_width;
menu_bar->m_height = wxMENU_HEIGHT; 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, menu_bar->m_widget,
0, 0, m_width, wxMENU_HEIGHT ); 0, 0, m_width, wxMENU_HEIGHT );
} }
@@ -159,7 +159,7 @@ void wxMDIParentFrame::OnInternalIdle()
{ {
menu_bar->m_width = m_width; menu_bar->m_width = m_width;
menu_bar->m_height = wxMENU_HEIGHT; 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, menu_bar->m_widget,
0, 0, m_width, wxMENU_HEIGHT ); 0, 0, m_width, wxMENU_HEIGHT );
menu_bar->SetInvokingWindow( child_frame ); menu_bar->SetInvokingWindow( child_frame );
@@ -193,7 +193,7 @@ void wxMDIParentFrame::OnInternalIdle()
m_frameMenuBar->m_width = m_width; m_frameMenuBar->m_width = m_width;
m_frameMenuBar->m_height = wxMENU_HEIGHT; 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, m_frameMenuBar->m_widget,
0, 0, m_width, wxMENU_HEIGHT ); 0, 0, m_width, wxMENU_HEIGHT );
} }
@@ -330,7 +330,7 @@ void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar )
m_menuBar->SetParent( mdi_frame ); m_menuBar->SetParent( mdi_frame );
/* insert the invisible menu bar into the _parent_ 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, m_menuBar->m_widget,
0, 0, mdi_frame->m_width, wxMENU_HEIGHT ); 0, 0, mdi_frame->m_width, wxMENU_HEIGHT );
} }

View File

@@ -71,10 +71,10 @@ static void gtk_window_own_expose_callback( GtkWidget *widget, GdkEventExpose *g
if (!win->m_hasVMT) return; if (!win->m_hasVMT) return;
if (gdk_event->count > 0) return; if (gdk_event->count > 0) return;
GtkMyFixed *myfixed = GTK_MYFIXED(widget); GtkPizza *pizza = GTK_PIZZA(widget);
gtk_draw_shadow( widget->style, gtk_draw_shadow( widget->style,
myfixed->bin_window, pizza->bin_window,
GTK_STATE_NORMAL, GTK_STATE_NORMAL,
GTK_SHADOW_OUT, GTK_SHADOW_OUT,
0, 0, 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_HORIZ) ||
(win->GetWindowStyle() & wxTINY_CAPTION_VERT))) (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); GdkFont *font = wxSMALL_FONT->GetInternalFont(1.0);
int x = 2; int x = 2;
if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 18; if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 18;
gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] ); 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, x,
3, 3,
win->m_width - 4 - x, win->m_width - 4 - x,
font->ascent + font->descent+1 ); font->ascent + font->descent+1 );
gdk_gc_set_foreground( gc, &widget->style->white ); 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, x+2,
3+font->ascent, 3+font->ascent,
win->m_title.mb_str() ); 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; if (!win->m_hasVMT) return;
GtkMyFixed *myfixed = GTK_MYFIXED(widget); GtkPizza *pizza = GTK_PIZZA(widget);
gtk_draw_shadow( widget->style, gtk_draw_shadow( widget->style,
myfixed->bin_window, pizza->bin_window,
GTK_STATE_NORMAL, GTK_STATE_NORMAL,
GTK_SHADOW_OUT, GTK_SHADOW_OUT,
0, 0, 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_HORIZ) ||
(win->GetWindowStyle() & wxTINY_CAPTION_VERT))) (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); GdkFont *font = wxSMALL_FONT->GetInternalFont(1.0);
int x = 2; int x = 2;
if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 17; if (win->GetWindowStyle() & wxSYSTEM_MENU) x = 17;
gdk_gc_set_foreground( gc, &widget->style->bg[GTK_STATE_SELECTED] ); 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, x,
3, 3,
win->m_width - 4 - x, win->m_width - 4 - x,
font->ascent + font->descent+1 ); font->ascent + font->descent+1 );
gdk_gc_set_foreground( gc, &widget->style->white ); 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, x+2,
3+font->ascent, 3+font->ascent,
win->m_title.mb_str() ); 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" ); 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, close_button,
4, 4, 12, 11 ); 4, 4, 12, 11 );

View File

@@ -119,7 +119,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
gtk_signal_connect( GTK_OBJECT(m_radio), "clicked", gtk_signal_connect( GTK_OBJECT(m_radio), "clicked",
GTK_SIGNAL_FUNC(gtk_radiobutton_clicked_callback), (gpointer*)this ); 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), GTK_WIDGET(m_radio),
m_x+10, m_y+10+(i*24), 10, 10 ); 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 ); int len = 22+gdk_string_measure( font, label->label );
if (len > max_len) max_len = len; 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; y += 22;
node = node->Next(); node = node->Next();
@@ -225,7 +225,7 @@ wxSize wxRadioBox::LayoutItems()
{ {
GtkWidget *button = GTK_WIDGET( node->Data() ); 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(); node = node->Next();
if (!node) break; if (!node) break;
@@ -261,7 +261,7 @@ wxSize wxRadioBox::LayoutItems()
{ {
GtkWidget *button = GTK_WIDGET( node->Data() ); 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; x += max;
node = node->Next(); node = node->Next();

View File

@@ -85,6 +85,10 @@ static void gtk_spinctrl_callback( GtkWidget *WXUNUSED(widget), wxSpinCtrl *win
IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl,wxControl) IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl,wxControl)
BEGIN_EVENT_TABLE(wxSpinCtrl, wxControl)
EVT_CHAR(wxSpinCtrl::OnChar)
END_EVENT_TABLE()
bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id, bool wxSpinCtrl::Create(wxWindow *parent, wxWindowID id,
const wxString& value, const wxString& value,
const wxPoint& pos, const wxSize& size, const wxPoint& pos, const wxSize& size,
@@ -205,6 +209,27 @@ void wxSpinCtrl::SetRange(int minVal, int maxVal)
SetFocus(); 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 ) bool wxSpinCtrl::IsOwnGtkWindow( GdkWindow *window )
{ {
return GTK_SPIN_BUTTON(m_widget)->panel == window; return GTK_SPIN_BUTTON(m_widget)->panel == window;

View File

@@ -779,6 +779,20 @@ void wxTextCtrl::OnChar( wxKeyEvent &key_event )
if (GetEventHandler()->ProcessEvent(event)) return; 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(); key_event.Skip();
} }

File diff suppressed because it is too large Load Diff

View File

@@ -106,19 +106,19 @@
can find in m_widget (defined in wxWindow) can find in m_widget (defined in wxWindow)
When the class has a client area for drawing into and for containing children 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 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 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 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 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 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 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 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 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- 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. 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- 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 clicking on a scrollbar belonging to scrolled window will inevitably move
the window. In wxWindows, the scrollbar will only emit an event, send this the window. In wxWindows, the scrollbar will only emit an event, send this
to (normally) a wxScrolledWindow and that class will call ScrollWindow() 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 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 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) III)
@@ -267,8 +267,6 @@ extern bool g_isIdle;
// local code (see below) // local code (see below)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#if (GTK_MINOR_VERSION > 0)
static void draw_frame( GtkWidget *widget, wxWindow *win ) static void draw_frame( GtkWidget *widget, wxWindow *win )
{ {
if (!win->m_hasVMT) if (!win->m_hasVMT)
@@ -364,156 +362,10 @@ static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU
draw_frame( widget, win ); 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 ) static long map_to_unmodified_wx_keysym( KeySym keysym )
{ {
guint key_code = 0; 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 ); ret = ancestor->GetEventHandler()->ProcessEvent( command_event );
break; break;
} }
if (ancestor->m_isFrame)
break;
ancestor = ancestor->GetParent(); ancestor = ancestor->GetParent();
} }
} }
@@ -906,7 +760,8 @@ static gint gtk_window_key_press_callback( GtkWidget *widget, GdkEventKey *gdk_e
} }
#if (GTK_MINOR_VERSION > 0) #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) && if ( (!ret) &&
(gdk_event->keyval == GDK_F10) ) (gdk_event->keyval == GDK_F10) )
@@ -1113,9 +968,9 @@ static gint gtk_window_button_press_callback( GtkWidget *widget, GdkEventButton
int y = event.m_y; int y = event.m_y;
if (win->m_wxwindow) if (win->m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow);
x += myfixed->xoffset; x += pizza->xoffset;
y += myfixed->yoffset; y += pizza->yoffset;
} }
wxNode *node = win->GetChildren().First(); wxNode *node = win->GetChildren().First();
@@ -1240,9 +1095,9 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto
int y = event.m_y; int y = event.m_y;
if (win->m_wxwindow) if (win->m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow);
x += myfixed->xoffset; x += pizza->xoffset;
y += myfixed->yoffset; y += pizza->yoffset;
} }
wxNode *node = win->GetChildren().First(); wxNode *node = win->GetChildren().First();
@@ -1360,9 +1215,9 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion
int y = event.m_y; int y = event.m_y;
if (win->m_wxwindow) if (win->m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(win->m_wxwindow); GtkPizza *pizza = GTK_PIZZA(win->m_wxwindow);
x += myfixed->xoffset; x += pizza->xoffset;
y += myfixed->yoffset; y += pizza->yoffset;
} }
wxNode *node = win->GetChildren().First(); 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 /* the window might have been scrolled already, do we
have to adapt the position */ have to adapt the position */
GtkMyFixed *myfixed = GTK_MYFIXED(parent->m_wxwindow); GtkPizza *pizza = GTK_PIZZA(parent->m_wxwindow);
child->m_x += myfixed->xoffset; child->m_x += pizza->xoffset;
child->m_y += myfixed->yoffset; 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), GTK_WIDGET(child->m_widget),
child->m_x, child->m_x,
child->m_y, 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_hAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->hscrollbar) );
m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->vscrollbar) ); m_vAdjust = gtk_range_get_adjustment( GTK_RANGE(scrolledWindow->vscrollbar) );
m_wxwindow = gtk_myfixed_new(); m_wxwindow = gtk_pizza_new();
#ifdef __WXDEBUG__ #ifdef __WXDEBUG__
debug_focus_in( m_wxwindow, wxT("wxWindow::m_wxwindow"), name ); 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 ); gtk_container_add( GTK_CONTAINER(m_widget), m_wxwindow );
#if (GTK_MINOR_VERSION > 0) #if (GTK_MINOR_VERSION > 0)
GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
if (HasFlag(wxRAISED_BORDER)) 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)) 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)) else if (HasFlag(wxSIMPLE_BORDER))
{ {
gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_THIN ); gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_THIN );
} }
else else
{ {
gtk_myfixed_set_shadow_type( myfixed, GTK_MYSHADOW_NONE ); gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_NONE );
} }
#else // GTK_MINOR_VERSION == 0 #else // GTK_MINOR_VERSION == 0
GtkViewport *viewport = GTK_VIEWPORT(scrolledWindow->viewport); GtkViewport *viewport = GTK_VIEWPORT(scrolledWindow->viewport);
@@ -2213,19 +2068,19 @@ void wxWindow::DoSetSize( int x, int y, int width, int height, int sizeFlags )
} }
else 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 ((sizeFlags & wxSIZE_ALLOW_MINUS_ONE) == 0)
{ {
if (x != -1) m_x = x + myfixed->xoffset; if (x != -1) m_x = x + pizza->xoffset;
if (y != -1) m_y = y + myfixed->yoffset; if (y != -1) m_y = y + pizza->yoffset;
if (width != -1) m_width = width; if (width != -1) m_width = width;
if (height != -1) m_height = height; if (height != -1) m_height = height;
} }
else else
{ {
m_x = x + myfixed->xoffset; m_x = x + pizza->xoffset;
m_y = y + myfixed->yoffset; m_y = y + pizza->yoffset;
m_width = width; m_width = width;
m_height = height; m_height = height;
} }
@@ -2255,7 +2110,7 @@ void wxWindow::DoSetSize( int x, int y, int width, int height, int sizeFlags )
bottom_border = 5; 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_widget,
m_x-border, m_x-border,
m_y-border, m_y-border,
@@ -2294,7 +2149,7 @@ void wxWindow::OnInternalIdle()
if (m_wxwindow) if (m_wxwindow)
{ {
GdkWindow *window = GTK_MYFIXED(m_wxwindow)->bin_window; GdkWindow *window = GTK_PIZZA(m_wxwindow)->bin_window;
if (window) if (window)
gdk_window_set_cursor( window, cursor.GetCursor() ); gdk_window_set_cursor( window, cursor.GetCursor() );
@@ -2484,9 +2339,9 @@ void wxWindow::DoGetPosition( int *x, int *y ) const
int dy = 0; int dy = 0;
if (m_parent && m_parent->m_wxwindow) if (m_parent && m_parent->m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(m_parent->m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_parent->m_wxwindow);
dx = myfixed->xoffset; dx = pizza->xoffset;
dy = myfixed->yoffset; dy = pizza->yoffset;
} }
if (x) (*x) = m_x - dx; if (x) (*x) = m_x - dx;
@@ -2501,7 +2356,7 @@ void wxWindow::DoClientToScreen( int *x, int *y ) const
GdkWindow *source = (GdkWindow *) NULL; GdkWindow *source = (GdkWindow *) NULL;
if (m_wxwindow) if (m_wxwindow)
source = GTK_MYFIXED(m_wxwindow)->bin_window; source = GTK_PIZZA(m_wxwindow)->bin_window;
else else
source = m_widget->window; source = m_widget->window;
@@ -2530,7 +2385,7 @@ void wxWindow::DoScreenToClient( int *x, int *y ) const
GdkWindow *source = (GdkWindow *) NULL; GdkWindow *source = (GdkWindow *) NULL;
if (m_wxwindow) if (m_wxwindow)
source = GTK_MYFIXED(m_wxwindow)->bin_window; source = GTK_PIZZA(m_wxwindow)->bin_window;
else else
source = m_widget->window; source = m_widget->window;
@@ -2738,7 +2593,7 @@ void wxWindow::WarpPointer( int x, int y )
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; window = GetConnectWidget()->window;
@@ -2756,30 +2611,30 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
{ {
if (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->x, rect->y,
rect->width, rect->height ); rect->width, rect->height );
} }
else 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 /* 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 (!rect)
{ {
if (m_wxwindow) if (m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
gboolean old_clear = myfixed->clear_on_draw; gboolean old_clear = pizza->clear_on_draw;
gtk_my_fixed_set_clear( myfixed, FALSE ); gtk_pizza_set_clear( pizza, FALSE );
gtk_widget_draw( m_wxwindow, (GdkRectangle*) NULL ); gtk_widget_draw( m_wxwindow, (GdkRectangle*) NULL );
gtk_my_fixed_set_clear( myfixed, old_clear ); gtk_pizza_set_clear( pizza, old_clear );
} }
else else
gtk_widget_draw( m_widget, (GdkRectangle*) NULL ); gtk_widget_draw( m_widget, (GdkRectangle*) NULL );
@@ -2794,13 +2649,13 @@ void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
if (m_wxwindow) if (m_wxwindow)
{ {
GtkMyFixed *myfixed = GTK_MYFIXED(m_wxwindow); GtkPizza *pizza = GTK_PIZZA(m_wxwindow);
gboolean old_clear = myfixed->clear_on_draw; gboolean old_clear = pizza->clear_on_draw;
gtk_my_fixed_set_clear( myfixed, FALSE ); gtk_pizza_set_clear( pizza, FALSE );
gtk_widget_draw( m_wxwindow, &gdk_rect ); gtk_widget_draw( m_wxwindow, &gdk_rect );
gtk_my_fixed_set_clear( myfixed, old_clear ); gtk_pizza_set_clear( pizza, old_clear );
} }
else else
gtk_widget_draw( m_widget, &gdk_rect ); gtk_widget_draw( m_widget, &gdk_rect );
@@ -2847,7 +2702,7 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour )
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; window = GetConnectWidget()->window;
@@ -2899,7 +2754,7 @@ bool wxWindow::SetForegroundColour( const wxColour &colour )
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; window = GetConnectWidget()->window;
@@ -3073,7 +2928,7 @@ GtkWidget* wxWindow::GetConnectWidget()
bool wxWindow::IsOwnGtkWindow( GdkWindow *window ) bool wxWindow::IsOwnGtkWindow( GdkWindow *window )
{ {
if (m_wxwindow) if (m_wxwindow)
return (window == GTK_MYFIXED(m_wxwindow)->bin_window); return (window == GTK_PIZZA(m_wxwindow)->bin_window);
return (window == m_widget->window); return (window == m_widget->window);
} }
@@ -3091,7 +2946,7 @@ bool wxWindow::SetFont( const wxFont &font )
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; window = GetConnectWidget()->window;
@@ -3129,7 +2984,7 @@ void wxWindow::CaptureMouse()
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; window = GetConnectWidget()->window;
@@ -3155,7 +3010,7 @@ void wxWindow::ReleaseMouse()
GdkWindow *window = (GdkWindow*) NULL; GdkWindow *window = (GdkWindow*) NULL;
if (m_wxwindow) if (m_wxwindow)
window = GTK_MYFIXED(m_wxwindow)->bin_window; window = GTK_PIZZA(m_wxwindow)->bin_window;
else else
window = GetConnectWidget()->window; 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") ); 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) if (!m_scrollGC)

View File

@@ -95,7 +95,7 @@ void wxGLContext::SwapBuffers()
{ {
if (m_glContext) 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 ) ); glXSwapBuffers( GDK_DISPLAY(), GDK_WINDOW_XWINDOW( window ) );
} }
} }
@@ -104,7 +104,7 @@ void wxGLContext::SetCurrent()
{ {
if (m_glContext) 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 ); glXMakeCurrent( GDK_DISPLAY(), GDK_WINDOW_XWINDOW(window), m_glContext );
} }
} }
@@ -304,7 +304,7 @@ bool wxGLCanvas::Create( wxWindow *parent,
m_glWidget = m_wxwindow; 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_connect( GTK_OBJECT(m_wxwindow), "realize",
GTK_SIGNAL_FUNC(gtk_glwindow_realized_callback), (gpointer) this ); GTK_SIGNAL_FUNC(gtk_glwindow_realized_callback), (gpointer) this );