X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8e00741dbdf74ee5583ea8b0134f01023c8f2480..444cb676b239bd5d87c645c21c800053271cc348:/include/wx/gtk1/dnd.h diff --git a/include/wx/gtk1/dnd.h b/include/wx/gtk1/dnd.h index c43eeca35b..e6e45f03a8 100644 --- a/include/wx/gtk1/dnd.h +++ b/include/wx/gtk1/dnd.h @@ -15,8 +15,6 @@ #pragma interface #endif -#include "wx/defs.h" - #if wxUSE_DRAG_AND_DROP #include "wx/object.h" @@ -35,7 +33,6 @@ class wxWindow; class wxDropTarget; class wxTextDropTarget; class wxFileDropTarget; -class wxPrivateDropTarget; class wxDropSource; @@ -43,43 +40,23 @@ class wxDropSource; // wxDropTarget //------------------------------------------------------------------------- -class wxDropTarget: public wxObject +class wxDropTarget: public wxDropTargetBase { public: - wxDropTarget( wxDataObject *data ); - ~wxDropTarget(); - - /* may be overridden to react to events */ - virtual bool OnEnter( int x, int y ); - - virtual void OnLeave(); - - /* may be overridden to reject certain formats or drops - on certain areas. always returns TRUE by default - indicating that you'd accept the data from the drag. */ - virtual bool OnMove( int x, int y ); + wxDropTarget(wxDataObject *dataObject = (wxDataObject*) NULL ); - /* has to be overridden to accept a drop event. call - IsSupported() to ask which formats are available - and then call RequestData() to indicate the format - you request. */ - virtual bool OnDrop( int x, int y ); + virtual wxDragResult OnDragOver(wxCoord x, wxCoord y, wxDragResult def); + virtual bool OnDrop(wxCoord x, wxCoord y); + virtual wxDragResult OnData(wxCoord x, wxCoord y, wxDragResult def); + virtual bool GetData(); - /* this gets called once the data has actually arrived. - it will call GetData() to fill up its wxDataObject */ - virtual bool OnData( int x, int y ); - - /* fill data with data from the dragging source */ - bool GetData(); - -// implementation + // implementation GdkAtom GetMatchingPair(); void RegisterWidget( GtkWidget *widget ); void UnregisterWidget( GtkWidget *widget ); - wxDataObject *m_data; GdkDragContext *m_dragContext; GtkWidget *m_dragWidget; GtkSelectionData *m_dragData; @@ -96,50 +73,38 @@ public: // wxDropSource //------------------------------------------------------------------------- -enum wxDragResult -{ - wxDragError, // error prevented the d&d operation from completing - wxDragNone, // drag target didn't accept the data - wxDragCopy, // the data was successfully copied - wxDragMove, // the data was successfully moved (MSW only) - wxDragCancel // the operation was cancelled by user (not an error) -}; - -class wxDropSource: public wxObject +class wxDropSource: public wxDropSourceBase { public: + /* constructor. set data later with SetData() */ + wxDropSource( wxWindow *win = (wxWindow *)NULL, + const wxIcon &go = wxNullIcon ); - /* constructor. set data later with SetData() */ - wxDropSource( wxWindow *win, const wxIcon &go = wxNullIcon, const wxIcon &stop = wxNullIcon ); - - wxDropSource( wxDataObject& data, wxWindow *win, const wxIcon &go = wxNullIcon, const wxIcon &stop = wxNullIcon ); - ~wxDropSource(); - - void SetData( wxDataObject& data ); - - /* start drag action */ - wxDragResult DoDragDrop( bool bAllowMove = FALSE ); + /* constructor for setting one data object */ + wxDropSource( wxDataObject& data, + wxWindow *win, + const wxIcon &go = wxNullIcon ); - /* override to give feedback */ - virtual bool GiveFeedback( wxDragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; } + ~wxDropSource(); - /* GTK implementation */ + /* start drag action */ + virtual wxDragResult DoDragDrop( bool bAllowMove = FALSE ); - void RegisterWindow(); - void UnregisterWindow(); + /* GTK implementation */ + void RegisterWindow(); + void UnregisterWindow(); - GtkWidget *m_widget; - wxWindow *m_window; - wxDragResult m_retValue; - wxDataObject *m_data; + void PrepareIcon( int hot_x, int hot_y, GdkDragContext *context ); - wxCursor m_defaultCursor; - wxCursor m_goaheadCursor; + GtkWidget *m_widget; + GtkWidget *m_iconWindow; + GdkDragContext *m_dragContext; + wxWindow *m_window; - wxIcon m_goIcon; - wxIcon m_stopIcon; + wxDragResult m_retValue; + wxIcon m_icon; - bool m_waiting; + bool m_waiting; }; #endif