Mercurial > silverbladetech
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 + } +}