GUI Objects Supported in the Customization File
The cdsLibMgr.il customization file supports the following objects in the graphical user interface:
- Menus, which can contain menu items, toggle items, radio buttons, or separators.
- Menu items as simple buttons. A menu item activates an action callback.
- Toggle buttons. You select a toggle button as a single on/off setting.
- Radio buttons. Radio buttons are mutually exclusive. You select one of several radio buttons displayed.
Issues with Virtuoso Studio Design Environment SKILL
In order to perform useful custom tasks, any related task functions must be available from SKILL code executed within the Virtuoso process. In some cases, you might need to start an external UNIX process using SKILL IPC (interprocess communication) functions.
When you use a GUI to customize tasks, you must decide whether you want the Library Manager to block the input from the GUI and wait for the task to finish before proceeding. You implement this decision by using the SKILL function hiCreateAppForm() with or without the dontBlock field set, together with hiDisplayForm().
When you write callback functions, take into account that the Library Manager effectively waits for the return value from the callback in Virtuoso to become available.
Caution with Pre-Map Callbacks
The Library Manager calls any pre-map callbacks when a menu is to be displayed, whether or not an item is selected, provided there is a map callback function defined for the menu. The Library Manager can stop waiting for this callback to finish after a time-out period has been reached, since the screen becomes locked from all access during the execution of the map callback, where X windows are blocked as well as the Virtuoso session.
The map callback function must be as fast as possible to avoid time-out, which makes your workstation unusable in the interim. You can specify the time-out value in the environment customization file, .cdsenv, as a given number of seconds. In the following example, the default value is 5.0 seconds. However, this is much longer than a reasonable response time.
cdsLibManager.customize mapTimeout float 5.0
Related Topics
Library Manager Customizations Using SKILL Functions
Return to top