DraggingTool
El DraggingTool se utiliza para mover o copiar partes seleccionadas con el ratón.
Hereda de: DiagramTool
Propiedades
public Dictionary<Part, Info> CopiedParts { get; set; }
value = draggingTool.CopiedParts
draggingTool.CopiedParts = value
Obtiene o establece la colección de partes que esta herramienta ha copiado.
public bool CopiesEffectiveCollection { get; set; }
value = draggingTool.CopiesEffectiveCollection
draggingTool.CopiesEffectiveCollection = value
Obtiene o establece si para una operación de copiado la selección ampliada es copiada o sólo piezas seleccionadas.
protected Part CurrentPart { get; set; }
value = draggingTool.CurrentPart
draggingTool.CurrentPart = value
Obtiene o establece la Parte encontrada en el punto del ratón por StandardMouseSelect.
public bool DraggableLinks { get; set; }
value = draggingTool.DraggableLinks
draggingTool.DraggableLinks = value
Obtiene o establece si el usuario puede arrastrar un solo Enlace, desconectarlo de sus nodos conectados y posiblemente conectarlo a puertos válidos cuando se deja caer el enlace.
protected Link DraggedLink { get; set; }
value = draggingTool.DraggedLink
draggingTool.DraggedLink = value
Obtiene o establece el Enlace que puede ser arrastrado y reconectado cuando DraggableLinkses cierto.
public Dictionary<Part, Info> DraggedParts { get; set; }
value = draggingTool.DraggedParts
draggingTool.DraggedParts = value
Obtiene o establece la colección de piezas que se arrastran.
protected bool DragOutStarted { get; set; }
value = draggingTool.DragOutStarted
draggingTool.DragOutStarted = value
Obtiene o establece si un arrastrar y soltar potencialmente externo ha sido iniciado por esta herramienta.
protected Part DragOverPart { get; set; }
value = draggingTool.DragOverPart
draggingTool.DragOverPart = value
Obtiene o establece una Parte, no siendo arrastrada, que el ratón ha terminado, y establece su propiedad IsDropOntoAccepted apropiadamente.
public DragOverSnapArea DragOverSnapArea { get; set; }
value = draggingTool.DragOverSnapArea
draggingTool.DragOverSnapArea = value
Obtiene o establece si arrastrar cualquier parte sobre el diagrama o sobre cualquier parte hace que su posición sea interrumpida en puntos de rejilla.
public bool DropOntoEnabled { get; set; }
value = draggingTool.DropOntoEnabled
draggingTool.DropOntoEnabled = value
Obtiene o establece si las piezas estacionarias obtienen su propiedad IsDropOntoAccepted temporalmente ajustada a la verdad durante una arrastre.
internal bool Dropped { get; set; }
value = draggingTool.Dropped
draggingTool.Dropped = value
Se obtiene o establece si una gota ha ocurrido después de que un arrastrado hubiera comenzado.
public string FromPortId { get; set; }
value = draggingTool.FromPortId
draggingTool.FromPortId = value
Obtiene o establece el identificador de puerto utilizado cuando Point) crea un nuevo enlace debido a DropOntoBehavior es AddsLinkFromNode, AddsLinkToNode, o SplicesIntoLink.
public EffectiveCollectionInclusions Inclusions { get; set; }
value = draggingTool.Inclusions
draggingTool.Inclusions = value
Obtiene o establece si mover o copiar un nodo también incluye a todos los niños del nodo y sus descendientes, junto con los vínculos con esos nodos adicionales.
public bool IsRealtime { get; set; }
value = draggingTool.IsRealtime
draggingTool.IsRealtime = value
Se obtiene o establece si las partes se mueven continuamente durante una arrastre o si un objeto simple se arrastra en su lugar, con las partes realmente moviendo sólo sobre un ratón hacia arriba.
public static DraggingTool Source { get; internal set; }
value = DraggingTool.Source
DraggingTool.Source = value
Se trata de una propiedad experimental que recibe el DraggingTool que es la fuente de un drag-and-drop simulado.
protected Point StartPoint { get; set; }
value = draggingTool.StartPoint
draggingTool.StartPoint = value
Obtiene o establece el punto del ratón desde el cual las partes comienzan a moverse.
public string ToPortId { get; set; }
value = draggingTool.ToPortId
draggingTool.ToPortId = value
Obtiene o establece el identificador de puerto utilizado cuando Point) crea un nuevo enlace debido a DropOntoBehavior es AddsLinkFromNode, AddsLinkToNode, o SplicesIntoLink.
Métodos
public virtual IDataCollection AcceptData(IDataObject dataobj)
result = draggingTool.AcceptData(dataobj)
Convertir un IDataObject en IDataCollection@.
- dataobj
- A IDataObject@, típicamente el valor de DragEventArgs.Data
Devuelve: Una IDataCollection que el modelo del diagrama puede copiar
public override bool CanStart()
result = draggingTool.CanStart()
Esta herramienta puede funcionar si este diagrama permite la selección y movimientos/copias/dragging-out, si el ratón se ha movido lo suficientemente lejos para ser un arrastrar y no un clic, y si FindDraggablePart@ ha encontrado una parte seleccionable en el punto de apagado del ratón.
public virtual Dictionary<Part, Info> ComputeEffectiveCollection(IEnumerable<Part> parts)
result = draggingTool.ComputeEffectiveCollection(parts)
Encuentre la colección real de nodos y enlaces a ser movidos o copiados, dada una colección inicial.
- parts
Devuelve: a Diccionario de Piezas, mapeado a Infos que sostienen sus lugares originales
protected virtual Point ComputeFocusPoint(IEnumerable<Part> parts)
result = draggingTool.ComputeFocusPoint(parts)
Determinar el punto de foco o punto de punto caliente para un arrastre externo.
- parts
- los Nodos copiados y Enlaces siendo arrastrados
Devuelve: a Punto en coordenadas modelo
protected virtual Point ComputeMove(Node n, Point newloc, Dictionary<Part, Info> draggedparts)
result = draggingTool.ComputeMove(n, newloc, draggedparts)
Este método calcula la nueva ubicación para un nodo, dado un nuevo lugar deseado y un diccionario de partes arrastradas.
- n
- el Nodo siendo movido
- newloc
- la nueva ubicación propuesta para el nodo , en las coordenadas modelo
- draggedparts
- a Diccionario de Piezas arrastradas
Devuelve: una nueva ubicación para el nodo, en las coordenadas modelo
protected virtual bool ConsiderDragOver(Point pt, Part p)
result = draggingTool.ConsiderDragOver(pt, p)
Determinar si la selección arrastrada (DraggedParts o CopiedParts) sería válida para ser arrojada a la parte objetivo, dependiendo de su DropOntoBehavior.
- pt
- normalmente el punto actual del ratón, en las coordenadas modelo
- p
- la Parte bajo el punto del ratón que la selección podría ser lanzada
protected virtual bool ConsiderSnapTo(Node moving, Point pt, Node snapper, Dictionary<Part, Info> draggedparts)
result = draggingTool.ConsiderSnapTo(moving, pt, snapper, draggedparts)
Este predicado es cierto si el nodo dado puede controlar el movimiento del nodo dado.
- moving
- el Nodo siendo arrastrado
- pt
- a Punto en coordenadas modelo, típicamente el punto de ratón actual
- snapper
- el Nodo que podría controlar el movimiento del nodo
- draggedparts
- a Diccionario de Piezas arrastradas
Devuelve: verdadero si el no está en el y es DragOverSnapEnabled
public override void DoActivate()
draggingTool.DoActivate()
Comience la operación de arrastramiento.
public override void DoCancel()
draggingTool.DoCancel()
Aborta cualquier operación de arrastramiento.
protected virtual DragDropEffects DoDragDrop(IDataCollection data, DragDropEffects eff)
result = draggingTool.DoDragDrop(data, eff)
Llame a DragDrop.DoDragDrop@.
- data
- esto representa los datos que se arrastran
- eff
- esto se pasa como el tercer argumento a DragDrop.DoDragDrop
Devuelve: el resultado de la llamada DragDrop.DoDragDrop
public virtual void DoDragEnter(DragEventArgs e)
draggingTool.DoDragEnter(e)
Actualizar DragEventArgs.Effects.
- e
public virtual void DoDragLeave(DragEventArgs e)
draggingTool.DoDragLeave(e)
Si no se permite la gota, retire las piezas copiadas temporales.
- e
protected virtual void DoDragOut()
draggingTool.DoDragOut()
Comience una operación de arrastrar y soltar.
public virtual void DoDragOver(DragEventArgs e)
draggingTool.DoDragOver(e)
Para copias o movimientos externos, cree y mueva piezas copiadas para los datos de arrastrar y soltar.
- e
public virtual void DoDrop(DragEventArgs e)
draggingTool.DoDrop(e)
Realice la gota de un goteo y gota.
- e
public virtual void DoGiveFeedback(GiveFeedbackEventArgs e)
draggingTool.DoGiveFeedback(e)
Por defecto esto no hace nada.
- e
public override void DoKeyDown(KeyEventArgs e)
draggingTool.DoKeyDown(e)
Interruptor de manija entre modos de copia y movimiento, ya que la tecla Control se pulsa o libera.
- e
public override void DoKeyUp(KeyEventArgs e)
draggingTool.DoKeyUp(e)
Interruptor de manija entre modos de copia y movimiento, ya que la tecla Control se pulsa o libera.
- e
public override void DoMouseMove()
draggingTool.DoMouseMove()
A medida que el usuario mueve el ratón, mueva la colección de CopiedParts o DraggedParts, dependiendo de si MayCopy o MayMove es verdad.
public override void DoMouseUp()
draggingTool.DoMouseUp()
En un acabado de ratón-up, moviendo o copiando la selección efectiva.
public virtual void DoQueryContinueDrag(QueryContinueDragEventArgs e)
draggingTool.DoQueryContinueDrag(e)
Si el usuario llega a la tecla ESCAPE, llame a DoCancel@ para abortar esta herramienta.
- e
public override void DoStop()
draggingTool.DoStop()
Terminar y limpiar después de una operación de arrastre.
protected virtual void DragOver(Point pt, bool moving, bool copying)
draggingTool.DragOver(pt, moving, copying)
Afecta algunos objetos no seleccionados estacionarios que están bajo un punto dado, y considera auto-escrolling.
- pt
- normalmente el punto actual del ratón, en las coordenadas modelo
- moving
- copying
protected virtual void DropOnto(Point pt)
draggingTool.DropOnto(pt)
Realizar cualquier efecto secundario adicional después de una gota.
- pt
protected virtual Part FindDraggablePart()
result = draggingTool.FindDraggablePart()
Devuelve la parte seleccionable y móvil/copiable en el punto de salida del ratón.
Devuelve: null si no hay una parte seleccionable en el punto, o si CanMove y CanCopy@ son ambos falsos.
public virtual bool IsValidLink(Node fromnode, Node tonode, Link relink)
result = draggingTool.IsValidLink(fromnode, tonode, relink)
Este predicado está llamado a determinar si un Nodo puede ser reconectado por Point.
- fromnode
- tonode
- relink
- el Enlace para conectarse a
Devuelve: el resultado de llamar a Objeto) si es nulo, o si se suministra, el resultado de llamar Objeto), Objeto, o Objeto).
public virtual bool IsValidMember(Group group, Node node)
result = draggingTool.IsValidMember(group, node)
Este predicado está llamado a determinar si un Nodo puede ser añadido como miembro del Grupo por Punto.
- group
- esto puede ser nulo si el nodo se está agregando como un nodo de alto nivel
- node
- a Nodo, posiblemente otro Grupo
Devuelve: el resultado de llamar a Objeto)
protected virtual FrameworkElement MakeDragImage(Rect bounds)
result = draggingTool.MakeDragImage(bounds)
Crear una representación de las Partes que se están arrastrando cuando IsRealtimees falsa.
- bounds
- Los límites ocupados por DraggedParts, en coordenadas modelo
Devuelve: FrameworkElement
public virtual bool MayAcceptData(IDataObject dataobj)
result = draggingTool.MayAcceptData(dataobj)
Decide si un IDataObject es adecuado para copiar en el modelo de este diagrama.
- dataobj
- A IDataObject@, típicamente el valor de DragEventArgs.Data
Devuelve: Por defecto, esto comprueba si el dataobject tiene datos en el modelo DataFormat o en el modelo GetNodeType@.
protected virtual bool MayCopy()
result = draggingTool.MayCopy()
Este predicado es cierto cuando la vista permite copiar y insertar objetos, y algún objeto en la selección del diagrama es copiable, y el usuario está manteniendo la tecla Control.
protected virtual bool MayCopyExternal(DragEventArgs e)
result = draggingTool.MayCopyExternal(e)
Este predicado es cierto si el usuario puede copiar la selección en un arrastrar y soltar externo.
- e
Devuelve: Falso si el AllowedEffects no permite copiar. Falso si se aplica el modificador de teclas de cambio (intentando requerir un movimiento). Falso si el diagrama IsReadOnly o no AllowInsert@. Falso si el arrastrar y soltar comenzó en este control. Falso si el modelo no es Modificable. Falso si no hay datos de arrastrar y soltar@
protected virtual bool MayCopyInternal(DragEventArgs e)
result = draggingTool.MayCopyInternal(e)
Este predicado es cierto si el usuario puede copiar la selección en un arrastrar y soltar interno.
- e
Devuelve: Falso si el AllowedEffects no permite copiar. Falso si se aplica el modificador de teclas de Shift (intentando requerir un movimiento). Falso si el diagrama IsReadOnly o no AllowInsert@. Falso si el arrastrar y soltar vino de otro control. Falso si el modelo no es Modificable. De lo contrario, es cierto.
protected virtual bool MayMove()
result = draggingTool.MayMove()
Este predicado es cierto cuando la vista permite mover objetos, y algún objeto en la selección es móvil.
protected virtual bool MayMoveExternal(DragEventArgs e)
result = draggingTool.MayMoveExternal(e)
Este predicado es cierto si el usuario puede mover la selección en un arrastrar y soltar externo.
- e
Devuelve: Falso si el AllowedEffects no permite moverse. Falso si se aplica el modificador de teclas de control (intentando requerir una copia). Falso si el diagrama IsReadOnly o no AllowInsert@. Falso si el arrastrar y soltar comenzó en este control. Falso si el modelo no es Modificable. Falso si no hay datos de arrastrar y soltar@
protected virtual bool MayMoveInternal(DragEventArgs e)
result = draggingTool.MayMoveInternal(e)
Este predicado es cierto si el usuario puede mover la selección en un arrastrar y soltar interno.
- e
Devuelve: Falso si el AllowedEffects no permite moverse. Falso si se aplica el modificador de teclas Control (intentando requerir una copia). Falso si el diagrama IsReadOnly o no AllowMove. Falso si el arrastrar y soltar vino de otro control. De lo contrario, cierto.
public virtual void MoveParts(Dictionary<Part, Info> parts, Point offset)
draggingTool.MoveParts(parts, offset)
Mueva una colección de piezas por un offset dado.
- parts
- a Diccionario de partes, mapeado a valores Info que incluyen las ubicaciones originales de los nodos
- offset
- a Valor de punto en las coordenadas modelo
protected virtual Point SnapTo(Node moving, Point pt, Node snapper, Dictionary<Part, Info> draggedparts)
result = draggingTool.SnapTo(moving, pt, snapper, draggedparts)
Computa la nueva ubicación para un nodo, dado otro nodo que controla su movimiento.
- moving
- el Nodo siendo arrastrado
- pt
- el punto en coordenadas modelo a las que se arrastra el nodo
- snapper
- el Nodo, típicamente una cuadrícula, que está controlando el arrastre
- draggedparts
- a Diccionario de Piezas arrastradas
Devuelve: una nueva ubicación de nodos, en coordenadas modelo
protected override void StandardMouseSelect()
draggingTool.StandardMouseSelect()
No tenga el modificador de control unselect una parte ya seleccionada.
Campos
public static readonly DependencyProperty CopiesEffectiveCollectionProperty
value = DraggingTool.CopiesEffectiveCollectionProperty
Identifica la propiedad CopiesEffectiveCollectiondependencia.
public static readonly DependencyProperty DraggableLinksProperty
value = DraggingTool.DraggableLinksProperty
Identifica la propiedad DraggableLinksdependencia.
public static readonly DependencyProperty DragOverSnapAreaProperty
value = DraggingTool.DragOverSnapAreaProperty
Identifica la propiedad DragOverSnapAreadependencia.
public static readonly DependencyProperty DropOntoEnabledProperty
value = DraggingTool.DropOntoEnabledProperty
Identifica la propiedad DropOntoEnableddependencia.
public static readonly DependencyProperty FromPortIdProperty
value = DraggingTool.FromPortIdProperty
Identifica la propiedad FromPortIddependencia.
public static readonly DependencyProperty InclusionsProperty
value = DraggingTool.InclusionsProperty
Identifica la propiedad de dependencia de Inclusiones.
public static readonly DependencyProperty IsRealtimeProperty
value = DraggingTool.IsRealtimeProperty
Identifica la propiedad IsRealtimedependencia.
public static readonly DependencyProperty ToPortIdProperty
value = DraggingTool.ToPortIdProperty
Identifica la propiedad ToPortIddependencia.