aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/bfc/file/filename.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/bfc/file/filename.h')
-rw-r--r--Src/Wasabi/bfc/file/filename.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/Src/Wasabi/bfc/file/filename.h b/Src/Wasabi/bfc/file/filename.h
new file mode 100644
index 00000000..8442f1b8
--- /dev/null
+++ b/Src/Wasabi/bfc/file/filename.h
@@ -0,0 +1,26 @@
+#ifndef _FILENAME_H
+#define _FILENAME_H
+
+#include <bfc/string/StringW.h>
+#include <bfc/string/playstring.h>
+#include <bfc/dispatch.h>
+
+// a simple class to drag-and-drop filenames around
+
+#define DD_FILENAME L"DD_Filename v1"
+
+// another implementation that uses the central playstring table
+class FilenamePS : private Playstring
+{
+public:
+ FilenamePS(const wchar_t *str) : Playstring(str) {}
+ const wchar_t *getFilename() { return getValue(); }
+ operator const wchar_t *() { return getFilename(); }
+ static const wchar_t *dragitem_getDatatype() { return DD_FILENAME; }
+
+protected:
+ FilenamePS(const FilenamePS &fn) {}
+ FilenamePS& operator =(const FilenamePS &ps) { return *this; }
+};
+
+#endif