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:
@@ -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
|
||||
|
@@ -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 <gdk/gdk.h>
|
||||
#include <gtk/gtkcontainer.h>
|
||||
@@ -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__ */
|
||||
|
@@ -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
|
||||
|
@@ -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 <gdk/gdk.h>
|
||||
#include <gtk/gtkcontainer.h>
|
||||
@@ -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__ */
|
||||
|
@@ -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 );
|
||||
|
@@ -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)
|
||||
|
@@ -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 );
|
||||
|
||||
|
@@ -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,
|
||||
|
@@ -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 );
|
||||
}
|
||||
|
@@ -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 );
|
||||
|
||||
|
@@ -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();
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -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)
|
||||
|
@@ -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 );
|
||||
|
@@ -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)
|
||||
|
@@ -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 );
|
||||
|
||||
|
@@ -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,
|
||||
|
@@ -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 );
|
||||
}
|
||||
|
@@ -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 );
|
||||
|
||||
|
@@ -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();
|
||||
|
@@ -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;
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -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)
|
||||
|
@@ -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 );
|
||||
|
Reference in New Issue
Block a user