From 12dcb98f92a44975c134ab85c804fcf06da2cbc2 Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 5 Nov 2012 19:53:31 +0000 Subject: [PATCH] .uppdev git-svn-id: svn://ultimatepp.org/upp/trunk@5519 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppdev/PasteClip/init | 4 ++++ uppdev/PasteClip/main.cpp | 37 ++++++++++++++++++++++++++++++++----- 2 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 uppdev/PasteClip/init diff --git a/uppdev/PasteClip/init b/uppdev/PasteClip/init new file mode 100644 index 000000000..ed2c60e22 --- /dev/null +++ b/uppdev/PasteClip/init @@ -0,0 +1,4 @@ +#ifndef _PasteClip_icpp_init_stub +#define _PasteClip_icpp_init_stub +#include "CtrlLib/init" +#endif diff --git a/uppdev/PasteClip/main.cpp b/uppdev/PasteClip/main.cpp index 1688521dc..14ba7c4f4 100644 --- a/uppdev/PasteClip/main.cpp +++ b/uppdev/PasteClip/main.cpp @@ -2,12 +2,39 @@ using namespace Upp; -GUI_APP_MAIN +struct DndTest : public TopWindow { + virtual void Paint(Draw &w); + virtual void DragAndDrop(Point p, PasteClip& d); + + Vector files; + + DndTest(); +}; + +void DndTest::Paint(Draw &w) { - if(AcceptFiles(Ctrl::Clipboard())) { - Vector f = GetFiles(Ctrl::Clipboard()); - for(int i = 0; i < f.GetCount(); i++) - LOG("#include \"lib/" + GetFileName(f[i]) + "\""); + w.DrawRect(GetSize(), SColorPaper()); + if(files.GetCount()) + for(int i = 0; i < files.GetCount(); i++) + w.DrawText(2, 2 + i * Draw::GetStdFontCy(), files[i]); + else + w.DrawText(2, 2, "None"); +} + +void DndTest::DragAndDrop(Point p, PasteClip& d) +{ + if(d.IsAvailable("files")) { + files = GetClipFiles(d.Get("files")); + Refresh(); } } +DndTest::DndTest() +{ + Title("I need files!"); +} + +GUI_APP_MAIN +{ + DndTest().Run(); +}