]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/window.cpp
The usual amount of trash over my telephone fixed
[wxWidgets.git] / src / gtk / window.cpp
index 96a880d6889eb76a9e715decf4c355ca5f300661..f49fb9cf9bfb3063dd44b74f41a6ad7c91d5da12 100644 (file)
@@ -21,8 +21,9 @@
 #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"
@@ -633,6 +634,17 @@ static gint gtk_window_button_release_callback( GtkWidget *widget, GdkEventButto
 
 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;
@@ -645,7 +657,7 @@ static gint gtk_window_motion_notify_callback( GtkWidget *widget, GdkEventMotion
     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);
@@ -1105,6 +1117,15 @@ static void wxInsertChildInWindow( wxWindow* parent, wxWindow* child )
                          child->m_height );
 }
 
+//-----------------------------------------------------------------------------
+// global functions
+//-----------------------------------------------------------------------------
+
+wxWindow* wxGetActiveWindow()
+{
+  return g_focusWindow;
+}
+
 //-----------------------------------------------------------------------------
 // wxWindow
 //-----------------------------------------------------------------------------
@@ -1166,7 +1187,9 @@ wxWindow::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;
@@ -1332,7 +1355,9 @@ wxWindow::~wxWindow()
 {
     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 );
@@ -1451,7 +1476,9 @@ void wxWindow::PreCreation( wxWindow *parent, wxWindowID id,
     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;
@@ -2488,6 +2515,8 @@ bool wxWindow::PopupMenu( wxMenu *menu, int WXUNUSED(x), int WXUNUSED(y) )
     return TRUE;
 }
 
+#if wxUSE_DRAG_AND_DROP
+
 void wxWindow::SetDropTarget( wxDropTarget *dropTarget )
 {
     wxCHECK_RET( m_widget != NULL, "invalid window" );
@@ -2507,6 +2536,8 @@ wxDropTarget *wxWindow::GetDropTarget() const
     return m_dropTarget;
 }
 
+#endif
+
 GtkWidget* wxWindow::GetConnectWidget()
 {
     GtkWidget *connect_widget = m_widget;