DiagramEditorState
Tracks the current editing state of the diagram editor.
Properties
public string DraggingNodeKey { get; set; }
value = diagramEditorState.DraggingNodeKey
diagramEditorState.DraggingNodeKey = value
Key of node being dragged.
public float DragOriginalNodeX { get; set; }
value = diagramEditorState.DragOriginalNodeX
diagramEditorState.DragOriginalNodeX = value
Original node X before drag started.
public float DragOriginalNodeY { get; set; }
value = diagramEditorState.DragOriginalNodeY
diagramEditorState.DragOriginalNodeY = value
Original node Y before drag started.
public Dictionary<string, ValueTuple<float, float>> DragOriginalPositions { get; }
value = diagramEditorState.DragOriginalPositions
Original positions of all nodes being dragged (for group drag). Key is node key, value is (X, Y) position.
public PaletteItem DragPaletteItem { get; set; }
value = diagramEditorState.DragPaletteItem
diagramEditorState.DragPaletteItem = value
Palette item being dragged.
public float DragPaletteX { get; set; }
value = diagramEditorState.DragPaletteX
diagramEditorState.DragPaletteX = value
Current drag position X (screen coords).
public float DragPaletteY { get; set; }
value = diagramEditorState.DragPaletteY
diagramEditorState.DragPaletteY = value
Current drag position Y (screen coords).
public float DragStartX { get; set; }
value = diagramEditorState.DragStartX
diagramEditorState.DragStartX = value
Start X position of drag (diagram coords).
public float DragStartY { get; set; }
value = diagramEditorState.DragStartY
diagramEditorState.DragStartY = value
Start Y position of drag (diagram coords).
public float GridSnapSize { get; set; }
value = diagramEditorState.GridSnapSize
diagramEditorState.GridSnapSize = value
Grid snap size. 0 = no snap.
public bool IsDragOverCanvas { get; set; }
value = diagramEditorState.IsDragOverCanvas
diagramEditorState.IsDragOverCanvas = value
Whether drag is currently over a valid drop area (the canvas).
public bool IsEditingEnabled { get; set; }
value = diagramEditorState.IsEditingEnabled
diagramEditorState.IsEditingEnabled = value
Whether editing is enabled (vs view-only mode).
public bool IsGridSnapEnabled { get; set; }
value = diagramEditorState.IsGridSnapEnabled
diagramEditorState.IsGridSnapEnabled = value
Whether grid snap is enabled.
public bool IsLinkHoverValid { get; set; }
value = diagramEditorState.IsLinkHoverValid
diagramEditorState.IsLinkHoverValid = value
Whether the current hover socket is a valid target.
public float LinkEndpointX { get; set; }
value = diagramEditorState.LinkEndpointX
diagramEditorState.LinkEndpointX = value
Current endpoint of link being created (screen coords).
public float LinkEndpointY { get; set; }
value = diagramEditorState.LinkEndpointY
diagramEditorState.LinkEndpointY = value
Current endpoint of link being created (screen coords).
public SocketKey LinkHoverSocket { get; set; }
value = diagramEditorState.LinkHoverSocket
diagramEditorState.LinkHoverSocket = value
Socket currently being hovered over during link creation.
public SocketKey LinkSourceSocket { get; set; }
value = diagramEditorState.LinkSourceSocket
diagramEditorState.LinkSourceSocket = value
Source socket for link being created.
public string LinkValidationError { get; set; }
value = diagramEditorState.LinkValidationError
diagramEditorState.LinkValidationError = value
Validation error message for current link attempt.
public EditorMode Mode { get; set; }
value = diagramEditorState.Mode
diagramEditorState.Mode = value
Current editing mode.
public float RubberBandCurrentX { get; set; }
value = diagramEditorState.RubberBandCurrentX
diagramEditorState.RubberBandCurrentX = value
Current X of rubber band (screen coords).
public float RubberBandCurrentY { get; set; }
value = diagramEditorState.RubberBandCurrentY
diagramEditorState.RubberBandCurrentY = value
Current Y of rubber band (screen coords).
public float RubberBandStartX { get; set; }
value = diagramEditorState.RubberBandStartX
diagramEditorState.RubberBandStartX = value
Start X of rubber band (screen coords).
public float RubberBandStartY { get; set; }
value = diagramEditorState.RubberBandStartY
diagramEditorState.RubberBandStartY = value
Start Y of rubber band (screen coords).
Methods
public float SnapToGrid(float value)
result = diagramEditorState.SnapToGrid(value)
Snap a value to grid if enabled.