Reserved Attributes
List of Attributes
Reserved attributes all start with a
leading space character in their names. To make that space
character visible, we write it, e.g., as follows: "␣color"
for an attribute whose name is a space followed by the string color
.
In contrast to normal,
general-purpose attributes, whose string values are usually displayed in
the GUI or made available to other parts of the application through the
GUI API, the reserved attributes may
change the rendering of its object. Some may depend on the current
EEvision settings
(initialized by eev.conf).
Reserved attribute |
Supported at object type |
Used by |
✔ | Attribute value description |
⧉ | Attribute value example |
---|---|---|---|---|---|---|
␣color |
Wire | EEV | ✓ | Defines one, two, or three colors to be displayed in a small rectangular box at the wire – depending on the value of config.wireMark in the Settings. The color values are stored as space-separated fields as the value of the attribute (actually one color, a pair, or a triplet of colors). |
pink #ffa500 blue
|
|
Component | EEV | ✓ | Defines either the component's or connector's background color, or its background and foreground color (if the value is a pair of colors). |
#8080ff
|
||
Connector | EEV | ✓ |
#8080ff red
|
|||
␣imagedsp |
ECU or UNDEF Component | EEV | Defines an image to be displayed inside the component body. The value of the attribute is a comma-separated list of fields. |
sensor.svg,100,100
|
||
␣symdef |
SVG Component | EEV | Defines the symbol shape to be displayed as component body. This symbol shape defines label locations, body size and usually includes a centered SVG image. It must be formatted as Tcl list. | DEF fpath 0 0 0 80 97 80 97 0 0 0 linewidth 0 imagedsp Relais.svg -ul 0 0 97 80 attrdsp @name -lc 74 -2 12 | ||
SVG Cavity | Defines the pin-related parts of the symbol shape, which is the pin location and any pin label location. For backward compatibility this is optional; if this attribute is not given, then all data is expected to be stored in the SVG component's symdef attribute. Technically, EEvision will concatenate the body's symdef and all cavities' symdef into one description; however, the pinnames (the second word in the symdef values) will be replaced by any internal name needed to solve potential name conflict issues gracefully. |
pin 12 left -loc 18 62 18 62 pinattrdsp @name -ul 13 68 10 |
||||
␣symbol |
SVG Component | EEV |
Defines the symbol shape by name, referring to a symbol definition
by name in an external symbol file. This attribute is deprecated.
Future versions of EEvision will not support it. Please use
"␣symdef" instead.
|
Relais
|
||
␣ecfile |
Cavity | end circuit |
Defines the end-circuit file to be optionally displayed related to a certain cavity. Formatted as comma-separated fields. |
G51.svg,1,IN1,left
|
||
␣index |
Edb root | file select |
Defines the names of root attributes that are optionally displayed
in the
eevision.html landing page. Formatted as
tab-separated fields.
|
desc author vers
|
||
␣href |
any | EEV info |
Defines an HTML hyperlink to be displayed in the info window and
balloon window for the object. As an exception to EDB standards,
multiple (duplicate) "␣href" attribute are supported.
Formatted as comma-separated fields.
|
⧉ | Link,https://www.altair.com,Altair | |
␣image |
any | EEV info |
Defines an HTML image to be displayed in the info and balloon window for the
object. Formatted as comma-separated fields. Multiple
"␣image" attributes are supported.
|
⧉ | Image, ecu.png, 320, 240 | |
␣video |
any | EEV info |
Defines an HTML video to be displayed in the info and balloon window for the
object. Formatted as comma-separated fields. Multiple
"␣video" attributes are supported.
|
⧉ | Video, ecu.mp4, 320, 240 | |
␣srcref |
any | EEV info |
Defines references to the original source file. These attributes are automatically created by an EDB converter tool (currently only created by edml2edb). | ⧉ |
at118m.edml:5,10 more.edml:3 |
|
␣expr |
CONFIG Module | 100% filtering | ✓ | Defines a Boolean expression to be evaluated at EEvision startup with 100% filtering (defined by URL parameters fv). | K12 & (S33P | TK > 12) | |
␣smartstop
|
Cavity, Connector, Component | EEV extract |
Defines stop objects for the smart extraction by the Extract button
or by the
ExtractOne
API function if the
options.smart
argument is not set to "off" . The value of the attribute
is an arbitrary string; it only matters whether the object has a
"␣smartstop" attribute or not.
|
|||
␣diff ␣length ␣weight ␣source
|
Internally created and used by the edbdiff, docgen, and details plugins as well as EDB transformations for logical and block mode. They are considered as experimental. | ⧉ |
The Attribute Value Syntax
- ␣color
-
A color is defined either in hex format or by a color name, optionally
followed by a slash and the transparency of the color. Without the
slash-separated transparency, the color is opaque. The hex format is
prefixed with a
#
character, followed by 6 hex digits, e.g.,#ffa500
for orange color – with the first two hex-digits representing red, the next two green, and the final two blue, each in a range from0x00
(dark) to0xff
(bright). For half-transparent colors, the hex format can be appended by a slash and two more hex digits, defining the transparency in a range from 0x00 (opaque) to 0xff (full transparent). For example:#ffa500/7f
defines a 50% transparent orange color. -
Alternatively to the hex format, one of the following predefined color
names can be used:
aliceblueantiquewhiteaquaaquamarineazurebeigebisqueblackblanchedalmondbluebluevioletbrownburlywoodcadetbluechartreusechocolatecoralcornflowerbluecornsilkcrimsoncyandarkbluedarkcyandarkgoldenroddarkgraydarkgreendarkgreydarkkhakidarkmagentadarkolivegreendarkorangedarkorchiddarkreddarksalmondarkseagreendarkslatebluedarkslategraydarkslategreydarkturquoisedarkvioletdeeppinkdeepskybluedimgraydimgreydodgerbluefirebrickfloralwhiteforestgreenfuchsiagainsboroghostwhitegoldgoldenrodgraygreengreenyellowgreyhoneydewhotpinkindianredindigoivorykhakilavenderlavenderblushlawngreenlemonchiffonlightbluelightcorallightcyanlightgoldenrodyellowlightgraylightgreenlightgreylightpinklightsalmonlightseagreenlightskybluelightslategraylightslategreylightsteelbluelightyellowlimelimegreenlinenmagentamaroonmediumaquamarinemediumbluemediumorchidmediumpurplemediumseagreenmediumslatebluemediumspringgreenmediumturquoisemediumvioletredmidnightbluemintcreammistyrosemoccasinnavajowhitenavyoldlaceoliveolivedraborangeorangeredorchidpalegoldenrodpalegreenpaleturquoisepalevioletredpapayawhippeachpuffperupinkplumpowderbluepurpleredrosybrownroyalbluesaddlebrownsalmonsandybrownseagreenseashellsiennasilverskyblueslateblueslategrayslategreysnowspringgreensteelbluetantealthistletomatoturquoisevioletwheatwhitewhitesmokeyellowyellowgreen .
gray/50%
defines a 50% transparent gray color. As an exception the name?
is supported for no/unknown color (same meaning as not defining the color at all) and can be used to define only some colors in a pair or triplet, like:? ? steelblue
. -
Validate color in the EDB Creator API by
calling
EdbValidateAttr("␣color", value)
or set theEdbStrictFValidAttr
flag in the EDB, before callingEdbNewAttr("␣color", value).
- ␣imagedsp
-
This attribute defines an image to be displayed inside a Component. The
attribute value is the image name plus optional comma-separated width
and height of the displayed image. For instance,
"sensor.svg,40,50"
(with width=40 and height=50) or"sensor.svg"
(with default width 100 and default height 100). If the image name includes a suffix (here.svg
), then the image is loaded from a location relative to the location of the.edb
file. If the image name includes no suffix, like in"A,40,50"
or"A"
, then the corresponding EEvision built-in image is loaded. -
Built-in Images: There is a built-in image for each upper-case
character from A to Z as listed here (some are empty):
A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =
- Validate imagedsp: TODO
- ␣symdef
- The string value of the “␣symdef” attribute (as well as the syntax of the symlib file, referred to by the “ symbol” attribute) is a space-separated list of items – actually following the syntax of Tcl lists (if there are spaces or other special characters in an item). Each item is either a keyword or a string value representing a name or a number.
- Validate symdef: TODO
- ␣ecfile
-
The
"␣ecfile"
attribute is used by the endcircuit plugin to display the inner circuitry of a component. A detailed description of the syntax of the"␣ecfile"
attribute can be found in the documentation of the endcircuit plugin. - Validate ecfile: TODO
- ␣index
-
This attribute at the EDB database root node is evaluated by the default EEvision landing page
eevision.html
. For the currently selected dataset and when “Show details” is activated, the values of those root attributes are shown whose names are listed in the value string of the"␣index"
attribute.The list of attribute names needs to be separated by tab characters, not spaces!
- Validate index: TODO
- ␣href
-
EEvision's balloon window showing – apart from the normal attributes Alias
,CompID
,Description
,Harness
, andPartNumber
– an image, a video, and a link. They were created using the reserved attributes"␣image"
,"␣video"
, and"␣href"
."␣href"
attribute is used by the EEvision GUI to display links to other web pages in the info and balloon window (see Figure 1). For this, the value of the attribute needs to be a list of three comma-separated entries, e.g.,"␣href" = "Webpage,https://www.altair.com,Altair Engineering Inc."
."␣href"
can be created. - Validate href: TODO
- ␣image
-
The
"␣image"
attribute is used to display images in the info and balloon window (see Figure 1). The value of the"␣image"
attribute is a comma-separated list of four entries:- Name of the entry in the attribute table
- File name of the image file (including extension, relative to the directory of the EDB file)
- Width of the image in pixels or “
auto
” if the width should be determined automatically. - Height of the image in pixels or “
auto
” if the height should be determined automatically.
auto
”, the image is scaled preserving its aspect ratio. If both dimensions are “auto
” the natural size of the image is used as long as its width does not exceed half of the width of viewport.
Example:"␣image" = "FZM,fzm_plug.png,300,auto"
- Validate image: TODO
- ␣video
-
We can use the
"␣video"
attribute to insert a video into the attribute table of an object's info or balloon window (see Figure 1). The syntax of the"␣video"
attribute is the same as the syntax of the"␣image"
attribute.
Example:"␣video" = "FZM,fzm_video.mp4,300,auto"
- Validate video: TODO
- ␣srcref
-
The string value of the
"␣srcref"
attribute is a file name, followed by a colon (:), followed by a comma separated list of line numbers or line number ranges (indicated by a dash (-)). For exampleat118m.edml:5,10,102-108,210
defines references to the source fileat118m.edml
at lines 5, 10, 102 to 108, and 210. - ␣expr
-
The string value of the CONFIG Module's
"␣expr"
attribute defines a Boolean expression based on operators and input variables. The operators are | (or), & (and), ! (prefix not), ' (postfix not) and (…) (braces). The operator precedence is | < & < ! < '. The input variable names consist of alpha and numeric characters and “_”, but the first character must be an alpha or “_”. The variable names are case-sensitive. The input variables are given astrue
(if set by the URL parameter fv) or given asfalse
(if not set). For the 100% filtering, each CONFIG Module's Boolean expression is evaluated to true or false. True means, this CONFIG Module is added to the filtering result. False means, this CONFIG Module is not added. Here is an example truth table:input variables Boolean expression
A12 & B7 | !A3
⇒ true fv=A3 ⇒ false fv=B7 ⇒ true fv=B7 fv=A3 ⇒ false fv=A12 ⇒ true fv=A12 fv=A3 ⇒ false fv=A12 fv=B7 ⇒ true fv=A12 fv=B7 fv=A3 ⇒ true -
As mentioned above, the
input variables are normally only
0=false (if not set) or 1=true (if set by the
fv
URL parameter). But there is an
integer extension allowing each input variable to be set to any
positive integer, e.g.,
fv=B7=100. Then, it may be useful to check for integer ranges in the Boolean
expression, using additional operators: <,
> and
=
plus constant integer numbers, as shown in the following incomplete
example truth table:
input variables Boolean expression
A12 & B7 < 42 | !A3
fv=A12 fv=B7=150 fv=A3 ⇒ false (true & false | !true) fv=A12 fv=B7=40 fv=A3 ⇒ true (true & true | !true) fv=A12 fv=A3 ⇒ ditto, B7 is not set (ergo 0) -
There is an additional general purpose operator
? … : … to combine sub-expressions like: “
subexpr0 ? subexpr1 : subexpr2
” with the same meaning as in common programming languages. This operator has the lowest precedence (lower than |). As common in programming languages, all operators are left associative, except for the operator ' (postfix not), which is right associative. -
Validate expr in the
EDB Creator API
by calling
EdbValidateAttr(mod, "␣expr", value)
or set theEdbStrictFValidAttr
flag in the EDB, before callingEdbNewAttr(mod, "␣expr", value).
If it succeeds, theEdbValidateAttr(mod, "␣expr", value)
additionally returns a list of variables that occur in the Boolean expression (as an extra service to the caller).