1 #ifndef FILEZILLA_INTERFACE_DRAGDROPMANAGER_HEADER
2 #define FILEZILLA_INTERFACE_DRAGDROPMANAGER_HEADER
3 
4 // wxWidgets doesn't provide any means to check on the type of objects
5 // while an object hasn't been dropped yet and is still being moved around
6 // At least on Windows, that appears to be a limitation of the native drag
7 // and drop system.
8 
9 // As such, keep track on the objects.
10 
11 #include "serverdata.h"
12 
13 class CDragDropManager final
14 {
15 public:
Get()16 	static CDragDropManager* Get() { return m_pDragDropManager; }
17 
18 	static CDragDropManager* Init();
19 	void Release();
20 
21 	const wxWindow* pDragSource;
22 	const wxWindow* pDropTarget;
23 
24 	CLocalPath localParent;
25 
26 	Site site;
27 	CServerPath remoteParent;
28 
29 protected:
30 	CDragDropManager();
31 	virtual ~CDragDropManager() = default;
32 
33 	static CDragDropManager* m_pDragDropManager;
34 };
35 
36 #endif
37