//-----------------------------------------------------------------------------
// focus_in
-void gtk_window_focus_in_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxWindow *win )
+gint gtk_window_focus_in_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxWindow *win )
{
- if (g_blockEventsOnDrag) return;
+ if (g_blockEventsOnDrag) return FALSE;
if (win->m_wxwindow)
{
if (GTK_WIDGET_CAN_FOCUS(win->m_wxwindow))
};
};
- if (!win->HasVMT()) return;
+ if (!win->HasVMT()) return FALSE;
/*
printf( "OnSetFocus from " );
wxFocusEvent event( wxEVT_SET_FOCUS, win->GetId() );
event.SetEventObject( win );
- win->ProcessEvent( event );
+ return win->ProcessEvent( event );
};
//-----------------------------------------------------------------------------
// focus out
-void gtk_window_focus_out_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxWindow *win )
+gint gtk_window_focus_out_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED(event), wxWindow *win )
{
- if (g_blockEventsOnDrag) return;
+ if (g_blockEventsOnDrag) return FALSE;
if (win->m_wxwindow)
{
if (GTK_WIDGET_CAN_FOCUS(win->m_wxwindow))
GTK_WIDGET_UNSET_FLAGS (win->m_wxwindow, GTK_HAS_FOCUS);
};
- if (!win->HasVMT()) return;
+ if (!win->HasVMT()) return FALSE;
/*
printf( "OnKillFocus from " );
wxFocusEvent event( wxEVT_KILL_FOCUS, win->GetId() );
event.SetEventObject( win );
- win->ProcessEvent( event );
+ return win->ProcessEvent( event );
};
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// enter
-bool gtk_window_enter_callback( GtkWidget *widget, GdkEvent *WXUNUSED(event), wxWindow *win )
+bool gtk_window_enter_callback( GtkWidget *widget, GdkEventCrossing *gdk_event, wxWindow *win )
{
+ if (widget->window != gdk_event->window) return TRUE;
+
if (g_blockEventsOnDrag) return FALSE;
if (widget->window)
gdk_window_set_cursor( widget->window, win->m_cursor->GetCursor() );
- return TRUE;
+ wxMouseEvent event( wxEVT_ENTER_WINDOW );
+ event.SetEventObject( win );
+ return win->ProcessEvent( event );
};
//-----------------------------------------------------------------------------
// leave
-bool gtk_window_leave_callback( GtkWidget *widget, GdkEvent *WXUNUSED(event), wxWindow *WXUNUSED(win) )
+bool gtk_window_leave_callback( GtkWidget *widget, GdkEventCrossing *gdk_event, wxWindow *win )
{
+ if (widget->window != gdk_event->window) return TRUE;
+
if (g_blockEventsOnDrag) return FALSE;
if (widget->window)
gdk_window_set_cursor( widget->window, wxSTANDARD_CURSOR->GetCursor() );
- return TRUE;
+ wxMouseEvent event( wxEVT_LEAVE_WINDOW );
+ event.SetEventObject( win );
+ return win->ProcessEvent( event );
};
//-----------------------------------------------------------------------------
void wxWindow::OnSize( wxSizeEvent &WXUNUSED(event) )
{
- if (GetAutoLayout()) Layout();
+ //if (GetAutoLayout()) Layout();
};
bool wxWindow::Show( bool show )
else
gtk_signal_emit_by_name( GTK_OBJECT(m_vAdjust), "changed" );
-// gtk_widget_set_usize( m_widget, m_width, m_height );
+ gtk_widget_set_usize( m_widget, m_width, m_height );
};
};