Header menu logo issie

Symbol Type

Represents a symbol, that contains a component and all the other information needed to render it

Record fields

Record Field Description

Annotation

Full Usage: Annotation

Field type: Annotation option

Use Some Annotation for visible (and clickable) objects on screen In this case Component is a dummy used only to provide expected H & V

Field type: Annotation option

Appearance

Full Usage: Appearance

Field type: AppearanceT

this filed contains transient information that alters the appearance of the symbol

Field type: AppearanceT

CentrePos

Full Usage: CentrePos

Field type: XYPos

Initial coordinates of the symbol's centre when ScaleButton is pressed

Field type: XYPos

Component

Full Usage: Component

Field type: Component

This is the electrical component. When the component is loaded into draw block the position is kept as Pos field in symbol However H & W remain important, as the height and width of the symbol. This is anomalous. It would make sure sense for all geometric info to be in fields on the symbol. However X,Y,H,W are used (to some extent) in non-draw-block Issie code. NB HScale, VScale modify V, H

Field type: Component

HScale

Full Usage: HScale

Field type: float option

HScale & VScale modify default W (width) and H (height) respectively if not None. They are changed by symbol property box. Horizontal symbol dimension = HScale*W etc They are currently used only on Custom Components and will not work on other omponents.

Field type: float option

Id

Full Usage: Id

Field type: ComponentId

This, for convenience, is a copy of the component Id string, used as Id for symbol Thus symbol Id = component Id. It is unique within one design sheet.

Field type: ComponentId

InWidth0

Full Usage: InWidth0

Field type: int option

Width of the wires connected to input ports 0 & 1 This is needed on the symbol only for bus splitter and bus merge symbols These display the bit numbers of their connections. wire widths are calulated by width inference so these values are transient and need not be stored.

Field type: int option

InWidth1

Full Usage: InWidth1

Field type: int option
Field type: int option

InWidths

Full Usage: InWidths

Field type: int option list option

for MergeN later

Field type: int option list option

IsClocked

Full Usage: IsClocked

Field type: bool

determines whetehr the symbol or its contents (it it is a custom component) contain any clo9cked logic. used to display a clokc symbol

Field type: bool

LabelBoundingBox

Full Usage: LabelBoundingBox

Field type: BoundingBox

the following fields define the position and size of the component label. labels will rotate when the symbol is rotated. labels can be manually adjusted, if not position is as default (for given rotation)

Field type: BoundingBox

LabelHasDefaultPos

Full Usage: LabelHasDefaultPos

Field type: bool
Field type: bool

LabelRotation

Full Usage: LabelRotation

Field type: Rotation option
Field type: Rotation option

Moving

Full Usage: Moving

Field type: bool

transient field to show if ports are being dragged in teh UI.

Field type: bool

MovingPort

Full Usage: MovingPort

Field type: Option<(type)>

Option to represent a port that is being moved, if it's some, it contains the moving port's Id and its current position. dynamic info used in port move operation.

Field type: Option<(type)>

MovingPortTarget

Full Usage: MovingPortTarget

Field type: (XYPos * XYPos) option

dynamic info used in port move operation

Field type: (XYPos * XYPos) option

OffsetFromBBCentre

Full Usage: OffsetFromBBCentre

Field type: XYPos

symbol's centre to the selected components' boundingBox centre when ScaleButton is pressed

Field type: XYPos

PortMaps

Full Usage: PortMaps

Field type: PortMaps

These maps contain the order (on and edge), and the symbol edge, of each port. Edge positions are known from the component XYPos and H (height), W (width). Ports are located as fixed equidistant positions along each component edge dependent on number of ports. Therefore port position can be calculated from these maps and XYPos, H, W.

Field type: PortMaps

Pos

Full Usage: Pos

Field type: XYPos

Coordinates of the symbol's top left corner on component save/restore this is also X,Y on Component type.

Field type: XYPos

ReversedInputPorts

Full Usage: ReversedInputPorts

Field type: bool option
Field type: bool option

STransform

Full Usage: STransform

Field type: STransform

determines whether symbol is rorated (in 90 degree increments) or flipped (reflected).

Field type: STransform

VScale

Full Usage: VScale

Field type: float option

HScale & VScale modify W and H respectively if not None. Vertical symbol dimension = VScale*H etc They are currently used only on Custom Components and will not work on other omponents.

Field type: float option

Type something to start searching.