Get simple (text) drag and drop case working with drop source.

We ended up not needing the underlying QMimeData-based implementation, as the classes sitting on top of it
bypassed it anyway. It now treats the hierarchy as a pure data storage mechanism, generating the
QMimeData when drag-drop is initiated.
This commit is contained in:
Jay Nabonne
2019-01-28 15:30:25 +00:00
parent ea4c7120ff
commit 0dc1654ab6
4 changed files with 112 additions and 70 deletions

View File

@@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////////
// Name: src/qt/dataobj.cpp
// Name: src/qt/dataobj.h
// Author: Peter Most
// Copyright: (c) Peter Most
// Licence: wxWindows licence
@@ -8,24 +8,17 @@
#ifndef _WX_QT_DATAOBJ_H_
#define _WX_QT_DATAOBJ_H_
class QMimeData;
// ----------------------------------------------------------------------------
// wxDataObject is the same as wxDataObjectBase under wxQT
// ----------------------------------------------------------------------------
class WXDLLIMPEXP_CORE wxDataObject : public wxDataObjectBase
{
public:
wxDataObject();
~wxDataObject();
virtual ~wxDataObject();
virtual bool IsSupportedFormat(const wxDataFormat& format, Direction dir) const;
virtual wxDataFormat GetPreferredFormat(Direction dir = Get) const;
virtual size_t GetFormatCount(Direction dir = Get) const;
virtual void GetAllFormats(wxDataFormat *formats, Direction dir = Get) const;
virtual size_t GetDataSize(const wxDataFormat& format) const;
virtual bool GetDataHere(const wxDataFormat& format, void *buf) const;
virtual bool SetData(const wxDataFormat& format, size_t len, const void * buf);
private:
QMimeData *m_qtMimeData; // to handle formats that have no helper classes
virtual bool IsSupportedFormat( const wxDataFormat& format, Direction dir = Get ) const;
};
#endif // _WX_QT_DATAOBJ_H_