PhiaUiDesign.Canvas.Selection (phia_ui v0.1.17)

Copy Markdown View Source

Manages selection state for the design canvas.

Summary

Functions

Clear all selection

Get count of selected nodes

Set hovered node

Select a single node (clearing previous selection)

Check if a node is selected

Get the single selected node ID (or nil if none/multiple)

Toggle selection of a node (for multi-select with Shift)

Types

t()

@type t() :: %PhiaUiDesign.Canvas.Selection{
  hovered_id: String.t() | nil,
  selected_ids: MapSet.t(String.t())
}

Functions

clear(sel)

Clear all selection

count(sel)

Get count of selected nodes

hover(sel, node_id)

Set hovered node

new()

select(sel, node_id)

Select a single node (clearing previous selection)

selected?(sel, node_id)

Check if a node is selected

single_selected(sel)

Get the single selected node ID (or nil if none/multiple)

toggle(sel, node_id)

Toggle selection of a node (for multi-select with Shift)