Indicate that we support drag-and-drop

This commit is contained in:
Michael Becker 2019-07-19 15:28:37 -04:00
parent 55f6f504f3
commit 9bc4b56dec
2 changed files with 26 additions and 0 deletions

View File

@ -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()
{

View File

@ -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)
{