MODIFIER:@
path: CATEGORY: > CATEGORY:NUWIKI > MODIFIER:@

Nucleus Modifiers

@

Within a Nucleus script, the "@" modifier positions a field, literal or object reference at a specific column and row coordinate ("X-Y position")—called an anchor in Nucleus—on the screen.

  • The position is relative to the screen size and anchor placement defined by the WINDOW modifier, in the form:
    • WINDOW(width,depth,column,row).
  • All fields or objects following the anchor will automatically "line up" until the next anchor is defined.
  • A normal field (without controlling or dependent associations) with a depth of 1 will display the label above the field data rather than to the left of the data field.
    • As an example: @(col,row,depth) FieldName

Syntax

@(col,row{,depth{.spacing}{ ,options}}) { operand }

"depth" is used for text and multivalue column sets.

  • It specifies the number of rows to display of either a MultiDimensional field (grid) or word text field.
  • Scrolling up and down while in a multivalue window can be accomplished with the MVScrollUp and MVScrollDn commands.
  • When depth is specified, the label appears above the data field, rather than to the left of the data field, which is standard procedure in normal, "atomic" or "nuclear" values.

".spacing" indicates the line spacing of the elements in the mv table.

  • Spacing must be numeric
  • example: @(3,3,5.2) indicates 5 mv lines double spaced

Options

Any logical combination of the following options may be specified:

Option Description or Action
(asterisk)Restricts the number of rows of a multivalue window that will be displayed, or to restrict entry to a static depth specified in the depth argument.
AAdd restriction - can NOT add if this flag exists.
CColumn search suppress (disables column search)
FFast load in GUI, ignores color formatting and point size.
ISuppress Insertion of a line when the controlling attribute is a choice list.
NSuppresses numbering of a multivalued window.
PPass restriction - can NOT pass if this flag exists.
Rn;n;n..Reorder. Enables sorting of a column within a multivalue set or grid

n;n;n.. specifies the logical number of the column(s) to sort. Clicking on the header of a column will sort the column.

If Reorder is specified, it must be the last option.
SStatic depth (same as asterisk option)
SNStatic depth, NO numbering.
TAuto MV set scroll on for this MV set.
U or UNIQUEOn a multi-value list, every element must be unique.
XX is a placeholder character

In GUI, forces an event back to the system

Becomes a combo box

Choices or text that you can enter

Operands

Operands are the thing being anchored. These includes:

  • "LITERAL"
    • Displays the literal string in a horizontal field when a depth argument is NOT provided for the anchor.
    • The depth of a vertical string field length displayed will be limited to the depth designated in the option string
      • @(col,row {,depth)})
    • With a depth designation, a literal string is displayed in a vertical column. The depth of the line defaults to the {depth} provided.
    • A vertical literal is NOT supported in GUI mode.
  • LINE(length)
    • Draws a horizontal line at the specified column and row, for the length specified.
  • LINE()
    • LINE() without arguments within the parentheses will draw a line with a length corresponding to the width of the current window, or the last referenced grid as:
    • @(c,r,depth{option}) LINE()
    • @(5,5,10S) LINE()
      • or
    • @(c,r) VLINE(depth{option})
    • @(5,5) VLINE(10S)
  • LINE
    • Displays a vertical line down from the col, row anchor point.
    • The vertical field length displayed will be limited to the depth designated in the option string @(col,row,depth)
    • With depth, this is handled vertically.
    • In a vertical line, the depth of the line defaults to the {depth} if {L} is not provided
      • If a LINE directive is made without an @ function, it takes the characteristics of the last @ function.
      • If the last directive was @(col,row,depth), the line would be vertical.
  • VLINE(height)
    • Draws a vertical line for the height designated, at the specified column and row.
  • VLINE(depth{ option} )
    • Draws a vertical line for the height designated using the line drawing options noted below.
  • @(col,row) LINE(LengthB)
    • Draws a horizontal line at the column and row specified, for the LENGTH specified. Adds T-bars to both ends of the string.
  • @(col,row) LINE(LengthS)
    • Adds T-bar to left or "Start" of string.
  • @(col,row) LINE(LengthE)
    • Adds T-bar to the End of string.
  • @(col,row,depth{option}) LINE()
    • Draws string corresponding to width of designated window and adds vertical T-bars to left and right ends of string

Line drawing options

The horizontal and vertical line length parameters in a script can have one of three alpha options designating the placement of right tee and left tee (horizontal line) and top and bottom tees (vertical line).

The options are:
  • S - Start of String
  • E - End of String
  • B - Both ends of string

See also