//-----------------------------------------------------------------------------
// 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 );
};
//-----------------------------------------------------------------------------
m_pDropTarget = NULL;
};
-wxWindow::wxWindow( wxWindow *parent, const wxWindowID id,
- const wxPoint &pos, const wxSize &size,
- const long style, const wxString &name )
+wxWindow::wxWindow( wxWindow *parent, wxWindowID id,
+ const wxPoint &pos, const wxSize &size,
+ long style, const wxString &name )
{
Create( parent, id, pos, size, style, name );
};
-bool wxWindow::Create( wxWindow *parent, const wxWindowID id,
- const wxPoint &pos, const wxSize &size,
- const long style, const wxString &name )
+bool wxWindow::Create( wxWindow *parent, wxWindowID id,
+ const wxPoint &pos, const wxSize &size,
+ long style, const wxString &name )
{
m_isShown = FALSE;
m_isEnabled = TRUE;
};
-void wxWindow::PreCreation( wxWindow *parent, const wxWindowID id,
- const wxPoint &pos, const wxSize &size,
- const long style, const wxString &name )
+void wxWindow::PreCreation( wxWindow *parent, wxWindowID id,
+ const wxPoint &pos, const wxSize &size,
+ long style, const wxString &name )
{
if (m_needParent && (parent == NULL))
wxFatalError( "Need complete parent.", name );
return m_hasVMT;
};
-bool wxWindow::Close( const bool force )
+bool wxWindow::Close( bool force )
{
wxCloseEvent event(wxEVT_CLOSE_WINDOW, m_windowId);
event.SetEventObject(this);
gtk_widget_set_uposition( m_widget, m_x, m_y );
};
-void wxWindow::SetSize( const int x, const int y, const int width, const int height, const int sizeFlags )
+void wxWindow::SetSize( int x, int y, int width, int height, int sizeFlags )
{
int newX = x;
int newY = y;
ProcessEvent( event );
};
-void wxWindow::SetSize( const int width, const int height )
+void wxWindow::SetSize( int width, int height )
{
SetSize( -1, -1, width, height, wxSIZE_USE_EXISTING );
};
-void wxWindow::Move( const int x, const int y )
+void wxWindow::Move( int x, int y )
{
SetSize( x, y, -1, -1, wxSIZE_USE_EXISTING );
};
(*height) = m_height;
};
-void wxWindow::SetClientSize( const int width, const int height )
+void wxWindow::SetClientSize( int width, int height )
{
if (!m_wxwindow)
{
if (y) *y -= org_y;
};
-void wxWindow::Centre( const int direction )
+void wxWindow::Centre( int direction )
{
int x = 0;
int y = 0;
void wxWindow::OnSize( wxSizeEvent &WXUNUSED(event) )
{
- if (GetAutoLayout()) Layout();
+ //if (GetAutoLayout()) Layout();
};
-bool wxWindow::Show( const bool show )
+bool wxWindow::Show( bool show )
{
if (show)
gtk_widget_show( m_widget );
return TRUE;
};
-void wxWindow::Enable( const bool enable )
+void wxWindow::Enable( bool enable )
{
m_isEnabled = enable;
gtk_widget_set_sensitive( m_widget, enable );
if (m_wxwindow) gtk_widget_set_sensitive( m_wxwindow, enable );
};
-void wxWindow::MakeModal( const bool modal )
+void wxWindow::MakeModal( bool modal )
{
return;
// Disable all other windows
gdk_window_set_cursor( m_wxwindow->window, m_cursor->GetCursor() );
};
-void wxWindow::Refresh( const bool eraseBackground, const wxRect *rect )
+void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
{
if (eraseBackground && m_wxwindow && m_wxwindow->window)
{
};
};
-bool wxWindow::IsExposed( const long x, const long y )
+bool wxWindow::IsExposed( long x, long y )
{
return (m_updateRegion.Contains( x, y ) != wxOutRegion );
};
-bool wxWindow::IsExposed( const long x, const long y, const long width, const long height )
+bool wxWindow::IsExposed( long x, long y, long width, long height )
{
return (m_updateRegion.Contains( x, y, width, height ) != wxOutRegion );
};
return (wxString&)m_windowName;
};
-bool wxWindow::IsShown(void)
+bool wxWindow::IsShown(void) const
{
return m_isShown;
};
return FALSE;
};
-wxWindow *wxWindow::FindWindow( const long id )
+wxWindow *wxWindow::FindWindow( long id )
{
if (id == m_windowId) return this;
wxNode *node = m_children.First();
return NULL;
};
-void wxWindow::SetScrollbar( const int orient, const int pos, const int thumbVisible,
- const int range, const bool WXUNUSED(refresh) )
+void wxWindow::SetScrollbar( int orient, int pos, int thumbVisible,
+ int range, bool WXUNUSED(refresh) )
{
if (!m_wxwindow) return;
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 );
};
};
-void wxWindow::SetScrollPos( const int orient, const int pos, const bool WXUNUSED(refresh) )
+void wxWindow::SetScrollPos( int orient, int pos, bool WXUNUSED(refresh) )
{
if (!m_wxwindow) return;
};
};
-int wxWindow::GetScrollThumb( const int orient ) const
+int wxWindow::GetScrollThumb( int orient ) const
{
if (!m_wxwindow) return 0;
return (int)(m_vAdjust->page_size+0.5);
};
-int wxWindow::GetScrollPos( const int orient ) const
+int wxWindow::GetScrollPos( int orient ) const
{
if (!m_wxwindow) return 0;
return (int)(m_vAdjust->value+0.5);
};
-int wxWindow::GetScrollRange( const int orient ) const
+int wxWindow::GetScrollRange( int orient ) const
{
if (!m_wxwindow) return 0;
return (int)(m_vAdjust->upper+0.5);
};
-void wxWindow::ScrollWindow( const int dx, const int dy, const wxRect* WXUNUSED(rect) )
+void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
{
if (!m_wxwindow) return;
}
;
-void wxWindow::SetAutoLayout( const bool autoLayout )
+void wxWindow::SetAutoLayout( bool autoLayout )
{
m_autoLayout = autoLayout;
};
}
// Do a phase of evaluating child constraints
-bool wxWindow::DoPhase(const int phase)
+bool wxWindow::DoPhase(int phase)
{
int noIterations = 0;
int maxIterations = 500;
// Need to distinguish between setting the 'fake' size for
// windows and sizers, and setting the real values.
-void wxWindow::SetConstraintSizes(const bool recurse)
+void wxWindow::SetConstraintSizes(bool recurse)
{
wxLayoutConstraints *constr = GetConstraints();
if (constr && constr->left.GetDone() && constr->right.GetDone() &&
*y += yp;
}
-void wxWindow::SizerSetSize(const int x, const int y, const int w, const int h)
+void wxWindow::SizerSetSize(int x, int y, int w, int h)
{
int xx = x;
int yy = y;
SetSize(xx, yy, w, h);
}
-void wxWindow::SizerMove(const int x, const int y)
+void wxWindow::SizerMove(int x, int y)
{
int xx = x;
int yy = y;
}
// Only set the size/position of the constraint (if any)
-void wxWindow::SetSizeConstraint(const int x, const int y, const int w, const int h)
+void wxWindow::SetSizeConstraint(int x, int y, int w, int h)
{
wxLayoutConstraints *constr = GetConstraints();
if (constr)
}
}
-void wxWindow::MoveConstraint(const int x, const int y)
+void wxWindow::MoveConstraint(int x, int y)
{
wxLayoutConstraints *constr = GetConstraints();
if (constr)
GetPosition(x, y);
}
+bool wxWindow::AcceptsFocus() const
+{
+ return IsEnabled() && IsShown();
+}