Header menu logo issie

ModelType Module

Types and nested modules

Type/Module Description

Constants

CheckBoxStyle

What one openable row of the wave selector stands for, which is both how it is styled and the key under which the model remembers whether it is open. A row is a group of components within one sheet instance, or the sheet instance itself. There were also cases for a single component and a single port, from when the list was nested a level deeper than it is; nothing has built one since, so the rows that would have used them are gone and only their styling and their summary text remained.

CircuitCheck

Whether the open design currently builds into a simulation, which is all the Simulation tab needs in order to decide whether its button reads "Start Simulation" or "See Problems", and whether to offer the waveform simulator. It is here, in the model, because answering it means flattening the whole hierarchy: the tab used to ask on every render, so a large design was flattened again for every frame it was visible. Now it is answered once per edit, on a delay, and the last answer stands while a new one is worked out - a button that is briefly a moment out of date, in exchange for an editor that does not stop. The verdict is reached by validateCircuitSimulation, which builds the graph and no FastSimulation, so answering it allocates no step arrays.

CodeEditorModel

Elmish Model type for a rich text code editor

ComponentGroup

Groups components together in the wave selection table. NB: There are fields which are commented out: these can be added back in later on if we want to group those components together by type rather than separately by name.

DiagEl

DragAddition

How the components of an in-progress drag came to exist, if they were added at all. DragAndDrop is also entered when moving EXISTING components that end up overlapping, and by undo snapshots, so the drag settling back to idle does not by itself mean "components added". A paste is distinguished from a catalogue placement because its components must inherit the parameter slots of the ones they were copied from.

DragGhost

What a catalogue drag draws following the cursor.

DragMode

DragPlacement

A catalogue component being dragged onto the canvas, before it exists. Nothing is created until the drop, and where the catalogue item asks for parameters, not until that popup is accepted: what follows the cursor is drawn from a symbol that is never added to any model. That is what makes the gesture free to abandon - a drag ending anywhere but the canvas leaves nothing behind - and it keeps the popup in front of the component exactly as it is for a click.

DriverT

Identifies which Component and Port drives a waveform. Must be an Output port (Input ports cannot drive waveforms).

EditorMsg

Possible messages used by editor

FileCommandType

Gap

A gap in a waveform. Stores information about gaps between NonBinaryTransitions. Used in displayValuesOnWave, and also to store hatched information.

GapStore

ImportDecision

IntMode

Interval

A text position interval in the code editor. This is used to represent the start and end of a selection or an error. All characters in raster scan order are considered part of the interval.

MemoryEditorData

MenuCommand

Model

Msg

Notifications

Pane

Which half of the window the keyboard is pointing at.

PinnedCanvas

The draw block state a read-only sheet is held at, captured once the sheet has finished loading and written back over the live model after every message - see ModelHelpers.pinDrawBlock. Exactly the state a sheet is SAVED from, and nothing else. SymbolUpdate.extractComponent is the sole path from symbols to saved state, and it ignores Symbol.Appearance, so colour, opacity, port visibility and corner handles are all absent here and stay free to change: selection and hover go on working on a read-only sheet at no cost. The bounding boxes are here only because they are derived from the symbols, and would otherwise follow symbols that did not move. The two clipboards are here for a different reason: pinning them is what stops anything being copied OUT of a library sheet, since a copy writes the clipboard and nothing else. Whatever the user had copied before they looked inside survives, which is what they would expect.

PopupDialogData

Possible fields that may (or may not) be used in a dialog popup.

PopupProgress

ProjectBrowserState

The project browser's state while it is open. Its own field rather than borrowed dialog text: the refresh timer has to be able to ask whether the browser is still open, and a timer that answered from shared popup state would go on writing into whatever dialog opened next.

RightTab

RunData

ScrollbarMouseAction

Describe WaveSim's scrollbar's mouse actions' type of operation.

SimSubTab

SimulationProgress

SpinPayload

TTMsg

TTType

TopMenu

Which dropdown on the renderer's own menu bar is open. Edit and View hold what used to be on the Electron menus of the same names.

UICommandType

UserData

Wave

Information required to display a waveform.

WaveSimModel

Contains all information required by waveform simulator. One WaveSimModel per sheet.

WaveSimState

Determines whether the user is able to see the wave viewer pane. Changes value depending on the state of the circuit and whether the wave simulator has been run.

Functions and values

Function or value Description

algebraError_

Full Usage: algebraError_

Returns: Lens<PopupDialogData, SimulationError option>
Returns: Lens<PopupDialogData, SimulationError option>

algebraInputs_

Full Usage: algebraInputs_

Returns: Lens<PopupDialogData, SimulationIO list option>
Returns: Lens<PopupDialogData, SimulationIO list option>

algebraIns_

Full Usage: algebraIns_

Returns: Lens<TTType, SimulationIO list>
Returns: Lens<TTType, SimulationIO list>

badLabel_

Full Usage: badLabel_

Returns: Lens<PopupDialogData, bool>
Returns: Lens<PopupDialogData, bool>

buildVisible_

Full Usage: buildVisible_

Returns: Lens<Model, bool>
Returns: Lens<Model, bool>

catalogueSearch_

Full Usage: catalogueSearch_

Returns: Lens<Model, string>
Returns: Lens<Model, string>

checkPending_

Full Usage: checkPending_

Returns: Lens<CircuitCheck, bool>
Returns: Lens<CircuitCheck, bool>

circuitCheck_

Full Usage: circuitCheck_

Returns: Lens<Model, CircuitCheck>
Returns: Lens<Model, CircuitCheck>

codeEditorState_

Full Usage: codeEditorState_

Returns: Lens<Model, CodeEditorModel option>
Returns: Lens<Model, CodeEditorModel option>

constraintErrorMsg_

Full Usage: constraintErrorMsg_

Returns: Lens<PopupDialogData, string option>
Returns: Lens<PopupDialogData, string option>

constraintIOSel_

Full Usage: constraintIOSel_

Returns: Lens<PopupDialogData, CellIO option>
Returns: Lens<PopupDialogData, CellIO option>

constraintTypeSel_

Full Usage: constraintTypeSel_

Returns: Lens<PopupDialogData, ConstraintType option>
Returns: Lens<PopupDialogData, ConstraintType option>

currentProj_

Full Usage: currentProj_

Returns: Lens<Model, Project option>
Returns: Lens<Model, Project option>

currentStepSimulationStep_

Full Usage: currentStepSimulationStep_

Returns: Lens<Model, Result<SimulationData, SimulationError> option>
Returns: Lens<Model, Result<SimulationData, SimulationError> option>

currentTruthTable_

Full Usage: currentTruthTable_

Returns: Lens<Model, Result<TruthTable, SimulationError> option>
Returns: Lens<Model, Result<TruthTable, SimulationError> option>

cursorPos_

Full Usage: cursorPos_

Returns: Lens<CodeEditorModel, XYPos>
Returns: Lens<CodeEditorModel, XYPos>

defaultCursor_

Full Usage: defaultCursor_

Returns: Lens<WaveSimModel, CursorType>
Returns: Lens<WaveSimModel, CursorType>

dragPlacement_

Full Usage: dragPlacement_

Returns: Lens<Model, DragPlacement option>
Returns: Lens<Model, DragPlacement option>

draggedColumn_

Full Usage: draggedColumn_

Returns: Lens<TTType, CellIO option>
Returns: Lens<TTType, CellIO option>

errors_

Full Usage: errors_

Returns: Lens<CodeEditorModel, Interval list>
Returns: Lens<CodeEditorModel, Interval list>

firstClock_

Full Usage: firstClock_

Returns: Lens<WSConfig, int>
Returns: Lens<WSConfig, int>

fontSize_

Full Usage: fontSize_

Returns: Lens<WSConfig, int>
Returns: Lens<WSConfig, int>

fontWeight_

Full Usage: fontWeight_

Returns: Lens<WSConfig, int>
Returns: Lens<WSConfig, int>

fromDiagram_

Full Usage: fromDiagram_

Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>
Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>

fromFiles_

Full Usage: fromFiles_

Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>
Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>

fromMemoryEditor_

Full Usage: fromMemoryEditor_

Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>
Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>

fromProperties_

Full Usage: fromProperties_

Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>
Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>

fromSimulation_

Full Usage: fromSimulation_

Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>
Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>

fromWaveSim_

Full Usage: fromWaveSim_

Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>
Returns: Lens<Notifications, ((Msg -> unit) -> ReactElement) option>

gridCache_

Full Usage: gridCache_

Returns: Lens<TTType, ReactElement option>
Returns: Lens<TTType, ReactElement option>

gridStyles_

Full Usage: gridStyles_

Returns: Lens<TTType, Map<CellIO, CSSProp list>>
Returns: Lens<TTType, Map<CellIO, CSSProp list>>

hiddenColumns_

Full Usage: hiddenColumns_

Returns: Lens<TTType, CellIO list>
Returns: Lens<TTType, CellIO list>

hoveredColumn_

Full Usage: hoveredColumn_

Returns: Lens<TTType, CellIO option>
Returns: Lens<TTType, CellIO option>

importDecisions_

Full Usage: importDecisions_

Returns: Lens<PopupDialogData, Map<string, ImportDecision option>>
Returns: Lens<PopupDialogData, Map<string, ImportDecision option>>

inputConstraints_

Full Usage: inputConstraints_

Returns: Lens<TTType, ConstraintSet>
Returns: Lens<TTType, ConstraintSet>

int2_

Full Usage: int2_

Returns: Lens<PopupDialogData, bigint option>
Returns: Lens<PopupDialogData, bigint option>

int3_

Full Usage: int3_

Returns: Lens<PopupDialogData, bigint option>
Returns: Lens<PopupDialogData, bigint option>

int_

Full Usage: int_

Returns: Lens<PopupDialogData, int option>
Returns: Lens<PopupDialogData, int option>

intlist2_

Full Usage: intlist2_

Returns: Lens<PopupDialogData, int list option>
Returns: Lens<PopupDialogData, int list option>

intlist_

Full Usage: intlist_

Returns: Lens<PopupDialogData, int list option>
Returns: Lens<PopupDialogData, int list option>

ioOrder_

Full Usage: ioOrder_

Returns: Lens<TTType, CellIO[]>
Returns: Lens<TTType, CellIO[]>

lastClock_

Full Usage: lastClock_

Returns: Lens<WSConfig, int>
Returns: Lens<WSConfig, int>

ldcM

Full Usage: ldcM

Returns: Lens<Model, LoadedComponent list>
Returns: Lens<Model, LoadedComponent list>

ldcOptM

Full Usage: ldcOptM

Returns: Prism<Model, LoadedComponent list>
Returns: Prism<Model, LoadedComponent list>

lines_

Full Usage: lines_

Returns: Lens<CodeEditorModel, string list>
Returns: Lens<CodeEditorModel, string list>

memoryEditorData_

Full Usage: memoryEditorData_

Returns: Lens<PopupDialogData, MemoryEditorData option>
Returns: Lens<PopupDialogData, MemoryEditorData option>

memorySetup_

Full Usage: memorySetup_

Returns: Lens<PopupDialogData, (int * int * InitMemData * string option) option>
Returns: Lens<PopupDialogData, (int * int * InitMemData * string option) option>

nameM

Full Usage: nameM

Returns: Lens<Model, string>
Returns: Lens<Model, string>

nameOptM

Full Usage: nameOptM

Returns: Prism<Model, string>
Returns: Prism<Model, string>

newConstraint_

Full Usage: newConstraint_

Returns: Lens<PopupDialogData, Constraint option>
Returns: Lens<PopupDialogData, Constraint option>

notifications_

Full Usage: notifications_

Returns: Lens<Model, Notifications>
Returns: Lens<Model, Notifications>

openLibrary_

Full Usage: openLibrary_

Returns: Lens<Model, OpenedLibrary option>
Returns: Lens<Model, OpenedLibrary option>

openLoadedComponentOfModel_

Full Usage: openLoadedComponentOfModel_

Returns: Prism<Model, LoadedComponent>
Returns: Prism<Model, LoadedComponent>

openedLibrarySheets_

Full Usage: openedLibrarySheets_

Returns: Lens<Model, Set<string>>
Returns: Lens<Model, Set<string>>

outputConstraints_

Full Usage: outputConstraints_

Returns: Lens<TTType, ConstraintSet>
Returns: Lens<TTType, ConstraintSet>

paramCompSpec_

Full Usage: paramCompSpec_

Returns: Lens<PopupDialogData, ParamBoxDialogState option>
Returns: Lens<PopupDialogData, ParamBoxDialogState option>

pendingDragAddition_

Full Usage: pendingDragAddition_

Returns: Lens<Model, DragAddition option>
Returns: Lens<Model, DragAddition option>

popupDialogData_

Full Usage: popupDialogData_

Returns: Lens<Model, PopupDialogData>
Returns: Lens<Model, PopupDialogData>

popupViewFunc_

Full Usage: popupViewFunc_

Returns: Lens<Model, ((Msg -> Unit) -> Model -> ReactElement) option>
Returns: Lens<Model, ((Msg -> Unit) -> Model -> ReactElement) option>

prevIOOrder_

Full Usage: prevIOOrder_

Returns: Lens<TTType, CellIO[] option>
Returns: Lens<TTType, CellIO[] option>

progress_

Full Usage: progress_

Returns: Lens<PopupDialogData, PopupProgress option>
Returns: Lens<PopupDialogData, PopupProgress option>

projectBrowser_

Full Usage: projectBrowser_

Returns: Lens<Model, ProjectBrowserState option>
Returns: Lens<Model, ProjectBrowserState option>

projectOpt_

Full Usage: projectOpt_

Returns: Prism<Model, Project>
Returns: Prism<Model, Project>

projectPath_

Full Usage: projectPath_

Returns: Lens<PopupDialogData, string>
Returns: Lens<PopupDialogData, string>

project_

Full Usage: project_

Returns: Lens<Model, Project>
Returns: Lens<Model, Project>

putWaveSim wsm model

Full Usage: putWaveSim wsm model

Parameters:
Returns: Model

Update the WaveSimModel of the current waveSim sheet.

wsm : WaveSimModel
model : Model
Returns: Model

ramStartLocation_

Full Usage: ramStartLocation_

Returns: Lens<WaveSimModel, Map<FComponentId, (string * bigint)>>
Returns: Lens<WaveSimModel, Map<FComponentId, (string * bigint)>>

readOnlyBaseline_

Full Usage: readOnlyBaseline_

Returns: Lens<Model, PinnedCanvas option>
Returns: Lens<Model, PinnedCanvas option>

rightPaneTabVisible_

Full Usage: rightPaneTabVisible_

Returns: Lens<Model, RightTab>
Returns: Lens<Model, RightTab>

runAfterRender_

Full Usage: runAfterRender_

Returns: Lens<Model, RunData option>
Returns: Lens<Model, RunData option>

savedSheetIsOutOfDate_

Full Usage: savedSheetIsOutOfDate_

Returns: Lens<Model, bool>
Returns: Lens<Model, bool>

selectedComponent_

Full Usage: selectedComponent_

Returns: Lens<Model, Component option>
Returns: Lens<Model, Component option>

sheetMenuPinned_

Full Usage: sheetMenuPinned_

Returns: Lens<Model, bool>
Returns: Lens<Model, bool>

sheetSearchString_

Full Usage: sheetSearchString_

Returns: Lens<WaveSimModel, string>
Returns: Lens<WaveSimModel, string>

sheet_

Full Usage: sheet_

Returns: Lens<Model, Model>
Returns: Lens<Model, Model>

showLibrarySheets_

Full Usage: showLibrarySheets_

Returns: Lens<Model, bool>
Returns: Lens<Model, bool>

showOnlySelected_

Full Usage: showOnlySelected_

Returns: Lens<WaveSimModel, bool>
Returns: Lens<WaveSimModel, bool>

simSubTabVisible_

Full Usage: simSubTabVisible_

Returns: Lens<Model, SimSubTab>
Returns: Lens<Model, SimSubTab>

sortType_

Full Usage: sortType_

Returns: Lens<TTType, (CellIO * SortType) option>
Returns: Lens<TTType, (CellIO * SortType) option>

tTType_

Full Usage: tTType_

Returns: Lens<Model, TTType>
Returns: Lens<Model, TTType>

text2_

Full Usage: text2_

Returns: Lens<PopupDialogData, string option>
Returns: Lens<PopupDialogData, string option>

text_

Full Usage: text_

Returns: Lens<PopupDialogData, string option>
Returns: Lens<PopupDialogData, string option>

topSheetChoiceDeclined_

Full Usage: topSheetChoiceDeclined_

Returns: Lens<Model, Set<string>>
Returns: Lens<Model, Set<string>>

uISheetTrail_

Full Usage: uISheetTrail_

Returns: Lens<Model, string list>
Returns: Lens<Model, string list>

userData_

Full Usage: userData_

Returns: Lens<Model, UserData>
Returns: Lens<Model, UserData>

verdict_

Full Usage: verdict_

Returns: Lens<CircuitCheck, (Result<bool, SimulationError> * LoadedComponent list) option>
Returns: Lens<CircuitCheck, (Result<bool, SimulationError> * LoadedComponent list) option>

verilogCode_

Full Usage: verilogCode_

Returns: Lens<PopupDialogData, string option>
Returns: Lens<PopupDialogData, string option>

verilogErrors_

Full Usage: verilogErrors_

Returns: Lens<PopupDialogData, ErrorInfo list>
Returns: Lens<PopupDialogData, ErrorInfo list>

wSConfigDialog_

Full Usage: wSConfigDialog_

Returns: Lens<WaveSimModel, WSConfig option>
Returns: Lens<WaveSimModel, WSConfig option>

wSConfig_

Full Usage: wSConfig_

Returns: Lens<WaveSimModel, WSConfig>
Returns: Lens<WaveSimModel, WSConfig>

waveSimSheet_

Full Usage: waveSimSheet_

Returns: Lens<Model, string option>
Returns: Lens<Model, string option>

waveSim_

Full Usage: waveSim_

Returns: Lens<Model, Map<string, WaveSimModel>>
Returns: Lens<Model, Map<string, WaveSimModel>>

Type something to start searching.