#include "wx/utils.h"
#include "wx/dialog.h"
#include "wx/msgdlg.h"
-#include "wx/dcclient.h"
+#if wxUSE_DRAG_AND_DROP
#include "wx/dnd.h"
+#endif
#include "wx/menu.h"
#include "wx/statusbr.h"
#include "wx/intl.h"
#include "wx/settings.h"
#include "wx/log.h"
-#include "gdk/gdkprivate.h"
-#include "gdk/gdkkeysyms.h"
#include <math.h>
+#include "gdk/gdk.h"
+#include "gtk/gtk.h"
+#include "gdk/gdkprivate.h"
+#include "gdk/gdkkeysyms.h"
+#include "wx/gtk/win_gtk.h"
+
//-----------------------------------------------------------------------------
// documentation on internals
//-----------------------------------------------------------------------------
static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion *gdk_event, wxWindow *win )
{
+ if (gdk_event->is_hint)
+ {
+ int x = 0;
+ int y = 0;
+ GdkModifierType state;
+ gdk_window_get_pointer(gdk_event->window, &x, &y, &state);
+ gdk_event->x = x;
+ gdk_event->y = y;
+ gdk_event->state = state;
+ }
+
if (!win->IsOwnGtkWindow( gdk_event->window )) return TRUE;
if (g_blockEventsOnDrag) return TRUE;
if (win->GetClassInfo() && win->GetClassInfo()->GetClassName())
printf( win->GetClassInfo()->GetClassName() );
printf( ".\n" );
-*/
+*/
wxMouseEvent event( wxEVT_MOTION );
event.m_shiftDown = (gdk_event->state & GDK_SHIFT_MASK);
child->m_height );
}
+//-----------------------------------------------------------------------------
+// global functions
+//-----------------------------------------------------------------------------
+
+wxWindow* wxGetActiveWindow()
+{
+ return g_focusWindow;
+}
+
//-----------------------------------------------------------------------------
// wxWindow
//-----------------------------------------------------------------------------
m_isShown = FALSE;
m_isEnabled = TRUE;
+#if wxUSE_DRAG_AND_DROP
m_dropTarget = (wxDropTarget*) NULL;
+#endif
m_resizing = FALSE;
m_scrollGC = (GdkGC*) NULL;
m_widgetStyle = (GtkStyle*) NULL;
{
m_hasVMT = FALSE;
+#if wxUSE_DRAG_AND_DROP
if (m_dropTarget) delete m_dropTarget;
+#endif
if (m_parent) m_parent->RemoveChild( this );
if (m_widget) Show( FALSE );
m_isShown = FALSE;
m_isEnabled = TRUE;
+#if wxUSE_DRAG_AND_DROP
m_dropTarget = (wxDropTarget *) NULL;
+#endif
m_resizing = FALSE;
m_windowValidator = (wxValidator *) NULL;
m_scrollGC = (GdkGC*) NULL;
if ((m_minWidth != -1) && (m_width < m_minWidth)) m_width = m_minWidth;
if ((m_minHeight != -1) && (m_height < m_minHeight)) m_height = m_minHeight;
- if ((m_maxWidth != -1) && (m_width > m_maxWidth)) m_width = m_minWidth;
- if ((m_maxHeight != -1) && (m_height > m_maxHeight)) m_height = m_minHeight;
+ if ((m_maxWidth != -1) && (m_width > m_maxWidth)) m_width = m_maxWidth;
+ if ((m_maxHeight != -1) && (m_height > m_maxHeight)) m_height = m_maxHeight;
wxPoint pt( m_parent->GetClientAreaOrigin() );
gtk_myfixed_move( GTK_MYFIXED(m_parent->m_wxwindow), m_widget, m_x+pt.x, m_y+pt.y );
gdk_window_set_cursor( m_wxwindow->window, m_cursor->GetCursor() );
}
+void wxWindow::WarpPointer( int WXUNUSED(x), int WXUNUSED(y) )
+{
+ // TODO
+}
+
void wxWindow::Refresh( bool eraseBackground, const wxRect *rect )
{
wxCHECK_RET( (m_widget != NULL), "invalid window" );
return TRUE;
}
+#if wxUSE_DRAG_AND_DROP
+
void wxWindow::SetDropTarget( wxDropTarget *dropTarget )
{
wxCHECK_RET( m_widget != NULL, "invalid window" );
return m_dropTarget;
}
+#endif
+
GtkWidget* wxWindow::GetConnectWidget()
{
GtkWidget *connect_widget = m_widget;