Cursor Function Support
- Last UpdatedNov 13, 2025
- 1 minute read
The F&M system prevents a cursor function from being executed if there are no displayed graphical views which support cursor functions, and raises the usual 'quit' error (61, 528): 'User exit from submode' so that Appware can handle the effective 'quit', and then raises error (61, 115): 'Invalid command when GRAPHICS OFF or no suitable view available', which will alert the user unless trapped by the Appware. However, only the Appware knows exactly which graphical views can handle the specific cursor command, so the OKCurfnView methods have been provided to allow Appware to use this knowledge intelligently.
Methods provide are:
Query whether graphical views of the specified view type are displayed. Graphical view types supported are: 'G2D'; 'G3D'; 'ANY' and any view subtype is implied.
OKCurfnView( !viewtype is STRING ) is BOOLEAN
Query 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)
OKCurfnView( !viewtype is STRING, subtype is STRING ) is BOOLEAN
Example using FMSYS OKCurfnView methods:
The following code snippet shows an example of use within a form method:
define method .runCurfn( !curfn is string )
-- run specified cursor function
if( !!fmsys.OKCurfnView('g2d', 'normal') ) then
-- valid view exists, so run cursor function
$!curfn@
else
-- no valid view
return error 1 |No suitable displayed 2D views for
cursor function '$!curfn$@'|
endif
endmethod
Notes: OKCurfnView('g2d') is equivalent to OKCurfnView('g2d', 'ANY')
OKCurfnView('ANY ', 'NORMAL') will look for both 2D Draft and 3D Design views