Reference manual for vintage HP28S advanced scientific calculator
Mikrotik v3 reference manual of RouterOS, thsi the new document for the updates in the new version.
Full description
ID_Logger
Descripción: Structural Engineering
Cessna 172-Reference Manual
Reference Manual for the Anton Paar Synthos 3000 Digestion MicrowaveFull description
Barangay Health Workers Reference Manual Deparment of Health, Republic of the Philippines Updated March 2015
Descripción completa
ANSYS AQWA Reference Manual 17.2
Software Customisation Reference Manual
AVEVA Sol u t i on s L im i t ed
PML PML Disclaimer 1.1 AVEVA does not warrant that the use of the AVEVA software will be uninterrupted, error-free or free from viruses. 1.2 AVEV AVEVA A shall not be liable for: loss of profits; loss of business; depletion of goodwill and/or similar losses; loss of anticipated savings; loss of goods; loss of contract; loss of use; loss or corruption of data or information; any special, indirect, consequential or pure economic loss, costs, damages, charges or expenses which may be suffered by the user, including any loss suffered by the user resulting from the inaccuracy or invalidity of any data created by the AVEVA software, irrespective of whether such losses are suffered directly or indirectly, or arise in contract, tort (including negligence) or otherwise. 1.3 AVEVA AVEVA shall have no liability in contract, tort (including negligence), or otherwise, arising in connection with the performance of the AVEVA software where the faulty performance of the AVEVA software results from a user's modification of the AVEV AVEVA A software. User's rights to modify the AVEVA VEVA software are strictly limited to those set out in the Customisation Manual. 1.4 AVEVA AVEVA shall not be liable for any breach or infringement of a third party's intellectual property rights where such breach results from a user's modification of the AVEVA AVEVA software or associated documentation. 1.5 AVEVA's total liability in contract, tort (including negligence), or otherwise, arising in connection with the performance of the AVEVA AVEVA software shall be limited to 100% of the licence fees paid in the year in which the user's claim is brought. 1.6 Clauses 1.1 to 1.5 shall apply to the fullest extent permissible at law. 1.7. In the event of any conflict between the above clauses and the analogous clauses in the software licence under which the AVEVA AVEVA software was purchased, the clauses in the software licence shall take precedence.
PML Copyright Copyright and all other intellectual property rights in this manual and the associated software, and every part of it (including source code, object code, any data contained in it, the manual and any other documentation supplied with it) belongs to, or is validly licensed by, AVEV AVEVA A Solutions Limited or iits ts subsidiaries. All rights are reserved to AVEVA AVEVA Solutions Limited and its subsidiaries. The information contained in this document d ocument is commercially sensitive, and shall not be copied, reproduced, stored in a retrieval system, or transmitted without the prior written permission of AVEVA Solutions Limited. Where such permission is granted, it expressly requires that this copyright notice, and the above disclaimer, is prominently displayed at the beginning of every copy that is made. The manual and associated documentation may not be adapted, reproduced, or copied, in any material or electronic form, without the prior written permission of AVEVA AVEVA Solutions Limited. Subject to the user's rights, as set out in the customisation manuals to amend PML software files contained in the PDMSUI and PMLLIB folders and any configuration files, the user may not reverse engineer, decompile, copy, or adapt the software. Neither the whole, nor part of the software described in this publication may be incorporated into any third-party software, product, machine, or system without the prior written permission of AVEVA AVEVA Solutions Limited, save as permitted by law. Any such unauthorised action is strictly prohibited, and may give rise to civil liabilities and criminal prosecution. The AVEVA software described in this guide is to be installed and operated strictly in accordance with the terms and conditions of the respective software licences, and in accordance with the relevant User Documentation. Unauthorised or unlicensed use of the software is strictly prohibited. Copyright 1974 to current year. AVEV AVEVA A Solutions Limited and its subsidiaries. All rights reserved. AVEVA AVEVA shall not be liable for any breach or infringement of a third party's intellectual property rights where such breach results from a user's modification of the AVEVA AVEVA software or associated documentation. AVEVA VEVA Solutions Limited, High Cross, Madingley Road, Cambridge, CB3 0HB, United Kingdom.
PML Trademark AVEVA and Tribon are registered trademarks of AVEVA Solutions Limited or its subsidiaries. Unauthorised use of the AVEVA AVEVA or Tribon trademarks is strictly forbidden. AVEVA product/software names are trademarks or registered trademarks of AVEVA Solutions Limited or its subsidiaries, registered in the UK, Europe and other countries (worldwide). The copyright, trademark rights, or other intellectual property rights in any other product or software, its name or logo belongs to its respective owner .
Soft ware Customis ation Reference Manual Introduction
1
Introduction This manual is the Reference Manual for the AVEVA Programming Language, PML. It is intended for users who are already familiar with PML. Users who are starting to use PML should refer to the Software Customisation Guide , which should be used together with this manual. There are two versions of PML, the older one, known as PML 1, and the newer one, known as PML 2. PML 2 has been written specifically for creating and customising the AVEVA GUI, and this manual is mainly concerned with PML 2. However, PML 2 has not completely replaced PML 1, and there are some tasks which are carried out more efficiently using PML 1 facilities. In particular, this manual describes the PML 1 expressions package, which is used within PDMS; for example, for writing rules and defining report templates. You should also refer to the Database Management Reference Manual. This manual contains: •
A list of PML 2 Objects, Members and Methods. For the Forms and Menus objects, the command syntax relating to the objects is included.
Note: Many properties of Forms and Gadgets that were previously set using commands
should now be set using the Form or Gadget methods. In general, the only commands described are those which have not been replaced by methods. If you are maintaining old code, you may need to refer to the edition of the AVEVA Software Customisation Guide dated October 1995, which describes the old syntax in detail. • •
Information about using PML in Review. A description of the PML 1 expressions package.
1:1
12 Series
Soft ware Customis ation Reference Manual Introduction
1:2
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2
Sum mary o f Obj ects, Mem bers an d Meth ods
2.1
Object Classification The table below lists the object types and shows which classifications they belong to. Classification
Object Type
PML Bui l t - i n Obj ect s
ARRAY BLOCK BOOLEAN FILE OBJECT REAL STRING DATETIME UNIT MEASURE ARC
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Classification
Object Type
PDMS Obj ect s
BANNER BORE DB DBREF DBSESS DIRECTION MACRO MDB ORIENTATION POSITION POSTUNDO PROJECT SESSION TEAM UNDOABLE USER ALERT
For ms and Menu Obj ect s & Gadget s
BAR BUTTON COMBOBOX CONTAINER FMSYS FORM FRAME LINE LIST MENU NUMERIC OPTION PARAGRAPH RTOGGLE SELECTOR
2:2
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Classification
Object Type
SLIDER TEXT TEXTPANE TOGGLE VIEW
ALPHA AREA PLOT VOLUME
Col l ect i on and Repor t Obj ect s
COLLECTION COLUMN COLUMN-FORMAT DATE-FORMAT EXPRESSION REPORT TABLE FORMAT
For mat t i ng Text Table 2: 1.
2.2
Object Types and Classification
Methods Available to All Objects The table following lists the methods available to all objects. The table gives the name of each method and the type of result you get back from it. The third column of the table describes what the method does. Name
Result
Purpose
At t r i but e( ' Name' )
ANY
To set or get a member of an object, providing the member name as a STRING.
At t r i but es ( )
ARRAY OF To get a list of the names of STRINGS the members of an object as an array of STRING.
Del et e( )
NO RESULT Destroy the object - make it undefined
EQ( any)
BOOLEAN
Type-dependent comparison
LT( any)
BOOLEAN
Type-dependent comparison (converting first to STRING if all else fails)
2:3
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Max( any)
ANY
Return maximum of object and second object
Mi n( any)
ANY
Return minimum of object and second object
NEQ( any)
BOOLEAN
TRUE if objects do not have the same value(s)
Obj ect Type( )
STRING
Return the type of the object as a string
Set ( )
BOOLEAN
TRUE if the object has been given a value(s)
St r i ng( )
STRING
Convert the STRING
Unset ( )
BOOLEAN
TRUE if the object does not have a value
Name
Type
Purpose
vi si bl e
BOOLEAN
You query this member to determine if a gadget is visible or invisible.
Table 2: 2.
object
to a
Methods Available to All Objects
2.3
Forms and Menus Objects
2.3.1
Members Contained by All Gadgets All gadgets contain the following members.
Get/Set
To make a gadget visible, set it to TRUE; to make the gadget invisible, set it to FALSE. BOOLEAN
ac t i ve
Get/Set
You query this member to determine if a gadget is active or inactive (greyedout). To make a gadget active, set it to TRUE; to make the gadget inactive, set it to FALSE.
2:4
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Type
Purpose
cal l back
STRING
Query or assign the gadget’s callback string
Get/Set STRING
t ag
Query or assign a gadget’s tag text. This is not displayed for all gadgets.
Get/Set Table 2: 3.
2.3.2
Members Contained by All Gadgets
Summary of Gadget-Specific Methods The table below summarises the methods that different gadgets support. B B L O P S T e i p a l a u s i x r d r t t t a t i e t o o r n n
Add
X
Cl ear
X
Cl ear Sel ecti on Cont ai ner
X
T V V V o i e i e i g e w w w g l A 2 3 e l D D / R p h t o a g g l e
N u m e r i c I n p u t
C o n t a i n e r
X X
Backgr ound
T e x t p a n e
X
X
X
X
X
X
X
X
X
C o m b o b o x
F L r i n a m e e
S V i e e l w e c : t P o l r o t
X X
X
X X
X
X
X
X
X
X
X X
X
X
X
X
X
X X
X
X
X
X
X
X
X
X
X
Cur Pos
X
Di spl ayText Fi el dPr oper t y
X
Ful l Name
X
Get Pi ckedPopup
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Hi ghl i ght I ns er t Af t er
X
I nser t Bef or e
X
X
X
X
X
X
X X
X
L i ne Name
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Owner
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Ref r esh
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
RemovePopup Rest or eVi ew
X
RToggl e Sel ect
X
X
X
X
Sel ec t i on
X
X
X
X
Set Act i ve Set Backgr ound Set Col umns
X X
X
X
X
X
X
X
X X
Set Cur Pos
2:5
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
B B L O P S T e i p a l a u s i x r d r t t t a t i e t o o r n n
Set Edi t abl e Set Fi el dPr oper t y
T e x t p a n e
X
X
X
X
T V V V o e i e i e i g w w w g l A 2 3 e l D D / R p h t o a g g l e
N u m e r i c I n p u t
C o m b o b o x
F L r i n a m e e
S V i e e l w e c : P t o l r o t
X X
Set Focus
X
X
X
X
X
X
X
X
X
X
X
X
X
Set Headi ngs
X
Set Li ne
X
Set Popup
X
X
X
X
X
X
X
X
X
X
X
Set Range
X
Set Rows
X
Set Si ze
X
Set Tool t i p
X
X
X
X
X
X
X
X X
X
X
X
Set Val ue
X
Shown
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
ShowPopup Subt ype Type
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Val i dat eCal l Table 2: 4.
C o n t a i n e r
Summary of Gadget-Specific Methods
2.4
Gadget Syntax Graphs
2.4.1
Rules for Presenting and Using Syntax Graphs The rules for syntax graphs are as follows: 1. Each graph represents a command (or part of a command) to PDMS to perform specified actions with specified data. The graph is entered at “ gr aph_name>- - “ or “>- ”, and exited at “-->”. The allowed flow in a graph is top to bottom, and left to right, except where indicated otherwise by a “ * “ or “<“ symbol. 2. Vertical lines with one or more “+“ symbols represent a new state. These are always traversed downwards. There should be a “+” for each allowable entry point into a state. The “+” symbols can only be traversed from left to right. 3. Horizontals to the right of state lines, represent command words and data which are allowable in the state. They can only be traversed from left to right. 1. Words starting with capitals represent command words. The capitalized part represents the minimum syntax which is recognized. Lower case parts denote optional characters. The whole thing is actually case independent as far as the user is concerned. 2. Words enclosed in “< >“ represent a call to the named graph. These should be lower case. Graph calls can be recursive. 3. Words in lower case only, represent ‘notionally’ atomic data items, e.g. text, integer, val (numeric value). Sometimes they are in fact graph calls, e.g. ‘ f name’ and
2:6
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
‘gname’ . Sometimes they are fictitious e.g. ‘ t agt ext’ , but more helpful than just “text” and easier to understand than a reference to, say, < f gt ag>. 4. Continuous vertical and horizontal lines without a “ + “ symbol represent flow lines of the graph. 1. The presence of a “* “ symbol in a vertical line indicates that the allowed direction of traverse is upwards. 2. The presence of a “<“ symbol on a horizontal indicates that the allowed direction of traverse is backwards. 3. The symbols “.“, “/ “, “ ‘ “ are just cosmetic to help the graph to look better.
2.4.2
Setting Up Gadget Anchoring: The ANCHOR attribute allows you to control the position of an edge of the gadget relative to the corresponding edge of its container. For example ANCHOR RIGHT specifies that the right hand edge of the gadget will maintain a fixed distance from the right hand edge of its owning container. . - - - <- - - - - - - - - - - - - . / | >- - - - - - - - - - - - - +- - ANCHOR - - +- - +- Lef t - - - - . | | +- Ri ght - - - | | | +- Top - - - - - | | | ‘ - Bot t om - - +- - - +- - - * | | +- - - - None - - - - | ‘ - - - - Al l - - - - - - ’ - - > Figure 2:1.
2.4.3
Syntax Graph -: Gadget Anchoring
Setting Up Gadget Docking: The DOCK attribute allows you to dock a gadget to the left, right, top, or bottom edge of its container, typically a form or a frame; or you can cause the gadget to dock to all edges, or to no edges. >- - - - - - - - - - - - - +- - DOCK - - - - +- - - - - Lef t - - - - . +- - - - Ri ght - - - | +- - - - Top - - - - - | +- - - - Bot t om - - | +- - - - None - - - - | ‘ - - - - Fi l l - - - - ’ - - > Figure 2:2.
Syntax Graph - Gadget Docking
Note: The DOCK and ANCHOR attributes are mutually exclusive.
Setting the DOCK attribute resets the ANCHOR to the default; setting the ANCHOR attribute resets DOCK to none. You can set these attributes only when you define the gadget: you cannot change it after the exit from form setup. Thus you are not allowed to the resize behaviour at run-time.
2:7
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.4.4
Setting-Up the Gadget’s Position: and You can use the AT syntax, shown below on the graph, to define the position of a gadget’s origin within a form. You can specify the position absolutely (in form layout grid units) or relative to the extremities of existing gadgets, or relative to the size of the form and the gadget. >- - - - AT - - +- val val - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - . +- X val - - - - - - - - - - - - . | +- XMI N - . | | +- XCEN - | | | +- XMAX - +- - | | ‘ - - - - - - - - ‘ - - - - - - - - - - - +- Y val - - - - - - - - - - - - | +- YMI N - . | +- YCEN - | | +- YMAX - ‘ - - | ‘--------------------‘--> Figure 2:3.
Syntax Graph - Absolute Positioning
The subgraph , shown below, sets the gadget position relative to another gadget or the form’s extent. For example, you can use it to position a gadget halfway across the width of a form. >- - - - +- - . +- - FORM - - - | ‘ - - - - - - - - - - - +| ++| | | | ++-
* val - - - - - . | + val - - . | - val - - ‘ - - +- + val * SI ZE - - - . +- - val * SI ZE - - - | +- + SI ZE - - - - - - - - - | +- - SI ZE - - - - - - - - - | ‘------------------| + SI ZE - - - - - - - - - - - - - - - - - - - - - - - | - SI ZE - - - - - - - - - - - - - - - - - - - - - - - |
‘--------------------------------‘--> Figure 2:4.
Syntax Graph -: Relative Positioning
Examples of Using the AT Syntax
AT 5 7. 5
Puts gadget origin at form grid coordinates (5, 7.5).
AT X 5. 5
Puts gadget origin at form grid coordinates (5.5, y) where y is calculated automatically from the y extremity of the last placed gadget and the current VDISTANCE setting.
AT YMAX+1
Positions new gadget at (x, y) where x is calculated automatically from the x extremity of the last placed gadget and the current HDISTANCE setting. y is at YMAX+1 of the last gadget.
2:8
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Positions new gadget with respect to two existing gadgets. Gadget is offset by 2 grid units to the left of GAD1(X=XMIN-2) and 1 unit below .GAD2 (Y=YMAX+1).
AT XMI N. GAD1- 2 YMAX. GAD2+1
AT XMAX FORM- SI ZE YMAX FORM- SI ZE
2.4.5
XMAX FORM refers to the current right hand size of the form at its current stage of definition (not its final maximum extent). YMAX FORM refers to the form’s current bottom extent. The -SIZE option subtracts the size of the gadget being positioned in the form. This example positions the gadget at the extreme right-hand bottom edge of the form.
Setting Up the Gadget’s Width and Height: This operation allows you to set a gadget’s width and height. >- - - - +- - - +- - - - - - - - - . | +- ASPect ( h/ w) - - | | ‘-----------------‘--> | ‘ - - - +- - - - - - - - - . +- ASPect ( h/ w) - - | ‘-----------------‘--> Figure 2:5.
Syntax Graph -: Gadget Geometry
h/w is the value of the Aspect Ratio (height/width). The units for will have been preset to pixels or F&M grid units, appropriately. The default width and height for will have been preset, so leaving the graph with only width or height set still realises both values. All values may be given as integer or reals. Setting the Height:
>- - - - WI Dt h - +- val - - - - - - . +- - - | ‘------------‘-->
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.4.6
Setting Up the Gadget’s Tagwidth (TEXT, TOGGLE and OPTION): The TAGWIDTH specifies the size of the gadget’s tag field in grid width units including any padding space, regardless of the actual tag string. Tagwidth is not needed for gadgets with an explicit area specification (width and height, lines or length). FRAME, LIST, SELECTOR, TEXTPANE and PARAGRAPH can always force an explicit width. The syntax graph defines the Tag specification >- - - - +- TAGWI Dt h val - +- - - - - - - - - - - - - . ‘ - - - - - - - - - - - - - - - - ‘ - - t agt ext - - ‘ - - > Figure 2:6.
Syntax Graph -: Gadget Tagwidth
The graph supports both the simple ‘tagtext’ setting and/or the specification of the maximum width of any tag. If the tag width is not explicitly given then it is assumed to be the nu mber of characters in the ‘tagtext’ string multiplied by the horizontal grid size (the notional character width for the font). You can specify the tag width without specifying any tagtext at definition time; this can be added at run time
2.4.7
Setting Up the Gadget’s 2D Screen Position: This shows how to set up a gadget’s 2D screen position in normalized co-ordinates. - - +- XR val - +- YR val - . ‘ - YR val - +- XR val - ‘ - - > Figure 2:7.
Syntax Graph - Gadget's 2d Screen Position
Note: Normalized co-ordinates represent a proportion of the full screen size.
0. 0 <= XR <= 1. 0 and 0. 0 <= YR <= 1. 0.
2:10
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5
Object Type Details This section contains details of the object types listed in Table 2: 1.: Object Types and Classification.
2.5.1
ALERT Object Methods
Name
Result
Conf i r m( Message i s STRI NG, X i s REAL, Y i s REAL )
STRING Show a blocking CONFIRM ‘YES’ OR ALERT and retrieve the ‘NO’ response. X and Y are optional screen positions.
Er r or ( Message i s STRI NG, X i s REAL, Y i s REAL )
STRING ‘YES’
Show a blocking ERROR ALERT and retrieve the response. X and Y are optional screen positions.
Message( Message i s STRI NG, X i s REAL, Y i s REAL)
STRING ‘YES’
Show a blocking MESSAGE ALERT and retrieve the response and retrieve the response. X and Y are optional screen positions.
Quest i on( Message i s STRI NG, X i s REAL, Y i s REAL )
STRING ‘YES’, ‘NO’ OR ‘CANCEL’
Show a blocking QUESTION ALERT and retrieve the response. X and Y are optional screen positions.
War ni ng( Message i s STRI NG, X i s REAL, Y i s REAL)
STRING ‘YES’
Show a blocking WARNING ALERT and retrieve the response and retrieve the response. X and Y are optional screen positions.
! ! Al er t . I nput ( ! pr ompt i s STRI NG, ! def aul t i s STRI NG) i s STRI NG
STRING
Show a blocking INPUT ALERT. !prompt is the prompt displayed to the user, and !default is the default value in the text box.
! ! Al er t . I nput ( ! pr ompt i s STRING STRI NG, ! def aul t i s STRI NG, xPos i s REAL, yPos i s REAL) i s STRI NG
Show a blocking INPUT ALERT. !prompt is the prompt displayed to the user, and !default is the default value in the text box. xPos and are the yPos coordinates of the top lefthand corner of the alert box.
Table 2: 5.
Purpose
Alert Object Methods
2:11
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.2
ARC Object Basic ARC Definit ion: Members
Name
Type
Purpose
Or i ent at i on
ORIENTATI ON Get/Set
Orientation of the arc.
Pos i t i on
POSITION Get/Set
Origin/Centre of the arc.
Radi us
REAL Get/Set
Radius of the arc
St ar t Angl e
REAL Get/Set
Angle from X axes to start of the arc.
EndAngl e
REAL Get/Set
Angle from X axes to end of the arc.
Sense
BOOLEAN Get/Set
Arc sense:
Table 2: 6.
·0 for clockwise ·1 for anti-clockwise
Basic ARC Definition Members
Basic ARC Definitio n: Methods
These methods do not modify the original object. Name
Result
Purpose
Ar c( POSI TI ON, ORI ENTATI ON, REAL, REAL, REAL, BOOLEAN)
ARC
Creates an arc with the given Position, Orientation, Start Angle, End Angle, Radius. If the last argument is TRUE, the arc is clockwise.
St r i ng( )
STRING
Returns the arc as a string
Table 2: 7.
Basic ARC Definition Methods
2:12
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
ARC Met ho ds th at Ret ur n A RCs
None of these methods modifies the original object. Name
Result
Purpose
St ar t Posi t i on( POSI TI ON)
ARC
Returns a new arc, based on the original, where the start angle, if defined as the angle from the centre of the arc through the passed position mapped onto the arc plane, forms the X axis.
EndPosi t i on( POSI TI ON)
ARC
As St ar t Pos i t i on, but for the EndAngl e.
Thr ough( POSI TI ON)
ARC
Returns a new arc, where the radius (of the full circle) passes through the passed position when mapped onto the arc plane.
Chor dHei ght ( REAL)
ARC
Returns a new arc, based on the original, where the EndAngl e is in such a position to produce the passed chord height. Chord height > Radius or Chord height < 0 return unset objects. New arc should not produce subtended angle > 180.
ARC
Chor d( REAL)
Returns a new arc, maintaining the original so the St ar t Angl e, EndAngl e is at the specified distance from the Start Chord length > Radius * 2 or < 0 return an unset object.
Ci r c l e( )
ARC
Returns a full circle definition of the arc.
Ci r cl e( BOOLEAN)
ARC
Returns a full circle definition of the arc. If True, the arc is anti-clock-wise
Compl ement ( )
ARC
Returns the complementary arc of the arc definition (the remainder of the circle)
Table 2: 8.
ARC Methods that Return ARCs
2:13
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
This method does not modify the original object. Name
Result
Angl ePosi t i on( REAL)
POSITION Returns the position at the specified angle on the arc.
Table 2: 9.
Purpose
ARC Methods that Return POSITIONs
AnglePosition(REAL)
Figure 2:9.
POSITIONs Returned by ARC Methods
2:14
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
ARC Met ho ds th at Ret ur n DIRECTIONs
None of these methods modifies the original object. Name
Result
Angl eDi r ect i on( REAL)
DIRECTION Returns the direction from the centre of the arc through a point at the given angle from the X axis
St ar t Tangent ( )
DIRECTION Returns the direction out of the arc, tangential to the start angle line. The “sense” of the arc is used.
EndTangent ( )
DIRECTION Returns the direction out of the arc, tangential to the end angle line. The “sense” of the arc is used.
Angl eTangent ( REAL)
DIRECTION Returns tangential passed.
Table 2: 10.
the direction, to the angle
ARC Methods that Return DIRECTIONs
AngleDirection(REAL)
EndTangent()
AngleTangent(REAL)
Figure 2:10.
Purpose
StartTangent()
DIRECTIONs Returned by ARC Methods
ARC Met ho ds th at Ret ur n XYOf fs ets
This method does not modify the original object. Name
Result
Purpose
XYOf f set ( POSI TI ON)
XYPOSITI ON
Returns the position, mapped onto the arc plane, in term of an XY offset from the arc plane origin
Figure 2:11.
ARC Methods that Return XYOffsets
2:15
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
XYOffset POSITION Figure 2:12.
XYOffsets Returned from ARC Methods
ARC Met ho ds th at Ret ur n REA Ls
None of these methods modifies the original object. Name
Result
Purpose
Pr opor t i on( REAL)
REAL
Returns the position, in terms of an angle from the X axis, at the proportion from the start angle of the arc: Angle = (EndAngle StartAngle) * + StartAngle
Angl e( )
REAL
Returns the subtended angle of the arc
Near ( POSI TI ON)
REAL
Returns the position, in terms of an angle from the X axis, to the position on the arc plane of the passed position
Table 2: 11.
ARC Methods that Return REALs (a)
Near POSITION
Proportion(REAL)
Figure 2:13.
REALs Returned by ARC Methods (a)
2:16
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Chor d( )
REAL
Returns the chord length between the start and end of the arc definition
Lengt h( )
REAL
Returns the true length of the arc line
Chor dHei ght ( )
REAL
Returns the chord height of the arc line
Table 2: 12.
ARC Methods that Return REALs (b)
Chord()
Length()
ChordHeight() Figure 2:14.
REALs Returned by ARC Methods (b)
ARC In ter sec ti on Meth od s t hat Retu rn REAL ARRAYs
None of these methods modifies the original object. Name
Result
Purpose
I nt er secti ons( LI NE)
REAL ARRAY
Returns the intersection points, in terms of angles from the X axis, of the passed line (mapped onto arc plane) with the circle defined by the arc
I nt er sect i ons( PLANE)
REAL ARRAY
Returns the intersection points, in terms of angles from the X axis, of the passed plane with the circle defined by the arc
2:17
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
I nt er sect i ons( ARC)
REAL ARRAY
Returns the intersection points, in terms of angles from the X axis, of the circle implied by the passed arc with the circle defined by the arc The Arcs must be in the same plane, i.e. the angle between Z components of the direction must be 0 or 180
Table 2: 13.
ARC Intersection Methods that Return REAL ARRAYs
Intersections LINE
Intersections(PLANE)
Intersections(ARC) Figure 2:15. REAL ARRAYs Returned by ARC Intersection Methods
ARC Tang ent Meth od s Ret ur ni ng Real A rr ays
None of these methods modifies the original object. Name
Result
Purpose
Tangent s( POSI TI ON)
REAL ARRAY
Returns the points of tangency on the arc circle from the passed position, in terms of angles from the X axis,
Tangent s( ARC)
REAL ARRAY
Returns the points of tangency on the arc circle for the passed arc circle, in terms of angles from the X axis
2:18
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Spl i t ( )
REAL ARRAY
Splits the arc into a non-zero number of segments
Pol e( )
POSITION
Returns the pole position of the arc
Table 2: 14.
ARC Tangent Methods that Return REAL ARRAYs
Tangents(POSITION)
Tangents(ARC) Figure 2:16. REAL ARRAYs Returned from ARC Tangent Methods
ARC Met ho ds th at Ret ur n B OOLEA Ns
None of these methods modify the original object. Name
Result
Purpose
On( POSI TI ON)
BOOLEAN
Returns true if the passed position lies on the arc line
OnPr oj ect ed( POSI TI ON)
BOOLEAN
Returns true if the passed position, when projected onto the arc line, lies within it
OnExt ended( POSI TI ON)
BOOLEAN
Returns true if the passed position, when mapped onto the arc line, lies outside it
Table 2: 15.
ARC Methods that Return BOOLEANs
2:19
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
On(POSITION)
On(POSITION) Figure 2:17.
2.5.3
ARRAY Object PML Built-in Type
ARRAY Object Methods
Name
Result
Purpose
Append( ANY val ue)
NO RESULT Append value as a new element at the end of array.
AppendAr r ay( ARRAY val ues)
NO RESULT Append array values as new elements at the end of array.
Cl ear ( )
NO RESULT Remove all elements.
Compr ess ( )
NO RESULT Removed all undefined elements and re-index remaining elements.
Del et eFr om( REAL i ndex, REAL n)
ARRAY
Make undefined n elements starting at index . Remaining elements are not re-indexed Returns an array of the deleted elements (which need not be assigned if not wanted).
ARRAY
Del et eFr om( REAL i ndex)
Make undefined elements from index to end of array. Returns an array of the deleted elements. Remaining elements not reindexed.
2:20
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Del et eTo( REAL i ndex, REAL n)
ARRAY
Make undefined n elements up to index Returns an array of the deleted elements Remaining elements not reindexed.
Del et eTo( REAL i ndex)
ARRAY
Make undefined elements from start to index Returns an array of the deleted elements Remaining elements not re-indexed.
Di f f er ence( ARRAY t wo)
ARRAY
Return an array of those elements in the original array not present in array tw o . Duplicates will appear only once
Empt y( )
BOOLEAN
TRUE if array is empty
Eval uat e( BLOCK command)
NEW ARRAY
Evaluate code in command at each element.
Fi nd( ANY val ue)
NEW ARRAY
Search original array for value and return an array of index positions at which it was found.
Fi ndFi r st ( ANY val ue)
REAL
Return index of first occurrence of value. Returns UNSET if not found.
Fi r st ( )
ANY
Return value of first defined element
Fr om( REAL i ndex, REAL n)
ARRAY
Copy sub array of n elements starting at index.
Fr om( REAL i ndex)
ARRAY
Copy sub array starting at index to end of array.
Get I ndexed( REAL i ndex)
ANY
Implements ARRAY[index ] (this is an internal method).
I ndi c es ( )
NEW ARRAY
Returns an array containing the indices of the target array that have a value.
I nser t ( REAL i ndex, ANY val ue)
NO RESULT Insert value as element at index . Later elements indexed
2:21
a
new
are
re-
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
I nser t Ar r ay( REAL i ndex, ARRAY ANY val ues)
NO RESULT Insert values as new elements with the first at index.
Later elements indexed
are
re-
I nt er sect ( ARRAY t wo)
NEW ARRAY
Return array of elements present in both arrays. Duplicates will appear only once.
I nver t ( )
NEW ARRAY
Returns an inverted copy of the array.
Last()
ANY
Return last element value.
MaxI ndex( )
REAL
Subscript of last defined (non-empty) element.
Mi nI ndex( )
REAL
Subscript of first defined (non-empty) element.
Over l ay( REAL i ndex, ARRAY t wo)
NEW ARRAY
Replace array elements at index with elements from the array tw o . Returns an array of the elements which were overwritten (which need not be assigned if not required).
ReI ndex( REAL ARRAY i ndi ces)
NO RESULT Apply result of SORTEDINDICES to reorder array elements into positions specified by indices.
ANY
Remove( REAL nt h)
Remove and Return nt h element (which need not be assigned if not required). Remaining elements are reindexed.
ANY
RemoveFi r st ( )
Remove and Return first element (which need not be assigned if not required). Remaining elements are reindexed.
RemoveFr om( REAL i ndex, REAL n)
NEW ARRAY
Remove and Return new array of n elements starting with index (which need not be assigned if not required). Remaining elements are reindexed.
2:22
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
RemoveFr om( REAL i ndex)
NEW ARRAY
Remove and Return new array of elements from index to end of array (which need not be assigned if not required). Remaining elements are reindexed.
ANY
RemoveLast ( )
Remove and Return last element (which need not be assigned if not required). Remaining elements are reindexed.
RemoveTo( REAL i ndex, REAL n)
NEW ARRAY
Remove and Return n elements from start to index (which need not be assigned if not required). Remaining elements are reindexed.
NEW ARRAY
RemoveTo( REAL i ndex)
Remove and return elements from start to index (which need not be assigned if not required). Remaining elements are reindexed.
Si z e( )
REAL
Returns the number defined elements.
of
Sort()
NO RESULT Sort array into ascending order.
Sor t Uni que( )
NEW ARRAY
Sor t edI ndi ces( )
NEW REAL Return new array of indices ARRAY representing the sorted order of elements in array.
Returns a sorted copy of the array with duplicates removed.
The array itself is not sorted. To( REAL i ndex, REAL n)
ARRAY
Copy sub array of n elements from start to index.
To( REAL i ndex)
ARRAY
Copy sub array from start of array to index.
NEW ARRAY
Return array of elements present in either array (duplicates will appear only once).
Uni on( ARRAY t wo)
2:23
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Uni que( )
NO RESULT Discard duplicates and reindex remaining elements.
Wi dt h( )
REAL
Return the maximum width of string elements (other element types are ignored).
Name
Type
Purpose
Company
STRING
Company name, up to 120 characters.
Copyr i ght
STRING
AVEVA copyright, up to 80 characters.
Li br ar i es
ARRAY OF Library names STRINGS
Name
STRING
Title for main windows, up to 13 characters
Shor t
STRING
Short form of company name
St at us
STRING
PDMS release status
Table 2: 16.
2.5.4
Purpose
ARRAY Object Methods
BANNER Object Members
Table 2: 17.
BANNER Object Members
Command
! BANNVAR = BANNER!
$ Returns a BANNER object
2:24
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.5
BAR Gadget Methods
Name
Result
Purpose
Add( STRI NG dText , STRI NG enu)
NO RESULT Appends a barmenu field, which can show the specified menu as a pulldown menu. The name of the pulldown menu is given in menu; the DTEXT of the field is given by dText . NO RESULT Removes all barmenu fields.
Cl ear ( )
Using this deprecated .
Cl ear ( STRI NG
method
is
NO RESULT Removes all barmenu fields after and including the one with DTEXT dText .
dText )
Using this deprecated .
BOOLEAN
Fi el dPr oper t y( STRI NG f i el d, STRI NG pr oper t y)
method
is
Get the value of the property named in pr oper t y for the menu field named in f i el d. The allowed values for the property are ‘ACTIVE’ or ‘VISIBLE’.
Ful l Name( )
STRING
Get the full name of the gadget, e.g.'!!Form.bar'.
I nser t Af t er ( STRI NG f i el d, STRI NG dText , STRI NG menu)
NO RESULT Inserts a new barmenu field immediately after the one identified by f i el d. The name of the menu is given in menu; the DTEXT of the new field is given by dText . NO RESULT Inserts a new barmenu field immediately before the one identified by f i el d.
I nser t Bef or e( STRI NG f i el d, STRI NG dText , STRI NG menu)
The name of the menu is given in menu; the DTEXT of the menu is given by dText . Name( )
STRING
Get the gadget's name, i.e. 'bar'
Owner ( )
FORM
Get the owning form.
2:25
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Set Act i ve( STRI NG dText , BOOLEAN st at e)
NO RESULT Deactivate/Activate the menu field whose DTEXT is dText . Using this deprecated .
Set Fi el dPr oper t y( STRI NG menu, STRI NG pr oper t y, BOOLEAN st at e)
method
is
NO RESULT Set the value of the property named in pr oper t y with the value of s t a t e, for the menu named in menu. The allowed values for the property are ‘ACTIVE’ or ‘VISIBLE’.
Shown( ) Type( ) Table 2: 18.
BOOLEAN
Get shown status.
STRING
Get the GADGET type as a STRING.
BAR Object Methods
Command
The BAR command creates a bar menu within a form definition. The recommended way to create menu fields on the bar is to use the bar's Add( ) method.
bar ! t hi s. bar . add ( ' Choose' , ' Menu1' ) ! t hi s. bar . add ( ' wi ndow' , ' Wi ndow' ) ! t hi s. bar . add ( ' hel p' , ' Hel p' ) Note: The use of the two special menu names ’Help’, which adds a system help menu that
calls the online help; and ‘Window’, which adds a system Window menu that lists all the displayed windows.
2:26
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.6
BLOCK Object This object holds expressions that are evaluated later. Methods
Name
Result
Purpose
Bl ock( STRI NG expr essi on)
BLOCK
Creates a block expression.
Eval uat e( )
ANY
Evaluate block expression on object: check result is of TYPE type.
Eval uat e( )
ANY
Evaluate the expression and return the result
Eval uat e( STRI NG t ype)
ANY
Evaluate expression and return an error if the result is not of TYPE type. Otherwise returns the result.
Table 2: 19.
2.5.7
BLOCK Object Methods
BOOLEAN Obj ect Methods
None of these methods modifies the original object. Name
Result
Purpose
BOOLEAN( REAL val ue)
BOOLEAN
Constructor that creates a boolean Object set to a nonzero value if boolean is TRUE; 0 if boolean is FALSE
BOOLEAN( STRI NG val ue)
BOOLEAN
Constructor that creates a boolean Object set to: 'TRUE’ if boolean is T, TR, TRU, TRUE, Y, YE YES; ‘FALSE’ if boolean is F, FA, FAL, FALS, FALSE, N, NO.
BOOLEAN( STRI NG val ue, FORMAT f or mat )
BOOLEAN
As above. FORMAT argument required for consistency by Forms and Menus.
AND( )
BOOLEAN
TRUE if both values are TRUE
NOT( )
BOOLEAN
TRUE if FALSE; FALSE if TRUE
OR( BOOLEAN val ue)
BOOLEAN
TRUE if either value is TRUE
2:27
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Real ( )
REAL
1 if boolean is TRUE; 0 if boolean is FALSE
St r i ng( )
STRING
‘TRUE’ if boolean is TRUE. ‘FALSE’ if boolean is FALSE.
Table 2: 20.
2.5.8
BOOLEAN Object Methods
BORE Object Member
Name
Type
Purpose
Si ze
REAL
The BORE size
Get/Set Table 2: 21.
BORE Object Members
Methods
None of these methods modifies the original object. Name
Result
Purpose
BORE( REAL val ue)
BOOLEAN
Constructor that creates a BORE object with the given val ue.
BORE( STRI NG val ue)
BOOLEAN
Constructor that creates a BORE object with the given val ue.
BORE( STRI NG val ue, FORMAT f or mat )
BOOLEAN
Constructor that creates a BORE object with the given val ue, and in the format specified by f or mat .
EQ( REAL val ue)
BOOLEAN
Comparison with the argument val ue dependent on current BORE units.
GEQ( BORE bor e)
BOOLEAN
TRUE if this object is greater than or equal to the argument bor e.
GEQ( REAL val ue)
BOOLEAN
Comparison with the argument val ue dependent on current BORE units.
GT( BORE bor e)
BOOLEAN
TRUE if BORE greater than BORE
2:28
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
GT( REAL val ue)
BOOLEAN
Comparison with the argument val ue dependent on current BORE units
LEQ( BORE bor e)
BOOLEAN
TRUE if this object is less than or equal to the argument bor e.
LEQ( REAL val ue)
BOOLEAN
Comparison with the argument val ue dependent on current BORE units
LT( BORE bor e)
BOOLEAN
TRUE if this object is less than bor e.
LT( REAL val ue)
BOOLEAN
Comparison with the argument val ue dependent on current BORE units
Real ( )
REAL
Convert BORE to a REAL value
St r i ng( FORMAT f or mat )
STRING
Convert BORE to a STRING using the settings in the global f or mat object.
Name
Type
Purpose
Backgr ound
REAL Set/Get
Set or get Background Colour Number
Backgr ound
STRING Set Only
Set Background Name
Val
BOOLEAN
TRUE when the button is pressed FALSE when it is not
Figure 2:18. BORE Object Methods
2.5.9
BUTTON Gadget Members
Table 2: 22.
Colour
BUTTON Object Members
2:29
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Methods
Name
Result
AddPi xmap( STRI f i l e2, STRI NG AddPi xmap( STRI f i l e2) AddPi xmap( STRI
NG f i l e1, STRI NG f i l e3 ) NG f i l e1, STRI NG
Purpose
NO RESULT Adds pixmaps to be used for the unselected, selected and inactive states. The last two are optional.
NG f i l e )
Ful l Name( )
STRING
Get the full gadget name, e.g.'!!Form.gadget'.
Name( )
STRING
Get the gadget's name, e.g. 'gadget'.
Owner ( )
FORM
Get owning form.
Set Popup( MENU menu)
NO RESULT Links the given menu with the gadget as a popup.
RemovePopup( MENU menu)
NO RESULT Removes the given popup menu from the gadget.
Get Pi ckedPopup( )
MENU
Returns the name of the menu picked from a popup.
Shown( )
BOOLEAN
Get shown status.
Set Focus( )
NO RESULT Move keyboard focus to this gadget.
Ref r esh( )
NO RESULT Refresh display of gadget.
Backgr ound( )
STRING
Get Background Name.
Colour
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. NO RESULT Sets the text of the Tooltip.
Set Tool Ti p( STRI NG)
STRING
Type( )
Table 2: 23.
Get the gadget-type as a STRING.
BUTTON Object Methods
2:30
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Command
The BUTTON command defines a button, and specifies its position, tag or pixmap, callback text and control attribute. You can define the BUTTON to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values ‘PML” or “CORE”. The files defining any pixmaps should be specified in the form's default constructor method using the gadget's AddPi xmap( ) method. A Button type Linklabel provides a purely textual button presentation, often used to indicate a link to some application item, e.g. a hyperlink to a file, a link to an associated form. An Example of the Linklabel gadget is shown on the example form in Fold up Gadget Link Example Form with Fold-up panels, NumericInput and Linklabel gadgets. The tag text is shown in a different colour to all other gadget's tag text. The link label gadget highlights by underlining when the mouse cursor passes over it. Pressing it causes a SELECT event to be raised and runs any associated call back. Note:
1. The Button has subtypes Normal, Toggle and Linklabel. 2. Linklabels are Buttons and so they do cause validation of any modified text fields of the form whenever they are pressed. 3. Linklabels: 1. cannot have pixmaps assigned to them 2. don't support change of background colour 3. don't support 'pressed' and 'not pressed' value 4. are not enclosed in a box 5. can have popup menus (though this is not recommended) 6. don't have Control Types e.g. OK, CANCEL etc 4. The sub-type of a Button gadget can be queried using the Button's Subtype method.
2:31
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Figure 2:19. Syntax Graph -: Creating a BUTTON Object
Note: It is bad practice to place one gadget on top of another. This may lead to gadgets
being obscured. Defaults:
If no tag is specified, the tag defaults to the gadget’s gname. The control attribute is unset unless you specifically enter OK, APPLY, HELP, CANCEL or RESET. The default values for anchoring and docking are DOCK = none, and ANCHOR = Left + Top.
The Pixmaps associated with Button gadgets can be changed after the gadgets have been displayed on a form. Method syntax is: AddPixmap( !pixmap1 is STRING ) AddPixmap( !pixmap1 is STRING, !pixmap2 is STRING )
2:32
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Where: !pixmap is a string holding the file pathname of the required .png file, e.g. %pmllib%\png\camera.png !pixmap1 shows the Un-selected state of the gadget, and pixmap2 shows the Selected state. Notes:
1. It is recommended that when you define the gadget you set its size to encompass the largest pixmap which you will later add. Failure to do this may give rise to unexpected behaviour. 2. Historically you could add a third pixmap which was used when the gadget was deactivated. This practice is no longer necessary as the gadget pixmapped is automatically greyed-out on de-activation.
2.5.10
COLLECTION Object The collection object is used to extract database elements from the system using a selection filter (an expression object), restrictive search elements and scope lists. Methods
Name
Result
Purpose
Col l ec t i on( )
Constructor (initialises all the object settings).
Scope ( COLL ECTI ON)
Empties the current scope list and makes the passed COLLECTION the current scope.
Scope ( DBREF)
Empties the current scope list and makes the passed DBREF the current scope.
AddScope
Adds the passed DBREF to the current scope list.
Scope ( DBREF ARRAY)
Replaces the current scope list with the passed list of DBREFs.
AppendScope ( DBREF ARRAY)
Appends the passed list of DBREFs to the scope list.
Cl earScope( )
Empties the current scope list.
Fi l t er ( EXPRESSI ON)
Sets the filter to be applied to the collection.
Cl ear F i l t er ( )
Empties the filter to be applied to the collection. Empties the current scope type list and adds the passed element type.
Type ( STRI NG)
2:33
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
AddType( STRI NG)
Adds the passed element type to the scope type list.
Cl earTypes( )
Empties the types to be applied to the collection. Replaces the scope element type list with the passed list, elements .
Types ( ARRAY el ement s)
AppendTypes ( ARRAY t ypes)
Appends the passed list, types , to the scope type list.
I ni t i al i se( )
Initialises an evaluate list, so all query actions re-evaluate the collection rules. Sets index position to 1.
Fi l t er ( )
EXPRESSI ON
Returns the expression used to filter database elements.
Scope( )
DBREF ARRAY
Returns the list of database elements to scan.
Types( )
STRING ARRAY
Returns the list of database element types to be collected.
Resul t s( )
DBREF ARRAY
Returns the whole collection.
Next ( REAL n)
DBREF ARRAY
Returns sub array from collection of n elements starting at current index position.
I ndex( )
REAL
Returns the current index of the count being used by Next( ) .
Si z e ( )
REAL
Returns the number of elements in the collection.
Table 2: 24.
2.5.11
Purpose
COLLECTION Object Methods
COLUMN Object The column object defines the way in which a column of a table object is populated. The formatting of a column should be separate from the column definition itself and be held within the report object used to extract data from a table object. This will allow the same table to have many different reports produced from it, without the need to regenerate the table.
2:34
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Defines the expression used to populate the column
Sort()
Switches on column sort
NoSor t ( )
Switches off column sort, this is the default setting
Ascendi ng( )
Sets column ascending order
sort
to
Descendi ng( )
Sets column sort descending order
to
Key( )
STRING
Returns the key word for use when reporting
Expr essi on( )
EXPRESSI ON
Returns the expression used to derive the content of the column
I sSor t ed( )
BOOLEAN
Returns TRUE if the column is sorted
Sor t Type( )
STRING
Returns the column sort setting, ascending, descending or off
Table 2: 25.
2.5.12
Result
COLUMN Object Methods
COLUMNFORMAT The column object defines the way in which a column of a table object is populated. The formatting of a column should be separate from the column definition itself and be held within the report object used to extract data from a table object. This will allow the same table to have many different reports produced from it, without the need to regenerate the table.
2:35
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Methods
Name
Result
Purpose
Col umnFor mat ( )
Constructor (initialises all the object settings)
For mat ( FORMAT)
Sets the format of the column to the passed format
For mat ( DATEFORMAT)
Sets the format of the column to the passed date format
FORMAT( ' STRI NG' )
Unsets the format of the column, i.e. the column
Wi dt h ( REAL)
Sets the column width
Wi dest ( )
Sets the maximum column width flag, setting a specific width value automatically sets the flag to FALSE. Note that this is the least efficient method for Width because a complete scan has to be done to determine the widest.
I ndent ( REAL, REAL)
Sets left and right indents (i.e. spaces) in the column
For mat ( )
FORMAT
Returns the format for numeric values in a column
Wi dt h( )
REAL
Returns the column width, strings greater than the column width are wrapped on to the next line, numeric values greater than the column width are output as a column of hashes.
Get Wi dest ( )
BOOLEAN
Returns TRUE if “widest” is set
STRING
Returns the justification
Lef t I ndent ( )
REAL
Returns the left indent setting
Ri ght I ndent ( )
REAL
Returns setting
J ust i f i cat i on( )
Table 2: 26.
the
right
column
indent
COLUMNFORMAT Object Methods
2:36
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.13
COMBOBOX Gadget Members
Name
Type
Val
REAL Set
DText
ARRAY OF Set or get the entire list of STRING display texts. Get/Set
DText [ n]
STRING Get Get the display text of the Only n 'th option.
RText
ARRAY OF Set or get the STRING replacement texts. Get/Set
RText [ n]
STRING Get Get the replacement text of Only the n 'th option.
Edi t abl e
BOOLEAN Get/Set
Controls editable status of the text display field (ComboBox only)
Scrol l
INTEGER Get/Set
Controls the maximum length of a text string which can be held and scrolled in the display text field (ComboBox only)
Count
REAL Get only
Get count of number of fields in the list.
Val
REAL Get/Set
Selected field as integer. Zero implies no selection. Setting val to zero will cause an error if ZeroSel is not specified.
Table 2: 27.
Purpose
Get/ Selected option number.
list
of
COMBOBOX Gadget Members
2:37
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Methods
Name
Result
Add( STRI NG Dt ext )
NO RESULT Append an entry to the drop down list, where Dtext is the text to display in the option list.
Add( STRI NG Dt ext , STRI NG Rt ext ) )
NO RESULT Append and entry to the drop down list, where Dtext is the text to display in the option list, and Rtext is the replacement text for the new field. If Rtext isn’t specified, it will be set to Dtext by default.
Cl ear ( )
NO RESULT Clear gadget’s contents.
Cl ear Sel ecti on( )
NO RESULT Clears selection and returns to default of first in list.
Ful l Name( )
STRING
Get the full gadget name, e.g.'!!Form.gadget'
Name( )
STRING
Get the gadget's name, e.g. 'gadget'
Owner ( )
FORM
Get owning form.
Sel ect ( STRI NG t ext , STRI NG val ue )
NO RESULT Select specified item in a list: text must be ‘Rtext’ or ‘Dtext’, and value is the item to be selected.
Sel ecti on( )
STRING
Get current RTEXT.
Sel ect i on( STRI NG t ext )
STRING
Get RTEXT or DTEXT of current selection; text must be ‘Rtext’ or ‘Dtext’.
Set Di spl ayText ( STRI NG t ext )
NO RESULT Set the display text field value, if the gadget is editable.
Set Popup( MENU menu)
NO RESULT Links menu with the gadget as a popup.
Ref r esh( )
NOT RESULT
Set Focus( )
NO RESULT Move keyboard focus to this gadget.
RemovePopup( MENU menu)
NO RESULT Removes (popup) from the gadget.
2:38
Purpose
selection’s
Refreshes the display of the gadget.
menu
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Get Pi ckedPopup( )
MENU
Returns the last picked popup menu for the gadget.
Shown( )
BOOLEAN
Get ‘shown’ status.
STRING
Get the gadget type as a string.
STRING
Get Background Name.
Type( ) Backgr ound( )
Colour
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. Di spl ayText ( )
STRING
Set Popup(
NO RESULT Assigns a menu object as the gadget's current popup.
! menu )
Gets the text string currently displayed in the Option gadget's display field.
Cl ear ( ! dt ext )
NO RESULT Delete the field with the given DTEXT string.
When the ComboBox is editable, with the drop-down list closed, the user can search for a required option by typing the first few letters into the display field and clicking the down-
2:39
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
arrow. The list will open with the first matching option highlighted. This is useful for large lists. Behaviour
The COMBOBOX command is a combination of an option list and an editable text display field similar to a windows combobox. It shares most of the properties and methods of the Option gadget. Combo gadget has editable display text field (default) and so supports scroll width. Combobox does not support display of pixmaps. Note: It is bad practice to place one gadget on top of another. This may lead to gadgets
being obscured. Unselected Events
Option gadgets support UNSELECT events. Typically when a field in the dropdown list is selected, an UNSELECT event is raised for the previously selected field (if any) and then a SELECT event is raised for the new field. Notes:
1. UNSELECT events are not notified to PML unless an open callback has been specified (so that SELECT and UNSELECT events can be differentiated). 2. Typically the UNSELECT action allows Appware to manage consequences of deselection for any dependent gadgets or forms. 3. We recommend that you do not change the option gadget's selection programmatically in an UNSELECT event. Text Entry and Edit ing
When the editable property is set (default), the display field is accessible to the user, who can edit the contents by typing at the keyboard or pasting text into the field. If the user presses the ENTER key while the gadget's text field has focus and contains some characters, a VALIDATE event is raised. You can trap this event by assigning a PML Open callback to the gadget. This callback allows you to give meaning to the action of typing text into the display field. The Open callback is necessary to differentiate the VALIDATE event from the SELECT and UNSELECT events. On receipt of the VALIDATE event, your callback method can retrieve the displayed text by means of the DisplayText method and decide what action is associated. Additionally you can assign a popup menu to the gadget, which gives the user the choice of several actions.
2:40
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.14
CONTAINER Gadget Members
Member Name
Type
Purpose
type
STRING Get/Set
Gadget type as string 'Container'.
control
REAL Get/Set
Integer handle of external control.
popup
MENU Get/Set
Popup menu associated with the control.
Methods
Method Name
Result
Purpose
ShowPopup(!x is REAL, !y is REAL )
NO RESULT
Show the associated popup at the specified position. Position is the integer pixel position within the enclosed control.
FullName( )
STRING
Get the full gadget name, i.e. !!Form.gadget.
Name( )
STRING
Get the gadget's name
Owner( )
FORM
Get owning form
GetPickedPopup( )
MENU
Returns the last picked popup menu for the gadget.
Shown( )
BOOLEAN
Get 'shown' status.
Command
The Container gadget allows the hosting of an external Control, e.g. a PMLNet, control inside a PML defined form. It allows the user to add an external .Net control, which may raise events that can be handled by PML. In order to customise the context menus of the .Net control, the Container may have a PML popup menu assigned to it. This is shown when the .Net control raises a 'popup' event. . - - <- - - - - . / | >- - - - CONTAI NER gname - +- NOBOX - - - | +- I NDENT - - * | ' - PMLNET/ CONTROL - +- handl e - . '----------| . - - - - <- - - - - - - - - - - - - - - - - - - - - - - - * | | . - - - - <- - - - - - - - - - - - - - - - - . |/ | +- - t agt ext - - - - - - - - - - - - - | +- - - - - - - - - - - - - - - | +- - - - - - - - - - - - - - | +- - - - - - - - - - - - - - * |
2:41
12 Series
Soft ware Customis ation Reference Reference Manual Manual Summary of Objects, Members and Methods
+- - vs hape> - . '-------------'-->
Notes:
1. By default the the Container Container will will be enclosed enclosed in a box, box, but you can select select NOBOX NOBOX or INDENT. 2. Only Only PMLNet PMLNet contr controls ols are are suppor supported ted.. 3. 'handle' 'handle' is the the integer integer token token identifyi identifying ng the control. control. 4. Positioning Positioning must must be specified specified before before size size ( (). ). 5. Dock and Anchor Anchor are supported supported to allow intellig intelligent ent resize behaviou behaviour. r. The enclosed enclosed control must support resizing and is usually set as Dock fill, so that it follows size changes of the Container.
2.5.15 .15
DATEFORMAT Object bject The DATEFORMAT DATEFORMAT object is used to allow date attributes to be sorted in date order. Examples:
! f or mat = obj ect DATEFORMAT( T D/ M/ Y’ ) ! f or mat . mont ont h( ‘ I NTEG TEGER’ ) $ 12:10 05/01/01
! f or mat . year ( 2) ! f or mat = obj ec t DATEFORMAT( ‘ T D M Y’ )
$ 12:10 05 Nov 01
! f or mat . mont h( ‘ BRI EF’ ) ! f or mat = obj ec t DATEFORMAT ( ‘ D M’ ) ! f or mat . year ( 4)
$ 5 November 2001
! f or mat . mont ont h( ‘ FULL) FULL)
2:42
12 Series
Soft ware Customi sation Reference Reference Manual Manual Summary of Objects, Members and Methods
Methods
Nam e
Res u l t
Pu r p o s e
Constructor. Defines a format.
Dat eFor mat ( STRI STRI NG f or mat )
The input string, format, is in the form 'T*D*M*Y', where T = time, D = day, M = month, Y = year, and the order of the letters indicate the format required. T and D are optional. H could be used if only hours are required. * is the separator character. Dat eFor mat ( )
Sets default format (‘T M D Y’, month = ‘INTEGER’, year = 2)
Mont h( STRI STRI NG)
Sets month format. 'INTEGER', 'BRIEF' or 'FULL' Sets year format. 2 or 4 for number of digits
Year ( I NT) St r i ng( DATETI TETI ME)
STRING
Input a date in DATETIME format and convert to the specified format.
St r i ng( STRI TRI NG)
STRING
Input a date in PDMS format and convert to the specified format.
Table 2: 29.
2.5.16
DATEFO DATEFORMA RMAT T Object Object Methods Methods
DATETIME Object bject Methods
Nam e
Res u l t
Pu r p o s e
Dat eTi me( )
DATE DATETI TIME ME
Crea Create te a DATE DATETI TIME ME obj objec ectt with current date and time in it.
Dat eTi me( REAL EAL year , REAL EAL mont ont h, REAL EAL dat e)
DATE DATETI TIME ME
Crea Create te a DA DATETI TETIME ME set set tto o the given year, month, date. Time defaults to 00:00:00.
Dat eTi me( REAL EAL year year , STRI NG mont h. REA REAL dat e)
DATE DATETI TIME ME
As abov above, e, but but mon month th is a STRING at least three characters long representing month e.g. ‘Jan’, ‘March’, ‘DECEM’
2:43
12 Series
Soft ware Customis ation Reference Reference Manual Manual Summary of Objects, Members and Methods
Nam e
Res u l t
Pu r p o s e
Dat eTi me( REAL EAL year , REAL EAL mont ont h, REAL EAL dat e, REA REAL L hour , REAL EAL mi nut e)
DATE DATETI TIME ME
Crea Create te a DATE DATETI TIME ME obj objec ectt set to given year, month, date, hour, minute. Seconds default to 0.
Dat eTi me( REAL EAL year year , STRI STRI NG mont h, REAL EAL dat e, REAL EAL hour hour , REAL EAL mi nut nut e)
DATE DATETI TIME ME
As abov above, e, but but mon month th is a STRING at least three characters long representing month e.g. ‘Jan’, ‘March’, ‘DECEM’
Dat eTi me( REAL EAL year , REAL EAL mont ont h, REAL EAL dat e, REAL EAL hour hour , REAL EAL mi nut nut e, REAL EAL s econd) econd)
DATE DATETI TIME ME
Crea Create te a DATE DATETI TIME ME obj objec ectt set to given year, month, date, hour, minute, second.
Dat eTi me( REAL EAL year , STRI STRI NG mont ont h, REAL EAL dat e, REAL EAL hour hour , REAL EAL mi nut e, REAL second)
DATE DATETI TIME ME
As abov above, e, but but mon month th is a STRING at least three characters long representing month e.g. ‘Jan’, ‘March’, ‘DECEM’
Dat e( )
REAL
Return day of month for this DATETIME object (1-31).
GEQ( EQ( DATETI ME)
BOOL BOOLEA EAN N
Test est whe wheth ther er this this DATE DATETI TIME ME is later than or the same as argument DATETIME.
GT( DATETI ME)
BOOL BOOLEA EAN N
Test est wh whet ethe herr thi thiss date date is later than argument DATETIME.
HOUR( UR( )
REAL
Return hour as REAL for this DATETIME object (0-23).
LEQ( LEQ( DATETI ME)
BOOL BOOLEA EAN N
Test est whe wheth ther er this this DATE DATETI TIME ME is earlier or the same as argument DATETIME
LT( DATETI ME)
BOOL BOOLEA EAN N
Test est whe wheth ther er this this DATE DATETI TIME ME is earlier than argument DATETIME.
Mi nut e( )
REAL
Return minutes as REAL for this DATETIME object (059).
Mont h( )
REAL
Return month as REAL for this DATETIME object (112).
Mont ont hSt r i ng( )
STRING
Return mo month as as ST STRING for this DATETIME object (‘January’, ’February’, etc.)
2:44
12 Series
Soft ware Customi sation Reference Reference Manual Manual Summary of Objects, Members and Methods
Nam e
Res u l t
Pu r p o s e
Second Second(( )
REAL
Return number of seconds as REAL for this DATETIME object (0-59).
REAL
Return year as REAL (e.g. 1998)
Nam e
Ty p e
Pu r p o s e
Nam Name
STRING
The name of the database, up to 32 characters.
Descri pt i on
STRING
The da database de description, up up to 120 characters.
Access
STRING
Access type (UPDATE, MULTIWRITE, CONTROLLED).
Cl ai m
STRING
Claim mode for multi-write databases (EXPLICIT, IMPLICIT).
Fi l e
STRING
Database filename, up to 17 characters.
For For ei gn
STRING
FOREIGN or LOCAL
Number
STRING
Database nu number
Team
TEAM
Owning Team
Type
STRING
Database ty type, e.g. DESI
Ref no
STRING
String co containing Da Database reference number
Pr i mar y
STRING
Identifies whether a database is PRIMARY or SECONDARY at the current location in a global project
Year ( ) Table able 2: 30. 30.
2.5.17
DATET DATETIM IME E Objec Objectt Metho Methods ds
DB Ob Ob j ec t Members
Table able 2: 2: 31. 31.
DB Obj Objec ectt Memb Member ers s
2:45
12 Series
Soft ware Customis ation Reference Reference Manual Manual Summary of Objects, Members and Methods
Methods
Nam e
Res u l t
Pu r p o s e
MDBLi st ( )
ARRAY
List of MDBS which contain this DB.
Si z e( e( )
REAL
File size in pages.
Sessi ons( ons( )
ARRAY OF All sessions of the current DBSESS database.
Last Last sessi sessi on( )
DBSESS SESS
Last session information for database.
DB( DBREF BREF))
DB
Returns a DB object, given a DBREF.
DB( STRI NG)
DB
Returns a DB object, given a name or reference number.
Table able 2: 2: 32. 32.
DB Obj Objec ectt Meth Method ods s
These methods may be used in the following ways (in all cases !!CE is assumed to be a DB DATABASE DATABASE element and !!CE.Name is a STRING object containing the element’s name). Examples:
! D = OBJ ECT DB( ! ! CE) ! D = OBJ ECT DB( ! ! CE. Name) ! D = ! ! CE. DB( ) ! D = ! ! CE. Name. DB( ) These methods should assist performance improvements to appware by making it easier to get from Database element to Object. Command
! ARRAY = DBS
$ Returns an array of the DBs in the current project
2:46
12 Series
Soft ware Customi sation Reference Reference Manual Manual Summary of Objects, Members and Methods
2.5.18
DB RE REF Ob Ob je jec t Methods
Nam e
Res u l t
Pu r p o s e
Dbr ef ( STR STRI NG )
DBREF
Creates a DBREF object with value set to the given STRING.
Dbr ef ( STRI STRI NG, FO FOR RMAT )
DBREF
As above. FORMAT argument required for consistency by Forms and Menus.
At t r i but but e( STR STRI NG Name)
ANY
Return the value of the named Attribute
At t r i but es ( )
ARRAY OF A DBREF appears to have STRING the attributes of whatever DB elements it is pointing to
BadR adRef ( )
BOOL BOOLEA EAN N
Del et e( )
NO RESUL RESULT T Deletes Deletes the PML DBREF (not the database element it is pointing to)
MCount ount ( )
REAL
Count of number of members of element referenced
MCount ount ( STRI STRI NG t ype)
REAL
Count of number of members of element referenced of type specified
St r i ng( ng( FO FOR RMAT)
STRING
Convert to STRING using settings in global FORMAT object
Li ne( ne( [ CUT/ UNCUT] )
LINE
Returns the cut/uncut pline of a SCTN/GENSEC element as a bounded line
PPosi Posi t i on( on( REAL)
POSI POSITI TION ON
Return Retu rnss the the posi positi tion on of the the specified Ppoint of a database element.
PDi r ect i on( on( REAL)
DIRECT DIRECTION ION Return Returnss the the direct direction ion of the specified Ppoint of a database element.
Table able 2: 2: 33. 33.
TRU TRUE ifif DBR DBREF EF is not not vali valid d (cannot navigate to it)
DB Obj Objec ectt Meth Method ods s
2:47
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.19
DBSESS Object Members
Name
Result
Purpose
Number
REAL
Session number
Dat e
STRING
Date when session started
Aut hor
STRING
Creator of session
Comment
STRING
Session comment
Name
Type
Purpose
East
REAL Get/Set
UP component
Nor t h
REAL Get/Set
NORTH component
Up
REAL Get/Set
UP component
Or i gi n
DBREF Get/Set
DB element that is the origin
Table 2: 34.
2.5.20
DBSESS Object Members
DIRECTION Object Members
Table 2: 35.
DIRECTION Object Members
Methods
None of these methods modifies the original object.
Name
Result
Di r ect i on( STRI NG )
DIRECTION Creates a DIRECTION with the value given by STRING.
Di r ect i on( STRI NG, FORMAT )
DIRECTION Creates a DIRECTION with the value given by STRING, in the format specified.
EQ( DI RECTI ON)
BOOLEAN
2:48
Purpose
TRUE if two directions are the same
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
LT( DI RECTI ON)
BOOLEAN
TRUE if direction is less than argument
St r i ng( FORMAT)
STRING
Convert to STRING
WRT( DBREF)
DIRECTION Convert to a new DIRECTION with respect to a given element.
Angl e( DI RECTI ON)
REAL
Bi sect ( DI RECTI ON)
DIRECTION Returns the direction which is half way between the two directions
Cr oss( DI RECTI ON)
DIRECTION Returns the cross product of the two directions
Dot ( DI RECTI ON)
REAL
Returns the dot product of the two directions
I sPar al l el ( DI RECTI ON)
BOOLEAN
Returns true if the supplied directions are parallel, false otherwise.
I sPar al l el ( DI RECTI ON, REAL)
BOOLEAN
Returns true if the supplied directions are parallel according to tolerance supplied, false otherwise.
Opposi t e( )
DIRECTION Returns direction
Or t hogonal ( DI RECTI ON)
DIRECTION Returns the direction orthogonal between the two directions
Pr oj ect ed( PLANE)
DIRECTION Returns a direction projected onto the passed plane.
I sPer pendi cul ar ( DI RECTI ON)
BOOLEAN
Returns true if the supplied directions are perpendicular, false otherwise.
I sPer pendi cul ar ( DI RECTI ON, REAL)
BOOLEAN
Returns true if the supplied directions are perpendicular according to tolerance supplied, false otherwise.
Table 2: 36.
Returns the angle between the two directions
the
opposite
DIRECTION Object Methods
2:49
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.21
EXPRESSION Object This object is used to define a basic expression that can be applied against a database element or another object and return any data typed result, BOOLEAN, STRING, etc. EXPRESSION objects may be used by COLLECTION objects to filter the results of the collection. Methods
Name
Result
Purpose
Expr essi on
Constructor (initialises all the object’s settings).
Expr essi on ( STRI NG)
Constructs and defines the expression. ('ATTRIBUTE---') should be used for attributes for speed and efficiency. Other examples are ('PURP eq IPIPINGI') or ('XLEN + STRING(XLEN)').
At t r i but eExpr essi on ( STRI NG)
Makes the passed attribute an expression. AttributeExpression ('LENGTH') is the same as Expression ('ATTRIBUTE LENGTH').
St r i ng( )
STRING
Returns the current expression as a string.
Eval uat e( DBREF)
ANY
Evaluates the current expression against the passed object
Table 2: 37.
EXPRESSION Object Methods
2:50
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.22
FIL E Ob jec t Methods
Name
Result
Purpose
Fi l e( STRI NG)
FILE
Create a FILE object on a file whose name is given in STRING.
Access Mode( )
STRING
Return access mode for the file {‘CLOSED’, ‘READ’, ‘WRITE’, ‘OVERWRITE’, ‘APPEND}.
Cl ose( )
NO RESULT Close file if open.
Copy( STRI NG)
FILE
Copies the file whose pathname is given in STRING. Returns FILE object for copied file.
Copy( FI LE)
FILE
Copies the file represented by the FILE object. Returns FILE object for copied file.
Del et eFi l e( )
NO RESULT Delete the file represented by the file object if it exists.
Di r ectory( )
FILE
Returns a FILE object corresponding to owning directory.
DTM( )
DATETIME
Returns a DATETIME object holding the date and time that this file was last modified.
Entry()
STRING
Returns file name as string.
Exi s t s ( )
BOOLEAN
Returns BOOLEAN indicating whether file exists or not.
Fi l es( )
ARRAY OF Returns an ARRAY of FILE FILES objects corresponding to files owned by this directory.
Ful l Name( )
STRING
Returns the name including path for this FILE object as a STRING.
I sOpen( )
BOOLEAN
Return BOOLEAN indicating whether file is open or not.
2:51
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Li neNumber ( )
REAL
Return line number of line about to be written.
Move( STRI NG)
FILE
Move this file to location given in STRING. Return FILE object for moved file.
Move( FI LE)
FILE
Move this file to location represented by FILE object.
Name( )
STRING
Return name of this FILE object as STRING.
Open( STRI NG)
NO RESULT Opens this file in the mode given by STRING {‘READ’,’WRITE’,’OVERWRI TE’, ‘APPEND’}
Owner ( )
STRING
Pat h( )
ARRAY OF Returns an ARRAY of FILEs FILES corresponding to the owning directories of this FILE object.
Pat hName( )
STRING
ReadFi l e( )
ARRAY OF Open, read contents and STRING close file. Data returned as an ARRAY of STRINGs corresponding to the lines in the file.
ReadFi l e( REAL)
ARRAY OF As above, but ensures that STRING file is no longer than number of lines given in REAL.
ReadRecor d( )
STRING
Reads a line from an open file and returns it in a STRING. Returns an UNSET STRING if end of file is detected.
Set ( )
BOOLEAN
Returns a BOOLEAN indicating whether this FILE object has a name set or not.
Si z e( )
REAL
Returns size of file in bytes.
SubDi r s( )
ARRAY OF Returns an ARRAY of FILE FILE objects corresponding to directories owned by this directory.
2:52
Returns the ID of this FILES owner a STRING.
Returns owning path as a STRING.
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Type( )
Purpose
STRING
Returns a STRING indicating whether this object represents a ‘FILE’ or a ‘DIRECTORY’.
Wr i t eFi l e( STRI NG, ARRAY OF STRI NG)
NO RESULT Opens file in mode given in string {‘WRITE’, ’OVERWRITE’, ’APPEND’}, writes STRINGs in ARRAY and closes file.
Wr i t eRecor d( STRI NG)
NO RESULT Writes STRING to this FILE which must already be open.
Table 2: 38.
2.5.23
Result
FILE Object Methods
FMSYS Object Methods
None of these methods modifies the original object.
Name
Result
Purpose
Checkr ef s
BOOLEAN
By default, all references in a Form definition are checked when a form is displayed. Checking can be switched off, which may be recommended if performance problems are experienced.
Cur r ent Document ( )
FORM
This method returns the current Document of the application framework as a FORM object. If there is no current document then the returned form has value Unset .
2:53
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Def aul t For mat ( )
FORMAT
Query the system default format object for use by typed text gadgets. If none defined then returns an Unset local variable. The returned format object is a copy, so changing it will not affect the system default format. However the user can apply it to variables e.g !text=!myVar.String(!!fmsys.d efaultFormat())
Def aul t For mLayout ( )
STRING
query the current default form layout mode
DocsAt MaxScr een( BOOLEAN)
NO RESULT Sets default placement position for document forms to be towards the maximum (rightmost) of the screen. Useful for wide screen ad twin screen devices.
FMI NFO( )
ARRAY OF Returns array of all FMINFO STRINGS strings.
Hel pFi l eAl i as ( )
STRING
returns the current help file’s alias.
I nt er r upt ( )
BOOLEAN
Set to TRUE if the interrupt gadget has been selected.
LoadFor m( STRI NG f or mname)
FORM
Allows force loading of a form definition and/or the ability to get a reference to a form object by name. If the form exists then a reference to the form object is returned. If it doesn’t exist, then an attempt is made to force load its definition. If this fails then an unset form reference is returned.
Mai n( )
FORM
Query the current main form
OKCur f nVi ew( ! vi ewt ype i s STRI NG)
BOOLEAN
Queries whether graphical views of the specified view type are displayed. Graphical view types supported are: ‘G2D’; ‘G3D’; ‘ANY’ and any view subtype is implied.
2:54
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
OKCur f nVi ew( ! vi ewt ype i s STRI NG, subt ype i s STRI NG )
BOOLEAN
Queries whether graphical views of the specified view type and subtype are displayed. Graphical view types supported are: ‘G2D’; ‘G3D’; ‘ANY’. View subtypes supported are: ‘ANY’ and for G2D: ‘NORMAL’ (Draft); ‘PLOT’; ‘ISOSPOOL’ G3D: ‘NORMAL’ (Design)
Pr ogr ess( )
REAL
Get the current Integer value in percent shown by the progress bar, in the range 0 to 100. Zero means the bars is invisible
Ref r esh( )
NO RESULT Refresh all VIEW gadgets
Set Def aul t For mat ( ! ! f mt i s FORMAT)
NO RESULT Provide a default global format object to be used if no specific format is defined for any typed text field. Once only call, users cannot change it. !!fmt must be a global variable.
Set Def aul t For mLayout ( STRI NG )
NONE
Set the default form layout mode to 'VARCHARS' or 'FIXCHARS'.
Set Hel pFi l eAl i as ( al i as i s s t r i ng)
NONE
establishes the application help file from its alias.
Set I nt er r upt ( GADGET)
NO RESULT Sets the Gadget which will interrupt macro or function processing.
Set Mai n( FORM)
FORM
Set Pr ogr ess( ! per cent )
NO RESULT Set the Integer value in percent to be displayed in the progress bar. Values will be forced into the range 0 to 100. Resultant value of 0 will cause the bar to become invisible.
Spl ashscr een( BOOLEAN)
NO RESULT Removes the display of a splash screen after an abnormal exit.
Table 2: 39.
Sets the main form for an Application.
FMSYS Object Methods
2:55
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.24
FORM Ob jec t Members
Name
Type
For mRevi si on
STRING Get/ Form Revision text. Set
For mTi t l e
STRING Get/ Form title. Set
I conTi t l e
STRING Get/ Icon title. Set
I ni t c al l
STRING Get/ Callback executed when form Set is initialised.
Aut ocal l
STRING Get/ Callback executed when any Set of the specified application attributes have changed.
Okcal l
STRING Get/ Callback executed when OK Set button is pressed.
Cancel cal l
STRING Get/ Callback executed when Set CANCEL button is pressed.
Keyboar dFocus
GADGET Get/Set
Gadget to have initial keyboard focus on display of the form. One of TEXTFIELD, TEXTPANE, BUTTON, TOGGLE or ALPHA VIEW.
Aut oScr ol l
BOOLEAN Get/Set
If AutoScroll is selected the form will automatically gain horizontal or vertical scrollbars if the forms size becomes too small to display its defined contents. This member does not apply to form types Main Window and Document.
2:56
Purpose
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Type
Purpose
Qui t cal l
STRING Get/ Callback executed whenever Set the user presses the Quit/ Close icon (X) on the title bar of forms and the main application window. For forms of type MAIN, the QUI TCALL callback is executed, if present. This permits the user to terminate the application, and so the associated PML callback should prompt the user for confirmation. For all other form types, the QUI TCALL callback is executed, if present, and then the form and its children are hidden unless the PML callback returns an error. When the form nest is hidden the CANCELCALL callback for each form of the nest is executed (in reverse display order).
Maxi mi sed
BOOLEAN Get/Set
Get/set form’s maximised status (on screen).
Acti ve
BOOLEAN Get Only
Gives form's active/inactive status.
Popup
MENU Get/Set
Get/set form’s current popup menu.
Hel pCont ext I D
STRING
Read/Write STRING Property:!!myform.HelpConte xtID = STRING - sets the context Id within the help file for this form. STRING=!!myform.HelpCont extID - gets the current context Id for this form.
2:57
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Type
Purpose
Ki l l i ngcal l
STRING
Notify the form that it is being destroyed and allow the assigned callback method to destroy any associated resources, e.g. global PML objects which would otherwise not be destroyed (see Killing callback).
Get/Set
STRING
Fi r st Showncal l
Get/Set
Table 2: 40.
Allow the user to carry out any form actions which can only be completed when the form is actually displayed for the first time (see FirstShown callback).
FORM Object Members
Methods
Name
Result
Purpose
Name( )
STRING
Get name.
Ful l Name( )
STRING
Get the full form name (Including !!).
NewMenu( STRI NG menuname)
MENU
Adds a new named menu to the form.
NewMenu( STRI NG menuname, STRI NG t ype)
MENU
Adds a new named and typed menu to the form. The first argument is the name of the new menu; the second argument is the type of the menu, and must be either ‘POPUP’ or ‘MAIN’.
Set Act i ve( BOOLEAN)
NO RESULT Set Act i ve( FALSE) greysout all gadgets on the form, but doesn’t set their Active status, so that Set Act i ve( TRUE) restores the form to the precise state it was in before greying out, i.e. any inactive gadgets will still be inactive.
2:58
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Set Gadget sAct i ve( BOOLEAN)
NO RESULT Set Gadget sAct i ve( FALS E) greys out all gadgets on the form and sets their Active status to ‘inactive’, i.e. their previous active state is lost. Similarly Set Gadget sAct i ve( TRUE) greys-in all gadgets and sets their Active status to ‘active’.
Set Popup( MENU)
NO RESULT Specifies the pop-up to be displayed when the righthand mouse button is released over the form background.
RemovePopup( MENU)
NO RESULT Removes a pop-up associated with a form.
Get Pi ckedPopup( )
MENU
Show( ' FREE' )
NO RESULT Show the form on the screen as a FREE form.
Show( ' AT' , REAL X, REAL Y)
NO RESULT Show the form as a FREE form with the origin at the X,Y relative screen position.
Show( ' CEN' , REAL X, REAL Y)
NO RESULT Show the form as a FREE form with its centre at the X,Y relative screen position.
Shown( )
BOOLEAN
Hi de( )
NO RESULT Hides the form (removes it from the screen)
Owner ( )
FORM
Returns the form's parent form, or unset variable if the form is free-standing
Set Opaci t y( REAL PERCENT )
NONE
Set the percentage opaqueness of the form as an integer in the range 10 (nearly transparent) to 100 (opaque - default). This is only valid for non-docking Dialog and BlockingDialog form types.
Subt ype( )
STRING
Gets the form's subtype, one of 'DIALOG', 'BLOCKINGDIALOG', 'MAIN', 'DOCUMENT'
2:59
Purpose
Returns the last picked popup menu for the form.
Get 'shown' status
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Set Undoabl e( )
STRING, ANY
Undoabl e( )
STRING
Table 2: 41.
Purpose
FORM Object Methods
Note: Set Act i ve( ) and Set Gadget sAct i ve( ) can be used in combination with each other and with the Ac ti ve property of individual gadgets. Commands SETUP FORM
A form definition is introduced by the SETUP FORM command and terminated by a corresponding EXIT command. Once in Form Setup mode you can call any commands for defining the form’s properties, creating a menu bar (see BAR object), main and popup menus (see MENU object) and any gadgets which it is to own. Once-only form attributes are entered as part of the SETUP FORM command line; modifiable attributes are entered as contents of the form. You can define the FORM to be either PML-controlled, or core-code controlled using the qualifier attribute control type, with values ‘PML” or “CORE”. NOALIGN
The gadgets BUTTON, TOGGLE, TEXT, OPTION, single line PARGRAPH fit within 1 vertical grid unit and are by default drawn with their Y-coordinate adjusted so that they would approximately centre-align with an adjacent BUTTON. This pseudo-alignment introduces small errors in all but a few circumstances and prevents accurate controlled layout. NOALIGN prevents this (historical) gadget auto-alignment. Use NOALIGN in conjunction with PATH RIGHT (the default path) and HALIGN CENTRE, as it gives a better layout, with fewer surprises. Note: It is bad practice to place one gadget on top of another. This may lead to gadgets
being obscured. The commands to set modifiable attributes are described after the syntax graph.
2:60
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Dialog, non-resizeable; size adjusted automatically to fit contents.
CANCELCALL
This command defines the callback string which is executed whenever the form is dismissed from the screen via the CANCEL button or the QUIT/CLOSE control on the window title bar.
>- - CANCELcal l t ext - - > Note: This command overrides the callback string on the CANCEL button. CURSORTYPE
When a screen cursor enters a view, the view gadget determines what cursor type should be displayed initially, and what type will be displayed during different types of graphical interaction. You can specify the initial setting for the cursor type using this command. Note: You cannot specify an initial cursor type for VOLUME views.
2:61
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
>- - CURSor t ype
- - +- +- +- +- -
POI NTER - - - - . NOCURSOR - - - | PI CK - - - - - - - | PI CKPLUS - - - |
‘ - - CROSSHAI R - - ‘ - - > Note: There are other cursor types that are for AVEVA’s use only. HALIGN
Works in conjunction with PATH and HDISTANCE. Defines how a newly added gadget should be aligned horizontally with the preceding gadget.
>- - HAl i gn - - +- - Lef t - - - . ‘ - - Ri ght - - ‘ - - > HDISTANCE
Works in conjunction with PATH and HALIGN. Defines how a newly added g adget should be spaced horizontally with respect to the preceding gadget.
>- - HDi st ance val ue - - > ICONTITLE
Defines the title for the icon when the form is minimised.
>- - I CONTI t l e t ext - - > INITCALL
Defines the callback string that is executed each time the form is displayed. This callback is usually run to check the validity of showing the form and to initialise gadget values.
>- - I NI Tcal l t ext - - > OKCALL
Defines the OK callback string for a form. It is executed whenever the form is dismissed from the screen via its OK button or that of an ancestor.
>- - OKcal l t ext - - > Note: This command overrides the callback string on the OK button.
2:62
12 Series
Soft ware Customi sation Reference Reference Manual Manual Summary of Objects, Members and Methods
PATH
Defines the direction in which a sequence of new gadgets is to be added to a form. fo rm. The path setting remains until you give another PATH command. Used with HALIGN, HDISTANCE, VALIGN, VDISTANCE.
>- - PATH - - ++- - Up - - - - - - . +- - Down - - - - | +- - L ef t - - - - | ‘ - - Ri gh ght - - - ‘ - - >
Path Right.
Default: TITLE
Defines the form title.
>- - TI TL e t ex ext - - > VALIGN
Use in conjunction with PATH and VDISTANCE. Defines how a newly added gadget should be aligned vertically with the preceding gadget.
>- - VAl i gn - - +- - Top - - - - - . ‘ - - Bot t om om - - ‘ - - > VDISTANCE
Works in conjunction with PATH PATH and VALIGN. Defines how a newly added gadget should be spaced vertically with respect to the preceding gadget.
>- - VDi s t an a nc e val ue - - > FirstShown and Killing Events
The following actions determine the life of a form: Defi De fine ne
the the for form, m, its its gadg gadget ets, s, meth method odss and and layo layout ut are are spe speci cifi fied ed (usu (usual ally ly in a '.pmlfrm' file)
Load Load
the the form form defi defini niti tion on is read read by PML PML and and the the for form' m'ss co constr nstruc ucto torr met metho hod d is run
Show Show
the the form form's 's INIT INITia ialilisa sati tion on even eventt is rais raised ed,, and and the the disp displa layy proc proces esss is begu begun n
Acti Activa vate te
the the for form m and and its its con conte tent ntss is is cre creat ated ed by the the win windo dow w mana manage geme ment nt syste system m and is activated (actually displayed) and the FIRSTSHOWN event is raised
2:63
12 Series
Soft ware Customis ation Reference Reference Manual Manual Summary of Objects, Members and Methods
Hide
the form is hidden and its OK or CANCEL event is raised
Kill
the form form''s KILL ILLING event is raised and then the form is destroy royed. It is no longer known to PML
Notes:
1. 2. 3. 4. 5.
Load, Activate Activate and Kill Kill only happen happen once once in the life of a form Show and Hide Hide may may happen happen rep repeate eatedly dly The form's form's Const Construc ructor tor is is run once once only only The First FirstShow Shown n event event only only happen happenss once once INIT INIT is raised raised for every every Show Show
The PML user can define callbacks to service any or all of the above events. These will typically be open callbacks supported by form methods. They can be assigned within the form's Constructor method (recommended), or within the form's Setup Form . . . Exit block. FIRSTSHOWN callback
Typically assigned in the Constructor by !this.FirstShownCall = '!this.' The purpose is to allow the user to carry out any form actions which can only be completed when the form is actually displayed. There are a variety of circumstances where this arises and it is often difficult to find a reliable solution. A couple of examples are given below. Commands which manipulate form, menu or gadget visual properties, executed from a PML macro, function or callback may not happen until control is returned to the window manager's event loop. For example, in the application's start-up macro the command sequence show !!myForm … hide !!myform will result in the form not being displayed, but also not becoming known at all to the window manager. Attempts to communicate with this form via the External callback mechanism (possibly from another process) will not work. This can be rectified by doing the '!this.hide()' within the FIRSTSHOWN callback, because the form will be guaranteed to be actually displayed (and hence known to the window manager), before it is hidden. It is sometimes difficult to achieve the correct corre ct gadget background colour setting the first time the form is displayed. This can be resolved by setting the required colour in the FIRSTSHOWN callback. KILLING callback
Typically assigned in the Constructor by !this.KillingCall = '!this.' The purpose is to notify the form that it is being destroyed and allow the assigned callback method to destroy any associated resources, e.g. global PML objects which would otherwise not be destroyed. This may be necessary because PML P ML global objects will survive an application module switch, but may not be valid in the new module. Notes: 1. The The call callba back ck met metho hod d MUST NOT carry out any modifications to the Gadgets belonging to the form or to the Form itself (e.g. don't show or hide the form). Attempts to edit the form or its gadgets may cause unwanted side effects or possible system errors.
2:64
12 Series
Soft ware Customi sation Reference Reference Manual Manual Summary of Objects, Members and Methods
2. Form callbacks callbacks designed designed for other other Form events events (e.g. CANCEL, CANCEL, INIT) are are rarely suitable suitable as killing callbacks. 3. Restrict Restrict form form and gadget operations operations to querying. querying.
2.5.25
FORMAT Obj Obje ect The format object is used to format the output of real objects and especially real physical objects such as distances. It controls precision, units, conversions and unit qualifiers. Format objects are also used to control conversions of strings to reals by providing guidance on dimensions and units. This occurs for text boxes in the user interface, and also for real to string and string to real conversion methods. Members
Nam e
Ty p e
Pu r p o s e
CompSepar pSepar at or
STRI STRING NG | |
Sepa Separa rato torr used used for for mult multiicomponent data types such as POSITIONS (Default SPACE).
Denomi nat or
REAL 32
Largest denominator for Imperial fractions (Default 32)
Di mensi ensi on
STRING ‘NONE’
Number (Default)
L
Number is a LENGTH LENGTH
L2
Number is an AREA
L3
Number is a VOLUME
is
un-dimensioned
The TYPE string can be any existing values (L L2 L3 NONE) or any standard dimension (i.e. Measure), or any standard unit (which indirectly defines a dimension) either in full name (e.g. metre), or description or shortname (unitqualifier), or compound unit qualifier (e.g. lb/ m4) form. No validation is actually performed until the format is used. DP
REAL 2
Number of decimal places for decimal fractions (Default 2)
ENU
BOOLEAN TRUE FALSE
Use ENU format when outputting POSITIONS (Default)
2:65
Use XYZ format when outputting POSITIONS
12 Series
Soft ware Customis ation Reference Reference Manual Manual Summary of Objects, Members and Methods
Nam e
Ty p e
Pu r p o s e
Fr acti on
BOOLEAN FALSE TRUE
Fractional part output as decimal (Default)
STRI STRING NG |’| |’|
Labe Labell use used d for for feet feet e.g. ' or FT or ftft or feet
FtLabe FtLabel
Fractional part output as fraction
(Default ‘ ) I nchS chSeparat eparat or
STRI STRING NG |.| |.|
Sepa Separa rato torr betw betwee een n inch inches es and fractions (Default . )
Lab Label
STRING |mm|
General distance label e.g. mm or m or " or IN (Default is no label) The label (and similarly the foot label and the inch separator can be any string (within normal and reasonable unit limitations!). They are primarily supplied to allow physical values to be formatted in any reasonable way on reports, in files and in text fields etc. However it is often necessary for such values to be re-interpreted by the system (especially as they are validated after entry in the text field. In these case, if normal value and unit parsing fails to interpret the values then the string is reinterpreted with the Label, ftlabel and inch separators substituted by normal standard unit qualifiers and separators enabling the values and units to be successfully interpreted when correct and consistent with the format object. If the label is set to UNITS then the standard unit qualifier will be output by the system, consistent with the dimension of the format.
PadFr act i ons
BOOLEAN FALSE TRUE
2:66
Do not pad Fractions (Default) Pad Fractions with trailing spaces
12 Series
Soft ware Customi sation Reference Reference Manual Manual Summary of Objects, Members and Methods
Nam e
Tr ai l Zer os
Ty p e
Pu r p o s e
BOOL BOOLEA EAN N
Trail railin ing g zero zeross are are incl includ uded ed up up the the required number of decimal places (as set by the DP member) if TrailZeros is unset, or if it is TRUE. If TrailZeros is FALSE trailing zeros will be removed up to and including a trailing decimal point
Uni t s
STRING MM
Output number (Default)
in
millimetres
M
Output number in metres.
FINCH INCH
Output number in feet and inches Output number in inches The TYPE string can be any standard form of unit, or a compound unit. If dimension is unset the unit often defines what the unit is when the format is used. No validation is performed on this string until the format is used when the values will be converted to units specified.
Or i gi nExp
BLOCK || |/*| |CE| BOOLEAN
Zer os
TRUE FALSE Table able 2: 42. 42.
With respect to World (Default) With respect to World With respect to Current Element Leading zeroes are displayed for Imperial units (Default). Leading zeroes are not displayed for Imperial units
FORMA FORMAT T Objec Objectt Memb Members ers
2:67
12 Series
Soft ware Customis ation Reference Reference Manual Manual Summary of Objects, Members and Methods
2.5.26
FRAME AME Gadge dget Members
Nam e
Tag
Ty p e
Pu r p o s e
STRING Get/Set
Text to appear as title on the frame.
Val
REAL Set
Get/ Selected radio button index as integer.
RGr oupCount
REAL only
Get Count of radio buttons (RTOGGLES) within the FRAME’s radio group. Returns zero if the FRAME is not a radio group.
Cal l back
STRING Get/Set
Radio group select callback string.
Expanded
BOOLEAN Get/Set
FoldUpPanel’s status
Nam e
Res u l t
Pu r p o s e
Rt oggl e( ! i ndex i s RE REAL )
GADGET
Returns th the RT RTOGGLE gadget with index !index .
Backgr ound( ound( )
STRING
Get Ba Background Name.
Table able 2: 43.
expanded
FRAME FRAME Gadget Gadget Membe Members rs
Methods
C Co olour
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. Table able 2: 2: 44. 44.
FRAME FRAME Gadget Gadget Metho Methods ds
Command
The FRAME command defines a frame gadget. A frame is a container which owns and manages any gadgets defined within its scope, including other frames.
2:68
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
The frame gadget properties visible and active will automatically apply to all of its children, but will not overwrite their corresponding property values. There are five types of FRAME: NORMAL, TABSET, TOOLBAR, PANEL and FOLDUP PANEL. •
• •
A NORMAL frame can contain any type of gadget, including other frames. It also behaves as a radio group, with radio buttons defined by the set of RTOGGLE gadgets that it directly contains. See the entry RTOGGLE Object for more about the RTOGGLE gadget. A TABSET frame can contain only tabbed page FRAMEs; you cannot nest them and they are not named. A TOOLBAR frame can contain only a subset of gadget types: BUTTON, TOGGLE, OPTION, and TEXT. It must have a name and can appear only on main forms.
where the sub-graphs , and define the allowable gadgets and layout commands available within the specific container type. Note: The graph defines the normal content of a form, all gadget types (except
BAR) are allowed. There are restrictions on frame gadget types as defined below. Settin g Up a TOOLBAR Frame
The toolbar frame allows you to define formal toolbars that contain all the gadgets in the frame’s scope. You can define a toolbar frame only for a main form, and a main form can contain only toolbar frames.
2:69
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
The graph below defines the allowable content of a toolbar frame: >- - t ool bar - +- +- +- +- +- +- +- ‘ --
Button gadget text gadget toggle gadget option gadget form variable definition general PML PML expressions variable setting VARº
Settin g Up a TABSET Frame
A TABSET frame defines a container for a set of tabbed page frames. It has no visible border and no name. The graph below defines allowable contents of a TABSET frame: >- - t abs et >- +- +- +- +- -
- - - . - - - - - | - - - - - - | - - - |
‘ - - - - - ‘ - - - - >
frame gadget form variable definition general PML PML expressions variable setting VARº
Note: Frame gadgets defined anywhere within the TABSET frame can only be of type
NORMAL, not TOOLBAR or TABSET frames. NORMAL frames defined directly within the TABSET frame, will appear as tabbed pages within it. Setting up a Panel Frame
The panel is a rectangular region within a form which can contain the normal form gadgets, but doesn't have to be enclosed in a solid-line box. Notes:
1. After choosing frame type Panel, the contents is defined in the usual manner. 2. Tagtext can be specified, but it is never displayed. 3. The panel has no visible enclosing box, unless the INDENT option is specified when it will have a 3D indented appearance. 4. Panel supports all the attributes of a Normal Frame including the notion of a radio button group. Setting up i n Fold Up Panel
This is a rectangular panel with a visible title bar, and border. The following form in this section below shows examples of fold-up panel frame gadgets. Notes:
1. After choosing frame type FoldUpPanel, the contents is defined in the usual manner. The panel can contain the usual PML gadgets except another FoldUpPanel. 2. Separate events are raised after expanding or collapsing the panel.
2:70
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
3. The default state is 'expanded'. 4. When the panel expands or collapses, any gadgets which lie below the panel and between (or partially between) the panel's horizontal limits will be moved down or up the form. 5. If the form's AutoScroll attribute is selected, then a scroll bar will automatically appear whenever gadgets have been moved off the bottom of the form, so that all of the form is still accessible. 6. The FoldUpPanel supports all the attributes of a Normal Frame including the notion of a radio button group The form shown below is a docking dialog which has four fold-up panels, the first two are collapsed (hidden) and the second two are expanded (shown). Each one has a title bar which displays the panel's tag text, and an icon which allows the panel to fold-up or folddown when it is pressed. Note the use of the form's AutoScroll attribute and the resulting scroll bar. The PML code for this example form is given in the file textbug.pmlfrm.
For frames which are FoldUpPanels, 'HIDDEN' and 'SHOWN' events are raised whenever the user interactively folds or unfolds the panel. These events are only fired if a PML open callback is defined. This ensures that the SELECT event, used to signal selection of a radio button within a foldup panel can still be handled by simple (non-Open) callbacks. To manage FoldUpPanels which are also radio groups, then you must supply an open callback so that you can differentiate the panel's SELECT, HIDDEN and SHOWN events.
2:71
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Tabbed Page Frame Visible Property and 'Hidden' event
The VISIBLE property allows a tabbed page to be selected and given focus, e.g. !this.TabbedPage.visible = true When a tabbed page frame's tab is interactively selected, there is now a HIDDEN event raised when the currently shown page is hidden, followed by a SHOWN event when the newly selected page is shown. These events are only raised if a PML open callback has been assigned.
2.5.27
Graphical Selection The Selection object allows the PML user to interact with the graphical selections set. It is not reliant on PDMS being in graphical mode - the selection set can be created and manipulated in TTY mode, and thus can be used in regression tests. Only significant elements can be in selection sets. The definition of what is significant varies between graphical interaction modes: • • •
in Design navigate mode, all database elements are significant in Model Editor mode, then only those database elements defined in the Model Editor definition are significant, and some non-database elements. In Draft mode, only drawlist elements are significant.
Most methods look for the 'highest significant element' - they climb up the ownership tree looking for significant elements, until the value of 'scope' is reached - the nearest significant element below this ceiling is used. Set-up Methods Name
Purpose
. s el ect i on( )
Creates an empty selection object .
Methods that Modify Object
Note that this object is manipulating the graphical selection set itself. As elements are added or removed, they will be highlighted in the graphics view at the same time (if in graphics mode). Name
Result
Purpose
. scope( DBREF)
BOOLEAN
Defines the scope selection, i.e. defines element that the elements must exist Default is WORLD.
. add( DBREF)
DBREF
Adds the highest significant parent of passed element to selection
2:72
of the the top selected beneath.
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
. addConnect ed( DBREF)
ARRAY
Simulates "Select connected" for piping components: Adds the given component and the connected network relative to the component
. addBr anchLeg( DBREF)
ARRAY
Simulates "Select leg" for piping components: Adds the given component and adjacent components within the branch which are in the same leg as the passed component
. addAt t ached( DBREF)
ARRAY
Simulates "Select attached" for sections: Adds the given section and all sections attached into the selection
. addOf f spr i ng( DBREF)
ARRAY
Adds the highest significant subelements of given element to selection. This action as if DBREF were ancestor for select
. r emove( DBREF)
No Result
Remove highest significant parent of passed element from selection
. cl ear ( )
No Result
Empty the selection
. get Cur r ent ( )
No Result
Set the contents of the selection to the contents of the current graphical selection set
. get Al l ( )
No Result
Set the selection set to contain the entire drawlist
. set Cur r ent ( )
No Result
Set the current graphical selection set to be the same as the contents of the selection set
2:73
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Query Methods Name
Result
Purpose
. i sVal i d( )
BOOLEAN
Is the selection valid. (This is a standard method, and should not normally need to be called)
. sel ect ed( DBREF)
DBREF
Returns highest significant parent of given element, i.e. the element which will be included in the selection
. i sSel ect abl e( DBREF)
BOOLEAN
Returns true if the given element is in itself selectable within the scope of the selection
. i sModi f i abl e( DBREF)
BOOLEAN
Returns true if the highest significant parent of the given element is modifiable
. i nSel ect i on( DBREF)
BOOLEAN
Returns true if the given element exists in the selection
. ancest or s( DBREF)
ARRAY DBREFs
of Returns list of permissible ancestors for given element, within the current scope
. get Sel ecti on( )
ARRAY DBREFs
of Returns all elements in the selection
Table 2: 45.
2.5.28
Graphical Selection Object Methods
IDList The IDList object provides features for the accessing and manipulation of elements in an IDLIST database element. Elements in the IDlist object must be significant elements, in the following sense. The database element reference supplied to the constructor is examined to see if it either: • •
Owns a valid design drawlist element; in which case the supplied element is added to the idlist object. Is owned by a drawlist element, in which case the significant owner is added to the idlist.
Elements below the level of the design drawlist element cannot be manipulated via this object.
2:74
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Set-up Methods Name
Purpose
.idlist(DBREF)
Creates an PML IDlist object from the given DBREF of an IDLIST. Searches up the ownership hierarchy until a significant element is found, and adds this to the Idlist.
Before adding an ADDE, the object will check whether there is an 'active' ADDE in the list this is an ADDE for the identical element, without an intervening REME for the same object. If so, it will not add it again. Similarly for REMEs. When removing ADDEs or REMEs, the system will start from the bottom of the list and work backwards removing the requested entry. Ac ces s Met ho ds Name
Result
Purpose
. add ( DBREF)
No Result
Adds a ADDE to the IDLIST. If there is already an ADDE of either the same element or one of its ancestors (without an intervening REME) then nothing will be done. If there is an intervening identical REME, then the REME is removed.
. add ( SELECTI ON)
No Result
Adds ADDEs for the entire selection set to the IDList at this point, in the same way as for individual DBREFs.
. r emove ( DBREF)
No Result
If there exists an ADDE for this element in the list, then it is removed. If there exists an ADDE for an ancestor for this element, then a REME is inserted.
. r emove ( SELECTI ON)
No Result
Removes all ADDEs defined in the selection set, using the same rules as in removing a single element.
. copy( I DLI ST ot her )
BOOLEAN
Clears the idlist, and adds all the entries from idlist other. Returns TRUE if copy successful.
. cl ear ( )
No Result
Remove all elements from idlist
. quer y( )
ARRAY of Returns an array of strings of the form: STRINGS ADDE element or REME element itemising all the elements in the idlist.
Table 2: 46.
IDlist Object Methods
2:75
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.29
L INE Gad get Members and Methods
The LINE gadget supports the standard default gadget members and methods only.
Command
The Line gadget gives the ability to display horizontal or vertical lines to separate groups of gadgets on a form, for increased clarity of intent. The line's presentation reflects the colour of the current Windows scheme. . - - - - - - - <- - - - - - - - - - - - - - - . / | >- - - LI NE gname - +- t agt ext - - - - - - - - - - - - - - - | +- - - - - - - - - - - - - - - - | +- - - - - - - - - - - - - - - | +- - - - - - - - - - - - - - - * | +- VERTi cal - - - . | | ' - HORI Zont al - ' - - - >
Example: The form 'Nested Frames' above shows a vertical LINE and a horizontal LINE. The code snippet below shows the construction of the innermost frame f3. frame .f3 'f3' vdist 0.2 hdist 0.5 toggle .t1 'Toggle 1' at x 2 line .horiz 'H-Line' Horiz wid.f3 hei.t1 toggle .t2 'Toggle 2' line .vert at xmin.f3 ymin.f3+0.5 Vert wid 2 hei.f3
2:76
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
exit Notes:
1. The tag text is never displayed. 2. Line does not apply to toolbars. 3. The graph allows the line's width and height to be set either specifically or in terms of other gadgets on the form. 4. Setting the height for a Horizontal separator or the width for a Vertical separator causes the line to be drawn across the middle of the implied area. This allows for equal spacing on each side of the separator line. Otherwise a default width or height is assumed. 5. The Dock and Anchor attributes allow the Lines to be dynamic and respond to interactive changes in form size. 6. The gadget is not interactive and has no associated value.
2.5.30
L INE Ob jec t See also the POINTVECTOR object. Members
Name
Type
Purpose
St ar t Pos i t i on
POSITION Get/Set
Start position of line.
EndPosi t i on
POSITION Get/Set
End position of line.
Table 2: 47.
LINE Object Members
Definition Methods
None of these methods modifies the original object. Name
Result
Purpose
Li ne( POSI TI ON f i r st , POSI TI ON second)
LINE
Creates a LINE between the given positions, first and second .
St r i ng( )
STRING
Returns the STRING.
Di r ec t i on( )
DIRECTION Returns a DIRECTION representing the direction of the line.
Di r ect i on( DI RECTI ON way)
LINE
Table 2: 48.
line
as
a
Creates a new line with the same start position and length but in the direction given by way .
LINE Object Definition Methods
2:77
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
EndPosition Direction(DIRECTION)
StartPosition
Figure 2:20. : Basic LINE Definition
LINE Object Methods that Return BOOLEANs
None of these methods modifies the original object. Name
Result
Purpose
On( POSI TI ON wher e)
BOOLEAN
Returns TRUE if where lies on the unbounded line.
On( POSI TI ON wher e, BOOLEAN bounded)
BOOLEAN
Returns TRUE if where lies on the line, bounded indicates if the point is also checked to be on the bounded line segment.
OnPr oj ect ed( POSI TI ON wher e)
BOOLEAN
Returns TRUE if where, when projected onto the line, lies within the bounded line.
Figure 2:21. LINE Object Methods that Return BOOLEANs
OnProjected(POSITION)
On (POSITION)
Figure 2:22.
BOOLEANs Returned by LINE Object Methods
2:78
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
LINE Object Method s th at Return POSITIONs
None of these methods modifies the original object. Name
Result
Purpose
I nt er secti on( LI NE ot her )
POSITION
Returns the intersection point of the passed LINE on the line definition
I nt er secti on( POI NT poi nt , VECTOR vect or )
POSITION
Returns the intersection point of the passed POINTVECTOR on the line definition.
I nt er sect i on( PLANE pl ane)
LINE
Returns the intersection line of plane on the line definition.
I nt er sect i ons( ARC ar c)
ARRAY OF Returns the intersection POSITIONS points of arc on the line definition.
Near ( POSI TI ON posi t i on)
POSITION
Returns the nearest position on the line definition to position .
Pr opor t i on( REAL pr opor t i on)
POSITION
Returns
the position at along the proportion “bounded” line from the St ar t Pos i t i on. Values > 1 will give positions off the end of the line. Values < 0 will give positions off the start of the line.
Table 2: 49.
LINE Object Methods that Return POSITIONs
Proportion(REAL) Intersection(LINE)
Near(POSITION)
Figure 2:23. POSITIONs Returned by LINE Object Methods
2:79
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
LINE Object Methods that Return REALs
None of these methods modifies the original object. Name
Result
Purpose
Lengt h( )
REAL
Returns the length of the line.
Di st ance( LI NE ot her )
REAL
Returns the minimum distance between the line definition and other .
Di st ance( POSI TI ON posi t i on)
REAL
Returns the minimum distance between the line definition and position .
Figure 2:24. Table -48: LINE Object Methods that Return REALs
Length()
Distance(POSITION)
Distance(LINE)
Figure 2:25.
REALs Returned by LINE Object Methods
LINE Object: Miscellaneous Methods
None of these methods modifies the original object. Name
Result
Purpose
Pl ane( )
PLANE
Returns a plane object, using the and StartPosition Direction of line object
Poi nt vector( )
POINTVEC TOR
Returns a POINTVECTOR object, using the StartPosition and Direction of line object
Figure 2:26. LINE Object Miscellaneous Methods
2:80
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
LINE Object Methods that Return LINEs (a)
None of these methods modifies the original object. Name
Result
Purpose
Set Lengt hSt ar t ( REAL l engt h)
LINE
Returns a new line, maintaining the original StartPosition and direction, with an EndPosition to match length .
Set Lengt hEnd( REAL l engt h)
LINE
Returns a new line, maintaining the original EndPosition and direction, with a StartPosition to match length .
Towar ds( POSI TI ON posi t i on)
LINE
Returns a new line object with the same StartPosition and the same relative EndPosition (Length) of the original line, but the direction is from the start position to position.
LINE
Returns a line, where the is set StartPosition position , maintaining the original EndPosition.
LINE
Returns a line, where the EndPosition is set to position , maintaining the original StartPosition
Ext endSt ar t ( REAL di st ance)
LINE
Returns a new LINE, where the StartPosition has been extended in the opposite direction of line by distance.
Ext endEnd( REAL di st ance)
LINE
Returns a new LINE, where the EndPosition has been extended in the direction of the line by distance.
Fr om( POSI TI ON posi t i on)
To( POSI TI ON posi t i on)
Table 2: 50.
LINE Object Methods that Return LINEs (a)
2:81
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
ExtendEnd(REAL)
To(POSITION)
SetLengthStart(REAL) ExtendStart(REAL)
Towards(POSITION)
SetLengthEnd(REAL)
From(POSITION)
Figure 2:27.
LINEs Returned by LINE Object Methods (a)
LINE Object Methods that Return Li nes (b)
Name
Result
Purpose
Ext endSt ar t ( PLANE pl ane)
LINE
Returns a new LINE, where the StartPosition has been extended to plane.
Ext endEnd( PLANE pl ane)
LINE
Returns a new LINE, where the EndPosition has been extended to plane.
Rever seSense( )
LINE
Returns a line, where the and StartPosition EndPosition have been transposed.
Pr oj ect ed( PLANE pl ane)
LINE
Returns a LINE definition normalised onto plane. See picture.
Par al l el ( POSI TI ON posi t i on)
LINE
Returns a parallel to the line definition of the line object, through position . All other members are copied. See picture.
Of f set ( DI RECTI ON di r ect i on, REAL of f s et )
LINE
Returns a parallel line to the LINE object, offset by offset from the original in the given direction . See picture.
Figure 2:28.
LINE Object Methods that Return LINEs (b)
2:82
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Parallel(POSITION)
Offset(DIRECTION, REAL)
Projected(PLANE)
Figure 2:29.
LINEs Returned by LINE Object Methods (b)
LINE Object Methods that Return Li nes (c)
Name
Result
Purpose
Over l ap( LI NE ot her)
LINE
Returns the overlapping line of two parallel lines. All positions are return projected onto the original object. See picture.
Uni on( LI NE ot her)
LINE
Returns the union of LINE and other . The two are parallel lines, all positions are return projected onto the original object. See picture.
Table 2: 51.
LINE Object Methods that Return LINEs (c)
Union(Line)
Overlap(Line) Figure 2:30.
LINEs Returned by LINE Object Methods (c)
2:83
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
LINEARGRID Object Const ructi on A ids Members
Name
Type
Purpose
Pos i t i on
POSITION Get/Set
Origin of the grid
Or i ent at i on
ORIENTATI ON Get/Set
Orientation of the grid
XSpaci ng
REAL Get/Set
Spacing in the X direction
YSpaci ng
REAL Get/Set
Spacing in the Y direction
Table 2: 52.
LINEARGRID Object Members
Definition Methods
These methods do not modify the original object. Name
Result
Purpose
Li near gr i d( POSI TI ON, ORI ENTATI ON, REAL, REAL)
LINEARGRI D
Creates a grid with the given POSITION, ORIENTATION, and X and Y spacing.
St r i ng( )
STRING
Returns the grid as a string
Table 2: 53.
LINEARGRID Object: Basic Members
Orientation YSpacing
Z
Y Position
X XSpacing Figure 2:31. LINEARGRID Basic Definition
2:84
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
LINEARGRID Object Methods that Retur n POSITIONs None of these methods modifies the original object. Name
Result
Purpose
Gr i dPoi nt ( REAL, REAL)
POSITION
Returns the position at the intersection of the passed X and Y lines from the origin of the grid. Values can be +ve or -ve depending on the side of the origin
Snap( POSI TI ON)
POSITION
Returns the nearest intersection point to the passed position, when mapped onto the grid plane
Snap( LI NE)
POSITION
Returns the nearest intersection point to the intersection of the passed line and the grid plane
Snap( POI NTVECTOR)
POSITION
Returns the nearest intersection point to the intersection of the passed point vector and the grid plane
Snapt oCent r e( POSI TI ON)
POSITION
Returns the nearest mesh cell centre point to the passed position, when mapped onto the grid plane
Snapt oCent r e( LI NE)
POSITION
Returns the nearest mesh cell centre point to the intersection of the passed line and the grid plane
Snapt oCent r e( POI NTVECTOR)
POSITION
Returns the nearest mesh cell centre point to the intersection of the passed point vector and the grid plane
Table 2: 54.
LINEARGRID Object Methods that Return POSITIONs
2:85
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Snap(POSITION)
Snap(LINE)
GridPoint(REAL, REAL) Figure 2:32. POSITIONs Returned by LINEARGRID Methods
2.5.31
LINEARGRID Object This method does not modify the original object. Name
Result
Purpose
Pl ane( )
PLANE
Returns the grid as plane object
Table 2: 55.
Miscellaneous LINEARGRID Object Methods
Within(POSITION) Plane()
Within(POSITION) Figure 2:33. Miscellaneous Return Values from LINEARGRID Methods
2:86
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
LINEARGRID Object Methods that Return XYOffsets
This method does not modify the original object. Name
Result
Purpose
XYOf f set ( POSI TI ON)
XYPOSITIO N
Returns the position, mapped onto the grid plane, in terms of an XY offset from the grid plane origin
Table 2: 56.
LINEARGRID Object Methods that Return XYOffsets
XYOffset(POSITION) Figure 2:34. XYOffsets Returned by LINEARGRID Object Methods
2:87
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.32
L IST Gad get Members
Name
Type
Val
REAL Set
Val
REAL Selected field numbers of a ARRAY Get/ multiple-choice list. Set
DText
STRING Set or get the entire list of ARRAY Get/ display texts. Set
DText [ n]
STRING Get Get the display text of the Only n 'th field.
Pi ckedFi el d
REAL Only
RText
STRING Set or get the ARRAY Get/ replacement texts. Set
RText [ n]
STRING Only
et Get the replacement text of the n 'th field.
Count
REAL Get only
Get count of number of fields in the list
val
REAL Get/Set
Selected field as integer. Zero implies no selection. Setting val to zero will cause an error for mandatory selection lists.
Table 2: 57.
Purpose
Get/ Selected field-number of a single-choice list.
Get Last picked list field number. list
of
LIST Object Members
2:88
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Methods
Name
Result
Purpose
Add( STRI NG Dt ext )
NO RESULT Append an entry to the list, where Dtext is the text to display in the option list.
Add( STRI NG Dt ext , STRI NG Rt ext ) )
NO RESULT Append and entry to the list, where Dtext is the text to display in the option list, and Rtext is the replacement text for the new field. If Rtext isn’t specified, it will be set to Dtext by default.
Ful l Name( )
STRING
Get the full name of the gadget, e.g..'!!Form.gadget'
Name( )
STRING
Get the gadget's name, e.g. 'gadget'
Owner ( )
FORM
Get owning form.
Sel ect ( STRI NG t ext , STRI NG val ue)
NO RESULT Select specified item in a list. text must be ‘Rtext’ or ‘Dtext’. value is the RTEXT or DTEXT of the item to be selected.
Sel ect ( STRI NG t ext , ARRAY of STRI NG val ues)
NO RESULT Select multiple choice list items. text must be 'Rtext' or 'Dtext'. values contains the RTEXT or DTEXT values to be selected.
Sel ecti on( )
STRING Get selected RTEXT ARRAY OF Array of RTEXT for multiSTRING choice list.
Sel ect i on( STRI NG t ext )
STRING Get selected RTEXT or ARRAY OF DTEXT STRING Array of texts for multi-choice list. text must be 'Rtext' or 'Dtext'.
Cl ear ( )
NO RESULT Clear list selections.
Cl ear Sel ecti on( )
NO RESULT Clear list selections.
Set Popup( MENU
NO RESULT Links menu with the gadget as a popup.
menu)
2:89
contents
and
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
RemovePopup( MENU menu)
NO RESULT Removes popup menu from the gadget.
Get Pi ckedPopup( )
MENU
Ref r esh( )
NO RESULT Refreshes the display of the gadget.
Shown( )
BOOLEAN
Get ‘shown’ status.
STRING
Get the gadget type as a STRING.
Type( )
Purpose
Returns the last picked popup menu for the gadget.
Set Tool Ti p( STRI NG)
NO RESULT Allows a TOOLTIP to be edited.
Set Focus( )
NO RESULT Move keyboard focus to this gadget.
Set Headi ngs( ! Dt ext s i s STRI NG)
NONE
Specifies the number of columns and sets the list's column headings. Dtexts contains a set of TAB separated sub-strings.
Set Headi ngs( ! Dt ext s i s ARRAY)
NONE
Specifies the number of columns and sets the list's column headings. Dtexts is an array of strings.
Cl ear ( ! dt ext )
NO RESULT Delete the field with the given DTEXT string.
Cl ear ( ! f i el dNumber )
NO RESULT Delete the specified field number.
Set Rows( Ar r ay of ( Ar r ay of STRI NG) )
NO RESULT This sets the display text for all the data fields of the list gadget by row. If the list gadget is already populated then it replaces all the current rows by the new ones. Ar ray is an array of ‘row arrays’, and its size determines the number of rows in the list. Each entry is a row array of strings, which supplies the displayed text for each column of the row. The size of each row array must be less than or equal to the number of columns of the list. The columns are filled sequentially until the array is exhausted.
2:90
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Set Col umns( Ar r ay of ( Ar r ay of STRI NG) )
NO RESULT This sets the display text for all the data fields of the list gadget by column. If the list gadget is already populated then it replaces all the current rows by the new ones. Ar ray is an array of ‘column arrays’, and its size must match the number of columns of the list. The size of each all column arrays must be the same and determines the no of rows in the list.
Sel ect ( REAL c ol umn, STRI NG dt ext )
NO RESULT This selects the first list row whose column column has the display text dtext . If the field is not found then the list selection is unaltered. If the list is a multi-choice list then repeated use of this method will add selections to the list.
Backgr ound( )
STRING
Get Background Name.
Colour
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. Table 2: 58.
LIST Object Methods
Column Headings
The number of columns is deduced from the List's data. If the user specifies a set of (1 or more) column headings before the list is populated, then this will determine the number of columns. If no headings are pre-specified then the number of columns is deduced from the display text (Dtext) of the List's first data field. This provides upwards compatibility for existing Appware using single column lists. A List gadget's headings can be replaced after the list has been populated. If the new headings specify the same number of columns then the headings are replaced but the List's data fields and selection remain unchanged. If the number of columns is different, then the list is replaced by an empty list with the new headings. Invoking the Clear() method will clear the list's data fields and rebuild the current headings. There are two methods for defining a List's column headings:
2:91
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
The data fields can be set using the List's DTEXT member or its Ad d methods, where a row's Dtext string can be a set of TAB separated column sub-strings for populating multiple columns. Alternatively you can use the SetRows or SetColumns methods . Single choice lists Reselection o f th e Selected Field can be Disallowed
For Single choice lists there is a keyword NORESELECT which disables UnSelect and Select events when the currently selected field is clicked with the mouse, for example: list .l1 |List gadget| zeroSel noReselect width 15 length 5 tooltip 'single choice list' De-selection of th e selected field f or ZeroSelection lists
For ZeroSelection lists it is possible to interactively deselect the selected field by clicking in unused rows or after the last column. The val member now allows programmatic de-selection of the current field. Unselect Events
Single choice List gadgets support UNSELECT events. Typically when a field is selected, an UNSELECT event is raised for the previously selected field (if any) and then a SELECT event is raised for the new field. An UNSELECT event is raised whenever a selected field is interactively deselected. Notes:
1. UNSELECT events are not notified to PML unless an open callback has been specified (so that SELECT and UNSELECT events can be differentiated). 2. Typically the UNSELECT action allows Appware to manage consequences of deselection for any dependent gadgets or forms. 3. We recommend that you do not change the List's selection programmatically in an UNSELECT event. Command
The LIST command defines a single-choice or multiple-choice list gadget, and specifies its position, tag, number of columns and callback text. Also defines the area (width and height) in which the displayed part of the list will appear. The arrays defining the display texts and replacement texts for the list options are usually set in the form's default constructor method.
2:92
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Note: The TOOLTIP keyword can be given at two different places in the syntax.
A single choice, mandatory selection list.
Default:
2.5.33
LOCATION Object Members
Name
Type
Purpose
Name
STRING
Location name.
Descri pt i on
STRING
Description, up to 120 characters.
L oc i d
STRING
Location identifier.
Ref no
STRING
STRING containing Database reference no.
I sCur r ent
BOOLEAN
True for the current Location.
Table 2: 59.
LOCATION Object members
2:93
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Methods
Name
Result
Purpose
LOCATI ON( DBREF)
LOCATION
Returns a LOCATION object, given a DBREF.
LOCATI ON( STRI NG)
LOCATION
Returns a LOCATION object, given a name or reference number (Global projects only).
Dbl i s t ( )
ARRAY OF Array of DB objects for DB Allocated DBs. This method does not modify the original object.
Sessi ons( )
ARRAY OF Return array of all Sessions SESSIONS extracted from COMMs db at the Location. This method does not modify the original object.
St r i ng( )
STRING
Table 2: 60.
STRING containing Location name. This method does not modify the original object.
LOCATION Object Methods
Note: The Sessi ons( ) method provides information required for remote expunging. This
method will cause daemon activity for locations other than the current location. You can use the constructors in the following ways:
! D = OBJ ECT LOCATI ON( ! ! CE) ! D = OBJ ECT LOCATI ON( ! ! CE. Name) ! D = ! ! CE. LOCATI ON( ) ! D = ! ! CE. Name. LOCATI ON( ) In all cases, !!CE is assumed to be a DB database element and !!CE.Name is a STRING object containing the element’s name. These methods should assist performance improvements to AppWare by making it easier to get from Database element to Object.
2:94
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.34
MA CRO Ob jec t Member
Name
Type
Purpose
Fi l ename
STRING
Inter-DB macro filename (up to 17 characters).
Fr om
DB
Source DB of connection macro.
Number
REAL
Inter-DB macro number.
DB
Target DB of connection macro.
To
Table 2: 61.
inter-DB
inter-DB
MACRO Object Members
Command
!ARRAY = MACROS
$ Returns an array of all the MACRO objects in $ the project
2.5.35
MDB Ob ject Member
Name
Type
Purpose
Name
STRING
Name of the MDB, up to 32 characters
Descri pt i on
STRING
MDB description, up to 120 characters
Ref no
STRING
String containing Database reference number
Figure 2:36. MDB Object Members
2:95
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Methods
None of these methods modifies the original object. Name
Result
Purpose
MDB( DBREF)
MDB
Returns an MDB given a DBREF.
MDB( STRI NG)
MDB
Returns an MDB object, given a name or reference number.
Cur r ent ( )
ARRAY OF Current databases as an DBS array of DB objects
Def er r ed( )
ARRAY OF Deferred databases as an DBS array of DB objects
Mode( )
ARRAY OF Returns ‘NR’ or ‘RW’ for each STRINGS current DB of the MDB
Table 2: 62.
object,
MDB Object Methods
You can use the constructors in the following ways:
! D = OBJ ECT MDB( ! ! CE) ! D = OBJ ECT MDB( ! ! CE Name ! D = ! ! CE. MDB( ) ! D = ! ! CE. Name. MDB( ) In all cases, !!CE is assumed to be a DB database element and !!CE.Name is a STRING object containing the element’s name. These methods should assist performance improvements to AppWare by making it easier to get from Database element to Object. Command
!ARRAY= MDBS
$ Returns an array of MDB objects in the project
2:96
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.36
MEASURE Object Members
Name
Type
Purpose
Measur e ( )
MEASURE
Creates an invalid/unset dimension (INVALID).
Measur e( STRI NG)
MEASURE
Creates a MEASURE of which string is a 'reasonable' match to any of description, name, hashcode, format code (L, L2 etc) or any other recognisable name or abbreviation of a unit of the measure.
Measur e( REAL)
MEASURE
Creates a MEASURE of which the value of REAL is a (valid) enum value, or is a negative (non standard) dimension..
Name
Result
Purpose
Descri pt i on( ) St r i ng( )
STRING
Long description dimension.
of
Name( )
STRING
Unique name used format statements commands
for and
Hashcode( ) Pt ype( )
STRING
Hash code of dimension. Returns 'GENERIC' if generic dimension - i.e. non standard.
cur r ent uni t s( )
UNIT
Returns current unit of this dimension.
Uni t Qual i f i er ( )
STRING
Unit qualifier of current units.
Uni t Fact or ( )
REAL
Conversion factor to database units from current units.
Constructors
Table 2: 63.
MEASURE Object Members
Methods
Current Unit Methods
2:97
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Set Uni t s( uni t )
BOOLEAN
Returns true if successfully set current unit of the dimension to unit.
Numer i c( )
BOOLEAN
Sets current units of dimension to be Numeric (i.e. no unit conversion in place). NUMERIC units have Hashcode NUMB and null names, unitqualifiers, and descriptions. Returns true if successful.
BOOLEAN
Def aul t ( )
Sets current units of all dimensions to those defined by catalogue BUNI/DUNI. Returns true if successful.
BOOLEAN
Suspend( )
Suspends current units of all physical quantities and operates exclusively in database units. Pushes up one level of suspension. Returns true if successful.
SuspendLevel ( )
REAL
Returns number of levels of suspension of current units. If 0 no suspension in force.
Rei nst at e( )
BOOLEAN
Reinstates currently defined current working units for all quantities. Clears suspension stack. Returns true if successful.
BOOLEAN
Unsuspend( )
Pops one level of suspension stack of current units. If level now one working in defined current units. Returns true if successful.
General Queries
I sNul l ( )
BOOLEAN
TRUE if dimension is NONE.
I sSt andar d( )
BOOLEAN
TRUE if dimension is a named (standard) dimension. FALSE if specified from powers of its base components (i.e. Generic).
2:98
12 Series
Soft ware Customi sation Reference Reference Manual Manual Summary of Objects, Members and Methods
Nam e
Res u l t
Pu r p o s e
DBUni t s( ) DBUni t ( )
UNIT
Database unit dimension.
Uni t sOf ( )
ARRAY UNITs
Al l Di mensi ons( )
ARRAY of Set of all MEASUREs dimensions.
Al l Uni t s ( )
ARRAY UNITs
Enum Enum( )
REAL
for
this
of Set of standard units of this dimension. standard
of Set of all named Units Unique integer ID for this Dimension. Positive if standard dimension (packed Hash Value) Negative if generic dimension coded from component base dimensions.
2.5.37
MENU Ob je jec t Members
Nam e
Ty p e
Pu r p o s e
Cal l back
STRING
Sets/gets the callback on the menu.
Get/Set STRING
Pi cke ckedFi el d
Get Only
Returns the DTEXT of the last picked menu field. Using this member is now deprecated. Use the PickedFieldName property instead.
STRING
Pi ckedFi ckedFi el dName
Get Only Table able 2: 2: 64. 64.
Returns the field name of the last-picked TOGGLE or CALLBACK field.
MENU MENU Objec Objectt Memb Members ers
2:99
12 Series
Soft ware Customis ation Reference Reference Manual Manual Summary of Objects, Members and Methods
Methods
Nam e
Res u l t
Pu r p o s e
Add( ' SEPA SEPARATO TOR R' , {STR {STRII NG f i el dName}) e})
NO RESUL RESULT T Append Append a SEPARA SEPARATOR TOR fiel field, d, with an optional STRING argument, fieldName, that if present denotes the unique field-name in the menu.
Add( dd( ' CALLBA LLBACK' , STR STRI NG Dt ext ext , STR STRI NG cal l back, back, {STR {STRII NG f i el dName}) e})
NO RESUL RESULT T Append Append a CALLBACK CALLBACK field field with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank. The argument callback gives the callback command. There is also an optional fieldName argument that, if
present, denotes the unique field name in the menu. Add( dd( ' FO FOR RM' , STR STRI NG Dt ext , STR STRI NG f or mName, {STRI {STRI NG f i el dNam dName})
NO RESUL RESULT T Append Append a FORM FORM displa displayy field field with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank. The argument formName, gives the name of the form to be displayed, which may be NULL but may not be blank. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu
Add( dd( ' MENU ENU' , STRI STRI NG DText , STRI STRI NG menuNam enuName, {STRI NG f i el dNam dName})
NO RESUL RESULT T Append Append a MENU (pullrig (pullright) ht) field with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank. menuNam Name gives the pullright menu name, which may be NULL but may not be blank.
There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
2:100
12 Series
Soft ware Customi sation Reference Reference Manual Manual Summary of Objects, Members and Methods
Nam e
Res u l t
Pu r p o s e
Add( dd( ' TOGGLE' , STR STRI NG Dt ext , STR STRI NG cal l back, back, {STR {STRII NG f i el dName}) e})
NO RESUL RESULT T Append Append a TOGG TOGGLE LE field field with with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank. The argument callback gives the callback command, which must be an open PML function. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu. NO RESUL RESULT T Removes Removes all menu menu fields fields from the menu.
Cl ear ( )
Using this deprecated .
Cl ear ear ( STRI TRI NG
method
is
NO RESUL RESULT T Remove Removess menu menu fields fields starting with the one that matches Dtext onwards.
Dt ext ext )
Using this deprecated
Fi el dPr ope oper t y( STRI TRI NG menuFi el d, STR STRI NG pr oper oper t y)
BOOL BOOLEA EAN N
method
is
Get Get tthe he valu value eo off tthe he prop proper erty ty named in property for the menu field named in menuField . The
allowed values for ‘ACTIVE’, property are ‘VISIBLE’, or ‘SELECTED’.
Ful l Name( )
STRING
Returns menu object's full name, for example: ‘!!Form.Menu’.
I nser ser t Af t er ( STRI NG menuFi el d, ‘ CALLBAC LLBACK’ , STR STRI NG Dt ext , STR STRI NG cal l back, {STR {STRII NG f i el dName}) e})
NO RESUL RESULT T Insert Insert a CALLB CALLBACK ACK fiel field d with with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank, immediately after the menu field identified by menuField . The argument callback gives the callback command. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
2:101
12 Series
Soft ware Customis ation Reference Reference Manual Manual Summary of Objects, Members and Methods
Nam e
Res u l t
Pu r p o s e
I nser ser t Af t er ( STRI NG menuFi el d, ‘ FO FOR RM’ , STR STRI NG Dt ext , STRI STRI NG f or mName, {STRI {STRI NG f i el dNam dName})
NO RESUL RESULT Insert Insert a FORM displ display ay field field with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank, immediately after the menu field identified by menuField . The argument formName gives the name of the form. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
I nser ser t Af t er ( STRI NG menuFi el d, ‘ MENU ENU’ , STR STRI NG Dt ext , STRI STRI NG menuNam enuName, {STRI NG f i el dNam dName})
NO RESUL RESULT Insert Insert a MENU MENU (pu (pullr llrigh ight) t) field with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank, immediately after the menu field identified by menuField . The argument menuName gives the name of the form. There is also an optional fieldName argument that, if
present, denotes the unique field name in the menu. I nser ser t Af t er ( STRI NG menuFi el d, ‘ TOGGLE’ , STRI STRI NG Dt ext , STRI STRI NG menuNam enuName, {STRI NG f i el dNam dName})
NO RESUL RESULT T Append Append TOGGLE TOGGLE field field with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank, immediately after the menu field identified by menuField . The argument callback gives the callback command, which must be an open PML function. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
2:102
12 Series
Soft ware Customi sation Reference Reference Manual Manual Summary of Objects, Members and Methods
Nam e
Res u l t
Pu r p o s e
I nser ser t Af t er ( STRI NG menuFi el d, ‘ SEPA SEPAR RATOR’ , {STR {STRII NG f i el dNam dName}) e})
NO RESUL RESULT T Append Append a SEPARA SEPARATO TOR R field field immediately after the menu field identified by menuField . There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
I nser t Bef or e( STRI TRI NG menu enuFi el d, ‘ CALLBAC LLBACK’ , STR STRI NG Dt ext , STR STRI NG cal l back, {STR {STRII NG f i el dName}) e})
NO RESUL RESULT T Insert Insert a CALLB CALLBACK ACK fiel field d with with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank, immediately before the menu field identified by menuField . The argument callback gives the callback command. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
I nser t Bef or e( STRI TRI NG menu enuFi el d, ‘ FO FOR RM’ , STR STRI NG Dt ext , STRI STRI NG f or mName, {STRI {STRI NG f i el dNam dName})
NO RESUL RESULT T Insert Insert a FORM displ display ay field field with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank, immediately before the menu field identified by menuField . The argument formName gives the name of the form. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
I nser t Bef or e( STRI TRI NG menu enuFi el d, ‘ MENU ENU’ , STR STRI NG Dt ext , STRI STRI NG menuNam enuName, {STRI NG f i el dNam dName})
NO RESUL RESULT T Insert Insert a MENU MENU (pu (pullr llrigh ight) t) field with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank, immediately before the menu field identified by menuField . The argument menuName gives the name of the form. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
2:103
12 Series
Soft ware Customis ation Reference Reference Manual Manual Summary of Objects, Members and Methods
Nam e
Res u l t
Pu r p o s e
I nser t Bef or e( STRI TRI NG menu enuFi el d, ‘ TOGGLE’ , STRI STRI NG Dt ext , STRI STRI NG menuNam enuName, {STRI NG f i el dNam dName})
NO RESUL RESULT T Append Append TOGGLE TOGGLE field field with Dtext , which may contain multi-byte characters, but which cannot be NULL or blank, immediately before the menu field identified by menuField . The argument callback gives the callback command, which must be an open PML function. There is also an optional fieldName argument that, if present, denotes the unique field name in the menu.
I nser t Bef or e( STRI TRI NG menFi enFi el d, ‘ SEPA SEPAR RATOR’ , {STR {STRII NG f i el dNam dName}) e})
NO RESUL RESULT T Append Append a SEPARA SEPARATO TOR R field field immediately before the menu field identified by menuField . There is also an optional fieldName argument that, if
present, denotes the unique field name in the menu. Name( )
STRING
Returns me menu ob object's simple name, for example: 'Menu'.
Owner ( )
FORM
Returns reference to owning form.
PopupG PopupGadget adget ( )
GADGET
Returns the name of the gadget that popped up the menu. The value is unset if the menu was not popped up by a gadget.
Ref r esh( sh( )
NO RESUL RESULT Refres Refreshes hes the the display display of the the gadget.
Sel Sel ect ( STRI STRI NG Dt ext , BOOLEAN LEAN st at us)
NO RESULT Set the selected status of TOGGLE field identified by Dtext to the value of status . Using this deprecated.
BOOL BOOLEA EAN N
Sel ect ed( ed( STR STRI NG Dt ext ext )
is
Get Get sele select cted ed stat status us of the the TOGGLE field identified by Dtext . Using this deprecated.
2:104
method
method
is
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Set Act i ve( STRI NG Dt ext , BOOLEAN acti ve)
NO RESULT Set the active status of the menu field identified by Dtext . Using this deprecated.
Set Fi el dPr opert y( STRI NG menuFi el d , STRI NG pr oper t y, BOOLEAN val ue)
method
is
NO RESULT Set the value of property with value, for the menu field identified by menuField . The
allowed values for ‘ACTIVE’, property are ‘VISIBLE’, or ‘SELECTED’. But see the note below for special cases when you use a SEPARATOR field. Table 2: 65.
MENU Object Methods
Note: Setting the Ac ti ve and Visible properties of a SEPARATOR field will affect the
implied group of fields comprising the SEPARATOR field and all subsequent fields up to but not including the next SEPARATOR field. For each of the Add( ) methods above, you can use a special field-type to indicate that the field is managed by core-code i.e. CORESEPARATOR, CORECALLBACK, COREFORM, COREMENU, and CORETOGGLE. You do not need to specify callback functions for core-managed fields. Command MENU objects are owned by FORM objects, and can be created within form setup mode. It
is also possible to add a new menu to an existing form - usually for context sensitive popup menus. The recommended way to create a menu and its fields, typically within form setup mode, is:
! menu = ! t hi s . newmenu( ‘ Menu1’ , ‘ MAI N’ ) ! menu. add( ‘ CALLBACK’ , ‘ s ave’ , ‘ ’ , ‘ f i el d1’ ) ! menu. add( ‘ FORM’ , ‘ save asº ’ , ‘ saveFor m’ , ‘ f i el d2’ ) Note: • •
• • •
Each menu is either part of the Main menu system or part of the Popup menu system, but cannot belong to both. If you specify neither POPUP nor MAIN at setup time, then the menu’s usage is initially unknown. The system will attempt to deduce the usage type from the first action that references the menu. Menus in the Main system can only appear once. That is, a main system menu cannot be a sub-menu of several menus. Menus in the Popup system may appear only once in a given popup tree, but may be used in any number of popup trees. A menu cannot reference itself, either directly as a pullright of one of its own fields or be a pullright of another menu in its own menu tree.
2:105
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
•
You can add menu fields with an op tional field-name. If you do n ot specify a fieldname, then you w ill no t be able to refer to it later .
•
You can use a special field-type to indicate that the field is managed by core-code i.e. CORESEPARATOR, CORECALLBACK, COREFORM, COREMENU, and CORETOGGLE. You do not need to specify callback functions for core-managed fields.
An alternative is to use the MENU command, followed by the menu’s ADD commands and terminated by the EXIT command. The full syntax is shown below: >- - MENU - - gname - +- POPUP - - . . - - - - - - - - <- - - - - - - . +- MAI N - - | / | ‘ - - - - - - - - - - ‘ - +- NL - +- - | +- PML - - - - - * +- EXI T - - - - . ‘-----------‘--> Figure 2:37.
owning Redundant? - could be constructed easily from OwningDbBranch
Returns true if Checks first if the objects are equal objects could be compared by under lying DB element. If not the position On is used
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
ExpandToRoute
mdrRoute
Expands external geometry to mdrRoute object.
IsExternalGeometry bool
EndingRoutePoint
EndingRoutePoint
Returns true if its an external geometry object. mdrRoutePoint
mdrRoute Point
StartingRoutePoint
Sets end external Valid only if this is a geometry ending external geometry type route point. route point Gets end external Valid only if this is a geometry ending external geometry type route point. route point
mdrRoutePoint
Sets end external Valid only if this is a geometry starting external geometry type route point. route point
StartingRoutePoint
mdrRoute Point
Gets end external Valid only if this is a geometry starting external geometry type route point. route point
Position
Position
Gets position of the Valid only if this isn't an route point in world external geometry type coordinates. route point. If there is DB element owned then gets the world position, otherwise its stored as world position inside an object
Position
Radius
Position
Real
Radius
Clone
Sets position of the Valid only if this isn't an route point in world external geometry type coordinates. route point. If there is DB element owned then sets the local position, converting it before from world coordinates, otherwise sets the world position inside an object Get the fillet radius of route point
Real
Set the fillet radius Valid only if this isn't an of route point external geometry type route point. If there is DB element owned then sets the filet radius, otherwise sets the radius inside the object
mdrRoute Point
Returns object
2:107
cloned Clones all the attributes taken from object which from this method is invoked (besides underlying DB element, and name)
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
String
Is That
Type
Gets the name of named route point String type
String
Type
Returns true if the Compares if the type is named types the same with passed as match argument. Gets the type of route point object
String type
Sets the type of behaviour not specified route point object
DbElement
DBREF
Gets the underlying DB element.
IsEnabled
bool
Check if element is enables.
IsNamed
Checks if element is named
IsOn
true if route point true if route point are on are on the same the same position position
DbElement
DBREF
Sets owned element.
Enable
bool enabled
Enables disables point.
DB or enable true if we want to route enable route point otherwise false
mdrRoute
Name
Returns
Arguments
Description
Remarks
dbWrite
bool
DBREF
Writes to DB Returns true if write hierarchy. was successful Argument specify where to method should write to.
dbUpdate
bool
Updates hierarchy.
clone
mdrRoute
Returns object
DbElement
DBREF
Gets the underlying DB element.
DB Returns true if write was successful cloned Clones all the attributes taken from object which from this method is invoked (besides underlying DB element, and name)
DbElement
DBREF
Sets the underlying Method element. ownership
Construct
DBREF
Constructs route point from DB
2:108
changes
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Equals
Bool
Checks for equality of elements
HeadRoutePoint
mdrRoute Point
Gets head route point
TailRoutePoint
mdrRoute Point
Gets tail route point
HeadRoutePoint
mdrRoutePoint
Sets head point
TailRoutePoint
mdrRoutePoint
Sets tail route point
InsertRoutePointAt Head
mdrRoutePoint
Inserts route point at head
InsertRoutePointAtT ail
mdrRoutePoint
Inserts route point at tail
InsertRoutePoint
mdrRoutePoint
Insert route points at chosen index
RemoveRoutePoint
mdrRoutePoint
Remove route point from route
FindRoutePoint
mdrRoutePoint
Gets route index of route point (0 based)
RoutePoints
Array of Gets route points mdrRoutePoint
InsertRouteAtHead
mdrRoute
Merge two routes on head
InsertRouteAtTail
mdrRoute
Appends route at end
insert Route
mdrRoute, mdrRoutePoint
Inserts route route point
ExpandToRoute
route
at
Expands all the ext geom. into route
ExpandRoutePoint
mdrRoute
mdrRoutePoint
In place expand of ext geom.
size
real
at
mdrRoute Point
real
SubRoute
mdrRoute
mdrRoutePoint, Cuts the route mdrRoutePoint between two route points
HeadSubRoute
mdrRoute
mdrRoutePoint
Creates sub route from head to route point
TailSubroute
mdrRoute
mdrRoutePoint
Creates sub route from route point to tail
number of route points in route Route Point at
2:109
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Transform
Orientation
Transforms route
Length
Real
Calculates length
route
Length
Real
mdrRoutePoint, Length between mdrRoutePoint two route points
Length From
Real
Length from route point
mdrBaseManager
Name
Returns
Arguments
Description
CreateRoutePoint
mdrRoute Point
Position
Route point from pos
CreateRoutePoint
mdrRoute Point
DBREF
Route Point from dbref
CreateRoutePoint
DBREF
Route from dbref
FindRoute
Array of mdrConnection mdrConec Graph, tionPoint mdrRoutePoint, mdrRoutePoint
For given connection graph, and two RoutePoints, find the best path between these route points
BeginInteractiveRo utePointsEditing
mdrRoute
Enter Route point model editor for given route
BeginInteractiveQui ckRouting
mdrRoute
Enter Quick Routing model editor for given route
Arguments
Description
Remarks
mdrConnectionManager
Name
Returns
CreateRouteFrom mdrRoute ConnectionPoints
Array of For given path mdrConnection described by Points connection points array create route
GetAllConnectionPo Array of ints mdrConnect ionPoints
Get connection point list
Remarks
mdrConnectionPoint
2.5.39
Name
Returns
getRoutePoint
mdrRoute Point
Arguments
Description
Remarks
Get route point
getConnectedRoute mdrRoute Point Point
Get connected route point
getFirstConnection Type
Real
0- head, 1- tail, 2mid, 3- free, 4none
getSecondConnecti onType
Real
0- head, 1- tail, 2mid, 3- free, 4none
NUMERICINPUT Object Members
Member
Type
Purpose
val
REALGet/Set
Value of the numeric input. Gets adjusted to the nearest value in the range.
range
REAL ARRAYGet/Set
Range: Start, End and Step(>0) as reals.
2:111
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Member
Type
Purpose
ndp
REALReadonly
Integer number of decimal places to be displayed. 0 means integer values.
modifiedEvents
BOOLEANGet/Set
Enable/disable modified events.
editable
BOOLEANGet/Set
Enable/disable editing of the displayed value.
Table 2: 66.
NUMERICINPUT Object Members
Methods
Method Name
Result
set Range( ! r ange, ! ndp ) NO RESULT
Table 2: 67.
Purpose
Set the range and number of decimal places. !range is an array of REAL, defining the min, max and step (>0) values. !NDP<0 leaves the current value unchanged.
NUMERICINPUT Object Methods
Command
The NumericInput gadget allows numeric input within a specified range, with given granularity. The Up/Down arrows control incrementing and decrementing the displayed value by the specified increment, within the range. Additionally it is possible to type in the required value. The number of decimal places can also be specified. . - - - - - - - <- - - - - - - - - - - - - - - - - - - . / | - - NUMERI Ci nput gname - +- - - - - - - - - - - - - - - - - - - | +- - - - - - - - - - - - - - - - - - - - | +- - - - - - - - - - - - - - - - - - - | +- - - - - - - - - - - - - - - - - - - | +- CAL Lbac k t ext - - - - - - - - - - - - - | +- TOOLTI P t ext - - - - - - - - - - - - - - | +- CORE - - - - - - - - - - - - - - - - - - - - - - * Cor e managed gadget | . - - - - - - - <- - - - - - - - - - - - - - - - - - - . |/ | +- RANGE val val - - - - - - - - - - - - - | +- STEP val - - - - - - - - - - - - - - - - - - | +- NDP i nt - - - - - - - - - - - - - - - - - - - * | +- VALUE val - . ' - - - - - - - - - - - - - ' - - +- TOOL TI P t ext - . ' ------- ------- ' -->
Notes:
1. 2. 3. 4. 5.
The tag text is displayed. Default initial value is the minimum value of the range. The range maximum is adjusted to be an integral number of steps. NDP is the number of decimal places. If NDP is zero then all values will be integer. Typed in values will be adjusted to the nearest valid value in the range.
2:112
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
6. The graph allows the gadget width to be set specifically or in terms of other gadgets on the form. 7. It is not possible to provide user formatting of the values displayed by the gadget. Events and Callbacks
The Numeric input gadget supports SELECT and MODIFIED events, and users may provide a callback method to service these events. Note that often no callback is required, and the numeric input value is merely read and used by other gadgets of the form. A SELECT event is raised whenever the user presses the ENTER key while the numeric input display field has focus. Typically this happens after the user has typed in a required value, but will also apply if the user enters the field after modifying the values using the up/ down arrows. The callback can be a simple or an open callback. A MODIFIED event is raised for each modification of the displayed value using the up/down arrows. Modified events are only reported if they are enabled and the user has provided a PML open callback, as this allows differentiation from the SELECT events. The default state is modified events disabled.
2.5.40
OBJECT Method
Name
Result
Purpose
Get Pat hName( )
STRING
Extracts the pathname for a file in the PMLLIB searchpath.
Name
Type
Purpose
DText
ARRAY OF STRING Get/Set
Set or get the entire list of display texts.
DText [ n]
STRING Get Only
Get the display text of the n 'th option.
RText
ARRAY OF STRING Get/Set
Set or get the replacement texts.
RText [ n]
STRING Get Only
Get the replacement text of the n 'th option.
Table 2: 68.
2.5.41
PML Object Methods
OPTION Gadget Members
2:113
list
of
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Type
Purpose
Count
REAL Get only
Get count of number of fields in the list.
Val
REAL Get/Set
Selected field as integer. Zero implies no selection. Setting val to zero will cause an error if ZeroSel is not specified.
Name
Result
Purpose
Add( STRI NG Dt ext )
NO RESULT Append an entry to the drop down list, where Dtext is the text to display in the option list.
Add( STRI NG Dt ext , STRI NG Rt ext ) )
NO RESULT Append and entry to the drop down list, where Dtext is the text to display in the option list, and Rtext is the replacement text for the new field. If Rtext isn’t specified, it will be set to Dtext by default.
Cl ear ( )
NO RESULT Clear gadget’s contents.
Cl ear Sel ecti on( )
NO RESULT Clears selection and returns to default of first in list.
Ful l Name( )
STRING
Get the full gadget name, e.g.'!!Form.gadget'
Name( )
STRING
Get the gadget's name, e.g. 'gadget'
Owner ( )
FORM
Get owning form.
Sel ect ( STRI NG t ext , STRI NG val ue )
NO RESULT Select specified item in a list: text must be ‘Rtext’ or ‘Dtext’, and value is the item to be selected.
Sel ecti on( )
STRING
Get current RTEXT.
Sel ect i on( STRI NG t ext )
STRING
Get RTEXT or DTEXT of current selection; text must be ‘Rtext’ or ‘Dtext’.
Table 2: 69.
OPTION Gadget Members
Methods
2:114
selection’s
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Set Popup( MENU menu)
NO RESULT Links menu with the gadget as a popup.
Ref r esh( )
NOT RESULT
Set Focus( )
NO RESULT Move keyboard focus to this gadget.
RemovePopup( MENU menu)
NO RESULT Removes (popup) from the gadget.
Get Pi ckedPopup( )
MENU
Returns the last picked popup menu for the gadget.
Shown( )
BOOLEAN
Get ‘shown’ status.
STRING
Get the gadget type as a string.
STRING
Get Background Name.
Type( ) Backgr ound( )
Purpose
Refreshes the display of the gadget.
menu
Colour
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. Di spl ayText ( )
STRING
Set Popup(
NO RESULT Assigns a menu object as the gadget's current popup.
! menu )
Gets the text string currently displayed in the Option gadget's display field.
Cl ear ( ! dt ext )
NO RESULT Delete the field with the given DTEXT string.
Cl ear ( ! f i el dNumber )
NO RESULT Delete the specified field number.
Table 2: 70.
OPTION Gadget Methods
Command
The OPTION command defines an option gadget and specifies the position, tag or pixmap, and callback text of the option (or list button) gadget. Also sets the width allowed for displaying the list options when the gadget is selected. The arrays defining the display texts and replacement texts for the gadget should be set in the form's default constructor method.
2:115
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Notes:
1. Option gadget's display text field is non editable, so doesn't need scroll width (syntax is in fact in place for backwards compatibility).
PI Xmap - . - - - - - - - - - +- TOOLTI P t ext - . ' ------- ------ ---' -->
Figure 2:39. Syntax Graph -: Setting Up an OPTION Gadget
Reselection o f th e Selected Field can be Disallowed
There is a new keyword NORESELECT which disables UNSELECT and SELECT events when the currently selected field is re-clicked with the mouse, for example: option .o1 tagwid $!w |Choose| noResel width 5 tooltip 'select option' ZeroSelection Property
Option gadgets have a ZeroSelection keyword (similar to that of single choice lists), which allows it to support the notion of no current selection (previously a selection was mandatory). The syntax has been extended with the optional 'ZEROSELection' keyword, e.g. option .choose tagWid 3 |Cars| . . . zeroSel noResel width 25 length 10 Behaviour Note: It is bad practice to place one gadget on top of another. This may lead to gadgets
being obscured. Unselected Events
Option gadgets support UNSELECT events. Typically when a field in the dropdown list is selected, an UNSELECT event is raised for the previously selected field (if any) and then a SELECT event is raised for the new field. Notes:
1. UNSELECT events are not notified to PML unless an open callback has been specified (so that SELECT and UNSELECT events can be differentiated). 2. Typically the UNSELECT action allows Appware to manage consequences of deselection for any dependent gadgets or forms. 3. We recommend that you do not change the option gadget's selection programmatically in an UNSELECT event.
2:116
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.42
ORIENTATION Object Members
Name
Type
Purpose
Al pha
REAL Get/Set
The Alpha component.
Bet a
REAL Get/Set
The Beta component.
Gamma
REAL Get/Set
The Gamma component.
Or i gi n
DBREF Get/Set
The DB element which is the origin.
Table 2: 71.
ORIENTATION Object Members
Methods
None of these methods modifies the original object. Name
Result
Or i ent at i on( STRI NG)
ORIENTATION Creates an ORIENTATION from the values given.
Or i ent at i on( STRI NG, FORMAT )
ORIENTATION Creates an ORIENTATION from the values given, in the specified FORMAT.
EQ( ORI ENTATI ON)
BOOLEAN
TRUE if ORIENTATIONS are equal.
LT( ORI ENTATI ON)
BOOLEAN
TRUE if ORIENTATION is less than argument.
St r i ng( FORMAT)
STRING
Convert ORIENTATION to a STRING.
WRT( DBREF)
ORIENTATION Convert to a new ORIENTATION with respect to given DB element.
XDi r ( )
DIRECTION
Return X component as a DIRECTION.
YDi r ( )
DIRECTION
Return Y component as a DIRECTION.
ZDi r ( )
DIRECTION
Return Z component as a DIRECTION
Table 2: 72.
Purpose
ORIENTATION Object Methods
2:117
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.43
PARAGRAPH Gadget Members
Name
Type
Purpose
Val
STRING Get/Set
The paragraph's content as a string.
textual
If it has a pixmap then the value will be the pathname of the pixmap file as a string. Backgr ound
NO RESULT Adds pixmaps to be used for the unselected, selected and inactive states.
Ful l Name( )
STRING
Get the full gadget name, e.g.'!!Form.gadget'.
Name( )
STRING
Get the gadget's name, e.g. 'gadget'.
Owner ( )
FORM
Get owning form.
Set Popup ( MENU)
NO RESULT Links the given menu with the gadget as a popup.
RemovePopup( MENU)
NO RESULT Removes the given popup menu from the gadget.
Get Pi ckedPopup( )
MENU
Returns the last picked popup menu for the gadget.
Shown( )
BOOLEAN
Get ‘shown’ status.
Table 2: 73.
Colour
PARAGPRAPH Object Members
Methods
2:118
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Type( ) Backgr ound( )
Result
Purpose
STRING
Get the GADGET type as a string.
STRING
Get Background Name.
Colour
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. Table 2: 74.
PARAGPRAPH Object Methods
Command
The PARAGRAPH command defines a paragraph and specifies its position, dimensions (in units of character widths and line heights), and, optionally tag text or a pixmap. Note that a paragraph gadget is passive so it ’s callback is never used. A paragraph gadget can have a tag, but it is not displayed. You can define the PARAGRAPH to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values ‘PML” or “CORE”. . - - - - - - - - - - - - - - - - - - - - <- - - - - - - - - - - - . / | >- - PARAgr aph gname - +- - - - - - - - - - - - - - - - - - - - - - - - - - | +- - BACKGr ound
If a paragraph is to contain text, then its shape will be specified in grid units. The height is the number of lines of text and the width is typically thought of as the number characters required. This may be less that the actual string length, because the grid width is the size of the font notional character width, which is typically smaller than the largest characters in the font. You may need to specify a few extra grid units to guarantee to fit variable strings. If a paragraph contains text, and no dimensions are specified, the result is a single line of width (in grid units) equal to the number of text characters. This may not be long enough to guarantee to fit the specific string, so you may nee to pad out with extra spaces to avoid truncation.
2:119
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
•
•
•
2.5.44
If your paragraph is to contain more than one line of text, you must specify a suitable shape. The text, which can contain newline characters, will be justified in the area given. If a pixmap is specified, the shape of the gadget must be defined and will be in pixels. Remember to define the pixmap using the paragraph's AddPi xmap( ) method or its .Val member. If the paragraph is to have its contents modified then the text or pixmap file would normally be specified in the form's default constructor method, rather than in the gadget definition. It is bad practice to place one gadget on top of another. This may lead to gadgets being obscured.
PL ANE Ob jec t Members
Name
Type
Purpose
Or i ent at i on
ORIENTATI ON Get/Set
Orientation of plane.
Pos i t i on
POSITION Get/Set
Origin of plane.
Table 2: 75.
PLANE Object Members
Definition Methods
None of these methods modifies the original object. Name
Result
Purpose
Pl ane( POSI TI ON, ORI ENTATI ON)
PLANE
Creates a PLANE with the given POSITION and ORIENTATION.
St r i ng( )
STRING
Returns the plane as a string.
Di r ect i on( DI RECTI ON)
DIRECTION Z component of the orientation uses standard PDMS method of maintaining X and Y components of the orientation. NO RESULT Modifies the direction (Z component of the orientation) member of the plane so it is directed to the position.
Towar ds( POSI TI ON)
Table 2: 76.
PLANE Object Definition Methods
2:120
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Towards(POSITION)
Orientation Direction(DIRECTION)
Z Y
Position
X
Figure 2:41. PLANE Object Definition
PLANE Object: Methods that Return POSITIONs
Name
Result
Purpose
I nt er secti on( LI NE)
POSITION
Returns the intersection point of the passed infinite line on the plane definition.
I nt er sect i on( POI NT VECTOR)
POSITION
Returns the intersection point of the passed point vector on the plane definition.
I nt er sect i ons( ARC)
ARRAY OF Returns the intersection point POSITIONS of the passed arc on the plane definition.
I nt ers ect i on( PLANE, PLANE)
POSITION
Returns intersection position of the three planes.
Poi nt Vect or ( )
POINTVECTOR
Returns a point vector at the origin of the plane with a direction equal to the normal of the plane.
POSITION
Returns 3D position of the XYPOSITION offset from the plane origin.
POSITION
Returns the nearest position on the plane definition of the passed position.
Thr eeDPosi t i on( XYPOSI TI ON)
Near ( POSI TI ON)
Table 2: 77.
PLANE Object Methods that Return POSITIONs
2:121
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Intersection(PLANE, PLANE)
Intersection(LINE)
Near(POSITION)
ThreeDPosition(XYPOSITION) Figure 2:42.
POSITIONs returned by PLANE Object Methods
PLANE Object: Methods that Return LINEs
Name
Result
Purpose
Li ne( REAL)
LINE
Returns a line of the given length in the direction of the plane normal.
I nt er sect i on( PLANE)
LINE
Returns the intersection line of the passed plane on the plane definition. The start position of the line is the origin of the plane definition projected onto the passed plane. The direction of the line is from the start to the position of the passed plane projected onto the reference plane. If the start and end points are coincident, a line of length 1000mm is returned with the start position being defined as described above.
Table 2: 78.
PLANE Object Methods that Return LINEs
2:122
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Intersection(PLANE)
Figure 2:43.
LINEs Returned from PLANE Object Methods
PLANE Object: Methods t hat Return XYOffsets
Name
Result
Purpose
XYOf f set ( Posi t i on)
XYPOSITIO N
Returns the position, mapped onto the plane, in term of an XY offset from the plane origin.
Figure 2:44. PLANE Object Methods that Return XYOffsets
XYOffset(POSITION) Figure 2:45. XYPositions Returned from PLANE Object Methods
2:123
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.45
PLANTGRID Object Members
Name
Type
Purpose
Pos i t i on
POSITION Get/Set
Origin of the grid.
Or i ent at i on
ORIENTATION Orientation of the grid. Get/Set
XSpaci ngs
REAL ARRAY Get/Set
Array of spaces in the X direction, each space is relative to the previous.
YSpaci ngs
REAL ARRAY Get/Set
Array of spaces in the Y direction, each space is relative to the previous.
Table 2: 79.
PLANTGRID Object Members
Methods
None of these methods modifies the original object. Name
Result
Purpose
Pl ant gr i d( POSI TI ON, ORI ENTATI ON, ARRAY, ARRAY )
PLANTGRID
Creates a grid with the given POSITION and ORIENTATION, and the X and Y spacings specified in the arrays.
Xsi ze( )
REAL
Maximum size in the X direction.
Ysi ze( )
REAL
Maximum size in the Y direction.
BOOLEAN
Returns whether point lies within the grid boundaries.
Out of Bounds( POSI TI ON)
Table 2: 80.
PLANTGRID Object Methods
2:124
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Y
Orientation Position
Ysize()
Z
YSpacing
XSpacing
Xsize() X
Figure 2:46. Return Values from PLANTGRID Object Methods
2.5.46
PLATFORMGRID PLATFORMGRID object is used for filling PLTFRM element with certain grid pattern.
Name
Result
Purpose
ASSI GN( PLATFORMGRI D)
NO RESULT
Copies content of a PLATFORMGRID object into current instance
GRI DANGLE( )
REAL
Returns the angle value
GRI DANGLE( REAL)
NO RESULT
Sets grid angle value
GRI DPOI NT( REAL1, REAL2)
NO RESULT
Returns position of the intersection of gridlines: X (identified by given index REAL1) and Y (identified by given index -REAL2)
GRI DPOSI TI ON( )
POSITION
Returns the grid's origin
GRI DXSPACI NGS( )
ARRAY
Returns the grid's spacing pattern along X axe
GRI DXSPACI NGS( ARRAY)
NO RESULT
Sets the grid's spacing pattern along X axe
GRI DXYPOSI TI ON( )
XYPOSITION
Returns position of grid's origin
GRI DXYPOSI TI ON( XYPOSI TI ON)
NO RESULT
Sets the position of grid
GRI DXYSI ZE( )
REAL ARRAY
Returns the size of rectangle which contains the grid
GRI DYSPACI NGS( )
REAL ARRAY
Returns the grid's spacing pattern along Y axe
2:125
used
grid
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
GRI DYSPACI NGS( ARRAY)
NO RESULT
Sets the grid's spacing pattern along Y axe
GROSSAREA( )
REAL
Returns the gross area of the grid
NETAREA( )
REAL
Returns the net area of the grid
ORI ENTATI ON( )
ORIENTATION
Returns the orientation
ORI ENTATI ON( ORI ENTATI ON)
NO RESULT
Sets the platform's orientation for given value
PLANE( )
PLANE
Return the plane definition of platform grid. This is equivalent of PLANE method on PROFILE object
PLATFORMGRI D( )
PLATFORMGRID Create object.
PLATFORMGRI D( DBREF)
PLATFORMGRID Creates a platformgrid from DBREF. DBREF must be PLTGRD or INTFRM element. The outer boundary is created from owning PLTFRM routing path (RPATH). Inner boundaries are created from PLOPEN elements
POSI TI ON( )
POSITION
Returns position of the platform
POSI TI ON( POSI TI ON)
NO RESULT
Sets the grid's position
XYSI ZE( )
ARRAY
Returns the size of rectangle (limits) which contains the grid in platform coordinate system
a
platform's
platformgrid
Methods that are performing operations on grid boundaries
Name
Result
Purpose
ADDI NNERBOUNDARY( PROFI LE)
NO RESULT
Adds new inner boundary to the grid
CLEARI NNERBOUNDARY( )
NO RESULT
Deletes all inner boundaries
I NNERBOUNDARI ES( )
PROFILE ARRAY
Returns array of boundaries profiles
2:126
inner
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
I NNERBOUNDARI ES( ARRAY)
NO RESULT
Replaces boundaries
the
inner
I NNERBOUNDARY( REAL)
PROFILE
Returns the profile of the inner boundary
NUMBEROFI NNERBOUNDARI ES( )
REAL
Returns the number grid's inner boundaries
OUTERBOUNDARY( )
PROFILE
Returns the outer boundary profile
of
Methods that return in formation about grids cells
Each cell is identified by index of two REAL. Name
Result
Purpose
CELLORI ENTATI ON( REAL1, REAL2)
ORIENTATION
Returns an orientation of cell identified by given index.
CELLPOSI TI ON( REAL1, REAL2)
POSITION
Returns a position of cell identified by given index
CELLPROFI LE( REAL1, REAL2)
PROFILE
Returns a profile of cell identified by given index
CELLSI ZE( REAL1, REAL2)
REAL ARRAY
Returns the size of cell identified by given index (before trimming)
CELLXYPOSI TI ON( REAL1, REAL2)
POSITION
Returns position of the cell identified by given index
I SCELLTRI MMED( REAL1, REAL2)
BOOL
Returns true trimmed
if
cell
is
I SCELLUNTRI MMED( REAL1, REAL2)
BOOL
Returns true untrimmed
if
cell
is
I SCELLWI THI N( REAL1, REAL2)
BOOL
Returns true if cell is within grid
LI STOFTRI MMEDCELLS( )
ARRAY
Returns indices trimmed cells
LI STOFTRI MMEDCELLS( REAL)
ARRAY
Returns indices of all trimmed cells which area is greater than given REAL value
LI STOFUNTRI MMEDCELLS( )
ARRAY
Returns indices untrimmed cells
2:127
of
of
all
all
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
TOTALNUMBEROFCELLS( )
REAL
Returns a number of cells inside grid
TRI MMEDCELLSI ZE( REAL1, REAL2)
ARRAY
Returns the size of rectangle which contains the cell identified by given index
Methods that return in formation of gr idlines
Lines are returned as ARRAY which first element is REAL representing line number and the second is array of LINE objects.
2.5.47
Name
Result
Purpose
XGRI DLI NES( )
ARRAY
Returns array of grid's x-lines
XGRI DLI NES( REAL)
ARRAY
Returns array of grid's x-lines of given index
YGRI DLI NES( )
ARRAY
Returns array of grid's y-lines
YGRI DLI NES( REAL)
ARRAY
Returns array of grid's y-lines of given index
PMLReport Object This object is used to run new reports created by the designer in batch. The interface is available on the .NET ReportingAddin assembly which may be imported and used as follows:
i mpor t ' Repor t i ngAddi n' handl e ( 1000, 0) endhandl e using namespace 'Aveva.Pdms.Reporting'
! ! r epor t = obj ect PMLReport ( ) For example, to add parameters to a parameterised report
! ar gNames = obj ect ar r ay( ) ! ar gNames[ 1] = ' par am1' ! ar gVal ues = obj ect ar r ay( ) ! ar gVal ues[ 1] = ' val ue1' ! ! r epor t . addPar amet er s( ! argNames, ! ar gVal ues) To add scope to a report for limiting the data to be displayed, overriding existing scope defined in the report
! ancest or El ement s = ' / ATEST, / BTEST' ! el ement s = ' ' ! ! r epor t . AddScope( ! ancest or El ement s, ! el ement s)
2:128
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
And to export report as csv file
! r ep1 = obj ect f i l e( ' C: \ r ep1. r epv' ) ! c sv1 = obj ec t f i l e( ' C: \ r ep1. c sv' ) ! ! r epor t . expor t AsCsv( ! r ep1. f ul l name( ) , ! csv1. f ul l name( ) ) Errors loading the report data may be logged by adding a handler to the response event. The interface has the following methods: Methods Name
Result
Purpose
AddPar amet er s( ARRAY ar gNames, ARRAY ar gVal ues)
No Result
Adds parameters to report as 2 arrays of argument names and values, which will be used to generate a parameterised report.
No Result AddScope( STRI NG ancest or El ement s, STRI NG el ement s)
Specify scope value to filter the data given by comma separated list of ancestor elements and comma separated list of elements.
No result AddScope( STRI NG ancest or El ement s, STRI NG el ement s, BOOLEAN f ul l y, REAL mi nX, REAL mi nY, REAL mi nZ, REAL maxX, REAL maxY, REAL maxZ)
Specify scope value to filter the data given by comma separated list of ancestor elements, comma separated list of elements, if limit box is specified then whether it should be considered fully or partially, to construct limit box minX, minY, minZ, maxX, maxY, maxZ.
Expor t AsCsv( STRI NG r epor t Fi l eName, STRI NG dest i nat i onFi l ename)
No Result
Export report to csv file
Expor t AsPdf ( STRI NG r epor t Fi l eName, STRI NG dest i nat i onFi l ename)
No Result
Export report to pdf file
Expor t AsXl sx( STRI NG r epor t Fi l eName, STRI NG dest i nat i onFi l ename)
No Result
Export report to Xlsx file
Expor t AsXl s( STRI NG r epor t Fi l eName, STRI NG dest i nat i onFi l ename)
No Result
Export report to Xls file
I ni t i al i zePr i nt er Set t i ng No Result ()
Initialise the printer settings
OpenRepor t Manager
No result
Opens report manager
Pr i nt ( STRI NG r epor t Fi l eName)
No result
Print report with system defined printer settings passing name of report definition file
2:129
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
No Result
Print report with user defined printer settings
Publ i shToAVEVANET( STRI NG No Result r epor t Fi l eName, STRI NG pdf Fi l ename)
Publishes report to AVEVA NET in form of pdf file
RemovePar amet er s( )
No Result
Removes the parameters applied to report
RemoveScope( )
No Result
Removes the scope applied to report
Pr i nt Di r ect ( STRI NG r epor t Fi l eName)
2.5.48
PMLSECURELOGIN PMLSECURELOGIN object is used to control the encrypted command script generation functionality. Methods Name
Result
Purpose
PMLSecur eLogi n( )
PMLSECUR ELOGIN
Construct an instance of this object
EmbedMacr o( BOOLEAN)
NO RESULT
Embed the specified macro
HasLi cenceToEmbedMacr o( )
BOOLEAN
Returns TRUE if EmbedMacro functionality is available.
Macr o( STRI NG)
NO RESULT
Set the macro to run where STRING specifies the full path of the macro
MDB( STRI NG)
NO RESULT
Sets the login MDB
Pass wor d( STRI NG)
NO RESULT
Sets the login password
Pr oj ect ( STRI NG)
NO RESULT
Sets the login project
SaveToFi l e( STRI NG)
NO RESULT
Encrypt and save to specified path
User ( STRI NG)
NO RESULT
Sets the login user
Ver i f yAf t er ( DATETI ME)
NO RESULT
Verify after specified date
Ver i f yBef or e( DATETI ME)
NO RESULT
Verify before specified date
Ver i f yHost names( ARRAY)
NO RESULT
Verify a number of host names specified as an array of strings
Ver i f yWi nuser s( ARRAY)
NO RESULT
Verify a number of windows users specified as an array of strings
Table 2: 81.
PMLSECURELOGIN Object Method
2:130
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.49
PMLUSERLOGIN PMLUSERLOGIN object allows generation of a project entry script only for the currently logged-in user which means that it does not require entry of username and password. Methods Name
Result
Purpose
PMLUser Logi n( )
PMLUSERLO GIN
Construct an instance of this object
Macr o( STRI NG)
NO RESULT
Set the macro to run where STRING specifies the full path of the macro
MDB( STRI NG)
NO RESULT
Sets the login MDB
Pr oj ect ( STRI NG)
NO RESULT
Sets the login project
SaveToFi l e( STRI NG)
NO RESULT
Encrypt and save to specified path
Ver i f yNonI nt er act i ve( BOO NO RESULT LEAN)
If TRUE is passed, verify that no user interaction occurs after execution of the generated macro
Table 2: 82.
2.5.50
PMLUSERLOGIN Object Methods
POINTVECTOR Object Members
Name
Type
Di r e ct i on
DIRECTION Direction of point Get/Set
Pos i t i on
POSITION Get/Set
Table 2: 83.
Purpose
Origin of point
POINTVECTOR Object Members
Definition Methods
Name
Result
Purpose
Poi nt vect or ( POSI TI ON, DI RECTI ON)
POINTVECTOR Creates a POINTVECTOR with the given POSITION and DIRECTION
St r i ng( )
STRING
Returns a POINTVECTOR as a string.
Figure 2:47. POINTVECTOR Object Methods
2:131
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Direction
Position Figure 2:48. POINTVECTOR Object Definition
Method s t hat Retur n POINTVECTORs
Name
Result
Purpose
Of f set ( REAL)
POINTVECTOR
Returns the point vector offset in its direction by the passed distance
Towar ds( POSI TI ON)
POINTVECTOR
Returns the point vector with the original position and the direction constructed from the position directed to the passed position
Thr ough( POSI TI ON)
POINTVECTOR
Returns the point vector at the intersection of the point line with a plane normal to the point line through the passed position
Table 2: 84.
POINTVECTOR Object Methods that Return POINTVECTORs
Offset(REAL)
Through(POSITION)
Towards(POSITION)
Figure 2:49.
POINTVECTORs Returned from POINTVECTOR Object Methods
2:132
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Methods that Return POSITIONs
Name
Result
Purpose
I nt er sect i on( POI NTVECTOR)
POSITION
Returns the intersection position of the point vectors.
I nt er secti on( LI NE)
POSITION
Returns the intersection position of the point vector with the supplied line.
I nt er sect i on( PLANE)
POSITION
Returns the position at the intersection of the point vector with the supplied plane
Table 2: 85.
POINTVECTOR Object Methods that Return POSITIONs
Intersection(PLANE)
Figure 2:50.
POINTVECTOR Intersection with a PLANE
Miscellaneous Methods
Name
Result
I nt er sect i ons( ARC)
ARRAY OF Returns the positions at the POSITIONS intersection of the point vector with the supplied arc.
Pl ane( )
PLANE
Returns a plane with an origin equal to the position of the point vector and a normal direction equal to the point vector direction.
Li ne( REAL)
LINE
Returns a line with a start position equal to the position of the point vector, a direction equal to the direction of the point vector and a length equal to the supplied length.
Table 2: 86.
Purpose
POINTVECTOR Object Miscellaneous Methods
2:133
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.51
POSITION Object Members
Name
Type
Purpose
East
REAL Get/Set
The East component
Nor t h
REAL Get/Set
The North component
Up
REAL Get/Set
The Up component
Or i gi n
DBREF Get/Set
The DB element that is the origin
Table 2: 87.
POSITION Object Members
Methods
Name
Result
Purpose
Posi t i on( STRI NG )
POSITION
Creates a POSITION at the coordinates given in STRING.
Posi t i on( STRI NG, FORMAT)
POSITION
Creates a POSITION at the coordinates given in STRING, with the specified FORMAT.
Component ( DI RECTI ON)
REAL
Magnitude of component in specified DIRECTION.
EQ( POSI TI ON)
BOOLEAN
TRUE if POSITIONS are the same.
LT( POSI TI ON)
BOOLEAN
TRUE if POSITION is less than argument.
St r i ng( FORMAT)
STRING
Convert POSITION STRING.
WRT( DBREF)
POSITION
Convert to a new POSITION with respect to given DB element.
Angl e ( POSI TI ON, POSI TI ON)
REAL
Returns the angle between the passed two points about the position object.
2:134
to
a
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Ar cCent r e( POSI TI ON, POSI TI ON, POSI TI ON, DI RECTI ON, REAL )
ARC
Returns an arc using arc centre technique. The direction is the ‘normal viewing’ direction.
Ar cCent r e( POSI TI ON, POSI TI ON, POSI TI ON, DI RECTI ON, REAL)
ARC
Returns an arc using arc centre technique. The direction is the ‘normal viewing’ direction. Please see diagram for full explanation.
Table 2: 88.
POSITION Object Methods (a)
POSITION A POSITION X
RADIUS
POSITION B Figure 2:51. !Arc = !posX.ArcFillet(!posA,!posB,!dir,!radius)
2:135
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Ar cFi l l et ( POSI TI ON, POSI TI ON, DI RECTI ON, REAL )
ARC
Returns an arc using arc centre technique. The direction is the ‘normal viewing’ direction. Please see diagram for full explanation.
Ar cRadi us( POSI TI ON, POSI TI ON, DI RECTI ON, REAL, BOOLEAN )
ARC
Returns an arc using arc radius technique. The direction is the ‘normal viewing’ direction. The boolean selects the minor (FALSE) or major(TRUE) arc. Please see diagram for full explanation.
Returns an arc using arc through 3 points technique. The direction is the ‘normal viewing’ direction. Please see diagram for full explanation.
Table 2: 90.
POSITION Object Methods (c)
2:136
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
POSITION X
POSITION A
POSITION B Figure 2:53.
!Arc = !posX.ArcThru(!posA,!posB,!dir)
Name
Result
Purpose
Ar cThr u( POSI TI ON, POSI TI ON, DI RECTI ON, REAL )
ARC
Returns an arc using arc through 3 points and radius technique. The direction is the ‘normal viewing’ direction. Please see diagram for full explanation.
Table 2: 91.
POSITION Object Methods (d)
POSITION A
POSITION X RADIUS
POSITION B Figure 2:54. !Arc = !posX.ArcThru(!posA,!posB,!dir,!radius)
2:137
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Ar c3Li nes( LI NE, LI NE, LI NE, DI RECTI ON )
ARC
Returns a circle through the 3 line tangent points. The 'this' position refers to the zone in which the circle lies.
Di r ect i on( POSI TI ON)
BOOLEAN
Returns the direction between the position and the supplied position
Di st ance( ARC)
REAL
Returns the distance between the position and the nearest point on the arc line of the passed arc definition
Mi dPoi nt ( POSI TI ON)
POSITION
Returns the mid point between the two positions
Near ( POSI TI ON, REAL)
BOOLEAN
Returns true if the passed position is within the passed distance from the position object
Of f set ( DI RECTI ON, REAL)
POSITION
Returns a position offset by the supplied length in the supplied direction
Pl ane( POSI TI ON, POSI TI ON)
PLANE
Returns a plane in which each of the supplied points lie.
Di st ance( LI NE)
REAL
Returns the distance between the position and the nearest point on the passed infinite line definition
Di st ance( PLANE)
REAL
Returns the distance between the position and the nearest point on the passed plane definition
Di st ance( POSI TI ON)
REAL
Returns the distance between the two positions
Li ne( POSI TI ON)
LINE
Returns a line between the two positions, starting at the position object
Mi dPoi nt ( POSI TI ON)
POSITION
Returns the mid point between the two positions
Near ( POSI TI ON, REAL)
BOOLEAN
Returns true if the passed position is within the passed distance from the position object
2:138
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Of f set ( DI RECTI ON, REAL)
POSITION
Returns a position offset by the supplied length in the supplied direction
Pl ane( POSI TI ON, POSI TI ON)
PLANE
Returns a plane in which each of the supplied points lie.
Table 2: 92.
2.5.52
POSITION Object Methods (e)
POSTEVENTS Object The user may provide a PostEvents object, which should provide the methods described below. To use this feature, you must create a global object of this type and call it !!postEvents . The method ! ! post Event s. post Mar k will be called every time an undoable is created, after the undoable has been added to the undo stack. This refers to all undoables, whether created by a MARKDB command, an undoable object or within core functionality. Similarly, the method post Undo will be called after an UNDO has occurred, and so on. Each method will be passed a STRING object containing the name of the mark with which the mark, undo, or redo is associated. Methods
Name
Result
post Mar k( STRI NG)
NO RESULT Called after an undoable has been added to the undo stack. STRING is the description text associated with the undoable object.
post Undo ( STRI NG)
NO RESULT Called after an undo has occurred. STRING is the description text associated with the undoable object.
post Redo( STRI NG)
NO RESULT Called after a redo has occurred. STRING is the description text associated with the undoable object.
post Cl earMark( )
NO RESULT Called after a cl ear Mar k has occurred
pos t Cl ear Al l ( )
NO RESULT Called after a c l ear Al l has occurred.
Table 2: 93.
Purpose
PML PostEvents Object Methods
2:139
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.53
PROJECT Object Members
Name
Type
Purpose
Name
STRING
The name of the Project, up to 120 characters.
Evar
STRING
Project environment variable, e.g. SAM000
Name
Result
Purpose
Acti ve( )
REAL
Number of active users of the project
Code( )
STRING
Project code, characters, e.g. SAM
Descri pt i on( )
STRING
Project description, up to 120 characters.
Mbchar set ( )
STRING
Multibyte number
Mess age( )
STRING
Project message (information about the project), up to 120 characters.
Name( )
STRING
Project name
Number ( )
STRING
Project number, up to 17 characters.
I s gl obal ( )
BOOLEAN
Whether project is a global project.
Locat i ons( )
ARRAY OF Return array of all Locations LOCATION in Project
Cur r ent Locat i on( )
LOCATION
Sessi ons( )
ARRAY OF Return array of all Sessions SESSIONS (at the current location)
Cur r ent Sessi on( )
SESSION
Dbl i s t ( )
ARRAY OF List of databases in the DB project. OBJECTS
Table 2: 94.
PROJECT Object Members
Methods
2:140
three
character
set
Return true current location
Return current Session (at the current location)
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
MDBLi st ( )
ARRAY MDBS
OF Return array of all MDBs in Project at current location.
Us er L i s t ( )
ARRAY USERS
OF Return array of all USERs in Project at current location.
Macr os( )
ARRAY OF Return array of all Inter-db MACROS macros in MISC db in Project at current location.
Mess ages( )
ARRAY OF Return array of all messages STRINGS in MISC db at current location.
Table 2: 95.
Purpose
PROJECT Object Methods
Commands
$ Returns an array of all PROJECT objects
!ARRAY = PROJECTS
$ which have project environment variables set. !PROJECTVAR = CURRENT PROJECT
2.5.54
$ Returns the current project object.
PROFILE Object Members
Name
Type
Purpose
Pos i t i on
POSITION Get/Set
Origin of profile
Or i ent at i on
ORIENTATION Orientation of profile plane Get/Set
Poi nt er
POINTER Get Only
Table 2: 96.
Definition of profile
PROFILE Object Members
2:141
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Methods
Name
Result
Purpose
Pr of i l e( POSI TI ON, ORI ENTATI ON, ARRAY)
PROFILE
Creates a profile object. The input ARRAY is an array of LINEs, ARCs and POSITIONs. Other array member types will be ignored. Array member must be initialised correctly, otherwise it will be ignored.
Pr of i l e( DBREF)
PROFILE
Creates a profile object from a LOOP, PLOO, PALJ or SPINE. Approximately from a POGO, BOUN, DRAW. 3D linear geometry (SPINE,BOUN, DRAW,PALJ) should be in a single plane. If not it is projected onto a plane defined by the first few points of the element.
Pr of i l e( DBREF1, DBREF2)
PROFILE
Creates a profile object from SPRO or SLOO at DBREF1. DBREF2 is the design element referencing the catalogue element containing the catalogue primitive thus providing its parameters.
Pr of i l e( PROFI LE)
PROFILE
Creates a profile object which is a copy of the given profile
Pl ane( )
PLANE
Returns the PLANE definition of the profile. This is equivalent to the PLANE method on LINEARGRID object
I sCl osed( )
BOOLEAN
Return true if closed
I sVal i dCl osed ( )
BOOLEAN
Returns true if the profile is valid and could be drawn correctly using GML, e.g. there are no self-intersecting edges
Sense( )
BOOLEAN
True if anti-clockwise (on its plane). Returns error if profile is not closed
2:142
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Ar ea( )
REAL
Internal area of profile. Returns error if profile is not closed
Lengt h( )
REAL
Returns the complete length of the profile.
I s Ci r c l e( )
BOOLEAN
Returns true if profile is a full circle.
I s Fi l l et ( REAL )
BOOLEAN
Returns true if edge specified by REAL argument is a fillet. A fillet must be an arc with a significant angle that is tangentially continuous with its adjacent edges that are lines, or arcs of larger radius.
Table 2: 97.
PROFILE Object Methods
Figure 2:55.
Finding the Length of the PROFILE Object
PROFILE Object Decompositi on and Display Methods
Name
Result
Purpose
edges( )
ARRAY
Returns array of lines and arcs that define the profile. The direction and sense of the lines and arcs are important. If the profile is a full circle only a single full circle arc is returned regardless of the composition of the profile.
REAL
number Edges( )
2:143
Returns the number of edges within the profile (= vertices-1)
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
edge( REAL)
LINE/ARC
Returns the profile element at the passed index of the edges array
dbWr i t e( DBREF)
PROFILE
Populates DBREF with contents of the profile. If any geometry already exists it is replaced with the profile geometry. The geometry stored is that which is appropriate to the database element. The DBREF must be one of LOOP, PLOO, PALJ, SPINE, BOUN, DRAW, POGO. Returns itself unmodified. The owner of a LOOP or PLOOP is repositioned to fit with the profile. Other geometry is positioned correctly in the frame of reference of its owner or positioned ancestor. Population of catalogue geometry is not supported
PROFILE
dr aw( REAL1, REAL2, REAL3)
Draws the profile as a set of aid lines and arcs. REAL1 is the Segment number to draw to. REAL2 sets the style of the segment. REAL3 sets the colour of the segment.. The drawn graphics can be queried and manipulated using AID geometry functions. LINE and ARC objects also have the .draw method implemented
Table 2: 98.
PROFILE Object Decomposition and Display Methods
2:144
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
PROFILE Object Transform ations and Modification Methods
These methods return a modified version of the profile definition: Name
Result
Purpose
mi r r or ( LI NE)
PROFILE
Mirrors the boundary definition about the passed line, when mapped onto the boundary plane
t r ansl at e( REAL1, REAL2)
PROFILE
Offsets the boundary definition in the XY of the boundary plane with a shift of x of REAL1 and y of REAL2
r ot at e( REAL, POSI TI ON)
PROFILE
Rotates the boundary definition about the POSITION by the given angle. Angle are anticlock-wise about the Z axes of the boundary plane
c l os e( )
PROFILE
Closes the profile with an additional edge (if necessary). If ends are within a tolerance the end point is adjusted
r ever se( )
PROFILE
Reverses the sense of the profile and the order of the edges
mer gear cs ( REAL1, REAL2)
PROFILE
Merge concentric contiguous arcs into one up to a maximum arc angle of REAL1 degrees according to tolerance REAL2 Mer gear cs( ) will remove concentric back tracks in the profile as well.
mer gear cs( )
PROFILE
Merge concentric contiguous arcs into one.
mer gel i nes( REAL)
PROFILE
Merge colinear contiguous lines into one according to tolerance supplied. Mer gel i nes( ) will remove colinear backtracks in the profile as well.
mer gel i nes( )
PROFILE
Merge colinear lines into one.
mer gepoi nt s( REAL)
PROFILE
Remove coincident consecutive points according to tolerance supplied
mer gepoi nt s( )
PROFILE
Remove consecutive points
2:145
contiguous
coincident
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
pol yl i ne( REAL)
PROFILE
Replace arcs with a chordal approximation to the tolerance supplied
pol yl i ne( )
PROFILE
Replace arcs with a chordal approximation
pr oj ect Ar cs( REAL)
PROFILE
Removes all the arcs from the definition, only leaving the straight-line edges. Arcs with angle less than the supplied argument are ignored. Arcs that are removed are replaced by projected tangents meeting at the polar position of the arc. Arcs with angles approaching 180 degrees are split in half
Table 2: 99.
PROFILE Object Transformations and Modification Methods
Figure 2:56. Transformations and Modifications by PROFILE Object Methods
PROFILE Object Methods th at Query Position Relationsh ips
These methods map the passed positions onto the profile plane, then use the resulting position to determine the result returned:
2:146
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Near ( POSI TI ON)
POSITION
Returns the nearest position on the profile, to the given position projected onto the profile plane.
Near ( REAL, POSI TI ON)
POSITION
The REAL argument is an index to an edge in the Profile. Returns the nearest point on this edge to the POSITION supplied. This is the same as . near ( POSI TI ON) but restricted to a single edge.
Near Edges( POSI TI ON)
ARRAY
Returns array of edge indices of the nearest edges to the given POSITION. The returned edges may be any in the profile. Edges will be consecutive if nearest point is a vertex.
I sWi t hi n( POSI TI ON)
BOOLEAN
Returns TRUE if the position when mapped on to the profile plane lies inside the profile. The profile must be closed.
I sWi t hout ( POSI TI ON)
BOOLEAN
Returns TRUE if the position when mapped on to the profile plane lies outside the profile. The profile must be closed.
OnPr of i l e( POSI TI ON)
BOOLEAN
Returns TRUE if the position (mapped onto the profile plane) lies on the profile geometry.
Table 2: 100. Profile Object Methods that Query Position Relationships
2:147
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Figure 2:57. POSITION Relationships for PROFILE Objects
PROFILE Object Methods th at Query Profile to Profile Relationships
These methods are used to check the relationship between PROFILEs. Name
Result
Purpose
I sWi t hi n( PROFI LE)
BOOLEAN
True if the supplied profile lies wholly within the profile the object. Both profiles must be closed.
I sWi t hout ( PROFI LE)
BOOLEAN
True if the supplied profile lies completely outside the profile object. Both profiles must be closed.
I sI nt er sect i ng( PROFI LE)
BOOLEAN
True if the supplied profile intersects the profile object. Both profiles must be closed
Table 2: 101. PROFILE Object Methods that Query Profile to Profile Relationships
2:148
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
PROFILE Object Intersection Methods
These methods return an array of results that define the intersection between an object and the profile. Note that if an intersection point occurs exactly at the junction of two spans of the profile, then two identical intersection points will occur in the array. Name
Result
Purpose
i nt er secti ons( LI NE)
ARRAY OF Returns an array of points POINTS that are positions where the line (or the projection of the line into the plane of the profile) intersects the profile. All points on the extended infinite line are returned.
i nt er sect i ons( ARC)
ARRAY OF Returns an array of points POINTS that are positions where the arc (or the projection of the arc into the plane of the profile) intersects the profile. The plane of the arc must be parallel with the plane of the profile otherwise an error will occur. The points are anywhere on the circle of the arc (and not limited to be between start and end)
i nt er sect i ons( PROFI LE)
ARRAY OF Returns an array of points POINTS which are positions where the two profiles intersect.. The two profiles must be parallel (or anti-parallel) to each other
Table 2: 102. PROFILE Intersection Methods
Figure 2:58. Intersections of PROFILE Objects
2:149
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
PROFILE Object Metho ds t hat Retur n New PROFILEs
These methods each return an array of new profiles. The new profiles are all created in he same sense as the profile object, except that ‘holes’ are in the opposite sense. The profiles must lie on the same plane in space, but not necessarily having identical positions and orientations. Name
Result
Purpose
i nt er sect ( PROFI LE)
ARRAY OF Returns array of the resultant PROFILES intersection profiles
uni on( PROFI LE)
ARRAY OF Returns the union of the two PROFILES profiles. Holes are returned as separate profiles (in reverse direction)
di f f er ence( PROFI LE)
ARRAY OF Returns the difference of the PROFILES passed profile against the profile definition
s pl i t ( LI NE)
ARRAY OF Returns the resultant profiles PROFILES from projecting the passed line onto the profile and splitting about that line
spl i t ( PLANE, BOOLEAN)
ARRAY OF Returns the resultant PROFILES boundaries from splitting the profile on the line at the intersection of the passed plane and the profile plane. The side is specified by the supplied BOOLEAN. If it is TRUE then only profiles in the direction of the normal to the passed plane are created; if side is FALSE, only those in the direction of the anti-normal.
Table 2: 103. PROFILE Object Methods that Return New PROFILEs
2:150
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Figure 2:59. PROFILEs Returned from PROFILE Object Methods
2.5.55
RADIALGRID Object RADIAL GRID Object Members
Name
Type
Purpose
Pos i t i on
POSITION Get/Set
Origin of the grid.
Or i ent at i on
ORIENTATION Orientation of the grid. Get/Set
Radi i
REAL ARRAY Get/Set
Radii of the grid.
Angl es
REAL ARRAY Get/Set
Angular spacing, from X axes (zero).
Figure 2:60. RADIALGRID Object Members
2:151
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
RADIALGRID Object Definit ion Methods
Name
Result
Purpose
Radi al gr i d( POSI TI ON, ORI ENTATI ON, ARRAY, ARRAY)
RADIALGRID Creates a grid with the given position and orientation, and the angles and radii specified in the arrays.
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.56
REAL Ob ject The Real Object is a number with integer and decimal (fractional) parts. It also can represent a physical quantity so in addition to a value it can also have units, and the units will be of that physical quantity (or Measure, or dimension). Reals with physical quantity preserve this in all their functions, when used as arguments to other objects, and in arithmetic expressions. The units have to be compatible with the operation being performed (for example trignometrical functions will expect to operate on ANGLEs. In the following methods comments are made about constraints and expectations regarding the dimensions of the real values. When a real is created it is normally, (but not always e.g. the convert units functions) created in current working units of the quantity. Methods
Name
Result
Purpose
Real ( BOOLEAN)
REAL
Creates a REAL from the given BOOLEAN: TRUE = 1, FALSE = 0.
Real ( BORE)
REAL
Creates a REAL from the given BORE.
Real ( STRI NG)
REAL
Creates a REAL from the given STRING.
Constructors
The String must include a number to give value to the REAL If the STRING also a unit qualifier appended to the number the REAL is given the dimension of the physical quantity and its value will be converted to current working units of that dimension. It will also interpret an extended range of feet and inch formats. Real ( STRI NG, FORMAT )
REAL
Creates a REAL from the given STRING in the specified format. If the string contains no unit qualifier the format defines the type of physical quantity and the units of the number. (or current units if format units not set). The resulting REAL has current units regardless of the format or input units. If the conversion fails then the Format object is used to provide alternative unit qualifiers for the dimension (unit of measure) and these are used to try and interpret the value. This is similar to the matching string functions.
2:153
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Real ( REAL, UNI T)
n/a
creates an new REAL with the value of the REAL argument (ignoring its units) in the units of UNIT.
Val ue( )
REAL
return undimensioned real with same value as original.
Di mensi on( )
MEASURE
dimension (of measure) of the physical quantity recorded by the real.
Uni t ( ) Uni t s ( )
UNIT
unit of measure of the quantity stored in the REAL.
Al l Di mensi ons( )
ARRAY of Set of all standard dimensions. MEASURES
Al l Uni t s ( )
ARRAY UNITS
Unit Related Queries
of set of all named, standard Units.
Unit Conversion Methods
Cast ( UNI T)
REAL
Same as REAL(REAL,UNIT). Returns a REAL with the value of the REAL object (ignoring its units) in the units of UNIT.
Conver t Uni t s( STRI NG) Conver t ( UNI T) Conver t Uni t s( UNI T)
REAL
Returns a REAL converted from original units to the units specified by the UNIT or STRING argument. The STRING value must be able to be interpreted as a valid unit. If Object is undimensioned its value is assumed to be in the DatabaseUnits consistent with the unit specified by the STRING or UNIT argument.
DBUni t s( )
REAL
Returns a real of same physical size, but in database units.
Cur r ent Uni t s( )
REAL
Returns a Real of the same physical size, whose value is converted to be in current working units and units of current units.
2:154
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Cur r ent Uni t s( STRI NG) Cur r ent Uni t s( UNI T) Cur r ent Uni t s( MEASURE)
REAL
Returns a REAL of the same dimension as original and whose value reflects the same physical size, but whose value is measured in current units. If the original REAL has units - returns a Real with units of current units. The argument is ignored. If the REAL has no units - The argument used to qualify the units of measure of the REAL. Its units are that of the UNIT or STRING argument. If the argument is a MEASURE of name of a MEASURE then the units are the appropriate database units. The returned REAL is returned only as a converted Value. It has no units or dimension (as had the original REAL).
Ar it hm eti c an d L og ic al Fu nc ti on s
ABS( )
REAL
Absolute value (make value positive).
ACos( )
REAL
ACOS. The real must be purely numeric.
ALog( )
REAL
ALOG. The real must be purely numeric.
ASi n( )
REAL
ASIN. The real must be purely numeric.
ATan( )
REAL
ATAN. The real must be purely numeric.
ATanT( REAL)
REAL
ATANT. The real must be purely numeric.
Bet ween( REAL, REAL)
BOOLEAN
TRUE if value lies in specified range including values specified. All the reals must be of the same or compatible physical quantities and will be interpreted in consistent units.
Bool ean( )
BOOLEAN
FALSE if value is zero, otherwise TRUE.
Bor e( )
BORE
Convert to BORE (must be exact) dependent on current BORE units.
Cosi ne( )
REAL
COSINE. The real must be an angle, or purely numeric.
Di st ance( )
STRING
Convert to a distance using default settings.
2:155
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Di st ance( BOOLEAN f eet , BOOLEAN us, BOOLEAN f r acti on, REAL pr eci si on, BOOLEAN zer oes)
STRING
Convert to a distance : to feet & inches if feet (otherwise inches); to US format if us (otherwise PDMS format); use fraction if fraction (otherwise decimals); use precision as largest denominator or precision decimal places; output zeroes if zeroes (otherwise them).
EQ( BORE)
BOOLEAN
Comparison dependent on current BORE units. The two reals must be of compatible quantities and are compared in consistent units.
EQ( REAL)
BOOLEAN
TRUE if equal. The two reals must be of compatible quantities and are compared in consistent units.
GEQ( BORE)
BOOLEAN
Comparison dependent on current BORE units. The two reals must be of compatible quantities and are compared in consistent units.
GEQ( REAL)
BOOLEAN
TRUE if greater than or equal to another value. The two reals must be of compatible quantities and are compared in consistent units.
GT( BORE)
BOOLEAN
Comparison dependent on current BORE units. The two reals must be of compatible quantities and are compared in consistent units.
GT( REAL)
BOOLEAN
TRUE if greater than another value. The two reals must be of compatible quantities and are compared in consistent units.
I NT( )
REAL
Convert to whole number, rounding down.
LEQ( BORE)
BOOLEAN
Comparison dependent on current BORE units. The two reals must be of compatible quantities and are compared in consistent units.
LEQ( REAL)
BOOLEAN
TRUE if less than or equal to another value. The two reals must be of compatible quantities and are compared in consistent units.
LOG( )
REAL
LOG. Real should be numeric.
2:156
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
LT( BORE)
BOOLEAN
Comparison dependent on current BORE units. The two reals must be of compatible quantities and are compared in consistent units.
LT( REAL)
BOOLEAN
TRUE if less than another value. The two reals must be of compatible quantities and are compared in consistent units.
MODULO ( REAL)
REAL
The remainder MODULO the given REAL. A.MODULO(P) has the value A - floor (A / P) * P, where P cannot be zero.
Near est Bore( )
BORE
Convert to nearest BORE dependent on current BORE units setting.
Ni nt ( )
REAL
Convert to nearest whole number (up or down).
Power ( REAL)
REAL
Raise value to power. If the original real is of physical quantity the power value should be integer.
Real ( )
REAL
Convert to REAL (in this case a null operation).
SBet ween ( REAL, REAL)
BOOLEAN
TRUE if value lies in specified range excluding values specified. All the reals must be of the same or compatible physical quantities and will be interpreted in consistent units.
Si ne( )
REAL
SINE. The real must be an angle, or purely numeric.
Sqrt()
REAL
Square root of value. If result is not a supported unit of measure it will error.
St r i ng( STRI NG pr eci si on)
STRING
Convert to STRING with precision specified as a STRING in the range ‘D0’ to ‘D6’.
St r i ng( FORMAT)
STRING
Convert to STRING using settings in global FORMAT object. same process of using format units and unit qualifiers in the STRING as applied in REAL(STRING, FORMAT).
REAL
TANGENT. The real must be an angle, or purely numeric.
Tangent ( ) Table 2: 105. REAL Object Methods
2:157
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.57
REPORT Object The report object is used to format the table object data for displaying the contents of a table to the screen, forms or to file. Separating the formatting and extraction of the data from a table allows different reports to be generated from the same basic table. The report extracts the data from a TABLE and formats each of the columns according to the associated COLUMNFORMAT object. You may optionally specify that only rows which contain a specified MATCH string (which may or may not be case-dependent) should be included it the report output. The results may be extracted: • • •
all at once, using the Resul t s( ) methods; a specified number of entries at a time, using the NextEnt r i es( ) methods. Each entry will consist of one or more lines; a specified number of lines at a time, using the NextLi nes( ) methods. This may cause a partial entry to be returned at the end, but the next call to nextLines will fetch the remainder of the entry.
The first ARRAY argument provided to these methods will contain a set of STRINGs, each of which holds a Dtext row of data. If there is a second array argument, then this will contain the corresponding Rtext , which will be the name of the DBREF object associated with that row. For multi-line entries, the same Rtext value will be provided for each line. Methods
Name
Result
Purpose
Report ( )
Constructor.
Repor t ( TABLE)
Constructor that also sets the table and column formats. Sets the table to be used for the report.
Tabl e( TABLE) AddCol umn( STRI NG key, COLUMNFORMAT, STRI NG headi ng)
Adds the column with the specified key to the report, with the passed column format. The argument heading is the column heading.
Next Ent r i esI ndex( REAL posi t i on)
Sets the position in the result array to be used for the next evaluation.
Next Ent r i esI ndex( REAL n, STRI NG)
Sets the position in the matched result array to be used for the next evaluation.
Set CaseMat ch( BOOLEAN)
Used in conjunction with the '…MATCH' methods, defines whether matching is case sensitive.
2:158
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
I ni t i al i se( )
Re-initialises counter.
the
next
Eval uat eTabl e( )
Re-evaluates on the table primary key and re-sorts.
Keys( )
STRING ARRAY
Returns an ARRAY of STRINGS that are the column keys used on this report.
Col umnFor mat ( STRI NG key)
COLUMN FORMAT
Returns the column format of the passed column key
Col umnHeadi ng ( STRI NG key)
STRING
Returns the heading of the column identified by key.
TABLE
Returns the table used in this report.
CaseMat ch( )
BOOLEAN
Queries whether the MATCH STRING is case sensitive. Set using CaseMat ch ( BOOLEAN) .
Resul t s( ARRAY Dt ext , ARRAY Rt ext )
BOOLEAN
Evaluates the report using all entries of the table (there may be more than 1 line per entry. If column formats cause a wrap-around Rtext will be repeated). The return is TRUE if there are entries to evaluate, FALSE if there are no entries.
Tabl e( )
Both Rtext and Dtext must exist; they will be updated with the values. Resul t s( ARRAY)
BOOLEAN
As above but only Dtext is evaluated.
Resul t sMat ch( STRI NG, ARRAY, ARRAY)
BOOLEAN
Similar to Resul t s( ) but only values matching the string are put into the two arrays.
Resul t sMat ch( STRI NG, ARRAY)
BOOLEAN
As above but only Dtext is evaluated.
2:159
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Next Ent r i es( REAL n, ARRAY Dt ext , ARRAY Rt ext )
BOOLEAN
Evaluates the report using the next n entries of the table (there may be more than 1 line per entry, if column formats cause a wrap-around the Rtext will be repeated). The return is TRUE if there are entries to evaluate, FALSE if there are no entries. Both Rtext and Dtext must exist; they will be updated with the next n values.
Next Ent r i es( REAL n, ARRAY)
BOOLEAN
As above but only Dtext is evaluated.
Next Li nes( REAL n, ARRAY Dt ext , ARRAY Rt ext )
BOOLEAN
Evaluates the report with the next n lines of the table, if column formats cause a wrap-around the Rtext will be repeated. The return is BOOLEAN to indicate if there are lines to evaluate. Both Rtext and Dtext must exist; they will be updated with the next n values.
Next Li nes( REAL n, ARRAY)
BOOLEAN
As above but only Dtext is evaluated.
Next Ent r i esMat ch ( REAL n, STRI NG val ue, ARRAY Dt ext , ARRAY Rt ext )
BOOLEAN
Similar to NextEntries() but only values matching value are put into the two arrays.
Next Ent r i esMat ch( REAL n, STRI NG val ue, ARRAY Dt ext )
BOOLEAN
As above but only Dtext is evaluated.
Next Ent r i esI ndex( )
REAL
Returns the current position in the array of entries.
Next Li nesI ndex( )
REAL
Returns the current position in the array of entries.
Next Ent r i esI ndex ( STRI NG)
REAL
Returns the current count of the matched values array. STRING is a key word 'MATCH'.
Table 2: 106. REPORT Object Methods
2:160
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.58
RTOGGLE Gadget Members
Name
Result
Purpose
val
BOOLEAN Get/Set
Current value true or false.
i ndex
REAL Only
onVal
STRING Get/Set
Associated selected value.
of f Val
STRING Get/Set
Associated unselected value.
vi si bl e
BOOLEAN Get/Set
Visibility.
ac t i ve
BOOLEAN Get/Set
Active (greyed-in) status.
cal l back
STRING Get/Set
Callback string.
t ag
STRING Get/Set
Tag text.
Get Index of radio button within the group.
Table 2: 107. RTOGGLE Object Members
2:161
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Methods
Name
Result
Purpose
Ful l Name( )
STRING
Get the full gadget name, e.g.'!!Form.gadget'.
Name( )
STRING
Get the gadget's name, e.g. 'gadget'.
Owner ( )
FORM
Get owning form.
Set Popup( MENU )
NO RESULT Links the given menu with the gadget as a popup.
RemovePopup( MENU )
NO RESULT Removes the given popup menu from the gadget.
Get Pi ckedPopup( )
MENU
Ref r esh( )
NO RESULT Refreshes the display of the gadget.
Shown( )
BOOLEAN
Set Tool Ti p( STRI NG )
NO RESULT Sets or edits the text of the TOOLTIP.
Type( ) Backgr ound( )
Returns the last picked popup menu for the gadget.
Get ‘shown’ status.
STRING
Get the gadget type as a string.
STRING
Get Background Name.
Colour
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. Table 2: 108. RTOGGLE Object Methods
Command
The RTOGGLE gadget (which is very similar to the TOGGLE gadget) is allowed only within FRAMES. You can added them to a FRAME with the usual positioning and layout commands. The RTOGGLE gadgets are implicitly numbered 1,2,3 … as they are added. The FRAME gadget can have an assigned callback, which is executed when the radio group selection is changed, i.e. whenever the user selects an unselected radio-toggle. As there is only a SELECT action supported, it can be either a simple callback or an open callback.
2:162
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
/ >- RTOGgl e gname - ++++++Core managed gadget +| +- STATES of f val onval - . ‘ - - - - - - - - - - - - - - - - - - - - - - - - +- TOOLTI P t ext - . ‘----------------‘--->
Note: offval and onval are string values associated with the radio button states unselected
or selected. Default values are onval = ‘ON’, offval = ‘OFF’. In order to simplify the task of replacing the use of the (now removed) RADIO gadget by the radio group Frame gadget, the RTOGGLE gadget’s UNSELECT events are raised only if a PML open callback has been defined. This allows the simple replacement of TOGGLE gadgets by RTOGGLE gadgets without the need to modify their callbacks.
2.5.59
Sec ti on Pl an e The Section Plane object provides an interface for interrogating and modifying a Section Plane in the 3D View in Draft. It can be used in conjunction with the PMLSectionPlaneManager PML Object. In order to add a PMLSectionPlane to the 3D View, the PMLSectionPlaneManager must be used. Set-up Methods Method
Result
Purpose
sect i onPl ane ( DBREF)
constructor
Creates the Section Plane Object with the given DBREF, which must represent a SPLA, PPLA or FPLA element
2:163
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Display Methods Name
Result
Purpose
Redr aw ( )
No Result
Redraw the plane in the 3D View. A plane is infinite in two directions, but is drawn with it's infinite edges clipped to the edges of the current drawlist. Therefore, if the plane is moved, or if the drawlist changes, the plane may need to be redrawn.
Hi ghl i ght ( )
No Result
Temporarily highlight the Section Plane in the 3D View.
Show ( BOOLEAN)
No Result
Show/hide a plane in the 3D View.
set Cl i ppi ng ( BOOLEAN, DBREF)
No Result
Set/unset the clipping status of the section plane within the VIEW. DBREF is the reference of the VIEW element
swi t chCl i psi de ( DBREF)
No Result
Switch between standard and reverse for which side of the section plane the model will be clipped. . DBREF is the reference of the VIEW element
showCl i pI t ems ( BOOLEAN, DBREF)
No Result
Highlight the items in the 3d view that are in the clip list for this section plane. DBREF is the reference of the VIEW element
r edef i nePoi nt s ( DI RECTI ON)
No Result
Clear the points defining the section plane, and start a user interaction to redefine them. DIRECTION specifies the direction in which the lines between the points are to be extruded.
Col our ( REAL)
No Result
Set the colour of the Section Plane (Real must be a colour.code())
No Result
Set the translucency of the Section Plane. 99 = transparent, 1 = opaque
Tr ansl ucency ( REAL)
Query Methods Name
Result
Purpose
i sVal i d ( )
BOOLEAN
Checks if the section plane object is valid.
quer yDbr ef ( )
DBREF
Returns the element.
2:164
actual
database
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
quer yShow ( )
BOOLEAN
Get the show of the Section Plane
quer yCl i p ()
BOOLEAN
Get the clipped value of the Section Plane
quer yType ( )
STRING
Get the types of the Section Plane. (SPLA, FPLA, PPLA)
quer yCol our ( )
INTEGER
Get the colour of the Section Plane
quer yTr ansl ucency ( )
INTEGER
Get the translucency Section Plane.
of
the
Table 2: 109. Selection Plane Object Methods
2.5.60
Section Plane Manager The Graphical Section Plane Manager object provides an interface for interrogating and modifying Section Planes in the 3D View in Draft. It maintains a list of all PML SectionPlane objects that have been added to the 3D View. Set-up Methods Method
If DBREF is a view then Add all Section Planes from a 2D View (Draft VIEW element) to the 3D View. If DBREF is a PLLB Add all Section Planes from a 2D Library to the 3D View. This includes all elements of the following types: •
SPLA, PPLA, FPLA
If DBREF is a SPLA, PPLA, or FPLA, then it will be added to the 3D View. A SECTIONPLANE object for each section plane added will be created and added to the list. add ( SECTI ONPLANE)
No Result
2:165
Adds the SECTIONPLANE object to the 3D View.
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
add ( STRI NG)
No Result
Creates a SECTIONPLANE object from the element with the given name and adds it to the 3D view.
r emove ( DBREF)
No Result
If DBREF is a SPLA, PPLA, or FPLA, then it will be removed from the 3D View. If the corresponding SECTIONPLANE object is in the list, it will be removed..
r emove ( SECTI ONPLANE)
No Result
Removes the SECTIONPLANE object from the 3D View and the list.
cl ear ( )
No Result
Clears all Section Planes from the 3D View .
hi ghl i ght ( DBREF)
No Result
Temporarily highlights the Section Plane with DBREF.
r edr aw ( DBREF)
No Result
Redraw all planes in the 3D View. A plane is infinite in two directions, but is drawn with it's infinite edges clipped to the edges of the current drawlist. Therefore, if the plane is moved, or if the drawlist changes, the plane may need to be redrawn. DBREF is the reference of the VIEW element.
cl i p ( BOOLEAN)
No Result
Clip/Unclip the 3D model (within the 3D View) with all the planes displayed in the 3D View. SPLA items will not be clipped.
show ( BOOLEAN)
No Result
Show/hide all planes in the 3D View.
showCl i ppi ng ( BOOLEAN)
No Result
Show/hide the side of each section plane that will be clipped
col our ( REAL)
No Result
Set the colour of All Section Planes (Real must be a colour.code())
t r ansl ucency ( REAL)
No Result
Set the transparency of All Section Planes.
cr eat ePoi nt s ( STRI NG1, STRI NG2, DI RECTI ON)
No Result
Creates an SPLA with the given name STRING1 in the PLLB named STRING2, extruded in the given DIRECTION.
endCr eat ePoi nt s
No Result
Finish collecting points for the SPLA
2:166
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Query Methods Name
Result
Purpose
quer y ( )
ARRAY of Get all Section Planes in the 3D view SECTIONPLANEs
quer ySel ect ed ( )
DBREF
Return the DBREF of the selected Section Plane.
Create Methods Name
Result
Purpose
cr eat eSpl a ( name, l i br ar y name, f i r s t poi nt , second poi nt , ext r usi on di r ec t i on)
SECTIONPLANE
Creates a new SPLA element with a specified name, which resides in a specific library. The first and second points represent the locations of the first two WPOS elements. (These will be created automatically by the system with default names). The extrusion direction must also be set. The new SPLA will be drawn in the 3D view.
cr eat eFpl a ( name, l i br ar y name, poi nt , nor mal di r ec t i on)
SECTIONPLANE.
Creates a new FPLA element with a specified name, which resides in a specific library. The position and normal directions must be set. The new FPLA will be drawn in the 3D view.
cr eat ePpl a ( name, l i br ar y name, poi nt )
SECTIONPLANE.
Creates a new PPLA element with a specified name , which resides in a specific library. The position must be set. The new PPLA will be drawn in the 3D view.
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.61
SELECTOR Gadget Members
Name
Type
Purpose
Add( STRI NG Dt ext )
NO RESULT Append an entry to the list, where Dtext is the text to display in the option list.
Add( STRI NG Dt ext , STRI NG Rt ext ) )
NO RESULT Append and entry to the list, where Dtext is the text to display in the option list, and Rtext is the replacement text for the new field. If Rtext isn’t specified, it will be set to Dtext by default.
Val
REAL Get/Set
Val
ARRAY OF Selected field numbers of a REAL multiple choice list. (1,2, …) Get/Set
DText
STRING ARRAY Get/Set
Set or get the entire list of display texts.
DText [ n]
STRING Get Only
Get the display text of the n 'th field.
Pi ckedFi el d
REAL Get Only
Last picked list field number.
Name
Result
Purpose
Ful l Name( )
STRING
Get the full gadget name, e.g.'!!Form.gadget'.
Name( )
STRING
Get the gadget's name, e.g. 'gadget'.
Owner ( )
FORM
Get the owning form.
Shown( )
BOOLEAN
Get ‘shown’ status.
STRING
Get the GADGET type as a string.
Selected field number of a single choice list. (1,2, …)
Table 2: 111. SELECTOR Object Members
Methods
Type( )
2:168
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Sel ect ( STRI NG t ext , STRI NG val ue)
NO RESULT Select specified item in a selector. t ext must be ‘Rtext’ or ‘Dtext’. val ue is the field RTEXT or DTEXT to be selected.
Sel ect ( STRI NG t ext , Ar r ay val ues)
NO RESULT Select multiple choice selector fields by value: t ext must be ‘Rtext’ or ‘Dtext’. The val ues array contains the RTEXT or DTEXT of the fields to be selected.
Sel ect i on( STRI NG t ext )
STRING Get current selection: t ext ARRAY OF must be ‘Rtext’ or ‘Dtext’. STRING The value of Sel ec t i on is the RTEXT or DTEXT of the selected field or fields.
Set Popup( MENU)
NO RESULT Links the given menu with the gadget as a popup.
Set Focus( )
NO RESULT Move keyboard focus to this gadget.
Set Tool Ti p( STRI NG)
NO RESULT Sets or edits the text of the TOOLTIP.
Ref r esh( )
NO RESULT Refreshes the display of the gadget.
RemovePopup( MENU)
NO RESULT Removes the given popup menu from the gadget.
Get Pi ckedPopup( )
MENU
Cl ear ( )
NO RESULT Clear selector contents.
Cl ear Sel ecti on( )
NO RESULT Clear selections only.
Backgr ound( )
STRING
Returns the last picked popup menu for the gadget.
Get Background Name.
Colour
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. Table 2: 112. SELECTOR Object Methods
2:169
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Command
The SELECTOR command defines a database element selector gadget and specifies its position, tag, and callback text. Also specifies whether the selector allows a single choice only or multiple choices and defines the area (width and height) in which the displayed part of the list will appear. It also allows you to specify which parts of the hierarchy are shown and whether or not these are updated automatically during database navigation.
Single choice. If DATABASE is not qualified, default is Members plus Owners. Auto update off.
2:170
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.62
SESSION Object Members
Name
Type
Purpose
Uni queI D
STRING Get/Set
Internal ID
Name
STRING Get/Set
Session Name
Logi n
STRING Get/Set
User’s login ID
Host
STRING Get/Set
ID of the Machine running the session
Ent er ed
STRING Get/Set
Time of entering the session
Locat i onName
STRING Get/Set
Name of Session
I sRemot e
STRING Get/Set
True for Sessions at Remote locations
I sCur r ent
BOOLEAN Get/Set
TRUE for User’s SESSION object
Name
Result
Purpose
SESSI ON ( STRI NG)
SESSION
Returns a SESSION object, given a string containing a session's Unique-id.
Conf i r mI D ( STRI NG)
BOOLEAN
Returns TRUE if the password specified by the STRING is correct for the currently logged-in user. (The STRING value must include the leading ‘/’ character).
Cur r ent ( )
ARRAY OF List of Current DBs in the DB MDB of the SESSION object.
Def er r ed( )
ARRAY OF List Deferred DB’s in the DB MDB of the SESSION object.
Location
for
own
Table 2: 113. SESSION Object Members
Methods
2:171
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Locat i on( )
LOCATION
Return LOCATION to which the Session applies. In a non-Global project, returns NULL or error.
MDB( )
MDB
The current MDB of the SESSION.
Mode( )
ARRAY OF List of potential access STRING modes as ‘R’ , ‘RW’ or ‘N’ for each of the current DBs.
Modi f i ed( )
BOOLEAN
TRUE if database has been modified.
Modul e( )
STRING
Name of the current module.
Status()
ARRAY OF List of current access modes STRINGS as ‘R’ , ‘RW’ or ‘N’ for each of the current DBs.
User ( )
USER
The user of this SESSION object.
Table 2: 114. SESSION Object Methods
Note: •
•
•
The LocationName member and Locat i on( ) method imply the location to which the Session applies. This is normally the current location, except when Sessions at remote locations have been requested. In a non-Global project, these members and methods may be unavailable or unset. Some ADMIN Sessions in a Global project may apply to another location's system database. This will be returned as part of the string returned by the Modul e( ) method, if relevant. Other ADMIN Sessions may actually be Global Daemon Sessions. This is returned as part of the string for the name member. Some SESSION object methods have only restricted availability: • The Modi f i ed( ) method only applies to the current Session at the current location. • The Cur r ent ( ) , Def er r ed( ) , Mode( ) and Status() methods will not be implemented for remote Sessions and will return an error. • The Locat i on( ) , MDB( ) , User ( ) and Modul e( ) methods are valid for remote Sessions.
The last three methods will cause Daemon activity for Sessions at remote locations. •
It should be should be observed in using the MDB and USER objects returned by the MDB( ) and User ( ) methods for a remote Session. Methods on these objects will access the currently open system database. Thus the appropriate location's system database should be opened (using the ADMI NI STER SYSTEM command) before invoking methods on these remotely generated MDB and USER objects.
2:172
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Command
!SESSION = CURRENT SESSION
2.5.63
$ Returns the current session object.
SLIDER Gadget Members
Name
Type
Purpose
vi si bl e
BOOLEAN Get/Set
Visibility.
ac t i ve
BOOLEAN Get/Set
Active (greyed-in) status.
cal l back
STRING Get/Set
Callback string.
t ag
STRING Get/Set
Tag text - not displayed for this gadget.
val
REAL Get/Set
Current value as integer.
backgr ound
REAL Get/Set
Background Colour Number.
backgr ound
STRING Set Background Colour Name. only
r ange
REAL ARRAY Get/Set
Range Start, End and optional Step(>0) as integers. The start value may be less than the end value. Array size must be 2 or more.
t i ckst yl e
REAL Get/Set
Tick style as integer. 0 - none, 1 - right or bottom, 2 top or left, 3 - both 1 and 2
Table 2: 115. SLIDER Object Members
Note: • •
The Val member represents the current value of the slider as a PML REAL (in fact always an integer). The Range member allows the slider range and optionally the step value to be set or queried. The granularity of the slider movement is determined by the specified step increment, i.e. a move event is generated at each step increment within the slider’s range. The range limits must each be an integral multiple of the step size (else an error is flagged The RESET action of a form (from reset, CANCEL or QUIT actions) will only reset the
2:173
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
•
slider current value not other slider properties. So if you redefine the range while a form is displayed, and press the RESET button, the range will not revert to the previous settings. You will have to do this from reset button’s callback and/or the form’s CANCELCALL callback. Tick marks, if present, occur at every step value in the range.
Methods
Name
Result
Purpose
Ful l Name( )
STRING
Get the full gadget name, e.g.'!!Form.gadget'.
Name( )
STRING
Get the gadget's name, e.g. 'gadget'.
Owner ( )
FORM
Get owning form.
Set Tool Ti p( STRI NG)
NO RESULT Sets or edits the text of the Tooltip.
Shown( )
BOOLEAN
Get ‘shown’ status.
STRING
Get the gadget type as a string i.e. 'SLIDER'.
Type( ) Ref r esh( )
NO RESULT Refresh gadget image.
Backgr ound( )
STRING
Get Background Name.
Colour
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. NO RESULT Set keyboard focus to gadget. Allows arrow keys to drive slider.
Set Focus( )
Table 2: 116. SLIDER Object Methods
2:174
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Note: The user can specify the range as start, end and optional step and value integer
values. The graph allows the specification of the WIDTH and/or HEIGHT for sliders, in grid units. The width must be specified for a horizontal slider, and the height must be specified for a vertical slider. If the other dimension is not specified then a default size will be assumed. The tag text is not displayed for a slider gadget.
2.5.64
STRING Object String.real() will convert the string to a number in the same way as REAL(string) does including an extended set of feet and inch formats that can be interpreted. The resultant real will be in current units consistent with the units in the string. Methods
Name
Result
Purpose
Af t er ( STRI NG t wo)
STRING
Return sub-string following leftmost occurrence of substring two.
Bef or e( STRI NG t wo)
STRING
Return sub-string before leftmost occurrence of substring two.
Bl ock( )
BLOCK
Make STRING into a BLOCK for evaluation.
2:175
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Bool ean( )
BOOLEAN
TRUE if STRING is ‘TRUE’, ‘T’, ‘YES’ or ‘Y’; FALSE if STRING is ‘FALSE’, ‘F’, ‘NO’,or ‘N’.
Bor e( )
BORE
Convert STRING to a BORE (exact conversion - see also NEARESTBORE).
Bor e( FORMAT)
BORE
Convert STRING to a BORE using the settings in the global FORMAT object.
DBRef ( )
DBREF
Convert STRING to a DBREF.
DBRef ( FORMAT)
DBREF
Convert STRING to a DBREF using the settings in the global format object.
Di gi t s ( )
REAL
If String contains decimal digits only, then return the positive value represented, else return value -1.0. This handles the digit characters from any Unicode supported language.
Di r ec t i on( )
DIRECTION
Convert STRING DIRECTION.
Di r ect i on( FORMAT)
DIRECTION
Convert STRING to a DIRECTION using the settings in the global format object.
Empt y( )
BOOLEAN
TRUE for empty zero-length string.
EQNoCase( STRI NG )
BOOLEAN
Compare equal ignoring case, with given string.
i sDi gi t s ( )
BOOLEAN
String is a contiguous string of decimal digits only. This includes the digit characters from any Unicode supported language.
i s Let t er s ( )
BOOLEAN
String is a contiguous string of letters only. This includes the letter characters from any Unicode supported language.
2:176
to
a
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
i sLet t er sAndDi gi t s( )
BOOLEAN
String is a contiguous string of letters and decimal digits only. This includes the letters and digits characters from any Unicode supported language.
Lengt h( )
REAL
Number string.
LowCase( )
STRING
Convert string to lower case.
LT( STRI NG)
BOOLEAN
Comparison using collating sequence.
Mat ch( STRI NG t wo)
REAL
Location of start of sub-string tw o within first string - zero returned if not found.
Mat chWi l d( STRI NG t wo)
BOOLEAN
TRUE if strings are the same. STRING tw o may contain wildcard characters:
of
·* for any characters
characters
in
ASCII
number
of
·? for any single character. Mat chWi l d( STRI NG t wo, STRI NG mul t i pl e)
BOOLEAN
TRUE if strings are the same as above but multiple redefines the wildcard for any number of characters.
Mat chWi l d( STRI NG t wo, STRI NG mul t i pl e, STRI NG si ngl e)
BOOLEAN
TRUE if strings are the same as above but multiple redefines the wildcard for any number of characters and single also redefines that for a single character.
Occur s( STRI NG)
REAL
Returns the number of occurrences of the given string.
Or i ent at i on( )
ORIENTATION Convert STRING ORIENTATION.
Or i ent at i on( FORMAT ! ! f or mat )
ORIENTATION Convert STRING to an ORIENTATION using the settings in the global !!format .
Par t ( REAL nt h)
STRING
Extract nt h field from string where fields are delimited by space, tab or newline.
Par t ( REAL nt h, STRI NG del i m)
STRING
Extract nt h field from string where fields are delimited by delim .
2:177
to
an
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Pos i t i on( )
POSITION
Convert STRING POSITION.
Posi t i on( FORMAT ! ! f or mat )
POSITION
Convert STRING to a POSITION using the settings in the global !!format object.
REAL( )
REAL
Convert to a number.
Repl ace( STRI NG t wo, STRI NG t hr ee)
STRING
Replace all occurrences of sub-string two with sub-string three.
Repl ace( STRI NG t wo, STRI NG t hr ee, REAL nt h)
STRING
Replace all occurrences of sub-string tw o with sub-string three starting at the nt h occurrence (or -nt h occurrence from the end).
Repl ace( STRI NG wo, STRI NGt hr ee, REAL nt h, REAL count )
STRING
Replace count occurrences of sub-string tw o with substring three starting at the nt h occurrence (or -nth occurrence from the end).
Spl i t ( )
ARRAY
Split string into an ARRAY of STRINGS at space (multiple spaces compressed).
Spl i t ( STRI NG el i m)
ARRAY
Split string into an ARRAY of STRINGS at delim (multiples of delim not compressed).
St r i ng( BLOCK)
STRING
Creates a STRING from a BLOCK expression.
St r i ng( BOOLEAN)
STRING
Creates a STRING equal to TRUE or FALSE.
St r i ng( BOOLEAN, FORMAT)
STRING
Creates a STRING from a BOOLEAN, as specified in the FORMAT object.
St r i ng( BORE)
STRING
Creates a STRING from a BORE.
St r i ng( BORE, FORMAT)
STRING
Creates a STRING from a BORE, as specified in the FORMAT object.
St r i ng( DB)
STRING
Creates a STRING containing the DB name.
2:178
to
a
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
St r i ng( DB, FORMAT)
STRING
Creates a STRING containing the DB name. The FORMAT argument is required for consistency by Forms and Menus.
St r i ng( DI RECTI ON)
STRING
Creates a STRING from a DIRECTION.
St r i ng( DI RECTI ON, FORMAT)
STRING
Creates a STRING from a Direction, as specified in the FORMAT object.
St r i ng( FORMAT)
STRING
Convert STRING to a STRING using the settings in the global FORMAT object.
St r i ng( MDB)
STRING
Creates a STRING containing the MDB name.
St r i ng( ORI ENTATI ON)
STRING
Creates a STRING from an Orientation.
St r i ng( ORI ENTATI ON, FORMAT)
STRING
Creates a STRING from an Orientation, as specified in the FORMAT object.
St r i ng( POSI TI ON)
STRING
Creates a STRING from a POSITION.
St r i ng( POSI TI ON, FORMAT)
STRING
Creates a STRING from a POSITION, as specified in the FORMAT object.
St r i ng( PROJ ECT)
STRING
Creates a STRING containing the PROJECT code.
St r i ng( REAL)
STRING
Creates a STRING from a REAL.
St r i ng( REAL, FORMAT)
STRING
Creates a STRING from a REAL, as specified in the FORMAT object.
St r i ng( REAL, STRI NG)
STRING
Creates a STRING from a REAL. The STRING argument is present for converting the number of decimal places when given in the obsolete format Dn.
St r i ng( SESSI ON)
STRING
Creates a STRING containing the SESSION number.
St r i ng( TEAM)
STRING
Creates a STRING containing the TEAM name.
2:179
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
St r i ng( USER)
STRING
Creates a STRING containing the USER name.
Subst r i ng( REAL i ndex, REAL nchar s)
STRING
Returns a sub-string, nchars in length, starting at index .
Subst r i ng( REALi ndex)
STRING
Returns a sub-string from index to the end of the string
Tr i m( )
STRING
Remove initial and trailing spaces.
Tr i m( STRI NG opt i ons, STRI NG char )
STRING
Reduce multiple occurrences of char to a single occurrence throughout the STRING (options = ‘M’).
Tr i m( STRI NG‘ opt i ons’ )
STRING
Remove initial spaces (options =‘L’), trailing spaces (options = ‘R’) or both (options =’LR’).
UpCase( )
STRING
Convert STRING to upper case.
VLogi cal ( )
BOOLEAN
Evaluate STRING as a BOOLEAN.
VText ( )
STRING
Evaluate STRING as a STRING.
VVal ue( )
REAL
Evaluate STRING as a REAL.
Table 2: 117. STRING Object Methods
Compare Strings Igno ring Case
Examples:
Notes:
•
The new construct if( !this.attrib.eqNoCase('Name') ) is more efficient than comparisons of the form if( !this.attrib.upcase() eq 'NAME' ) particularly when the check fails. It is also more reliable because it doesn't matter what is the case of the value checked against.
2:180
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
•
It may be worth revisiting such checks in the Appware and replacing them with the new construction as this could fix undiagnosed defects and improve performance!
Is Strin g Letters Only?
Example:
Is String Digits Only?
Example:
Get Value Of Digits Only String
Example:
! val = ! s t r dgt s . Di gi t s ( ) q var ! val 1234 Is String L etters And Digits Only?
Example:
! st r mi x= ! st r l et + ! st r dgt s q var ! st r mi x. i sLet t er sAndDi gi t s( ) TRUE q var ! st r mi x. i sLet t er s( ) FALSE q var ! st r mi x. Di gi t s( ) - 1 q var ! s t r l et . i s Let t er s AndDi gi t s ( ) TRUE q var ! st r dgt s. i sLet t er sAndDi gi t s( ) TRUE
2:181
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.65
STATE The STATE object provides an interface for interrogating and modifying the status of modify mode. It is only available to Design running in graphical mode. Method
Result
Purpose
state ()
constructor
modi f yMode ( )
BOOLEAN
Returns TRUE if modify mode is on; else returns FALSE
modi f yMode ( BOOLEAN)
none
Sets modify mode on or off
enabl eModi f yMode ( )
BOOLEAN
Returns TRUE if modify mode is enabled, else returns FALSE
enabl eModi f yMode ( BOOLEAN)
BOOLEAN
If TRUE, then modify mode is enabled. If FALSE, modify mode is disabled unless it is already on, in which case this method has no effect. The method returns TRUE if the action is successful, else returns FALSE.
. f eat ur eHi ghl i ght ( BOOLEAN)
No Result
If TRUE, then features (ppoints, plines, vertices, etc) are temporarily highlighted in the 3d view as the cursor passes over them. Setting this to FALSE turns this feature off.
Table 2: 118. STATE Object Method
2.5.66
TA BL E Ob jec t The TABLE object is used to hold raw data in a manner that can be manipulated in a tabular manner, i.e. as a spreadsheet. Each row of the table represents a DBREF, and is defined by the primary key. The columns of the table contain information about the DBREF according to the associated COLUMN object. Sorting of the table is by the order of the columns and the sort criteria on the relevant column. The formatting of the table data is via a REPORT object, which will allow the same data to be represented in many different ways.
2:182
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Methods
Name
Result
Purpose
Tabl e( )
Constructor (initialises all the object settings)
Tabl e( DBREF ARRAY, COLUMN ARRAY)
Constructor that passes the Primary Key as an ARRAY of DBREFS and the columns as an ARRAY of COLUMNS
Tabl e( COLLECTI ON, COLUMNARRAY)
Constructor that passes the Primary Key as a COLLECTION and the columns as an ARRAY of COLUMNS.
Pr i mar yKey( COLLECTI ON)
User defined Primary Key populated directly from a COLLECTION.
Pr i mar yKey( ARRAY of DBREF)
User defined Primary Key.
Col umn( REAL n, COLUMN)
Replaces the -nth column of the table.
Cl ear Col umns( )
Clears all the columns from the table.
Col umns ( COLUMN ARRAY)
Sets up the columns from an ARRAY of COLUMN objects.
Eval uat e( )
Evaluates the complete table.
Eval uat ePr i mar yKey( )
Re-evaluates the Key collection.
Primary
Pr i mar yKey( )
DBREF ARRAY
Returns the primary Key of the table, reference list for the columns of the table.
Col umns( )
COLUMN ARRAY
Returns the column definitions. The order of the columns is important when sorting.
Cel l ( REAL c ol umn, REAL r ow)
ANY
Returns the contents of the cell at the column and ro w.
Col umn( REAL, n)
ARRAY
Returns the contents of nt h column.
Row( REAL, n)
ARRAY
Returns the contents of nt h row.
Cel l ( STRI NG key, DBREF)
ANY
Contents of the cell at the column and row.
2:183
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Col umn( STRI NG key)
ARRAY
Returns the contents column identified by key .
Row( DBREF)
ARRAY
Returns the contents of row identified by DBREF.
Name
Type
Purpose
Name
STRING
Name of the TEAM, up to 32 characters.
Descri pt i on
STRING
TEAM description, up to 120 characters.
Ref no
STRING
STRING containing Database reference number.
of
Table 2: 119. Table -:TABLE Object Methods
2.5.67
TEA M Ob jec t Members
Table 2: 120. TEAM Object Members
Methods
None of these methods modifies the original object.
Name
Result
Purpose
DbLi st ( )
ARRAY OF List of DBs owned by the DB TEAM.
Us er L i s t ( )
ARRAY OF List of USERS in the TEAM. USER
TEAM( DBREF)
TEAM
Returns a TEAM given a DBREF.
object,
TEAM( STRI NG)
TEAM
Returns a TEAM object, given a name or reference number.
Table 2: 121. TEAM Object Methods
These methods may be used in the following ways
! D = OBJ ECT TEAM( ! ! CE) ! D = OBJ ECT TEAM( ! ! CE. Name)
2:184
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
! D = ! ! CE. TEAM( ) ! D = ! ! CE. Name. TEAM( ) In all cases !!CE is assumed to be a DB database element and !!CE.Name is a STRING object containing the element’s name. These methods should assist performance improvements to AppWare by making it easier to get from Database element to Object. Command
! ARRAY = TEAMS
2.5.68
$ Returns an array of TEAMs
TEXT Gad get Members
Name
Type
Purpose
Val
STRING Get/Set
Set or get the contents of STRING type TEXT field.
Val
REAL Set
Val
BOOLEAN Get/Set
Set or get the contents of BOOLEAN type TEXT field.
Val
'AS DEFINED Get/Set
Set or get the contents of the field according to the user defined type.
Dat aType
STRING Get Get the type of the field. Only
Echo
BOOLEAN Get Only
For mat
STRING Get Get the name of the format Only object associated with the field.
Sc r ol l
REAL Only
Val i dat eCal l
STRING Get/Set
2:185
Get/ Set or get the contents of REAL type TEXT field.
Get the Echo Status. Noecho means that typed characters will all appear as asterisks.
Get Get the Scroll Width. Set/get user-defined validation callback.
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Type
Purpose
Edi t abl e
BOOLEAN Get/Set
Controls the ability to interactively edit the content of a text field.
Name
Result
Purpose
Ful l Name( )
STRING
Get the full gadget name, e.g.'!!Form.gadget'.
Name( )
STRING
Get the gadget's name, e.g. 'gadget'.
Owner ( )
FORM
Get owning form.
Cl ear ( )
NO RESULT Clear gadget contents.
Set Edi t abl e( BOOLEAN)
NO RESULT Sets the editable status for the field.
Set Focus( )
NO RESULT Move keyboard focus to this gadget.
Set Tool Ti p( STRI NG)
NO RESULT Sets or edits the text of the TOOLTIP.
Ref r esh( )
NO RESULT Refreshes the display of the gadget.
Set Val ue( ANY val ue, BOOLEAN val i dat e)
NO RESULT Sets the value of the field, checking for valid type and format. If val i dat e is TRUE, the validation callback will be executed.
Get Pi ckedPopup( )
MENU
Returns the last picked popup menu for the gadget.
Shown( )
BOOLEAN
Get ‘shown’ status.
STRING
Get the gadget type as a string i.e. 'TEXT'.
Table 2: 122. TEXT Object Members
Methods
Type( )
2:186
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Set edi t abl e( STRI NG at t r i b, REAL val ue)
NO RESULT Specify value of named attribute. Currently the only attribute supported is HANDLEMODIFY which determines when the text MODIFIED events are fired. It has values: 0 MODIFIED (default).
events
off
1 Generate MODIFIED event for first user modification. 2 Generate MODIFIED event for all user modifications. Table 2: 123. TEXT Object Methods
Command
The TEXT command defines a text field gadget which supports data values of a given type. The following can also be specified; Gadget position, tag, size, callback, dock, anchor and tooltip; maximum length of the string that may be scrolled in the gadget; the name of a format object which says how a value is to appear as text or be interpreted; that text entered is not echoed as typed, but appears as asterisks (for entering passwords, for example); that the field contents can be seen but not edited. You can define the TEXT object to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values ‘PML” or “CORE”. . - - - - - - - - <- - - - - - - - - - - - - . / | >- - TEXT gname - - +- - - - - - - - - - - - - - - | +- - CORE - - - - - - - - - - - - - - - - | Cor e managed gadget +- - - - - - - - - - - - - - | +- - - - - - - - - - - - - - | +- - - - - - - - - - - - - - | +- - TOOLTI P t ext - - - - - - - - | +- - CALLback t ext - - - - - - - * | . - - - - - - - - - <- - - - - - - - - . | / | ‘ - - * - - WI Dt h i nt eger - - - - | +- - SCRol l i nt eger - - - | +- - - NOEcho- - - - - - - - - - - - * | ‘ - - I S - - +- - STRI NG - - . +- - REAL - - - - | +- - BOOLEAN - | ‘ - - wor d - - - - +- FORMAT gvar nm - . ‘ - - - - - - - - - - - - - - - - - +- TOOLTI P t ext - . ‘----------------‘-->
Figure 2:65.
Syntax Graph -: Setting Up a TEXT Object
The IS word syntax allows for any user defined data type to be used, but this will only work satisfactorily if a suitable FORMAT object is supplied.
2:187
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Note: The maximum string length (SCROLL integer ) is 256 characters, and the default if
you do not specify a length is 132. It is bad practice to place one gadget on top of another. This may lead to gadgets being obscured.
2.5.69
TEXTPANE Gadget Members
Name
Type
Purpose
Val
ARRAY OF Get or set the contents of the STRING text pane. Get/Set
Count
REAL Only
Get Get the number of lines of text in the gadget.
Table 2: 124. TEXTPANE Gadget Members
Methods
Name
Result
Purpose
Ful l Name( )
STRING
Get the full gadget e.g.'!!Form.gadget'.
Name( )
STRING
Get the gadget's name, e.g. 'gadget'.
Owner ( )
FORM
Get owning form.
Cl ear ( )
NO RESULT Clear all lines from the gadget
Li ne( REAL )
STRING
Set Li ne( REAL, STRI NG)
NO RESULT Replace specified line number by STRING.
Cur Pos( )
ARRAY[2] OF REAL
Get cursor character).
position
(line,
Set Cur Pos( REAL[ 2] )
NO RESULT Set cursor character).
position
(line,
Set Cur Pos( REAL, REAL)
NO RESULT Set cursor character).
position
(line,
Set Edi t abl e( BOOLEAN)
NO RESULT Set edit status.
Set Popup( MENU)
NO RESULT Links the given menu with the gadget as a popup.
RemovePopup( MENU)
NO RESULT Removes the given popup menu from the gadget.
2:188
name,
Get the text of given line
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Get Pi ckedPopup( )
MENU
Returns the last picked popup menu for the gadget.
Set Tool Ti p( STRI NG)
NO RESULT Sets or edits the text of the TOOLTIP.
Ref r esh( )
NO RESULT Refreshes the display of the gadget.
Shown( )
BOOLEAN
Get ‘shown’ status.
STRING
Get the gadget type as a string.
STRING
Get Background Colour Name.
Type( ) Backgr ound( )
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. Table 2: 125. TXTPANE Gadget Methods
Command
The TEXTPANE command defines a text pane gadget and specifies its position and tag. This is a multi-line text input field, allowing the user to enter a number of lines of text (either directly or using cut and paste). Note that no callback string is allowed with this gadget, as there is no way of knowing when a user has finished entering text. The value of a TEXTPANE is its contents, held as an array of strings, where each line is an element of the array. You can define the TEXTPANE to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values ‘PML” or “CORE”. The Textpane gadget definition has a new keyword 'FixChars' to force the use of a fixed width font. This allows the text pane to be used to show simple reports laid out using the space character. The chosen font is Courier New (TrueType), because it has a reasonable selection of character glyphs (nowhere near as extensive as the default variable width font Ar ial Unicode MS).
2:189
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Figure 2:66. Syntax Graph -: Setting Up a TEXTPANE Object
Note: It is bad practice to place one gadget on top of another. This may lead to gadgets
being obscured.
2.5.70
TOGGLE Gadget Member
Name
Type
Purpose
Val
BOOLEAN Get/Set
Toggles value between TRUE and FALSE.
Result
Purpose
Methods
Name
AddPi xmap( STRI f i l e2, STRI NG AddPi xmap( STRI f i l e2) AddPi xmap( STRI
NG f i l e1, STRI NG f i l e3 ) NG f i l e1, STRI NG NG f i l e )
NO RESULT Adds pixmaps to be used for the unselected, selected and inactive states. The last two are optional.
Ful l Name( )
STRING
Get the full gadget name, e.g.'!!Form.gadget'.
Name( )
STRING
Get the gadget's name, e.g. 'gadget'.
Owner ( )
FORM
Get owning form.
Set Focus( )
NO RESULT Moves keyboard focus to this gadget.
Set Popup( MENU)
NO RESULT Links the given menu with the gadget as a popup.
RemovePopup( MENU)
NO RESULT Removes the given popup menu from the gadget.
2:190
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Get Pi ckedPopup( )
MENU
Returns the last picked popup menu for the gadget.
Ref r esh( )
NO RESULT Refreshes the display of the gadget.
Shown( )
BOOLEAN
Get ‘shown’ status.
Set Tool Ti p
STRING
Sets or edits the text of the TOOLTIP.
STRING
Get the gadget type as a string.
STRING
Get Background Name.
Type( ) Backgr ound( )
Colour
Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised.. Table 2: 126. TOGGLE Object Methods
Command
The TOGGLE command defines a toggle gadget, and specifies its position, tag, and callback text. Also allows you to specify different text strings for the default ON and OFF states. You can define the TOGGLE to be either PML-controlled, or core-code controlled using the gadget qualifier attribute control type, with values ‘PML” or “CORE”. . - - - - - - - <- - - - - - - - - - - - . / | >- TOGGL E gname - +- - - - - - - - - - - - | +- PI XMAP - - - - - | +- CALLback t ext —- - - - - | +- - - - - - - - - - - - - | +- - - - - - - - - - - - | +- - - - - - - - - - - - | +- TOOLTI P t ext - - - - - - - | +- CORE - - - - - - - - - - - - - - - * Cor e managed gadget +- STATES t ext 1 t ext 2 - . ‘ - - - - - - - - - - - - - - - - - - - - - - +- TOOLTI P t ext - . ‘----------------‘---> Figure 2:67. Syntax Graph -: Setting Up a TOGGLE Object
where text1 corresponds to the OFF setting and text2 corresponds to the ON setting.
2:191
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Note: It is bad practice to place one gadget on top of another. This may lead to gadgets
being obscured.
Default:
Default text strings for the two toggle settings are ‘OFF’ and ‘ON’. Default state when a toggle is first defined is ‘OFF’; i.e. button raised.
Pixmaps associated with Toggle gadgets can be changed after the gadgets have been displayed on a form. Method syntax: AddPixmap( !pixmap1 is STRING ) AddPixmap( !pixmap1 is STRING, !pixmap2 is STRING ) Where: !pixmap is a string holding the file pathname of the required .png file, e.g. %pmllib%\png\camera.png !pixmap1 shows the Un-selected state of the gadget, and pixmap2 shows the Selected state. Notes:
1. It is recommended that when you define the gadget you set its size to encompass the largest pixmap which you will later add. Failure to do this may give rise to unexpected behaviour. 2. Historically you could add a third pixmap which was used when the gadget was deactivated. This practice is no longer necessary as the gadget pixmapped is automatically greyed-out on de-activation.
2.5.71
UNDOABLE Object This object allows you to add functionality to the undo and redo stacks. Methods
Name
Result
Purpose
descr i pt i on( STRI NG)
NO RESULT Adds description text to the undoable
add( )
NO RESULT Marks the database with the description text and adds this undoable to the undo stack
endundoabl e( )
NO RESULT Marks the database again at the end of the change.
undoAct i on ( STRI NG)
NO RESULT Specify a command to be executed when this undoable is taken off the undo stack
2:192
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
r edoAct i on( STRI NG)
NO RESULT Specify a command to execute when this undoable is taken off the redo stack.
cl earAct i on( STRI NG)
NO RESULT Specify a command to execute when this undoable is cleared without any associated undo/ redo being performed.
Table 2: 127. PMLUndoable Object Methods
Command
To use this object, first create an undoable object, and define the undoAct i on( ) , r edoAct i on( ) and c l ear Ac t i on( ) methods to define the execution strings. Call the method add( ) to mark the database and add the undoable object to the undo stack. Make the set of changes that you may wish to undo, then call the method endundoabl e( ) to mark the end of the changes.
2.5.72
UNIT Ob jec t Member
Name
Result
Purpose
Uni t ( REAL)
UNIT
Creates a UNIT of which the value of REAL is a (valid) enum value, or is a negative (compound) unit.
Uni t ( STRI NG)
UNIT
Creates a UNIT with String equivalent to (in order) Description, Name, ComponentName, or Hashcode.
Constructors
Uni t ( )
Table 2: 128. UNIT Object Members
Methods
Name
Result
Purpose
STRING
Long description of unit, very often same as Name()
Name String Method s
Des cr i pt i on( ) St r i ng( )
2:193
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Name
Result
Purpose
Name( )
STRING
Unit name used as qualifier for solitary units
Shor t Name( )
STRING
Short name used as qualifier for component units. Very often same as Name()
Hashcode( ) Pt ype( )
STRING
Hash code of unit. If a compound unit returns 'COMPOUND', if derived from component standard units (e.g. Area units are Distance squared) returns 'DRVD'.
REAL
Unique integer ID for this unit. Positive if standard unit.
General Queries
Enum( )
Negative if compound unit. Factor()
REAL
Conversion factor to database units.
Uni t Qual i f i er ( )
STRING
Unit qualifier of current units.
Di mensi on( )
MEASURE
Dimension of unit.
I sSt andar d( )
BOOLEAN
TRUE if a standard, single, unit. FALSE if a compound unit (e.g. kg/m3, m2)
I sNul l ( )
BOOLEAN
TRUE if units are NONE.
Al l Di mensi ons( )
ARRAY of Set of all standard dimensions. MEASURES
Al l Uni t s ( )
ARRAY UNITS
I s I mper i al ( )
BOOLEAN
TRUE if an exclusively imperial unit (e.g. inch, lb) or a non specific unit (e.g. second, ohm, degree).
I s Met r i c( )
BOOLEAN
TRUE if an exclusively metric unit (e.g. mm, kg) or a non specific unit used in metric situations.
of Set of all named, standard Units.
Note: Derived units (which are units derived from current units of component dimensions
such as area units derived from current distance) and numeric units (no conversion or unit qualifiers) have empty strings for name, description and qualifier. However their hash codes are DRVD and NUMB so they can be created using a form as object unit ('DRVD'). Current units can be set to this using measure.setUnits. Additionally numeric current units can be set using measure.numeric().
2:194
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
2.5.73
USER Ob jec t Member
Name
Result
Purpose
Name
STRING
The name of the User, up to 32 characters.
Descri pt i on
STRING
User’s description, up to 120 characters.
Access
STRING
User’s access rights (FREE, GENERAL, RESTRICTED).
Ref no
STRING
STRING containing Database reference number.
Result
Purpose
Table 2: 129. USER Object Members
Method
Name
ARRAY OF List of TEAMs including this USERS USER.
TeamLi st ( ) Wor ki ngLi st ( )
ARRAY OF List of working extract DBS DB owned by a User. OBJECTS
Pass wor d( )
STRING
No value.
USER( DBREF)
USER
Returns a USER given a DBREF.
USER( STRI NG)
USER
Returns a USER object, given a name or reference number.
object,
Table 2: 130. USER Object Methods
These methods may be used in the following ways:
! D = OBJ ECT USER( ! ! CE) ! D = OBJ ECT USER( ! ! CE. Name) ! D = ! ! CE. USER( ) ! D = ! ! CE. Name. USER( ) In all cases !!CE is assumed to be a DB database element and !!CE.Name is a STRING object containing the element’s name.
2:195
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
These methods should assist performance improvements to AppWare by making it easier to get from Database element to Object. Command
! ARRAY = USERS
2.5.74
$ Returns an array of USER objects in current project.
VERIFY VERIFY object is used directly to verify that the executing user is on a list of approved users and is running on an approved host computer, and is running within a given time period. If the condition is not met the command script terminates immediately with a "Verification error". Methods Name
Result
Purpose
Ver i f y( )
PMLUSERLOGIN Construct an instance of this object
Af t er ( DATETI ME)
NO RESULT
Verify after the specified date
Bef or e( DATETI ME)
NO RESULT
Verify before the specified date
Host name( STRI NG)
NO RESULT
Verify current computer hostname matches single hostname passed as STRING
Host name( ARRAY)
NO RESULT
Verify current computer hostname matches one of a set of hostnames passed as ARRAY of STRING
Wi nUser ( STRI NG)
NO RESULT
Verify current Windows user matches single username passed as STRING
Wi nUser ( ARRAY)
NO RESULT
Verify current Windows user matches one of a set of usernames passed as ARRAY of STRING
Table 2: 131. VERIFY Object Method
2.5.75
Vi ew Fi nd er The ViewFinder object is to allow the Draft PML user to create a frame in the 3d view which represents the view frame in the 2d view. Once drawn, the frame can be moved, rotated, change its representation (but not its size). By manipulating the frame in the 3d view, the user can modify the view parameters in the current drawing.
2:196
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
Set-up Methods Name
Purpose
. vi ewFi nder ( DBREF)
Creates a viewfinder object based on the parameters of the Draft View. The input argument must be the dbref of a valid View .
. vi ew( DBREF)
Sets the associated View object using the DBREF which must be a valid view
Methods Name
Result
Purpose
. r edr aw( )
No Result
Redraws the box using current state of View parameters
. updat e3d( )
No Result
Regenerates frame and 3d model view from the 2d view
. col our ( REAL)
No Result
Changes colour to the PDMS colour number specified
. t r ansl ucency( BOOLEAN)
No Result
Switches translucency on or off
. al i gn( )
No Result
Aligns the viewfinder frame with the 3d view direction
. l ock( BOOLEAN)
No Result
Locks/unlocks the frame so it cannot be moved
. dynami c( BOOLEAN)
No Result
If true, update design will automatically occur whenever the frame is moved
. hi de( )
No Result
Makes the frame invisible
. show( )
No Result
Makes the frame visible. Also expands the clipping planes to make sure they include the frame.
Query Methods Name
Result
Purpose
. val i d( )
BOOLEAN
Is the viewfinder valid. This will be true if it was created with a valid View, otherwise false
. vi ew( )
DBREF
Returns the dbref of the associated view object
. pos i t i on( )
POSITION
Returns the position of the centre of the viewfinder frame.
. di r ect i on( )
DIRECTION
Returns the direction of the View associated with the viewfinder
2:197
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
. si ze( )
ARRAY REAL
of Returns the size of the viewfinder frame ( as Xnnn Ynnn)
. dynami c( )
BOOLEAN
Returns true if in dynamic mode
Table 2: 132. ViewFinder Object Methods
2.5.76
VIEW Gadget: ALPHA Views Members
Name
Type
Purpose
Channel
STRING Get/Set
Get or set the assigned channel.
Table 2: 133. VIEW ALPHA Object Members
Methods
Name
Result
Purpose
Cl ear ( )
NO RESULT Clear all lines from the Alpha TTY window.
Ref r esh
NO RESULT Refreshes the display of the gadget.
Set Focus( )
NO RESULT Set the keyboard immediately to this gadget.
r emoveRequest s( )
NO RESULT Deletes the ‘requests’ channel from the alpha view gadget, and dissociates it from the current Requests IO-channel if necessary.
Backgr ound( )
STRING
focus Alpha
Get Background Colour Name. Some gadgets do not support this property in all circumstances, e.g. gadgets which are showing a pixmap. Gadgets whose colour has not been set explicitly, may not have a colour with a known colourname. In this case an error is raised..
Table 2: 134. VIEW ALPHA Object Methods
2:198
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
DRAFT where is either CE (current element) or the name of a 2D graphical element (e.g., a DRAFT SHEET, VIEW, LIBRARY, etc.) and is any valid DRAFT colour definition.
2:200
12 Series
Soft ware Customi sation Reference Manual Summary of Objects, Members and Methods
And is the syntax for selecting the cursor type, as follows: >- - CURSor t ype - - - +- +- +- +- -
POI NTER - - - - . NOCURSOR - - - | PI CK - - - - - - - | PI CKPLUS - - - |
‘ - - CROSSHAI R - - ‘ - - > Figure 2:70. Syntax Graph -: Setting Up the Cursor Type
allows control of zooming and panning: >- - - BORDer s - - +- - ON - - . ‘ - - OFF - ‘ - - - > Figure 2:71.
2.5.78
Syntax Graph -: Setting Up the Border
VIEW Gadget: PLOT View Members
Name
Type
Purpose
Backgr ound
REAL Set
Backgr ound
STRING Set Set background Only Name.
Bor der s
BOOLEAN Get/Set
Get or set borders ON (TRUE) or OFF (FALSE).
Cont ent s
REAL ARRAY[2] Get/Set
Get or set User Contents ID.
Def cal l
STRING Get/Set
Get or set default interaction callback.
Hei ght
REAL Only
Get Get view height.
Hi ghl i ght
REAL Set
Get/ Get or set highlight Colour Number.
Hi ghl i ght
STRING Set Set highlight Colour Name. Only
Pr ompt
GADGET Get/Set
Subt ype
STRING Get Get subtype of graphic view. Only
Wi dt h
REAL Only
Get/ Get or set background Colour Number. Colour
Get or set User Prompt PARAGRAPH gadget.
Get Get view width.
Table 2: 137. VIEW PLOT Object Members
2:201
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
Methods
Name
Result
Purpose
Add( STRI NG)
NO RESULT Add plot file with name given by STRING. Replaces given plot file if any.
Where: is any valid DESIGN colour definition; either a colour description or a colour number is the syntax for selecting the cursor type, as in 2-19 allows control of zooming and panning as in 2-20
Default:
Borders:ON; Shading OFF. View direction:PLAN or LOOK DOWN. Limits: AUTO (set to current view limits).
2:205
12 Series
Soft ware Customis ation Reference Manual Summary of Objects, Members and Methods
2.5.80
XYPosition Object Members
Name
Type
Purpose
X
REAL Get/Set
X component of 2D POSITION.
Y
REAL Get/Set
Y component of 2D POSITION.
Table 2: 141. XYPOSITION Object Members
Methods
Name
Result
Purpose
XYposi t i on( )
XYPOSITION Creates an XYPOSITION at the given coordinates.
St r i ng( )
STRING
Returns a XYPOSITION as a STRING.
Table 2: 142. XYPOSITION Object Methods
2:206
12 Series
Soft ware Customis ation Reference Manual Event Driven Graphics
3
Event Driven Graphics Event Driven Graphics (EDG) describes the AppWare implemented EDG interface, which is used as the interface between most applications/utilities requiring graphics interaction and the graphic canvas. It describes the Public methods and members of the objects used within the system and how they interact with each other. Also it describes how the AppWare developer can use the system, write their own handlers, etc. etc. The EDG interface has been developed to allow a common interface for the AppWare developer to setup the graphic canvas in an EDG mode, which is relatively simple and easily extendible. This will allow the developer to concentrate on the development of their own application without the need to know the underlying mechanism (core implementation) of the EDG interaction handlers and system. The system handles all the underlying maintenance of the current events stacked e.g. associated forms, initialisation sequences, close sequences, etc. The current implementation of the system has mainly been developed for interaction with the 3D graphic views in the DESIGN module. However, the interface can be used with any of the modules that use the same executable and the standard 3D graphic views. Note: EDG does not form part of the formal definition of PDMS and is subject to change.
There is no AVEVA commitment to keep or maintain this interface in subsequent versions of PDMS.
3.1
Overview The EDG interface has been developed using the basic core functionality available in the Forms and Menus system. Even though the underlying core commands are very powerful allowing the developer great flexibility and control of graphical picking, they only relate to a single view gadget, and so would require the developer to write their own code to encapsulate the commands and maintain the graphical views the event is to be applied to.
3.2
Purpose What the EDG system does, is to control the event handlers in a more global sense, so that the same pick sequence is applied to all current graphical design views. It also handles the stacking of EDG events, allowing the user to temporary suspend one event with another, then return to the previous, without the lost of data, etc.
3:1
12 Series
Soft ware Customis ation Reference Manual Event Driven Graphics
3.3
Scope The current implementation has been developed mainly for the DESIGN module using the standard 3D Graphical Design views. The system can be used in any of the modules using the "des" executable and the standard 3D Graphical Design views, e.g. IsoSpool, PARAGON, etc. The current implementation it is not available in DRAFT. Only the interfaces described can be classed as being supported in any form or manner.
3.4
Definitions The following are abbreviations, acronyms and "buzz words" that may be used within this document: • • • • • • • • • •
• •
3.5
EDG - Event Driven Graphics, this allow the application writer supply their own method
for interpreting the pick from the view gadget. Event Handlers - these are core defined handler that are used define the interaction with the view gadget. Geometry Calculator - set of core functions, objects or methods used to derive positional, angular, linear or directional data. GUI - Graphical User Interface, the forms and menus the user interacts with. Super Applications - these are applications/utilities, that are used for creating elements, (sections, panels, etc.) or moving items, etc. Sub Application s - these are applications/utilities, used to derived data that may be required when using the positioning tool kit, measure, construction aids, etc. edgCntrl - this is the global control object for the EDG system, the global variable for the system within PDMS is !!edgCntrl . Packet - this is an object that defines a complete definition of an application/utility that is to be placed into the event system. PickPacket - this is a definition of the pick sequence and types that are used by an application packet. PickType - this is a definition of how an actual pick is interpreted, e.g. if a database element is picked, is it decomposed into a basic graphical entity, point, line, arc or plane or is it returned as a pointer to the database element. Pick - this is the definition of the pick on the graphical canvas, it is a stylised version of the core event handlers. Public Members & Methods - these are the members and the methods that the AppWare developer should use when defining objects within the system.
Target Users EDG is intended for any user who wishes to write an application/utility that requires interaction with the graphics design canvas (as supplied with the standard product). It is assumed that the user wanting to use the EDG interface is familiar with both the concepts of an Object Orientated language and PML II.
3.6
Super seded Functionality The concept of event driven graphics is intended to replace the old suspend macro and pick commands, i.e. the @ operator used with ID, IDP and IDPL and VAR PICK used to
3:2
12 Series
Soft ware Customi sation Reference Manual Event Driven Graphics
return the picked element and pick vector. Bring the PML language up to date with other OO languages and GUI tool kits. However, the old suspend macro command are still available, but should not be used for any new development, as it is intended to deprecate these commands at some later version.
3.7
Components There are several components that the EDG system uses; each component of the system usually has an equivalent object definition. Its members and methods, defining the data required and actions that are pertinent to that component. Several of components within the system can be loosely defined as being a type of object factory; these allow new components to be added into the system, without the need to modify the base EDG system objects. There are two main types of components that the system uses, these are:
3.7.1
Main Components Main components are used to define and control the actual EDG system and should only be used in conjunction with the system. The following table lists the main component names and gives a basic description of their function within the system: Object
Description
edgCntrl
Controls and contains all currently active events that are registered in the system.
edgPacket
Defines a application/utility that requires graphical picks.
edgPickPacket
Defines the pick sequences and types of pick a packet requires.
edgPickType
Defines how a pick is to be interpreted.
edgPick
Defines the basic graphic pick, cursor style, filter, etc.
edgPosCntrl
Object for controlling all graphical position picks settings and active working planes/grids.
There are several other components that the system uses. However, these are to be classed as being private to the EDG system, therefore the AppWare developer should never access the directory.
3.7.2
Sec on dar y Co mp onents Secondary components are used by the EDG system to derive information and in many cases can be used independently of the system.
3:3
12 Series
Soft ware Customis ation Reference Manual Event Driven Graphics
The following table lists the secondary components and object that are used by the system: Object
Description
edgTypes
Object factory for defined "edg" database type object, the interpreting how a database element is decomposed into their basic geometrical type, point, line, arc or plane.
appMathLib
Object factory for graphical application mathematical objects, used to derive information about basic geometrical objects, i.e. proportion, distance, etc.
edgPickData
Return data from a graphical pick.
edgPositionData
A processed version of the edgPickData object that is used to extract position and basic geometrical data from a picked element.
The system access many more components, either directly or indirectly, the above shows only those that are extensively used in the interpretation of data.
3.8
Concepts There are several concepts that need to be understood by the AppWare developer, to understand why the system is written the way it has and how best to use the system.
3.8.1
Even t Dr iv en Gr aph ic s Unlike the old style of graphical picking used by PDMS, which suspended the running of a macro until a graphical element had been picked. EDG is a state in which the graphical view gadget is put into, which defines criteria about how and what can be picked and how the picked item is interpreted. When an item is picked, an action is carried out, i.e. a macro, function or method is executed, similar to the callback on other gadgets types. What does not happen, as with the old macro suspended mechanism, is that all other forms and gadgets within the application, are still active. What this means to the AppWare developer is that when writing a utility that uses the EDG system, the action carried out when a pick happens, can only be completed once all the pick information has been ascertained. Therefore, where an action requires two or more picks or the picked information was incorrect, the action routine must either cache the information until it has all the required pick information or it must instigate another event that setups the system for the subsequent picks. The AppWare developer should now consider the graphic view gadget as any other gadget, i.e. on left-mouse-button up, the callback of the gadget will be actions. What EDG allows from the user point of view, is that they can have the graphics view in a EDG state, but they can still interact with any other form before they have completed the actual pick task. Whereas, pre-EDG they would have to complete all the picks for a utility, before anything else could be done.
3.8.2
Picking Previous to the implementation of the EDG functionality, picking within the graphics view had a limited scope, in that it was a means to navigate to an element in the database or a
3:4
12 Series
Soft ware Customi sation Reference Manual Event Driven Graphics
way of identifying and returning some key features on an item in the graphics, i.e. ppoints or plines. What EDG allows now is a richer set of functions that allow the user to specify the type of pick the user can perform, which can have predefined criteria applied to them and richer set of return information that the user can use without having to derive the information within their own application code.
3.8.3
Pick Sequence When picking information from the canvas, a single pick cannot always describe what the developer requires. Many instances require a standard and predictable sequence of picks to define some sensible interaction. A simple example of this is a line created between two points in space. A more complex, but still a predefined sequence of picks, could involve different types of picks, e.g. where a pick sequence requires a user to identify an item then pick a new position where that item is to be positioned. In some instances, what could be perceived as being a simple single pick sequence can actually require several. The most obvious of these is a positioning picks, a simple position at the origin of an item is only one pick, but a position at an intersection could be either two or three picks depending on the items picked. In these cases, the numbers of picks are handled from within the edgPickType object.
3.8.4
Event Packet One of the underlying principles of the system is the event packet, this is a packet of information that is used to define an operation in its entirety. These packets are self contained, holding all the information about associated forms, operation criteria, actions carried out on picking, etc. etc. Once a packet has been defined and submitted to the system, then there should be no requirement from external sources required for that packet to complete its task. Where packets required run time data, the method for ascertaining this information should defined within the packet. As event packets are run autonomously, all expected exceptions (errors) must be handled internally.
3.8.5
Event Flow The event system works such that at each level within the system, it is possible for an action to be performed on the returned data. This data is automatically passed from the lower routines up through the system, carrying out any predefined action on the data, then passing it up to the next level. Only when all picks and actions are carried out is the data passed to the user action routines within the event packet.
3:5
12 Series
Soft ware Customis ation Reference Manual Event Driven Graphics
3.9
Event Control System (edgCntrl) The control system is managed by the edgCntrl object; this contains and controls all the data pertaining to the AppWare implementation of the EDG system. There are three main components to the control system, these are: • Ac ti ve ev ent - this is the currently active event that is applied to all the Design graphic views the system knows about. • Stacked events - these are all the events that are currently inactive but the system knows about. Once the currently active event is completed or removed, the last event to be added onto the stack will be made current. • Design Graphic views - this is a register of all the graphic views that have been registered for being maintained by the EDG system. Each time an event is added or changed, all the view in the stack will be updated with the same data. There is a single global instance of the edgCntrl object !!edgCntrl , this controls and contains all data for the standard DESIGN applications.
3:6
12 Series
Soft ware Customi sation Reference Manual Event Driven Graphics
3.9.1
Pub li sh ed In ter face The main components to the event control system that are available to the AppWare developer can be split into three main sections: Ad di ng /Remo vi ng Even ts
Methods for adding and removing event packets to and from the event system: Name
Result
Action
.add(EDGPACKET)
BOOLEAN
Add the passed event packet to the system, making it active. Removes the first event packets with the passed event packet description from the system.
.remove(STRING)
Modifyin g Ac tive/Stacked Events
Methods used to modify event packets within the event system: Name
Result
Action
.setPrompt(STRING)
Sets the primary prompt of the currently active event.
.setPrompt(STRING, STRING)
Sets the primary and secondary prompt of the currently active event.
setStackPrompt(STRIN G, STRING)
Sets the primary prompt of the stacked event with the passed description.
3:7
12 Series
Soft ware Customis ation Reference Manual Event Driven Graphics
Viewing Stack Contents
Methods used to view the current contents for the event system: Name
Result
Action
.viewStack()
Displays the currently active and stacked event in the system.
.viewStack(REAL)
Display the event at the specified stack position, zero will display the currently active event.
All members and methods NOT defined within the table should be classed as being private to the control object. Therefore, AppWare developer should never use them when writing applications.
3.9.2
Add Packet Before an event can be used, the event packet must be defined in its entirety. When an event is added to the system, several tasks are performed: • • • • •
Remove equivalent packets from the system (prompts on major packets) Makes previous event packet's forms inactive Move currently active event packet onto the stack Applies currently defined picking filters to picks (where applicable) Applies new packet event handlers to all registered graphical views
If an event fails for any reason when it is added to the system, the .add method will return false. The AppWare developer should handle failures and inform the user why the event was not added to the system. Where a packet does fail, the developer should pass any error messages that they wish to use back via the public_error object !!error . The following example is a simple adding of an event packet object edgPacket into the event system: - - Def i ne Event Packet ! packet = obj ect EDGPACKET( ) ! packet …. - - Add Packet t o event syst em i f ( ! ! edgCnt r l . add( ! pac ket ) . not ( ) ) t hen ! ! al er t . war ni ng( ' Fai l ed l oadi ng event packet ( ' & ! ! er r or . t ext & ' ). ' ) endi f - - End return
Any code in the macro, function or method which is after the event has been added into the system, will be completed before the event is available to the user. Note: Code after the .add method, SHOULD NOT modify any element of the packet
definition, i.e. forms, global variable, etc. as it will only modify the local definition, not the one that has been added on the EDG system.
3:8
12 Series
Soft ware Customi sation Reference Manual Event Driven Graphics
3.9.3
Remove Packet The .remove method will remove the first event in the EDG system that has the passed description. Where a utility has more than one event, then a remove must be used for each event added into the system. An event can be removed from the system in one of two ways, either forcibly by using the .remove method, giving the event packet description or automatically as defined in the event packet definition (see below). When an event is removed from to the system, several tasks are performed: • • •
The .close method of event packet is executed Removes any associated forms declared against the packet's definition Reinstates the event from the top of the stack, making it the active event
If the event description passed to the remove methods does not exist in the event control system, no error is produced. The following is a closing method for a form that uses an event packet to perform some form of picking from the graphic view:
- - Define Close Method def i ne met hod . cl ose( ) - - Remove event ! edgCnt r l . r emove( ' ' ) - - Hide the form ! t hi s . hi de( ) - - End endmet hod Note: Where there is a form associated with an event packet, the form will automatically be
removed by the event system, when the packet is removed from the system.
3.9.4
Change Prompts In several instances it may be necessary to change the prompt of an event, which is already within the event system. There are two methods available to change the currently active event prompt(s). These can be used to change either only the primary prompt or the primary and secondary prompts of the event (see below for definition of primary and secondary prompts). The modifying of prompts should only be necessary where an event packet is recursive, i.e. it reinstates itself into the system, and subsequent picks require a different prompt from the first pick. A typical example of this type of use is the creation of a SCTN (section), the first pick is the "start" of the section, the second is the "end". After the first pick, the event pick data is cached, on completion of the second pick, the section if created. The following is an example of where a packet's action (a method on a controlling form) requires the subsequent prompts to be indexed until 4 picks have been made:
3:9
12 Series
Soft ware Customis ation Reference Manual Event Driven Graphics
- - Check if there are less than 4 elements in the cache i f ( ! t hi s . cache. s i z e( ) l t 4) t hen - - Increment the prompt of the next pick ! ! edgCnt r l . set Pr ompt ( ' Pr i mar y pr ompt ' , ! t hi s . cache. s i z e( ) . s t r i ng( ) ) - - If there are 4 pick, process the data el s e - - Process the pick data ! t hi s. pr ocessDat a( ) - - Initialise Data ! t hi s . c ache. cl ear ( ) - - Redefine first prompt ! ! edgCnt r l . s et Pr ompt ( ' Pr i mar y pr ompt ' , ' pi c k f i r s t poi nt ' ) endi f Note: Several of the predefined event packets, maintain the prompts in a more direct manner, these mechanisms MUST NOT be copied by the developer, as they are
maintained by the standard product and could potentially change without notification. A third method of the event system, allows a stacked events primary prompt to be changed. This will mean that when the event is reinstated as the active event, the prompt will be different, than when it was added to the stack. This is basically the same as the setting of the primary prompt of the currently active event, but changes the event by description. This is regardless of whether the event is active or stacked.
3.9.5
View the Stack There are two methods available to view the current state of the stack. These are only intended for use whilst developing AppWare and should only be used via the command line. The outputs are directly written to the command request window, and look something like:
3:10
12 Series
Soft ware Customi sation Reference Manual Event Driven Graphics
!!edgCntrl.viewStack() Currently Active EDG Packet Description Key Type Priority Initialisation Action Form Remove Input Data Pick Packet Description
: : : : : : : : :
Define a linear dimension editDimension measure 1 None !!gphMeasure.setMeasure(!this.return[1]) GPHMEASURE false None
:
Standard Distance Measure
EDG Packet - Stack position [1]
3.9.6
Description Key Type Priority Initialisation Action Form Remove Input Data
: : : : : : : : :
Standard Navigate stdNavigate navi 10 None !this.moveToDBRef() None false None
Pick Packet Description
:
Standard Element Pick
L im itat io ns an d Res tr ic ti on s AppWare developers MUST always access the control object by only Published Interface methods. All members and methods of the object not within this document are classed as being private and MUST NOT be used by developer writing applications.
3.10
Event Packet (edgPacket) The main controlling component of the event system, is the Event Packet. The Event Packet is used to define an event in its entirety, from the actions carried out when the object is added to the stack to the action carried out when it is removed from the stack. The Packet should be considered as being the complete definition of the utility that requires a sequence of picks, when fully defined it can then be added to the event control system. Once the Packet is in the system, as the active event, it will then run autonomously until it has completed the pick sequence or removed from the system, forcible. The Event Packet object can be broken down into several components, these basically are: • •
Administration data Actions
3:11
12 Series
Soft ware Customis ation Reference Manual Event Driven Graphics
• • •
Pick sequence definition Input Data Output Data
Currently the main interface into the object is via members, however, there are several methods available for defining the most common pick sequences. Ad mi ni st rat io n Data
There are several administration members available within the event object. Currently the only members that have any relevance and are used by the system are: .description
Description of the event packet which is used when adding or removing the packet into/from the edg system. All packets relating to the same utility should have the same description. This makes the removing and maintenance of the system a lot simpler.
.priority
Defines the priority within in the edg system of the packet, with respects to other packets of the same description. The priority is a real number, zero being the highest priority. Where a primary packet (priority = 0) is added to the system and there is already another primary packet in the system. The user will be prompted to whether they want to replace the one currently in the system with the one being added. Only major utilities should be flagged as being primary packets, e.g. creating a section, element, etc. Subsequent packets relating to the same utility (having the same description) should have a lower priority. Note: Only packets of the same priority are removed from the
system, lower priorities DO NOT get removed when a higher one is added. .remove
Defines whether the event packet is automatically removed from the system when all the picks within the pick sequences and actions of the packet have been executed. The member is a Boolean, true if the packet is to be removed false if the packet is to be reinstated into the system. Note: Where a packet fails, it will be removed from the system if true, the system DOES NOT return to the beginning of the
event pick sequence. .form
Contains a pointer to the form that is to be shown when the event is added into the system. As the member is of "form" data type, the form MUST exist before it is assigned.
3:12
12 Series
Soft ware Customi sation Reference Manual Event Driven Graphics
When the event packet is added to the system, the form will automatically be shown and any initialisation for the form will be run as normal. The form will be shown at the right hand side of the screen, slightly offset from the top. This allows any low level controlling forms (especially the positioning control form) to be positioned above the form. When the event packet is removed from the system, the form will automatically be removed from the system and any low level control forms that the packet may require. When another event is placed on the stack, the form will still be active, however, the event picks will relate to the event packet at the top of the stack. Any low-level forms that are not required by the new event packet, will be left on the screen, but made inactive. This shows that they are still required be a currently stacked event, but does not allow the modification of the event packet until the event has been reinstated at the top of the stack. Ac ti on s
All actions within the event packet object are defined as strings, however, they MUST represent either a standard command, PML function or PML object/form method. Old style macros MUST NOT be used within the actions of the object. The main actions that a packet can have are: .initialisation
The action that is carried out when the event packet is initially added to the edg system. When an event packet is reinstated into the system (this is where the .remove members is false). The action will NOT be executed.
.action
An action which is carried out when all the picks within the pick sequence object (edgPickPacket) have been successfully completed. All data derived from picking in the sequence object are returned through the system via the local variable !this.return (refer to Output Data).
.close
An action which is carried out just prior to the event packet being removed from the edg system, whether after a successful completion of the .action , forcibly by another action of the same priority/type or using the escape key, when in the graphics canvas. The action is carried out within the event packet object, therefore, arguments that refer to !this relate to the members of the event packet object itself. Where a packet has a form associated with the packet (using the .form member) then the close action should not attempt to hide the form, as the system will automatically remove the form.
3:13
12 Series
Soft ware Customis ation Reference Manual Event Driven Graphics
.continue
An action which is carried out after the event packet has been removed from the edg system, whether after a successful completion of the .action or forcibly by another action of the same priority. As the action is carried out external to the event packet object, it is not possible to access any data from the event packet, unless this has been stored via other means, i.e. a global variable or form. Note: This action member is NOT run if the event packet is removed using the key on the Design graphics
canvas is used. .escape
An action which works the same as the .continue member, however it is only carried out if the event has been removed from the using the key, from the Design graphic canvas.
Pick Definition
The Pick Definition defines the number and types of picks required for the event packet (refer to Pick Packet (edgPickPacket). There are several predefined methods that allow the most commonly used event pick sequences to be declared without the need to define them explicitly. Where a predefined pick sequence does not exactly give the required picks, they can be used as a basis, then modified to suite the requirements. Where there is no event packet method defined that gives the required pick sequences and pick types, then the developer will have to define the pick packet from first principles. However, it is hoped that the currently available methods for defining the pick sequences are adequate for most. See below for a full list of the available methods (refer to Pick Sequence Methods ). Input Data
Where data is to be passed to an event packet, that is used either on initialisation or whilst it is running, the data has to be stored in the objects .input member. This means the event packet can run autonomously without the need to access data from external variables or forms. The input member is an ARRAY type, allowing any variable data type to be passed to the system. Setting the input data is the same as defining any other array element: -- Define input data for packet
! packet [ 1] = ' St r i ng' ! packet [ 2] = 20 ! packet [ 3] = ! ! ce. posi t i on ! packet . append( 10) ! pac ket . i ns er t ( 1, ! ! c e) . .
When using the input data, the developer MUST make sure that they know the positions and data type of the element of the array they are using.
3:14
12 Series
Soft ware Customi sation Reference Manual Event Driven Graphics
As input member can only be accessed directly from within the system by the action routines associated with the action members of the event object. The input variable must be refereed to thus !this.input : -- Initialisation Action (using first element of input)
! pac ket . i ni t i al i s at i on = ' ! ! f or m. event I ni t ( ! t hi s . i nput [ 1] ) -- Action routine (using all input array and return pick data)
! p ac ket . ac t i on = ' ! ! f or m. event Ac t i on( ! t hi s . i nput , ! t hi s . r et ur n ) -- Close action (using first element of input)
! packet . cl ose = ' ! ! f or m. event Cl ose( ! t hi s. i nput [ 1] )
Note: Variables are passed by reference, therefore, changing the variable associated to the
input variable, will change the input variable. Where a pick sequence requires multiple picked and the lower objects do not process the pick data, then the return array will contain multiple entries, one for each pick. Output Data
All the objects within the event picking mechanism have a .return members, this is used to pass the data between the objects within the system. All the objects are of an ARRAY type, as this allows any data type to be assigned to the elements. When a pick sequence has completed, all the derived data ascertained from the picking, will be returned into the .return member of the pick event object. Therefore, all .action routines requiring the pick data MUST use the variable. Similar to the input variable, the return variable can only be accessed dire ctly from within the system, and therefore must be declared in the argument list of the actions as !this.return . -- Action routine
_! packet . act i on = ' ! ! f or m. event Act i on( ! t hi s. r et ur n)
In most instances, only the first element of the return array will be populated. This could be either with another array or a specific object type. In these cases, the developer may want only to pass the relevant element to the action routine: -- Action routine
_! packet . act i on = ' ! ! f or m. event Act i on( ! t hi s. r et ur n[ 1] ) Note: Variables are passed by reference, therefore, changing the variable associated to the
return variable, will change the input variable.
3.10.1
Published Interface The main components of the object that the developer can use, can be broken into two sections:
3:15
12 Series
Soft ware Customis ation Reference Manual Event Driven Graphics
Members
These are the published members for the object that the developer can used to define the event packet object: Name
Type
Action
.description
STRING
Description of the event packet.
.priority
REAL
Priority of event within the event packets of the same description.
.initialisation
STRING
Action carried out when event packet is initially added to the event system.
.close
STRING
Action carried out just before the event packet is removed from the event system.
.action
STRING
Action carried out when all picks within the pick sequence has been completed.
.continue
STRING
Action carried out after the event packet has been removed from the event system.
.escape
STRING
Action carried out when the event packet is removed from the system using the key in the design graphic canvas.
.form
FORM
Form to be show when event packet is added to the event system.
.pickPacket
EDGPICKPACKET
Definition of pick sequence and types required for the event packet.
.remove
BOOLEAN
True if event is automatically removed when
the pick sequence has been completed. False if event is to be reinstated, without the .initialisation action being carried out. .input
ARRAY
Contains information to be held local to the event packet, which can be used during its execution.
Pick Sequence Method s
There are several methods that define standard pick sequences, the following are the ones currently supported: Name
Action
.navigate()
Standard navigate pick.
.elementPick()
Standard database element pick.
.plinePick()
Standard pline pick.
.anyPick()
Standard "any" pick.
.aidPick()
Standard graphical aid pick.
3:16
12 Series
Soft ware Customi sation Reference Manual Event Driven Graphics