diff Chronosv2/source/DragAndDrop/IDataDropObjectProvider.cs @ 10:443821e55f06

Initial cleaned up add from Codeplex files
author stevenh7776 stevenhollidge@hotmail.com
date Tue, 21 Feb 2012 17:25:44 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Chronosv2/source/DragAndDrop/IDataDropObjectProvider.cs	Tue Feb 21 17:25:44 2012 +0700
@@ -0,0 +1,41 @@
+using System.Windows;
+using System.Windows.Input;
+
+namespace Chronos.Presentation.DragAndDrop
+{
+    // This is an interface that can be implemented to help the DragHelper ( aka the source )
+    public interface IDataDropObjectProvider
+    {
+        #region · Properties ·
+
+        //Flag of actions sypported by implementation of  IDataDropObjectProvider
+        DragDropProviderActions SupportedActions
+        {
+            get;
+        }
+
+        #endregion
+
+        #region · Methods ·
+
+        // Called before StartDrag () to get the Data () to be used in the DataObject 
+        object GetData();
+
+        // Called before StartDrag () to add other formats , this way you can drag drop externally.. 
+        void AppendData(ref IDataObject data, MouseEventArgs e);
+
+        // Called to get the visual ( UIElement visual brush of the object being dragged..         
+        UIElement GetVisual(MouseEventArgs e);
+
+        // Gives feedback during Drag 
+        void GiveFeedback(GiveFeedbackEventArgs args);
+
+        // implements ContinueDrag -- to canceld the D&D.. 
+        void ContinueDrag(QueryContinueDragEventArgs args);
+
+        // called by the TARGET object .. this will attempt to "unparent" the current child so we can add it a child some where else.. 
+        bool UnParent();
+
+        #endregion
+    }
+}