From 9bc4b56dec83c11f62e53bfbc410d57b3a849ca3 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Fri, 19 Jul 2019 15:28:37 -0400 Subject: [PATCH] Indicate that we support drag-and-drop --- .../Editors/FileSystem/FileSystemEditor.cs | 17 +++++++++++++++++ .../UniversalEditor.UserInterface/MainWindow.cs | 9 +++++++++ 2 files changed, 26 insertions(+) diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/Editors/FileSystem/FileSystemEditor.cs b/CSharp/Libraries/UniversalEditor.UserInterface/Editors/FileSystem/FileSystemEditor.cs index 8d1eae96..37efd6ec 100644 --- a/CSharp/Libraries/UniversalEditor.UserInterface/Editors/FileSystem/FileSystemEditor.cs +++ b/CSharp/Libraries/UniversalEditor.UserInterface/Editors/FileSystem/FileSystemEditor.cs @@ -24,6 +24,9 @@ using UniversalEditor.ObjectModels.FileSystem; using UniversalEditor.UserInterface; using UniversalWidgetToolkit; +using UniversalWidgetToolkit.DragDrop; +using UniversalWidgetToolkit.Input.Keyboard; +using UniversalWidgetToolkit.Input.Mouse; namespace UniversalEditor.Editors.FileSystem { @@ -33,6 +36,20 @@ namespace UniversalEditor.Editors.FileSystem { this.InitializeComponent(); } + + public override void OnCreated(EventArgs e) + { + this.tv.RegisterDragSource(new DragDropTarget[] + { + new DragDropTarget("text/uri-list", DragDropTargetFlags.SameApplication | DragDropTargetFlags.OtherApplication, 0x1) + }, DragDropEffect.Copy, MouseButtons.Primary | MouseButtons.Secondary, KeyboardModifierKey.None); + + this.tv.DragDropDataRequest += tv_DragDropDataRequest; + } + private void tv_DragDropDataRequest(object sender, DragDropDataRequestEventArgs e) + { + e.Data = "file:///tmp/test/" + tv.SelectedRows[0].RowColumns[0].Value.ToString() + "\r\n"; + } public override void Copy() { diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/MainWindow.cs b/CSharp/Libraries/UniversalEditor.UserInterface/MainWindow.cs index f02ccdf6..efab8771 100644 --- a/CSharp/Libraries/UniversalEditor.UserInterface/MainWindow.cs +++ b/CSharp/Libraries/UniversalEditor.UserInterface/MainWindow.cs @@ -12,7 +12,9 @@ using UniversalWidgetToolkit; using UniversalWidgetToolkit.Controls; using UniversalWidgetToolkit.Controls.Docking; using UniversalWidgetToolkit.Dialogs; +using UniversalWidgetToolkit.DragDrop; using UniversalWidgetToolkit.Input.Keyboard; +using UniversalWidgetToolkit.Input.Mouse; using UniversalWidgetToolkit.Drawing; using MBS.Framework.Drawing; @@ -289,6 +291,13 @@ namespace UniversalEditor.UserInterface { UniversalWidgetToolkit.Application.Stop(); } + public override void OnCreated(EventArgs e) + { + this.RegisterDropTarget(new DragDropTarget[] + { + new DragDropTarget("text/uri-list", DragDropTargetFlags.SameApplication | DragDropTargetFlags.OtherApplication, 0x1) + }, DragDropEffect.Copy, MouseButtons.Primary | MouseButtons.Secondary, KeyboardModifierKey.None); + } private Shortcut CommandShortcutKeyToUWTShortcut(CommandShortcutKey shortcutKey) {