HP OpenVMS Systems Documentation
HP DECwindows Motif for OpenVMS
CDA Run-Time Services supports relative file specifications for
external references. Relative references are also supported: that is, a
reference where the directory path is not fully specified but is
relative to the directory path of the parent document.
220.127.116.11 Restructuring CDA Shareable Images
The CDA Viewer includes two shareable images to allow installation on systems where DECwindows is not installed.
In DECwindows Motif for OpenVMS Version 1.2 software, shareable images that use the X services were renamed. Table 4-4 lists the shareable images in the various versions of the CDA Viewer.
|CDA Version||Image Name||Description|
|Version 1.6||CDA$ACCESS||CDA Run-Time Services shareable image.|
|DDIF$VIEWSHR||Callable viewer widget.|
|Version 1.7||CDA$ACCESS||CDA Run-Time Services shareable image.|
|The DDIF$DECW_VIEWSHR widget is a callable viewer widget that uses the LIB$FIND_IMAGE_SYMBOL routine to invoke the DDIF$DECW_VIEWSHR (DECwindows interface) and DDIF$CC_VIEWSHR (character-cell interface) widgets.|
|Version 1.8A or later||CDA$ACCESS||CDA Run-Time Services shareable image.|
|DDIF$VIEWSHR12||The DDIF$VIEWSHR12 widget is a callable viewer widget that uses LIB$FIND_IMAGE_SYMBOL to invoke the DDIF$DECW_VIEWSHR12 (DECwindows interface) and DDIF$CC_VIEWSHR (character-cell interface) widgets.|
By using the LIB$FIND_IMAGE_SYMBOL routine to reference the entry points to the DDIF$DECW_VIEWSHR, DDIF$DECW_VIEWSHR12, and DDIF$CC_VIEWSHR images, an application can dynamically determine whether it can execute in a given environment. The DDIF$VIEW.EXE application now replaces this routine.
The previous DDIF$VIEWSHR.EXE shareable image is still included to
maintain compatibility with applications linked against it. However,
new applications (and previous applications that take advantage of new
features) should use the new shareable images.
4.2.2 DECterm Programming
This section describes features and changes related to DECterm
18.104.22.168 ReGIS Input Cursors
DECterm supports the following input cursors: cross-hair, rubber-band line, diamond, and rubber-band rectangle. To select input cursors use the S(C(In)) command. Table 4-5 shows the values of n.
|Cursor Style||Variable n|
If a shape other than the diamond cursor is desired when n is equal to 1, define the logical name DECW$DECTERM_REGIS_CURSOR to be one of the numbers defined in the SYS$LIBRARY:DECW$CURSOR.H file.
The following page-movement escape sequences are implemented in DECterm:
NP <CSI> Pn U Next Page PP <CSI> Pn V Previous Page PPA <CSI> Pn P Page Position Absolute PPB <CSI> Pn R Page Position Backward PPR <CSI> Pn Q Page Position Relative
Note that "Pn" is the number of pages to move; the exception is PPA, where "Pn" is the actual page number.
DECterm does not support cursor coupling; the cursor is always bound to the current (displayed) page.
The following sections contain features related to OSF/Motif Toolkit
4.3.1 Drag-and-Drop Enabled Widgets
The drag-and-drop feature lets you move or copy information between widgets. This feature is provided primarily for programmers to incorporate the feature into their applications.
All DECwindows Motif for OpenVMS Version 1.2 and higher applications support the drag-and-drop feature, with the exception of Notepad. DECwindows Mail supports drag-and-drop in all windows except the main message area, where DECwindows Mail has its own drag-and-drop feature; you can use MB2 to move messages around with the SVN interface.
Drag-and-drop functionality has been implemented in the widgets listed in Table 4-6.
|Widget||Drag Operation||Drop Operation|
|XmText||copy and move||copy and move|
|XmTextField||copy and move||copy and move|
For information about how to include additional drag-and-drop
functionality in applications and for an example of a drag-and-drop
program, see the Open Software Foundation: OSF/Motif Programmer's
Guide, Revision 1.2 manual.
4.4 HP Extensions to Motif (DXm) Programming
The following sections describe features related to HP (Digital)
Extensions to Motif (DXm) programming.
4.4.1 SVN Widget Supports Extended Selection
The Structured Visual Navigation (SVN) widget now allows users to
extend a range of selection using the Shift+Down-Arrow key sequence.
Note that this change has also been applied to the sample program
4.4.2 DXmCSText Input Method Support
X11R5 input method support was added to the DXmCSText widget. Specify
input methods using the vendor shell XmNinputMethod resource. However,
to maintain backward compatibility, the existing input method resources
DXmNinputMethod and DXmNinputMethodType are still available.
4.5 X Toolkit Intrinsics (Xt) Programming
The following sections describe features related to the X Toolkit
4.5.1 New Functions Available with X11R6.6 Upgrade
The following functions from X11R6.6 have been added to Xt.
|XtAppAddBlockHook||Registers a block hook procedure.|
|XtAppAddSignal||Registers a signal callback.|
|XtAppGetExitFlag||Supports controlled exit from main loop in a multithreaded application by returning the flag set by XtAppSetExitFlag.|
|XtAppLock||Locks the application context in a multithreaded application.|
|XtAppSetExitFlag||Supports controlled exit from main loop in a multithreaded application by setting a flag in the application context.|
|XtAppUnlock||Releases an application context lock.|
|XtCancelSelectionRequest||Cancels a multiple selection request.|
|XtChangeManagedSet||Simultaneously removes from and adds to the geometry managed set of a composite widget.|
|XtCreateSelectionRequest||Adds to a multiple selection request.|
|XtDispatchEventToWidget||Dispatches an event to a specified widget.|
|XtGetClassExtension||Locates a class extension record of an object class.|
|XtGetDisplays||Lists the open displays associated with an application context.|
|XtGetKeyboardFocusWidget||Determines which widget would be the end result of keyboard event forwarding for a keyboard event on a specified widget.|
|XtGetSelectionParameters||Gets target parameters needed to perform a selection conversion.|
|XtHooksOfDisplay||Retrieves the hook registration object for the specified display.|
|XtInsertEventTypeHandler||Registers an event handler procedure by event type.|
|XtIsSessionShell||Widget subclass verification function for the session shell widget.|
|XtLastEventProcessed||Retrieves the last event processed by XtDispatchEvent.|
|XtNoticeSignal||Notifies the X Toolkit that a signal has occurred.|
|XtOpenApplication||Convenience function to initialize intrinsics, create an application context, open a display connection, and create an application shell.|
|XtProcessLock||Locks the X Toolkit process lock.|
|XtProcessUnlock||Releases the X Toolkit process lock.|
|XtRegisterDrawable||Associates a drawable with a widget so that the drawable receives events as if part of the widget.|
|XtRegisterExtensionSelector||Registers a procedure to receive extension events for a widget.|
|XtRemoveBlockHook||Discontinues use of a block hook procedure.|
|XtRemoveEventTypeHandler||Removes a registration created by XtInsertEventTypeHandler.|
|XtRemoveSignal||Removes a registered signal callback.|
|XtReleasePropertyAtom||Releases a reservation made by XtReservePropertyAtom.|
|XtReservePropertyAtom||Reserves a unique atom for selection requests on a widget.|
|XtSendSelectionRequest||Sends a multiple selection request.|
|XtSessionGetToken||With the new session shell widget, gets an additional token for a save callback response with a deferred outcome.|
|XtSessionReturnToken||Returns a token obtained using XtSessionGetToken when checkpoint processing is complete.|
|XtSetEventDispatcher||Registers the event dispatcher procedure for events of the specified type.|
|XtSetSelectionParameters||Associates target parameters with a selection.|
|XtToolkitThreadInitialize||Initializes multithreaded support.|
|XtUnregisterDrawable||Removes an association set by XtRegisterDrawable.|
|XtVaOpenApplication||Convenience function to initialize intrinsics, create an application context, open a display connection, and create an application shell.|
See the X Toolkit Intrinsics - C Language Interface, X Window
System, X Version 11 Release 6.4 specification available from
X.Org for detailed information about each of these functions and
4.5.2 Support for Easy Resource Configuration
Setting and changing resources in X Window System applications can be difficult for both the application developer and the end user. Resource Configuration Management (RCM) addresses this problem by changing the X Intrinsics to immediately modify a resource for the specified widget and each child widget in the hierarchy. As a result:
RCM was made available as part of the X11R6.4 release and is now available with DECwindows Motif Version 1.3. However, note that RCM is not a standard part of the X Toolkit Intrinsics. It is neither an X Consortium standard nor part of the X Window System specifications. As a result, there are currently no public customization tools that take advantage of this feature.
If you are interested in learning more about RCM, see the X Toolkit
Intrinsics - C Language Interface, X Window System, X Version 11
Release 6.4 Release Notes available from X.Org.
4.5.3 New Option for CompositeClassExtensionRec
With X11R6, some modifications were made to the widget internals, as described in the X Window System Toolkit manual.
In particular, a new option in the Composite Class extension record enables you to make bundled changes to the managed set of a Composite widget. Widgets that define a change-managed procedure that performs additions and deletions to the managed set of children in a single invocation should set allows_change_managed_set option to TRUE in the extension record.
For more information about the impact this new option may have on
existing applications, see the HP DECwindows Motif for OpenVMS Release Notes.
4.5.4 New Default Format for XtResolvePathname
In XtResolvePathname, the default pathname is required to have certain properties when either no other path information is present in the call, or when it is referenced by the environment variable XFILESEARCHPATH. The former default OpenVMS format of the pathname consisted of a type-name-suffix substitution. The modified pathname now reflects the 6-part fallback, as specified by X11 Release 6.
The new pathname behavior is enabled by setting the DECW$VSW_COMPLIANT variable, as follows:
$ DEFINE DECW$VSW_COMPLIANT 1
Previously, if a program entered its event loop, (for example, by calling XtAppMainLoop) without having opened a display or specified a timer or event flag for the program to wait for (by calling XtAppAddTimeout or XtAppAddInput), Xlib terminated the program with the following error message:
X Toolkit Error: Error in XMultiplexInput
Starting with DECwindows Motif for OpenVMS Version 1.2--5, if there is nothing to wait for, Xlib stalls waiting for input instead of terminating with an error status.
To allow Xlib to process events at a later time, applications should
provide some means of regaining control, such as specifying an event
flag (on DECwindows Motif for OpenVMS Version 1.2--6 and previous systems) or a logical connection
number (on DECwindows Motif Version 1.3 and higher systems) by calling
4.6 X Window System Library (Xlib)
The following sections describe features related to X Window System
4.6.1 IPv6 Considerations
The Xlib library now supports both IPv4- and IPv6-compliant transport names discussed in HP DECwindows Motif for OpenVMS Management Guide.
The XOpenDisplay function cannot be called from a user-mode AST when
IPv6 support is enabled. This function uses the TCP/IP Services
getaddrinfo function which is not supported in user-mode ASTs. If your
program must use the XOpenDisplay function from within a user-mode AST,
you must ensure that the program is run in an environment where the
DECW$IPV6_SUPPORT logical is defined as "DISABLED".
4.6.2 New Functions Available with X11R6.6 Upgrade
As part of the core system upgrade to X11R6.6, the following functions listed in Table 4-8 have been added to the X Window System Library (Xlib). Note that all functions are included in the current version of the DECW$XLIBSHR image.
|_XAllocTemp||Thread-safe allocation of scratch data space for use by extension writers.|
|_XFreeTemp||Frees the scratch data space allocated by _XAllocTemp.|
|XCloseOM||Closes the specified output method.|
|XcmsSetCCCOfColormap||Sets the color conversion context for the specified colormap.|
|XAddConnectionWatch||Establishes a watch procedure callback for when internal connections are opened or closed.|
|XConvertCase||Obtains the uppercase and lowercase forms of a KeySym.|
|XContextualDrawing||Indicates whether text drawn with the current font set includes context-dependent drawing.|
|XCreateOC||Creates an output context within the specified output method.|
|XDestroyOC||Destroys an output context.|
|XDirectionalDependentDrawing||Indicates whether the drawing functions implement text directionality.|
|XDisplayOfOM||Returns the display associated with the specified output method.|
|XESetBeforeFlush||Defines a procedure that will be called just before data is sent to the X server.|
|XExtendedMaxRequestSize||Returns the maximum request size using extended length encoding (the BIG-REQUESTS extension).|
|XGetAtomNames||Returns the names associated with the specified X atoms.|
|XGetOCValues||Obtains the current output context values.|
|XGetOMValues||Obtains the current output method values.|
|XInitThreads||Initializes support for multiple threads.|
|XInternalConnectionNumbers||Returns a list of the internal connections open for a specified display.|
|XInternAtoms||Returns atoms for an array of names.|
|XLocaleOfOM||Returns the locale associated with the specified output method.|
|XLockDisplay||Locks a display to protect against concurrent access from multiple threads.|
|XOMOfOC||Returns the output method associated with the specified output context.|
|XOpenOM||Opens an X output method for the specified locale and modifiers.|
|XProcessInternalConnection||Processes input available on an internal connection.|
|XReadBitmapFileData||Reads a bitmap from a file and returns it as data.|
|XRegisterIMInstantiateCallback||Registers an input method callback.|
|XRemoveConnectionWatch||Removes a watch procedure established by XAddConnectionWatch.|
|XSetOCValues||Specifies one or more output context values.|
|XSetOMValues||Specifies one or more output method values.|
|XUnlockDisplay||Removes a lock established by XLockDisplay.|
|XUnregisterIMInstantiateCallback||Unregisters an input method instantiation callback.|