+ /* constructor. set data later with SetData() */
+ wxDropSource( wxWindow *win, const wxIcon &go = wxNullIcon, const wxIcon &stop = wxNullIcon );
+
+ /* constructor for setting one data object */
+ wxDropSource( wxDataObject *data, wxWindow *win, const wxIcon &go = wxNullIcon, const wxIcon &stop = wxNullIcon );
+
+ /* constructor for setting several data objects via wxDataBroker */
+ wxDropSource( wxDataBroker *data, wxWindow *win );
+
+ ~wxDropSource();
+
+ /* set several dataobjects via wxDataBroker */
+ void SetData( wxDataBroker *data );
+
+ /* set one dataobject */
+ void SetData( wxDataObject *data );
+
+ /* start drag action */
+ wxDragResult DoDragDrop( bool bAllowMove = FALSE );
+
+ /* override to give feedback */
+ virtual bool GiveFeedback( wxDragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; }
+
+ /* GTK implementation */
+
+ void RegisterWindow();
+ void UnregisterWindow();
+
+ GtkWidget *m_widget;
+ wxWindow *m_window;
+ wxDragResult m_retValue;
+ wxDataBroker *m_data;
+
+ wxCursor m_defaultCursor;
+ wxCursor m_goaheadCursor;
+
+ wxIcon m_goIcon;
+ wxIcon m_stopIcon;