wxFileDataObject(void) { }
void AddFile( const wxString &file )
- { m_files += file; m_files += ";"; }
+ { m_files += file; m_files += '\0'; }
// implement base class pure virtuals
virtual wxDataFormat GetPreferredFormat() const
virtual bool IsSupportedFormat(wxDataFormat format) const
{ return format == wxDF_FILENAME; }
virtual size_t GetDataSize() const
- { return m_files.Len() + 1; } // +1 for trailing '\0'of course
+ { return m_files.Len(); } // no trailing '\0'
virtual void GetDataHere(void *pBuf) const
{ memcpy(pBuf, m_files.c_str(), GetDataSize()); }
virtual void OnLeave() { }
virtual bool OnDrop( long x, long y, const void *pData ) = 0;
-// protected:
+ // implementation
- friend wxWindow;
+ int m_size;
// Override these to indicate what kind of data you support:
virtual size_t GetFormatCount() const = 0;
virtual wxDataFormat GetFormat(size_t n) const = 0;
- void Drop( GdkEvent *event, int x, int y );
+ void Drop( GdkEventDropDataAvailable *event, int x, int y );
void RegisterWidget( GtkWidget *widget );
void UnregisterWidget( GtkWidget *widget );
};
// 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
+ wxDragCancel // the operation was cancelled by user (not an error)
+ };
+
class wxDropSource: public wxObject
{
public:
- enum DragResult
- {
- Error, // error prevented the d&d operation from completing
- None, // drag target didn't accept the data
- Copy, // the data was successfully copied
- Move, // the data was successfully moved
- Cancel // the operation was cancelled by user (not an error)
- };
-
wxDropSource( wxWindow *win );
wxDropSource( wxDataObject &data, wxWindow *win );
~wxDropSource(void);
void SetData( wxDataObject &data );
- DragResult DoDragDrop( bool bAllowMove = FALSE );
+ wxDragResult DoDragDrop( bool bAllowMove = FALSE );
- virtual bool GiveFeedback( DragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; };
+ virtual bool GiveFeedback( wxDragResult WXUNUSED(effect), bool WXUNUSED(bScrolling) ) { return TRUE; };
protected:
GtkWidget *m_widget;
wxWindow *m_window;
- DragResult m_retValue;
+ wxDragResult m_retValue;
wxDataObject *m_data;
wxCursor m_defaultCursor;