Header menu logo issie

Model Type

Record fields

Record Field Description

BuildVisible

Full Usage: BuildVisible

Field type: bool

if true the "build" tab appears on the RHS

Field type: bool

CatalogueSearch

Full Usage: CatalogueSearch

Field type: string

What the user has typed into the catalogue's search box. Empty shows the catalogue whole, with its sections closed as before; anything else shows only components whose name or tooltip contains it, with the sections holding them open.

Field type: string

CircuitCheck

Full Usage: CircuitCheck

Field type: CircuitCheck

whether the open design builds into a simulation, for the Simulation tab's buttons

Field type: CircuitCheck

Clipboard

Full Usage: Clipboard

Field type: CanvasState

Components and connections that have been selected and copied.

Field type: CanvasState

CodeEditorState

Full Usage: CodeEditorState

Field type: CodeEditorModel option
Field type: CodeEditorModel option

ComponentLibraries

Full Usage: ComponentLibraries

Field type: ComponentLibrary list

The component libraries available: names and directories only, found once at startup. No library file is opened until the user opens a library. The catalogue is a pure render function, so it cannot look for them itself.

Field type: ComponentLibrary list

ConnsOfSelectedWavesAreHighlighted

Full Usage: ConnsOfSelectedWavesAreHighlighted

Field type: bool

if true highlight connections from wavesim editor

Field type: bool

CurrentProj

Full Usage: CurrentProj

Field type: Project option

the project contains, as loadable components, the state of each of its sheets

Field type: Project option

CurrentSelected

Full Usage: CurrentSelected

Field type: Component list * Connection list

components and connections currently selected

Field type: Component list * Connection list

CurrentStepSimulationStep

Full Usage: CurrentStepSimulationStep

Field type: Result<SimulationData, SimulationError> option

used during step simulation: simgraph for current clock tick

Field type: Result<SimulationData, SimulationError> option

CurrentTruthTable

Full Usage: CurrentTruthTable

Field type: Result<TruthTable, SimulationError> option

stores the generated truth table

Field type: Result<TruthTable, SimulationError> option

DividerDragMode

Full Usage: DividerDragMode

Field type: DragMode

used to determine whether mouse is currently dragging the divider, or used normally

Field type: DragMode

DragPlacement

Full Usage: DragPlacement

Field type: DragPlacement option

A catalogue item being dragged onto the canvas, or the position one was dropped at. None whenever no such gesture is in flight, which is nearly always.

Field type: DragPlacement option

Hilighted

Full Usage: Hilighted

Field type: (ComponentId list * ConnectionId list) * ConnectionId list

components and connections which are highlighted

Field type: (ComponentId list * ConnectionId list) * ConnectionId list

IsLoading

Full Usage: IsLoading

Field type: bool

true during period when a sheet or project is loading

Field type: bool

KeyFocusPane

Full Usage: KeyFocusPane

Field type: Pane

Which pane last received a mouse-down, and so where unmodified keys go. Set on mouse-down only - never on mouse-move - so it cannot change under the user's hand while they are typing. It replaces a flag set from the pointer's position on every mouse move, which was stale whenever the pointer had not moved and measured against the wave simulator's divider whichever tab was actually showing.

Field type: Pane

LastChangeCheckTime

Full Usage: LastChangeCheckTime

Field type: float

last time check for changes was made

Field type: float

LastCreatedComponent

Full Usage: LastCreatedComponent

Field type: Component option

Track the last added component

Field type: Component option

LastDetailedSavedState

Full Usage: LastDetailedSavedState

Field type: CanvasState

used to determine whether current canvas has been saved (includes any change)

Field type: CanvasState

LastSelectedIds

Full Usage: LastSelectedIds

Field type: string list * string list

component ids and connection ids previously selected (used to detect changes)

Field type: string list * string list

LastSimulatedCanvasState

Full Usage: LastSimulatedCanvasState

Field type: CanvasState option

top-level canvas used for current wave simulation

Field type: CanvasState option

LastUsedDialogWidth

Full Usage: LastUsedDialogWidth

Field type: int

last used bus width in bits - used as default in next component create dialog

Field type: int

Notifications

Full Usage: Notifications

Field type: Notifications

record containing functions that create react elements of notifications

Field type: Notifications

OpenLibrary

Full Usage: OpenLibrary

Field type: OpenedLibrary option

The library the catalogue is showing instead of its own contents, if any, with the component headers read when it was opened.

Field type: OpenedLibrary option

OpenedLibrarySheets

Full Usage: OpenedLibrarySheets

Field type: Set<string>

The library sheets the user has asked to look inside, by name. A library component is an abstraction and its sheet is not normally reachable at all, but understanding how one works is a fair thing to want, so an instance's right-click menu can open its sheet read-only. Held here rather than on the sheet's CCForm because Form is written to the .dgm on every save: this state is meant to last only as long as the project is open, and storing it in the file would both outlive that and let the Sheets menu's Unlock turn a library sheet into an ordinary editable one.

Field type: Set<string>

Pending

Full Usage: Pending

Field type: Msg list

Contains a list of pending messages

Field type: Msg list

PendingDragAddition

Full Usage: PendingDragAddition

Field type: DragAddition option

How the components of an in-progress drag were added, if they were. Set when the drag starts and consumed when it settles; None the rest of the time.

Field type: DragAddition option

PopupDialogData

Full Usage: PopupDialogData

Field type: PopupDialogData

data to populate popup (may not all be used)

Field type: PopupDialogData

PopupViewFunc

Full Usage: PopupViewFunc

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

function to create popup pane if present

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

ProjectBrowser

Full Usage: ProjectBrowser

Field type: ProjectBrowserState option

Set while the project browser is open, and None the rest of the time - which is how its refresh timer knows to stop.

Field type: ProjectBrowserState option

ReadOnlyBaseline

Full Usage: ReadOnlyBaseline

Field type: PinnedCanvas option

What the open sheet's draw block is pinned to, when it is one of the above and has finished loading. None for every ordinary sheet, and while a read-only one is still loading - loading legitimately changes the canvas, recomputing symbol sizes, rerouting wires whose ports moved and centring the circuit, so the pin cannot be armed until that has settled. See ModelHelpers.pinDrawBlock.

Field type: PinnedCanvas option

RightPaneTabVisible

Full Usage: RightPaneTabVisible

Field type: RightTab

which of the tabbed panes is currently visible

Field type: RightTab

RunAfterRenderWithSpinner

Full Usage: RunAfterRenderWithSpinner

Field type: RunData option

Function to be run after rendering to update the model

Field type: RunData option

SavedSheetIsOutOfDate

Full Usage: SavedSheetIsOutOfDate

Field type: bool

used to enable "SAVE" button

Field type: bool

SelectedComponent

Full Usage: SelectedComponent

Field type: Component option

component currently selected in properties dialog

Field type: Component option

Sheet

Full Usage: Sheet

Field type: Model

Draw Canvas

Field type: Model

SheetMenuPinned

Full Usage: SheetMenuPinned

Field type: bool

The Sheet menu is normally dismissed by clicking anywhere outside it - a sheet in it, or the schematic. Pinned, it stays open until the pin is clicked again, so that a design can be navigated with the hierarchy in view. Sheets fitted while it is pinned are sized to the canvas beside it rather than to the whole canvas - see Sheet.getWindowParasToFitBox.

Field type: bool

ShowLibrarySheets

Full Usage: ShowLibrarySheets

Field type: bool

Whether the sheets of placed library components appear in the Sheets menu. False at startup and not settable from the ordinary UI: a library component is meant to be one thing, and seeing its innards listed beside the user's own sheets is confusing rather than informative. It is worth having for anyone writing a library, who does need to see what a component brought with it. The waveform simulator ignores this: library sheets are never offered there.

Field type: bool

SimSubTabVisible

Full Usage: SimSubTabVisible

Field type: SimSubTab

which of the subtabs for the right pane simulation is visible

Field type: SimSubTab

Spinner

Full Usage: Spinner

Field type: (Model -> Model) option

If the application has a modal spinner waiting for simulation

Field type: (Model -> Model) option

SpinnerPayload

Full Usage: SpinnerPayload

Field type: SpinPayload option

function to create spinner popup pane if present (overrides otehr popups)

Field type: SpinPayload option

TTConfig

Full Usage: TTConfig

Field type: TTType

style info for the truth table

Field type: TTType

TopMenuOpenState

Full Usage: TopMenuOpenState

Field type: TopMenu

State of menus for sheets, projects etc

Field type: TopMenu

TopSheetChoiceDeclined

Full Usage: TopSheetChoiceDeclined

Field type: Set<string>

Projects whose top-sheet choice popup the user has cancelled. Cancelling opens the sheet at default parameter values; the question is not asked again for that project.

Field type: Set<string>

UISheetTrail

Full Usage: UISheetTrail

Field type: string list

A breadcrumb-like trail of visited sheets used for UI back button

Field type: string list

UIState

Full Usage: UIState

Field type: Option<UICommandType>

Bad way to tidy up the messy UI commands - better - do them all in just one message!

Field type: Option<UICommandType>

UserData

Full Usage: UserData

Field type: UserData

User data for the application

Field type: UserData

WaveSim

Full Usage: WaveSim

Field type: Map<string, WaveSimModel>

Map of sheet name to WaveSimModel

Field type: Map<string, WaveSimModel>

WaveSimSheet

Full Usage: WaveSimSheet

Field type: string option

which top-level sheet is used by wavesim

Field type: string option

WaveSimViewerWidth

Full Usage: WaveSimViewerWidth

Field type: int

viewer width in pixels altered by dragging the divider

Field type: int

Instance members

Instance member Description

this.WaveSimOrCurrentSheet

Full Usage: this.WaveSimOrCurrentSheet

Returns: string
Returns: string

Type something to start searching.