X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1fe91d709854883a7e38f9b6aad709b98cebe030..3d777efedc1e05bd6c2a7c34a00a65895b62bb13:/include/wx/gtk/dnd.h diff --git a/include/wx/gtk/dnd.h b/include/wx/gtk/dnd.h index c29ded049e..0aea7b41f6 100644 --- a/include/wx/gtk/dnd.h +++ b/include/wx/gtk/dnd.h @@ -1,8 +1,7 @@ /////////////////////////////////////////////////////////////////////////////// -// Name: dnd.h +// Name: wx/gtk/dnd.h // Purpose: declaration of the wxDropTarget class // Author: Robert Roebling -// RCS-ID: $Id$ // Copyright: (c) 1998 Vadim Zeitlin, Robert Roebling // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -36,10 +35,13 @@ public: virtual wxDragResult OnData(wxCoord x, wxCoord y, wxDragResult def); virtual bool GetData(); + // Can only be called during OnXXX methods. + wxDataFormat GetMatchingPair(); // implementation - - GdkAtom GtkGetMatchingPair(); + + GdkAtom GTKGetMatchingPair(bool quiet = false); + wxDragResult GTKFigureOutSuggestedAction(); void GtkRegisterWidget( GtkWidget *widget ); void GtkUnregisterWidget( GtkWidget *widget ); @@ -47,13 +49,13 @@ public: GdkDragContext *m_dragContext; GtkWidget *m_dragWidget; GtkSelectionData *m_dragData; - guint m_dragTime; + unsigned m_dragTime; bool m_firstMotion; // gdk has no "gdk_drag_enter" event - void GtkSetDragContext( GdkDragContext *dc ) { m_dragContext = dc; } - void GtkSetDragWidget( GtkWidget *w ) { m_dragWidget = w; } - void GtkSetDragData( GtkSelectionData *sd ) { m_dragData = sd; } - void GtkSetDragTime( guint time ) { m_dragTime = time; } + void GTKSetDragContext( GdkDragContext *dc ) { m_dragContext = dc; } + void GTKSetDragWidget( GtkWidget *w ) { m_dragWidget = w; } + void GTKSetDragData( GtkSelectionData *sd ) { m_dragData = sd; } + void GTKSetDragTime(unsigned time) { m_dragTime = time; } }; //------------------------------------------------------------------------- @@ -78,6 +80,17 @@ public: virtual ~wxDropSource(); + // set the icon corresponding to given drag result + void SetIcon(wxDragResult res, const wxIcon& icon) + { + if ( res == wxDragCopy ) + m_iconCopy = icon; + else if ( res == wxDragMove ) + m_iconMove = icon; + else + m_iconNone = icon; + } + // start drag action virtual wxDragResult DoDragDrop(int flags = wxDrag_CopyOnly);