]> git.saurik.com Git - wxWidgets.git/commitdiff
Compile fix for wxDataFormat cast,
authorRobert Roebling <robert@roebling.de>
Fri, 22 Oct 1999 15:49:39 +0000 (15:49 +0000)
committerRobert Roebling <robert@roebling.de>
Fri, 22 Oct 1999 15:49:39 +0000 (15:49 +0000)
  Unfinished code for wxDragCopy vs. wxDragMove,
  Corrected key accel code for wxFrame as children of wxFrame.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4139 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/dobjcmn.cpp
src/gtk/dnd.cpp
src/gtk/menu.cpp
src/gtk1/dnd.cpp
src/gtk1/menu.cpp

index 7faeca754c3bf112c6c6026a20fc21441572f993..de267315e2f88598b3fc49076743d3aa76916d52 100644 (file)
@@ -97,7 +97,11 @@ wxDataObjectComposite::GetPreferredFormat(Direction WXUNUSED(dir)) const
 {
     wxSimpleDataObjectList::Node *node = m_dataObjects.Item( m_preferred );
 
+#ifdef __WXGTK__
+    wxCHECK_MSG( node, wxDataFormat(wxDF_INVALID), wxT("no preferred format") );
+#else
     wxCHECK_MSG( node, wxDataFormat((unsigned short) wxDF_INVALID), wxT("no preferred format") );
+#endif
 
     wxDataObjectSimple* dataObj = node->GetData();
 
index 6b411b3de9fbe744f538fb16989252f53317c5fc..8618f4de2d5afea57f35422288749dca7aa06f13 100644 (file)
@@ -188,8 +188,8 @@ static gboolean target_drag_motion( GtkWidget *WXUNUSED(widget),
        this is only valid for the duration of this call */
     drop_target->SetDragContext( context );
 
-    /* TODO: what should be the default behaviour? Copy or move? */
     wxDragResult result = wxDragMove;
+    if (context->suggested_action == GDK_ACTION_COPY) result = wxDragCopy;
 
     if (drop_target->m_firstMotion)
     {
@@ -202,12 +202,13 @@ static gboolean target_drag_motion( GtkWidget *WXUNUSED(widget),
         result = drop_target->OnDragOver( x, y, result );
     }
 
-    /* we don't yet handle which "actions" (i.e. copy or move)
-       the target accepts. so far we simply accept the
-       suggested action. TODO. */
     bool ret = result != wxDragNone;
     if (ret)
+    {
+        GdkDragAction action = GDK_ACTION_MOVE;
+       if (result == wxDragCopy) action == GDK_ACTION_COPY;
         gdk_drag_status( context, context->suggested_action, time );
+    }
 
     /* after this, invalidate the drop_target's GdkDragContext */
     drop_target->SetDragContext( (GdkDragContext*) NULL );
@@ -254,6 +255,11 @@ static gboolean target_drag_drop( GtkWidget *widget,
        this is only valid for the duration of this call */
     drop_target->SetDragTime( time );
 
+/*
+    wxDragResult result = wxDragMove;
+    if (context->suggested_action == GDK_ACTION_COPY) result = wxDragCopy;
+*/
+
     bool ret = drop_target->OnDrop( x, y );
 
     if (!ret)
@@ -278,6 +284,11 @@ static gboolean target_drag_drop( GtkWidget *widget,
         GdkAtom format = drop_target->GetMatchingPair();
         wxASSERT( format );
         
+/*
+        GdkDragAction action = GDK_ACTION_MOVE;
+       if (result == wxDragCopy) action == GDK_ACTION_COPY;
+       context->action = action;
+*/
         /* this should trigger an "drag_data_received" event */
         gtk_drag_get_data( widget,
                            context,
index 8827eb6e8b3d757c51323689806ca12bcdfca7c7..35a6a05cd034939ef8e8e856b123b00dff525c5e 100644 (file)
@@ -113,7 +113,8 @@ static void wxMenubarUnsetInvokingWindow( wxMenu *menu, wxWindow *win )
 
 #if (GTK_MINOR_VERSION > 0)
     wxWindow *top_frame = win;
-    while (top_frame->GetParent()) top_frame = top_frame->GetParent();
+    while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) 
+        top_frame = top_frame->GetParent();
 
     /* support for native hot keys  */
     gtk_accel_group_detach( menu->m_accel, GTK_OBJECT(top_frame->m_widget) );
@@ -135,8 +136,8 @@ static void wxMenubarSetInvokingWindow( wxMenu *menu, wxWindow *win )
 
 #if (GTK_MINOR_VERSION > 0)
     wxWindow *top_frame = win;
-    while (top_frame->GetParent())
-       top_frame = top_frame->GetParent();
+    while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) 
+        top_frame = top_frame->GetParent();
 
     /* support for native hot keys  */
     gtk_accel_group_attach( menu->m_accel, GTK_OBJECT(top_frame->m_widget) );
@@ -157,8 +158,8 @@ void wxMenuBar::SetInvokingWindow( wxWindow *win )
     m_invokingWindow = win;
 #if (GTK_MINOR_VERSION > 0) && (GTK_MICRO_VERSION > 0)
     wxWindow *top_frame = win;
-    while (top_frame->GetParent())
-       top_frame = top_frame->GetParent();
+    while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) 
+        top_frame = top_frame->GetParent();
 
     /* support for native key accelerators indicated by underscroes */
     gtk_accel_group_attach( m_accel, GTK_OBJECT(top_frame->m_widget) );
@@ -178,8 +179,8 @@ void wxMenuBar::UnsetInvokingWindow( wxWindow *win )
     m_invokingWindow = (wxWindow*) NULL;
 #if (GTK_MINOR_VERSION > 0) && (GTK_MICRO_VERSION > 0)
     wxWindow *top_frame = win;
-    while (top_frame->GetParent())
-       top_frame = top_frame->GetParent();
+    while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) 
+        top_frame = top_frame->GetParent();
 
     /* support for native key accelerators indicated by underscroes */
     gtk_accel_group_detach( m_accel, GTK_OBJECT(top_frame->m_widget) );
index 6b411b3de9fbe744f538fb16989252f53317c5fc..8618f4de2d5afea57f35422288749dca7aa06f13 100644 (file)
@@ -188,8 +188,8 @@ static gboolean target_drag_motion( GtkWidget *WXUNUSED(widget),
        this is only valid for the duration of this call */
     drop_target->SetDragContext( context );
 
-    /* TODO: what should be the default behaviour? Copy or move? */
     wxDragResult result = wxDragMove;
+    if (context->suggested_action == GDK_ACTION_COPY) result = wxDragCopy;
 
     if (drop_target->m_firstMotion)
     {
@@ -202,12 +202,13 @@ static gboolean target_drag_motion( GtkWidget *WXUNUSED(widget),
         result = drop_target->OnDragOver( x, y, result );
     }
 
-    /* we don't yet handle which "actions" (i.e. copy or move)
-       the target accepts. so far we simply accept the
-       suggested action. TODO. */
     bool ret = result != wxDragNone;
     if (ret)
+    {
+        GdkDragAction action = GDK_ACTION_MOVE;
+       if (result == wxDragCopy) action == GDK_ACTION_COPY;
         gdk_drag_status( context, context->suggested_action, time );
+    }
 
     /* after this, invalidate the drop_target's GdkDragContext */
     drop_target->SetDragContext( (GdkDragContext*) NULL );
@@ -254,6 +255,11 @@ static gboolean target_drag_drop( GtkWidget *widget,
        this is only valid for the duration of this call */
     drop_target->SetDragTime( time );
 
+/*
+    wxDragResult result = wxDragMove;
+    if (context->suggested_action == GDK_ACTION_COPY) result = wxDragCopy;
+*/
+
     bool ret = drop_target->OnDrop( x, y );
 
     if (!ret)
@@ -278,6 +284,11 @@ static gboolean target_drag_drop( GtkWidget *widget,
         GdkAtom format = drop_target->GetMatchingPair();
         wxASSERT( format );
         
+/*
+        GdkDragAction action = GDK_ACTION_MOVE;
+       if (result == wxDragCopy) action == GDK_ACTION_COPY;
+       context->action = action;
+*/
         /* this should trigger an "drag_data_received" event */
         gtk_drag_get_data( widget,
                            context,
index 8827eb6e8b3d757c51323689806ca12bcdfca7c7..35a6a05cd034939ef8e8e856b123b00dff525c5e 100644 (file)
@@ -113,7 +113,8 @@ static void wxMenubarUnsetInvokingWindow( wxMenu *menu, wxWindow *win )
 
 #if (GTK_MINOR_VERSION > 0)
     wxWindow *top_frame = win;
-    while (top_frame->GetParent()) top_frame = top_frame->GetParent();
+    while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) 
+        top_frame = top_frame->GetParent();
 
     /* support for native hot keys  */
     gtk_accel_group_detach( menu->m_accel, GTK_OBJECT(top_frame->m_widget) );
@@ -135,8 +136,8 @@ static void wxMenubarSetInvokingWindow( wxMenu *menu, wxWindow *win )
 
 #if (GTK_MINOR_VERSION > 0)
     wxWindow *top_frame = win;
-    while (top_frame->GetParent())
-       top_frame = top_frame->GetParent();
+    while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) 
+        top_frame = top_frame->GetParent();
 
     /* support for native hot keys  */
     gtk_accel_group_attach( menu->m_accel, GTK_OBJECT(top_frame->m_widget) );
@@ -157,8 +158,8 @@ void wxMenuBar::SetInvokingWindow( wxWindow *win )
     m_invokingWindow = win;
 #if (GTK_MINOR_VERSION > 0) && (GTK_MICRO_VERSION > 0)
     wxWindow *top_frame = win;
-    while (top_frame->GetParent())
-       top_frame = top_frame->GetParent();
+    while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) 
+        top_frame = top_frame->GetParent();
 
     /* support for native key accelerators indicated by underscroes */
     gtk_accel_group_attach( m_accel, GTK_OBJECT(top_frame->m_widget) );
@@ -178,8 +179,8 @@ void wxMenuBar::UnsetInvokingWindow( wxWindow *win )
     m_invokingWindow = (wxWindow*) NULL;
 #if (GTK_MINOR_VERSION > 0) && (GTK_MICRO_VERSION > 0)
     wxWindow *top_frame = win;
-    while (top_frame->GetParent())
-       top_frame = top_frame->GetParent();
+    while (top_frame->GetParent() && !(top_frame->GetParent()->m_isFrame)) 
+        top_frame = top_frame->GetParent();
 
     /* support for native key accelerators indicated by underscroes */
     gtk_accel_group_detach( m_accel, GTK_OBJECT(top_frame->m_widget) );