Header menu logo issie

Model Type

Record fields

Record Field Description

Action

Full Usage: Action

Field type: CurrentAction
Field type: CurrentAction

AutomaticScrolling

Full Usage: AutomaticScrolling

Field type: bool
Field type: bool

BoundingBoxes

Full Usage: BoundingBoxes

Field type: Map<ComponentId, BoundingBox>
Field type: Map<ComponentId, BoundingBox>

CanvasSize

Full Usage: CanvasSize

Field type: float

the size of teh canvas in DrawBlock units

Field type: float

CompilationJob

Full Usage: CompilationJob

Field type: string option

The FPGA build running now, named by the id main gave it. This used to be the ChildProcess itself, which a renderer without node integration has no way to hold - main owns the process and answers questions about it by id.

Field type: string option

CompilationStatus

Full Usage: CompilationStatus

Field type: CompileStatus
Field type: CompileStatus

Compiling

Full Usage: Compiling

Field type: bool
Field type: bool

ConnectPortsLine

Full Usage: ConnectPortsLine

Field type: XYPos * XYPos
Field type: XYPos * XYPos

CtrlKeyDown

Full Usage: CtrlKeyDown

Field type: bool
Field type: bool

CursorType

Full Usage: CursorType

Field type: CursorType
Field type: CursorType

DebugData

Full Usage: DebugData

Field type: int list
Field type: int list

DebugDevice

Full Usage: DebugDevice

Field type: string option
Field type: string option

DebugIsConnected

Full Usage: DebugIsConnected

Field type: bool
Field type: bool

DebugMappings

Full Usage: DebugMappings

Field type: string array
Field type: string array

DebugState

Full Usage: DebugState

Field type: DebugState
Field type: DebugState

DragToSelectBox

Full Usage: DragToSelectBox

Field type: BoundingBox
Field type: BoundingBox

ErrorComponents

Full Usage: ErrorComponents

Field type: ComponentId list
Field type: ComponentId list

HoveredWire

Full Usage: HoveredWire

Field type: ConnectionId option

The wire the mouse is resting on, when it is resting on one and nothing is being dragged. Recorded so that the value it carries can be shown beside the cursor while a simulation is running - which is the draw block's only interest in it: the value itself is worked out by the UI layer, which is the only part that knows a simulation exists.

Field type: ConnectionId option

InitMouseToScalingBoxCentre

Full Usage: InitMouseToScalingBoxCentre

Field type: XYPos
Field type: XYPos

LastCursorType

Full Usage: LastCursorType

Field type: CursorType
Field type: CursorType

LastMousePos

Full Usage: LastMousePos

Field type: XYPos

this is Drawblock X,Y values

Field type: XYPos

LastMousePosForSnap

Full Usage: LastMousePosForSnap

Field type: XYPos
Field type: XYPos

LastValidBoundingBoxes

Full Usage: LastValidBoundingBoxes

Field type: Map<ComponentId, BoundingBox>
Field type: Map<ComponentId, BoundingBox>

LastValidPos

Full Usage: LastValidPos

Field type: XYPos
Field type: XYPos

LastValidSymbol

Full Usage: LastValidSymbol

Field type: Symbol option
Field type: Symbol option

MouseCounter

Full Usage: MouseCounter

Field type: int
Field type: int

NearbyComponents

Full Usage: NearbyComponents

Field type: ComponentId list
Field type: ComponentId list

OfferPasteArray

Full Usage: OfferPasteArray

Field type: bool

Whether to offer "paste array" on the canvas: something has been copied and not yet pasted. The feature is worth surfacing at the moment it applies - between copying and pasting - and not worth a permanent button, so the offer is withdrawn once a paste of either kind has happened. The Edit menu keeps it available either way.

Field type: bool

PendingZoomCenter

Full Usage: PendingZoomCenter

Field type: XYPos option

Screen centre to restore after React has committed a zoom resize.

Field type: XYPos option

PopupDialogData

Full Usage: PopupDialogData

Field type: PopupDialogData
Field type: PopupDialogData

PopupViewFunc

Full Usage: PopupViewFunc

Field type: ((Msg -> Unit) -> PopupDialogData -> ReactElement) option
Field type: ((Msg -> Unit) -> PopupDialogData -> ReactElement) option

PrevWireSelection

Full Usage: PrevWireSelection

Field type: ConnectionId list
Field type: ConnectionId list

RedoList

Full Usage: RedoList

Field type: List<Model>
Field type: List<Model>

ScalingBox

Full Usage: ScalingBox

Field type: Option<ScalingBox>
Field type: Option<ScalingBox>

ScalingBoxCentrePos

Full Usage: ScalingBoxCentrePos

Field type: XYPos
Field type: XYPos

ScalingTmpModel

Full Usage: ScalingTmpModel

Field type: Option<Model>
Field type: Option<Model>

ScreenScrollPos

Full Usage: ScreenScrollPos

Field type: XYPos

html scrolling position: this is in screen pixels, draw block X,Y values are 1/model.Zoom of this

Field type: XYPos

ScrollingLastMousePos

Full Usage: ScrollingLastMousePos

Field type: XYPosMov
Field type: XYPosMov

SelectedComponents

Full Usage: SelectedComponents

Field type: List<ComponentId>
Field type: List<ComponentId>

SelectedLabel

Full Usage: SelectedLabel

Field type: ComponentId option
Field type: ComponentId option

SelectedWires

Full Usage: SelectedWires

Field type: ConnectionId list
Field type: ConnectionId list

ShowGrid

Full Usage: ShowGrid

Field type: bool
Field type: bool

SnapSegments

Full Usage: SnapSegments

Field type: SnapXY
Field type: SnapXY

SnapSymbols

Full Usage: SnapSymbols

Field type: SnapXY
Field type: SnapXY

SpaceKeyDown

Full Usage: SpaceKeyDown

Field type: bool

Whether the space bar is held. Space+drag pans the schematic, as it does in every drawing application; Shift+drag does the same and is kept. Held state rather than a chord, so it is tracked beside CtrlKeyDown rather than in the shortcut table.

Field type: bool

SymbolEdit

Full Usage: SymbolEdit

Field type: (ComponentId * SymbolEditMode) option

The custom component whose ports or size the user is currently able to drag, and which of the two. Entered from that component's right-click menu and left until the user clicks away, so the affordance stays put rather than depending on a key being held. None is the ordinary state, which is why there is no case for it: a mode without a symbol to apply to would mean nothing.

Field type: (ComponentId * SymbolEditMode) option

TargetPortId

Full Usage: TargetPortId

Field type: string
Field type: string

TmpModel

Full Usage: TmpModel

Field type: Option<Model>
Field type: Option<Model>

UndoList

Full Usage: UndoList

Field type: List<Model>
Field type: List<Model>

Wire

Full Usage: Wire

Field type: Model
Field type: Model

Zoom

Full Usage: Zoom

Field type: float

how X,Y coordinates throughout draw block are scaled into screen pixels. All unscaled dimensions (screen pixels) have Screen prepended to name.

Field type: float

Type something to start searching.