projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
correction to last commit: Korean and Romanian translations will only be in 2.9.1...
[wxWidgets.git]
/
src
/
gtk1
/
window.cpp
diff --git
a/src/gtk1/window.cpp
b/src/gtk1/window.cpp
index 3b6b76436fc3831096f7db7d46f2e07932051fe7..a670cf909941cf84ca67f75bd20fe64a91a29e0c 100644
(file)
--- a/
src/gtk1/window.cpp
+++ b/
src/gtk1/window.cpp
@@
-49,7
+49,7
@@
#include "wx/fontutil.h"
#include "wx/fontutil.h"
-#if
def __WXDEBUG__
+#if
wxDEBUG_LEVEL
#include "wx/thread.h"
#endif
#include "wx/thread.h"
#endif
@@
-207,19
+207,19
@@
static GdkGC *g_eraseGC = NULL;
// mouse capture state: the window which has it and if the mouse is currently
// inside it
// mouse capture state: the window which has it and if the mouse is currently
// inside it
-static wxWindowGTK *g_captureWindow =
(wxWindowGTK*)
NULL;
+static wxWindowGTK *g_captureWindow = NULL;
static bool g_captureWindowHasMouse = false;
static bool g_captureWindowHasMouse = false;
-wxWindowGTK *g_focusWindow =
(wxWindowGTK*)
NULL;
+wxWindowGTK *g_focusWindow = NULL;
// the last window which had the focus - this is normally never NULL (except
// if we never had focus at all) as even when g_focusWindow is NULL it still
// keeps its previous value
// the last window which had the focus - this is normally never NULL (except
// if we never had focus at all) as even when g_focusWindow is NULL it still
// keeps its previous value
-wxWindowGTK *g_focusWindowLast =
(wxWindowGTK*)
NULL;
+wxWindowGTK *g_focusWindowLast = NULL;
// If a window get the focus set but has not been realized
// yet, defer setting the focus to idle time.
// If a window get the focus set but has not been realized
// yet, defer setting the focus to idle time.
-wxWindowGTK *g_delayedFocus =
(wxWindowGTK*)
NULL;
+wxWindowGTK *g_delayedFocus = NULL;
// hack: we need something to pass to gtk_menu_popup, so we store the time of
// the last click here (extern: used from gtk/menu.cpp)
// hack: we need something to pass to gtk_menu_popup, so we store the time of
// the last click here (extern: used from gtk/menu.cpp)
@@
-227,7
+227,7
@@
guint32 wxGtkTimeLastClick = 0;
// global variables because GTK+ DnD want to have the
// mouse event that caused it
// global variables because GTK+ DnD want to have the
// mouse event that caused it
-GdkEvent *g_lastMouseEvent =
(GdkEvent*)
NULL;
+GdkEvent *g_lastMouseEvent = NULL;
int g_lastButtonNumber = 0;
extern bool g_mainThreadLocked;
int g_lastButtonNumber = 0;
extern bool g_mainThreadLocked;
@@
-236,16
+236,13
@@
extern bool g_mainThreadLocked;
// debug
//-----------------------------------------------------------------------------
// debug
//-----------------------------------------------------------------------------
-#ifdef __WXDEBUG__
-
#if wxUSE_THREADS
#if wxUSE_THREADS
-# define DEBUG_MAIN_THREAD if (wxThread::IsMain() && g_mainThreadLocked) printf("gui reentrance");
+# define DEBUG_MAIN_THREAD \
+ wxASSERT_MSG( !g_mainThreadLocked || !wxThread::IsMain(), \
+ "GUI reentrancy detected" );
#else
# define DEBUG_MAIN_THREAD
#endif
#else
# define DEBUG_MAIN_THREAD
#endif
-#else
-#define DEBUG_MAIN_THREAD
-#endif // Debug
// the trace mask used for the focus debugging messages
#define TRACE_FOCUS _T("focus")
// the trace mask used for the focus debugging messages
#define TRACE_FOCUS _T("focus")
@@
-294,7
+291,7
@@
wxWindow *wxFindFocusedChild(wxWindowGTK *win)
{
wxWindow *winFocus = wxWindowGTK::FindFocus();
if ( !winFocus )
{
wxWindow *winFocus = wxWindowGTK::FindFocus();
if ( !winFocus )
- return
(wxWindow *)
NULL;
+ return NULL;
if ( winFocus == win )
return (wxWindow *)win;
if ( winFocus == win )
return (wxWindow *)win;
@@
-308,7
+305,7
@@
wxWindow *wxFindFocusedChild(wxWindowGTK *win)
return child;
}
return child;
}
- return
(wxWindow *)
NULL;
+ return NULL;
}
static void draw_frame( GtkWidget *widget, wxWindowGTK *win )
}
static void draw_frame( GtkWidget *widget, wxWindowGTK *win )
@@
-371,7
+368,7
@@
static void draw_frame( GtkWidget *widget, wxWindowGTK *win )
return;
}
return;
}
- if (win->HasFlag(wxSUNKEN_BORDER))
+ if (win->HasFlag(wxSUNKEN_BORDER)
|| win->HasFlag(wxBORDER_THEME)
)
{
gtk_draw_shadow( widget->style,
widget->window,
{
gtk_draw_shadow( widget->style,
widget->window,
@@
-428,7
+425,7
@@
static void gtk_window_own_draw_callback( GtkWidget *widget, GdkRectangle *WXUNU
// make it extern because wxStaticText needs to disconnect this one
extern "C" {
// make it extern because wxStaticText needs to disconnect this one
extern "C" {
-void wxgtk_window_size_request_callback(GtkWidget *
widget
,
+void wxgtk_window_size_request_callback(GtkWidget *
WXUNUSED(widget)
,
GtkRequisition *requisition,
wxWindow *win)
{
GtkRequisition *requisition,
wxWindow *win)
{
@@
-446,7
+443,7
@@
void wxgtk_window_size_request_callback(GtkWidget *widget,
extern "C" {
static
extern "C" {
static
-void wxgtk_combo_size_request_callback(GtkWidget *
widget
,
+void wxgtk_combo_size_request_callback(GtkWidget *
WXUNUSED(widget)
,
GtkRequisition *requisition,
wxComboBox *win)
{
GtkRequisition *requisition,
wxComboBox *win)
{
@@
-478,7
+475,7
@@
void wxgtk_combo_size_request_callback(GtkWidget *widget,
//-----------------------------------------------------------------------------
extern "C" {
//-----------------------------------------------------------------------------
extern "C" {
-static int gtk_window_expose_callback( GtkWidget *
widget
,
+static int gtk_window_expose_callback( GtkWidget *
WXUNUSED(widget)
,
GdkEventExpose *gdk_event,
wxWindow *win )
{
GdkEventExpose *gdk_event,
wxWindow *win )
{
@@
-611,7
+608,7
@@
static void gtk_window_draw_callback( GtkWidget *widget,
GdkRectangle child_area;
if (gtk_widget_intersect (child->widget, rect, &child_area))
{
GdkRectangle child_area;
if (gtk_widget_intersect (child->widget, rect, &child_area))
{
- gtk_widget_draw (child->widget, &child_area /*
(GdkRectangle*)
NULL*/ );
+ gtk_widget_draw (child->widget, &child_area /* NULL*/ );
}
}
#endif
}
}
#endif
@@
-923,11
+920,13
@@
static void wxFillOtherKeyEventFields(wxKeyEvent& event,
event.m_controlDown = (gdk_event->state & GDK_CONTROL_MASK) != 0;
event.m_altDown = (gdk_event->state & GDK_MOD1_MASK) != 0;
event.m_metaDown = (gdk_event->state & GDK_MOD2_MASK) != 0;
event.m_controlDown = (gdk_event->state & GDK_CONTROL_MASK) != 0;
event.m_altDown = (gdk_event->state & GDK_MOD1_MASK) != 0;
event.m_metaDown = (gdk_event->state & GDK_MOD2_MASK) != 0;
- event.m_scanCode = gdk_event->keyval;
event.m_rawCode = (wxUint32) gdk_event->keyval;
event.m_rawFlags = 0;
#if wxUSE_UNICODE
event.m_rawCode = (wxUint32) gdk_event->keyval;
event.m_rawFlags = 0;
#if wxUSE_UNICODE
- event.m_uniChar = gdk_keyval_to_unicode(gdk_event->keyval);
+#if 0
+ // this is not gtk1.x
+ event.m_uniChar = gdk_keyval_to_unicode(gdk_event->keyval);
+#endif
#endif
wxGetMousePosition( &x, &y );
win->ScreenToClient( &x, &y );
#endif
wxGetMousePosition( &x, &y );
win->ScreenToClient( &x, &y );
@@
-1063,7
+1062,7
@@
static gint gtk_window_key_press_callback( GtkWidget *widget,
if ( wxTranslateGTKKeyEventToWx(event, win, gdk_event) )
{
// Emit KEY_DOWN event
if ( wxTranslateGTKKeyEventToWx(event, win, gdk_event) )
{
// Emit KEY_DOWN event
- ret = win->
GetEventHandler()->Process
Event( event );
+ ret = win->
HandleWindow
Event( event );
}
else
{
}
else
{
@@
-1119,12
+1118,12
@@
static gint gtk_window_key_press_callback( GtkWidget *widget,
if (parent)
{
event.SetEventType( wxEVT_CHAR_HOOK );
if (parent)
{
event.SetEventType( wxEVT_CHAR_HOOK );
- ret = parent->
GetEventHandler()->Process
Event( event );
+ ret = parent->
HandleWindow
Event( event );
}
if (!ret)
{
event.SetEventType(wxEVT_CHAR);
}
if (!ret)
{
event.SetEventType(wxEVT_CHAR);
- win->
GetEventHandler()->Process
Event( event );
+ win->
HandleWindow
Event( event );
}
}
return true;
}
}
return true;
@@
-1143,7
+1142,7
@@
static gint gtk_window_key_press_callback( GtkWidget *widget,
if (command != -1)
{
wxCommandEvent command_event( wxEVT_COMMAND_MENU_SELECTED, command );
if (command != -1)
{
wxCommandEvent command_event( wxEVT_COMMAND_MENU_SELECTED, command );
- ret = ancestor->
GetEventHandler()->Process
Event( command_event );
+ ret = ancestor->
HandleWindow
Event( command_event );
break;
}
if (ancestor->IsTopLevel())
break;
}
if (ancestor->IsTopLevel())
@@
-1188,13
+1187,13
@@
static gint gtk_window_key_press_callback( GtkWidget *widget,
if (parent)
{
event.SetEventType( wxEVT_CHAR_HOOK );
if (parent)
{
event.SetEventType( wxEVT_CHAR_HOOK );
- ret = parent->
GetEventHandler()->Process
Event( event );
+ ret = parent->
HandleWindow
Event( event );
}
if (!ret)
{
event.SetEventType(wxEVT_CHAR);
}
if (!ret)
{
event.SetEventType(wxEVT_CHAR);
- ret = win->
GetEventHandler()->Process
Event( event );
+ ret = win->
HandleWindow
Event( event );
}
}
}
}
}
}
@@
-1224,7
+1223,7
@@
static gint gtk_window_key_press_callback( GtkWidget *widget,
// CTRL-TAB changes the (parent) window, i.e. switch notebook page
new_event.SetWindowChange( (gdk_event->state & GDK_CONTROL_MASK) );
new_event.SetCurrentFocus( win );
// CTRL-TAB changes the (parent) window, i.e. switch notebook page
new_event.SetWindowChange( (gdk_event->state & GDK_CONTROL_MASK) );
new_event.SetCurrentFocus( win );
- ret = win->GetParent()->
GetEventHandler()->Process
Event( new_event );
+ ret = win->GetParent()->
HandleWindow
Event( new_event );
}
// generate wxID_CANCEL if <esc> has been pressed (typically in dialogs)
}
// generate wxID_CANCEL if <esc> has been pressed (typically in dialogs)
@@
-1260,7
+1259,7
@@
static gint gtk_window_key_press_callback( GtkWidget *widget,
{
wxCommandEvent eventClick(wxEVT_COMMAND_BUTTON_CLICKED, wxID_CANCEL);
eventClick.SetEventObject(btnCancel);
{
wxCommandEvent eventClick(wxEVT_COMMAND_BUTTON_CLICKED, wxID_CANCEL);
eventClick.SetEventObject(btnCancel);
- ret = btnCancel->
GetEventHandler()->Process
Event(eventClick);
+ ret = btnCancel->
HandleWindow
Event(eventClick);
}
}
}
}
@@
-1301,7
+1300,7
@@
static gint gtk_window_key_release_callback( GtkWidget *widget,
return FALSE;
}
return FALSE;
}
- if ( !win->
GetEventHandler()->Process
Event( event ) )
+ if ( !win->
HandleWindow
Event( event ) )
return FALSE;
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "key_release_event" );
return FALSE;
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "key_release_event" );
@@
-1430,7
+1429,7
@@
wxWindowGTK *FindWindowForMouseEvent(wxWindowGTK *win, wxCoord& x, wxCoord& y)
}
else
{
}
else
{
- if ((child->m_wxwindow ==
(GtkWidget*)
NULL) &&
+ if ((child->m_wxwindow == NULL) &&
(child->m_x <= xx) &&
(child->m_y <= yy) &&
(child->m_x+child->m_width >= xx) &&
(child->m_x <= xx) &&
(child->m_y <= yy) &&
(child->m_x+child->m_width >= xx) &&
@@
-1613,7
+1612,7
@@
static gint gtk_window_button_press_callback( GtkWidget *widget,
}
}
}
}
- if (win->
GetEventHandler()->Process
Event( event ))
+ if (win->
HandleWindow
Event( event ))
{
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "button_press_event" );
g_lastMouseEvent = NULL;
{
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "button_press_event" );
g_lastMouseEvent = NULL;
@@
-1635,7
+1634,7
@@
static gint gtk_window_button_press_callback( GtkWidget *widget,
win->GetId(),
win->ClientToScreen(event.GetPosition()));
evtCtx.SetEventObject(win);
win->GetId(),
win->ClientToScreen(event.GetPosition()));
evtCtx.SetEventObject(win);
- return win->
GetEventHandler()->Process
Event(evtCtx);
+ return win->
HandleWindow
Event(evtCtx);
}
return FALSE;
}
return FALSE;
@@
-1698,7
+1697,7
@@
static gint gtk_window_button_release_callback( GtkWidget *widget,
if ( !g_captureWindow )
win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
if ( !g_captureWindow )
win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
- if (win->
GetEventHandler()->Process
Event( event ))
+ if (win->
HandleWindow
Event( event ))
{
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "button_release_event" );
return TRUE;
{
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "button_release_event" );
return TRUE;
@@
-1768,7
+1767,7
@@
static gint gtk_window_motion_notify_callback( GtkWidget *widget,
: wxEVT_LEAVE_WINDOW);
InitMouseEvent(win, eventM, gdk_event);
eventM.SetEventObject(win);
: wxEVT_LEAVE_WINDOW);
InitMouseEvent(win, eventM, gdk_event);
eventM.SetEventObject(win);
- win->
GetEventHandler()->Process
Event(eventM);
+ win->
HandleWindow
Event(eventM);
}
}
else // no capture
}
}
else // no capture
@@
-1776,7
+1775,7
@@
static gint gtk_window_motion_notify_callback( GtkWidget *widget,
win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
}
win = FindWindowForMouseEvent(win, event.m_x, event.m_y);
}
- bool ret = win->
GetEventHandler()->Process
Event( event );
+ bool ret = win->
HandleWindow
Event( event );
g_lastMouseEvent = NULL;
if ( ret )
g_lastMouseEvent = NULL;
if ( ret )
@@
-1799,12
+1798,12
@@
static bool DoSendFocusEvents(wxWindow *win)
// Notify the parent keeping track of focus for the kbd navigation
// purposes that we got it.
wxChildFocusEvent eventChildFocus(win);
// Notify the parent keeping track of focus for the kbd navigation
// purposes that we got it.
wxChildFocusEvent eventChildFocus(win);
- (void)win->
GetEventHandler()->Process
Event(eventChildFocus);
+ (void)win->
HandleWindow
Event(eventChildFocus);
wxFocusEvent eventFocus(wxEVT_SET_FOCUS, win->GetId());
eventFocus.SetEventObject(win);
wxFocusEvent eventFocus(wxEVT_SET_FOCUS, win->GetId());
eventFocus.SetEventObject(win);
- return win->
GetEventHandler()->Process
Event(eventFocus);
+ return win->
HandleWindow
Event(eventFocus);
}
extern "C" {
}
extern "C" {
@@
-1859,7
+1858,9
@@
static gint gtk_window_focus_in_callback( GtkWidget *widget,
//-----------------------------------------------------------------------------
extern "C" {
//-----------------------------------------------------------------------------
extern "C" {
-static gint gtk_window_focus_out_callback( GtkWidget *widget, GdkEventFocus *gdk_event, wxWindowGTK *win )
+static gint gtk_window_focus_out_callback( GtkWidget *WXUNUSED(widget),
+ GdkEventFocus *WXUNUSED(gdk_event),
+ wxWindowGTK *win )
{
DEBUG_MAIN_THREAD
{
DEBUG_MAIN_THREAD
@@
-1874,7
+1875,7
@@
static gint gtk_window_focus_out_callback( GtkWidget *widget, GdkEventFocus *gdk
if ( winFocus )
win = winFocus;
if ( winFocus )
win = winFocus;
- g_focusWindow =
(wxWindowGTK *)
NULL;
+ g_focusWindow = NULL;
#ifdef HAVE_XIM
if (win->m_ic)
#ifdef HAVE_XIM
if (win->m_ic)
@@
-1903,7
+1904,7
@@
static gint gtk_window_focus_out_callback( GtkWidget *widget, GdkEventFocus *gdk
// process it too as otherwise bad things happen, especially in GTK2
// where the text control simply aborts the program if it doesn't get
// the matching focus out event
// process it too as otherwise bad things happen, especially in GTK2
// where the text control simply aborts the program if it doesn't get
// the matching focus out event
- (void)win->
GetEventHandler()->Process
Event( event );
+ (void)win->
HandleWindow
Event( event );
}
return FALSE;
}
return FALSE;
@@
-1945,7
+1946,7
@@
gint gtk_window_enter_callback( GtkWidget *widget,
event.m_x = x + pt.x;
event.m_y = y + pt.y;
event.m_x = x + pt.x;
event.m_y = y + pt.y;
- if (win->
GetEventHandler()->Process
Event( event ))
+ if (win->
HandleWindow
Event( event ))
{
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "enter_notify_event" );
return TRUE;
{
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "enter_notify_event" );
return TRUE;
@@
-1997,7
+1998,7
@@
static gint gtk_window_leave_callback( GtkWidget *widget, GdkEventCrossing *gdk_
event.m_x = x + pt.x;
event.m_y = y + pt.y;
event.m_x = x + pt.x;
event.m_y = y + pt.y;
- if (win->
GetEventHandler()->Process
Event( event ))
+ if (win->
HandleWindow
Event( event ))
{
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "leave_notify_event" );
return TRUE;
{
gtk_signal_emit_stop_by_name( GTK_OBJECT(widget), "leave_notify_event" );
return TRUE;
@@
-2037,7
+2038,7
@@
static void gtk_window_vscroll_callback( GtkAdjustment *adjust,
wxScrollWinEvent event( command, value, wxVERTICAL );
event.SetEventObject( win );
wxScrollWinEvent event( command, value, wxVERTICAL );
event.SetEventObject( win );
- win->
GetEventHandler()->Process
Event( event );
+ win->
HandleWindow
Event( event );
}
}
}
}
@@
-2070,7
+2071,7
@@
static void gtk_window_hscroll_callback( GtkAdjustment *adjust,
wxScrollWinEvent event( command, value, wxHORIZONTAL );
event.SetEventObject( win );
wxScrollWinEvent event( command, value, wxHORIZONTAL );
event.SetEventObject( win );
- win->
GetEventHandler()->Process
Event( event );
+ win->
HandleWindow
Event( event );
}
}
}
}
@@
-2136,7
+2137,7
@@
static gint gtk_scrollbar_button_release_callback( GtkRange *widget,
wxScrollWinEvent event( command, value, dir );
event.SetEventObject( win );
wxScrollWinEvent event( command, value, dir );
event.SetEventObject( win );
- win->
GetEventHandler()->Process
Event( event );
+ win->
HandleWindow
Event( event );
}
win->m_isScrolling = false;
}
win->m_isScrolling = false;
@@
-2165,7
+2166,7
@@
wxWindow *wxWindowBase::DoFindFocus()
extern "C" {
static gint
extern "C" {
static gint
-gtk_window_realized_callback( GtkWidget *
m_widget
, wxWindow *win )
+gtk_window_realized_callback( GtkWidget *
WXUNUSED(widget)
, wxWindow *win )
{
DEBUG_MAIN_THREAD
{
DEBUG_MAIN_THREAD
@@
-2174,7
+2175,7
@@
gtk_window_realized_callback( GtkWidget *m_widget, wxWindow *win )
wxWindowCreateEvent event( win );
event.SetEventObject( win );
wxWindowCreateEvent event( win );
event.SetEventObject( win );
- win->
GetEventHandler()->Process
Event( event );
+ win->
HandleWindow
Event( event );
return FALSE;
}
return FALSE;
}
@@
-2208,7
+2209,7
@@
void gtk_window_size_callback( GtkWidget *WXUNUSED(widget),
{
wxSizeEvent event( win->GetSize(), win->GetId() );
event.SetEventObject( win );
{
wxSizeEvent event( win->GetSize(), win->GetId() );
event.SetEventObject( win );
- win->
GetEventHandler()->Process
Event( event );
+ win->
HandleWindow
Event( event );
}
}
}
}
}
}
@@
-2225,7
+2226,7
@@
void gtk_window_size_callback( GtkWidget *WXUNUSED(widget),
extern "C" {
static
void gtk_wxwindow_size_callback( GtkWidget* WXUNUSED_UNLESS_XIM(widget),
extern "C" {
static
void gtk_wxwindow_size_callback( GtkWidget* WXUNUSED_UNLESS_XIM(widget),
- GtkAllocation* WXUNUSED
_UNLESS_XIM
(alloc),
+ GtkAllocation* WXUNUSED(alloc),
wxWindowGTK* WXUNUSED_UNLESS_XIM(win) )
{
if (g_isIdle)
wxWindowGTK* WXUNUSED_UNLESS_XIM(win) )
{
if (g_isIdle)
@@
-2419,9
+2420,9
@@
wxMouseState wxGetMouseState()
void wxWindowGTK::Init()
{
// GTK specific
void wxWindowGTK::Init()
{
// GTK specific
- m_widget =
(GtkWidget *)
NULL;
- m_wxwindow =
(GtkWidget *)
NULL;
- m_focusWidget =
(GtkWidget *)
NULL;
+ m_widget = NULL;
+ m_wxwindow = NULL;
+ m_focusWidget = NULL;
// position/size
m_x = 0;
// position/size
m_x = 0;
@@
-2432,7
+2433,6
@@
void wxWindowGTK::Init()
m_sizeSet = false;
m_hasVMT = false;
m_needParent = true;
m_sizeSet = false;
m_hasVMT = false;
m_needParent = true;
- m_isBeingDeleted = false;
m_noExpose = false;
m_nativeSizeEvent = false;
m_noExpose = false;
m_nativeSizeEvent = false;
@@
-2440,8
+2440,8
@@
void wxWindowGTK::Init()
m_hasScrolling = false;
m_isScrolling = false;
m_hasScrolling = false;
m_isScrolling = false;
- m_hAdjust =
(GtkAdjustment*)
NULL;
- m_vAdjust =
(GtkAdjustment*)
NULL;
+ m_hAdjust = NULL;
+ m_vAdjust = NULL;
m_oldHorizontalPos =
m_oldVerticalPos = 0.0;
m_oldClientWidth =
m_oldHorizontalPos =
m_oldVerticalPos = 0.0;
m_oldClientWidth =
@@
-2461,8
+2461,8
@@
void wxWindowGTK::Init()
m_cursor = *wxSTANDARD_CURSOR;
#ifdef HAVE_XIM
m_cursor = *wxSTANDARD_CURSOR;
#ifdef HAVE_XIM
- m_ic =
(GdkIC*)
NULL;
- m_icattr =
(GdkICAttr*)
NULL;
+ m_ic = NULL;
+ m_icattr = NULL;
#endif
}
#endif
}
@@
-2490,6
+2490,11
@@
bool wxWindowGTK::Create( wxWindow *parent,
long style,
const wxString &name )
{
long style,
const wxString &name )
{
+ // Get default border
+ wxBorder border = GetBorder(style);
+ style &= ~wxBORDER_MASK;
+ style |= border;
+
if (!PreCreation( parent, pos, size ) ||
!CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
{
if (!PreCreation( parent, pos, size ) ||
!CreateBase( parent, id, pos, size, style, wxDefaultValidator, name ))
{
@@
-2499,7
+2504,7
@@
bool wxWindowGTK::Create( wxWindow *parent,
m_insertCallback = wxInsertChildInWindow;
m_insertCallback = wxInsertChildInWindow;
- m_widget = gtk_scrolled_window_new(
(GtkAdjustment *) NULL, (GtkAdjustment *)
NULL );
+ m_widget = gtk_scrolled_window_new(
NULL,
NULL );
GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
GtkScrolledWindow *scrolledWindow = GTK_SCROLLED_WINDOW(m_widget);
GTK_WIDGET_UNSET_FLAGS( m_widget, GTK_CAN_FOCUS );
GtkScrolledWindow *scrolledWindow = GTK_SCROLLED_WINDOW(m_widget);
@@
-2521,7
+2526,7
@@
bool wxWindowGTK::Create( wxWindow *parent,
{
gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_OUT );
}
{
gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_OUT );
}
- else if (HasFlag(wxSUNKEN_BORDER))
+ else if (HasFlag(wxSUNKEN_BORDER)
|| HasFlag(wxBORDER_THEME)
)
{
gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_IN );
}
{
gtk_pizza_set_shadow_type( pizza, GTK_MYSHADOW_IN );
}
@@
-2603,7
+2608,6
@@
wxWindowGTK::~wxWindowGTK()
if ( g_delayedFocus == this )
g_delayedFocus = NULL;
if ( g_delayedFocus == this )
g_delayedFocus = NULL;
- m_isBeingDeleted = true;
m_hasVMT = false;
// destroy children before destroying this window itself
m_hasVMT = false;
// destroy children before destroying this window itself
@@
-2632,13
+2636,13
@@
wxWindowGTK::~wxWindowGTK()
if (m_wxwindow)
{
gtk_widget_destroy( m_wxwindow );
if (m_wxwindow)
{
gtk_widget_destroy( m_wxwindow );
- m_wxwindow =
(GtkWidget*)
NULL;
+ m_wxwindow = NULL;
}
if (m_widget)
{
gtk_widget_destroy( m_widget );
}
if (m_widget)
{
gtk_widget_destroy( m_widget );
- m_widget =
(GtkWidget*)
NULL;
+ m_widget = NULL;
}
}
}
}
@@
-2907,7
+2911,7
@@
void wxWindowGTK::DoSetSize( int x, int y, int width, int height, int sizeFlags
{
wxSizeEvent event( wxSize(m_width,m_height), GetId() );
event.SetEventObject( this );
{
wxSizeEvent event( wxSize(m_width,m_height), GetId() );
event.SetEventObject( this );
-
GetEventHandler()->Process
Event( event );
+
HandleWindow
Event( event );
}
m_resizing = false;
}
m_resizing = false;
@@
-2958,7
+2962,7
@@
void wxWindowGTK::OnInternalIdle()
}
}
}
}
- if (wxUpdateUIEvent::CanUpdate(this) && IsShown())
+ if (wxUpdateUIEvent::CanUpdate(this) && IsShown
OnScreen
())
UpdateWindowUI(wxUPDATE_UI_FROMIDLE);
}
UpdateWindowUI(wxUPDATE_UI_FROMIDLE);
}
@@
-2984,7
+2988,7
@@
void wxWindowGTK::DoSetClientSize( int width, int height )
int dh = 0;
#ifndef __WXUNIVERSAL__
int dh = 0;
#ifndef __WXUNIVERSAL__
- if (HasFlag(wxRAISED_BORDER) || HasFlag(wxSUNKEN_BORDER))
+ if (HasFlag(wxRAISED_BORDER) || HasFlag(wxSUNKEN_BORDER)
|| HasFlag(wxBORDER_THEME)
)
{
/* when using GTK 1.2 we set the shadow border size to 2 */
dw += 2 * 2;
{
/* when using GTK 1.2 we set the shadow border size to 2 */
dw += 2 * 2;
@@
-3048,7
+3052,7
@@
void wxWindowGTK::DoGetClientSize( int *width, int *height ) const
int dh = 0;
#ifndef __WXUNIVERSAL__
int dh = 0;
#ifndef __WXUNIVERSAL__
- if (HasFlag(wxRAISED_BORDER) || HasFlag(wxSUNKEN_BORDER))
+ if (HasFlag(wxRAISED_BORDER) || HasFlag(wxSUNKEN_BORDER)
|| HasFlag(wxBORDER_THEME)
)
{
/* when using GTK 1.2 we set the shadow border size to 2 */
dw += 2 * 2;
{
/* when using GTK 1.2 we set the shadow border size to 2 */
dw += 2 * 2;
@@
-3128,7
+3132,7
@@
void wxWindowGTK::DoClientToScreen( int *x, int *y ) const
if (!m_widget->window) return;
if (!m_widget->window) return;
- GdkWindow *source =
(GdkWindow *)
NULL;
+ GdkWindow *source = NULL;
if (m_wxwindow)
source = GTK_PIZZA(m_wxwindow)->bin_window;
else
if (m_wxwindow)
source = GTK_PIZZA(m_wxwindow)->bin_window;
else
@@
-3157,7
+3161,7
@@
void wxWindowGTK::DoScreenToClient( int *x, int *y ) const
if (!m_widget->window) return;
if (!m_widget->window) return;
- GdkWindow *source =
(GdkWindow *)
NULL;
+ GdkWindow *source = NULL;
if (m_wxwindow)
source = GTK_PIZZA(m_wxwindow)->bin_window;
else
if (m_wxwindow)
source = GTK_PIZZA(m_wxwindow)->bin_window;
else
@@
-3198,7
+3202,7
@@
bool wxWindowGTK::Show( bool show )
wxShowEvent eventShow(GetId(), show);
eventShow.SetEventObject(this);
wxShowEvent eventShow(GetId(), show);
eventShow.SetEventObject(this);
-
GetEventHandler()->Process
Event(eventShow);
+
HandleWindow
Event(eventShow);
return true;
}
return true;
}
@@
-3421,7
+3425,7
@@
void wxWindowGTK::WarpPointer( int x, int y )
// We provide this function ourselves as it is
// missing in GDK (top of this file).
// We provide this function ourselves as it is
// missing in GDK (top of this file).
- GdkWindow *window =
(GdkWindow*)
NULL;
+ GdkWindow *window = NULL;
if (m_wxwindow)
window = GTK_PIZZA(m_wxwindow)->bin_window;
else
if (m_wxwindow)
window = GTK_PIZZA(m_wxwindow)->bin_window;
else
@@
-3495,7
+3499,7
@@
void wxWindowGTK::Refresh( bool eraseBackground, const wxRect *rect )
}
else
{
}
else
{
- gtk_widget_draw( m_widget,
(GdkRectangle*)
NULL );
+ gtk_widget_draw( m_widget, NULL );
}
}
}
}
}
}
@@
-3573,20
+3577,16
@@
void wxWindowGTK::GtkSendPaintEvents()
}
}
}
}
}
}
- else
-
- // if (!m_clearRegion.IsEmpty()) // Always send an erase event under GTK 1.2
+ else // Always send an erase event under GTK 1.2
{
wxWindowDC dc( (wxWindow*)this );
{
wxWindowDC dc( (wxWindow*)this );
- if (m_clearRegion.IsEmpty())
- dc.SetClippingRegion( m_updateRegion );
- else
- dc.SetClippingRegion( m_clearRegion );
+ dc.SetDeviceClippingRegion( m_clearRegion.IsEmpty() ? m_updateRegion
+ : m_clearRegion );
wxEraseEvent erase_event( GetId(), &dc );
erase_event.SetEventObject( this );
wxEraseEvent erase_event( GetId(), &dc );
erase_event.SetEventObject( this );
- if (!
GetEventHandler()->Process
Event(erase_event) && GetBackgroundStyle() != wxBG_STYLE_CUSTOM)
+ if (!
HandleWindow
Event(erase_event) && GetBackgroundStyle() != wxBG_STYLE_CUSTOM)
{
if (!g_eraseGC)
{
{
if (!g_eraseGC)
{
@@
-3608,11
+3608,11
@@
void wxWindowGTK::GtkSendPaintEvents()
wxNcPaintEvent nc_paint_event( GetId() );
nc_paint_event.SetEventObject( this );
wxNcPaintEvent nc_paint_event( GetId() );
nc_paint_event.SetEventObject( this );
-
GetEventHandler()->Process
Event( nc_paint_event );
+
HandleWindow
Event( nc_paint_event );
wxPaintEvent paint_event( GetId() );
paint_event.SetEventObject( this );
wxPaintEvent paint_event( GetId() );
paint_event.SetEventObject( this );
-
GetEventHandler()->Process
Event( paint_event );
+
HandleWindow
Event( paint_event );
m_clipPaintRegion = false;
m_clipPaintRegion = false;
@@
-3689,7
+3689,7
@@
void wxWindowGTK::DoSetToolTip( wxToolTip *tip )
void wxWindowGTK::ApplyToolTip( GtkTooltips *tips, const wxChar *tip )
{
wxString tmp( tip );
void wxWindowGTK::ApplyToolTip( GtkTooltips *tips, const wxChar *tip )
{
wxString tmp( tip );
- gtk_tooltips_set_tip( tips, GetConnectWidget(), wxGTK_CONV(tmp),
(gchar*)
NULL );
+ gtk_tooltips_set_tip( tips, GetConnectWidget(), wxGTK_CONV(tmp), NULL );
}
#endif // wxUSE_TOOLTIPS
}
#endif // wxUSE_TOOLTIPS
@@
-3823,7
+3823,7
@@
bool wxWindowGTK::SetBackgroundStyle(wxBackgroundStyle style)
if (style == wxBG_STYLE_CUSTOM)
{
if (style == wxBG_STYLE_CUSTOM)
{
- GdkWindow *window =
(GdkWindow*)
NULL;
+ GdkWindow *window = NULL;
if (m_wxwindow)
window = GTK_PIZZA(m_wxwindow)->bin_window;
else
if (m_wxwindow)
window = GTK_PIZZA(m_wxwindow)->bin_window;
else
@@
-3907,7
+3907,7
@@
void wxWindowGTK::DoCaptureMouse()
{
wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
{
wxCHECK_RET( m_widget != NULL, wxT("invalid window") );
- GdkWindow *window =
(GdkWindow*)
NULL;
+ GdkWindow *window = NULL;
if (m_wxwindow)
window = GTK_PIZZA(m_wxwindow)->bin_window;
else
if (m_wxwindow)
window = GTK_PIZZA(m_wxwindow)->bin_window;
else
@@
-3925,7
+3925,7
@@
void wxWindowGTK::DoCaptureMouse()
GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_HINT_MASK |
GDK_POINTER_MOTION_MASK),
GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_HINT_MASK |
GDK_POINTER_MOTION_MASK),
-
(GdkWindow *)
NULL,
+ NULL,
cursor->GetCursor(),
(guint32)GDK_CURRENT_TIME );
g_captureWindow = this;
cursor->GetCursor(),
(guint32)GDK_CURRENT_TIME );
g_captureWindow = this;
@@
-3938,9
+3938,9
@@
void wxWindowGTK::DoReleaseMouse()
wxCHECK_RET( g_captureWindow, wxT("can't release mouse - not captured") );
wxCHECK_RET( g_captureWindow, wxT("can't release mouse - not captured") );
- g_captureWindow =
(wxWindowGTK*)
NULL;
+ g_captureWindow = NULL;
- GdkWindow *window =
(GdkWindow*)
NULL;
+ GdkWindow *window = NULL;
if (m_wxwindow)
window = GTK_PIZZA(m_wxwindow)->bin_window;
else
if (m_wxwindow)
window = GTK_PIZZA(m_wxwindow)->bin_window;
else
@@
-4219,3
+4219,11
@@
void wxWinModule::OnExit()
if (g_eraseGC)
gdk_gc_unref( g_eraseGC );
}
if (g_eraseGC)
gdk_gc_unref( g_eraseGC );
}
+
+GdkWindow* wxWindowGTK::GTKGetDrawingWindow() const
+{
+ GdkWindow* window = NULL;
+ if (m_wxwindow)
+ window = GTK_PIZZA(m_wxwindow)->bin_window;
+ return window;
+}