projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixing dangling includes
[wxWidgets.git]
/
src
/
gtk1
/
window.cpp
diff --git
a/src/gtk1/window.cpp
b/src/gtk1/window.cpp
index 3b6b76436fc3831096f7db7d46f2e07932051fe7..1924cc9fe2691ba537b34e4f45c5956b7cf2f5bb 100644
(file)
--- a/
src/gtk1/window.cpp
+++ b/
src/gtk1/window.cpp
@@
-371,7
+371,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
+428,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
+446,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
+478,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 )
{
@@
-927,7
+927,10
@@
static void wxFillOtherKeyEventFields(wxKeyEvent& event,
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
+1066,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
+1122,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
+1146,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
+1191,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
+1227,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
+1263,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
+1304,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" );
@@
-1613,7
+1616,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
+1638,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
+1701,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
+1771,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
+1779,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
+1802,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
+1862,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
@@
-1903,7
+1908,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
+1950,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
+2002,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
+2042,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
+2075,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
+2141,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
+2170,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
+2179,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
+2213,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
+2230,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)
@@
-2490,6
+2495,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 ))
{
@@
-2521,7
+2531,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 );
}
@@
-2907,7
+2917,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
+2968,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
+2994,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
+3058,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;
@@
-3198,7
+3208,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;
}
@@
-3573,20
+3583,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
+3614,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;
@@
-4219,3
+4225,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;
+}