X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8400ad1ed675bad90d258d97ec1758fc3f668411..6d9713540dd22f7e81a7c11a68249f5ed35c87bd:/include/wx/mac/dnd.h diff --git a/include/wx/mac/dnd.h b/include/wx/mac/dnd.h index 746dc91a25..989a977628 100644 --- a/include/wx/mac/dnd.h +++ b/include/wx/mac/dnd.h @@ -1,16 +1,16 @@ /////////////////////////////////////////////////////////////////////////////// // Name: dnd.h // Purpose: Declaration of the wxDropTarget, wxDropSource class etc. -// Author: AUTHOR +// Author: Stefan Csomor // RCS-ID: $Id$ -// Copyright: (c) 1998 AUTHOR +// Copyright: (c) 1998 Stefan Csomor // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_DND_H_ #define _WX_DND_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "dnd.h" #endif @@ -43,7 +43,7 @@ class WXDLLEXPORT wxDropSource; // the icon 'name' from an XPM file under GTK, but will expand to something // else under MSW. If you don't use it, you will have to use #ifdef in the // application code. -#define wxDROP_ICON(name) wxICON(name) +#define wxDROP_ICON(X) wxCursor( (const char**) X##_xpm ) //------------------------------------------------------------------------- // wxDropTarget @@ -61,10 +61,10 @@ class WXDLLEXPORT wxDropTarget: public wxDropTargetBase virtual bool GetData(); bool CurrentDragHasSupportedFormat() ; - void SetCurrentDrag( DragReference drag ) { m_currentDrag = drag ; } - DragReference GetCurrentDrag() { return m_currentDrag ; } + void SetCurrentDrag( void* drag ) { m_currentDrag = drag ; } + void* GetCurrentDrag() { return m_currentDrag ; } protected : - DragReference m_currentDrag ; + void* m_currentDrag ; }; //------------------------------------------------------------------------- @@ -74,31 +74,36 @@ class WXDLLEXPORT wxDropTarget: public wxDropTargetBase class WXDLLEXPORT wxDropSource: public wxDropSourceBase { public: - /* constructor. set data later with SetData() */ + // ctors: if you use default ctor you must call SetData() later! + // + // NB: the "wxWindow *win" parameter is unused and is here only for wxGTK + // compatibility, as well as both icon parameters wxDropSource( wxWindow *win = (wxWindow *)NULL, - const wxIcon © = wxNullIcon, - const wxIcon &move = wxNullIcon, - const wxIcon &none = wxNullIcon); + const wxCursor &cursorCopy = wxNullCursor, + const wxCursor &cursorMove = wxNullCursor, + const wxCursor &cursorStop = wxNullCursor); /* constructor for setting one data object */ wxDropSource( wxDataObject& data, wxWindow *win, - const wxIcon © = wxNullIcon, - const wxIcon &move = wxNullIcon, - const wxIcon &none = wxNullIcon); - + const wxCursor &cursorCopy = wxNullCursor, + const wxCursor &cursorMove = wxNullCursor, + const wxCursor &cursorStop = wxNullCursor); ~wxDropSource(); - /* start drag action */ - virtual wxDragResult DoDragDrop( bool bAllowMove = FALSE ); - + // do it (call this in response to a mouse button press, for example) + // params: if bAllowMove is false, data can be only copied + virtual wxDragResult DoDragDrop(int flags = wxDrag_CopyOnly); + wxWindow* GetWindow() { return m_window ; } - void SetCurrentDrag( DragReference drag ) { m_currentDrag = drag ; } - DragReference GetCurrentDrag() { return m_currentDrag ; } + void SetCurrentDrag( void* drag ) { m_currentDrag = drag ; } + void* GetCurrentDrag() { return m_currentDrag ; } + bool MacInstallDefaultCursor(wxDragResult effect) ; protected : + wxWindow *m_window; - DragReference m_currentDrag ; + void* m_currentDrag ; }; #endif