Previous | Contents | Index |
OSF/Motif Release 1.2 has the following new functions for managing representation types:
These functions are useful for developers who want to define new
resource converters that use an enumerated set of values.
A.3.19 Changes for CUA and Windows Compliance
In OSF/Motif Release 1.2, pressing the Return key or using the key bound to osfActivate (usually the Enter key on the numeric keypad) no longer activates a button that is outside a menu. For example, pressing such a key no longer pops up an OptionMenu or activates a ToggleButton in a dialog box.
If your application has a default button associated with an
XmBulletinBoard, pressing Return (except in a multiline
XmText), Ctrl/Return, or the key bound to osfActivate
while the focus is in the XmBulletinBoard now activates the
default button.
A.4 Changes and Enhancements to Specific Widgets
This section summarizes the changes to specific widgets that were made
in OSF/Motif Release 1.2.
A.4.1 XmClipboard
OSF made several corrections to the XmClipboard function parameters. These changes are binary compatible with earlier releases of Motif. However, in some instances, you might see warning messages when you recompile your applications. The modifications involved changing (char *) to XtPointer, int to long, and (int *) to (long *). The related functions affected by these modifications are:
In OSF/Motif Release 1.2, a correction was made to
XmCommandGetChild so that it now accepts
XmDIALOG_WORK_AREA as a value for the child argument.
A.4.3 XmList
To enhance its capabilities for managing lists, OSF/Motif Release 1.2 includes the following new functions:
The XmList widget includes a new translation:
XmList includes a new action:
This action was mistakenly named ListScrollCursorVisible in OSF/Motif Release 1.2. The name will be corrected in a later release of Motif. |
The XmNvisibleItemCount resource has been modified so that the default value is dynamic, and is based on the item count and the height.
In OSF/Motif Release 1.2, if the selectedItems and
selectedItemCount resources for a list are set in a resource
file, the location cursor appears over the last item in the
selectedItems list, not the first selected item.
A.4.4 XmMessageBox
In OSF/Motif Release 1.2, MessageBox supports the addition of one MenuBar, one work area, and multiple PushButton children.
A new dialog type, XmDIALOG_TEMPLATE, creates a MessageBox that contains only a Separator. The application provides additional children.
XmCreateTemplateDialog creates an XmDIALOG_TEMPLATE
XmMessageBox inside a DialogShell.
A.4.5 XmRowColumn and Menus
OSF/Motif Release 1.2 adds a new resource, XmNentryVerticalAlignment, that specifies the vertical alignment style.
Another resource, XmNunpostBehavior has been added to the
XmScreen object. This resource can be set to enable external
button events to be replayed after a menu is unposted.
A.4.6 XmScrollBar
In OSF/Motif Release 1.2, XmScrollBar includes a new translation:
OSF/Motif Release 1.2 adds the function, XmScrollVisible, that scrolls an automatic scrolled window to make a partially or completely obscured widget visible.
Another resource, XmNtraverseObscuredCallback, has been added
that specifies a list of callbacks that are called when a traversal
event is requested to a nonvisible widget. A new callback structure,
XmTraverseObscuredCallbackStruct, has been added to support
this callback.
A.4.8 XmSelectionBox, XmFileSelectionBox
In OSF/Motif Release 1.2, the XmSelectionBox and XmFileSelectionBox widgets support the addition of MenuBar and PushButton children, as well as a work area child.
A new resource, XmNchildPlacement, controls the location of the work area child.
The value, XmDIALOG_TEMPLATE, has been added to the XmNdialogType resource.
By default, XmSelectionBoxDialog and its subclasses use
XmTextField instead of XmText. You can revert to the
earlier behavior by defining USE_TEXT_IN_DIALOGS when your
application builds XmSelectionBox or any of its subclasses.
A.4.9 XmText
OSF/Motif Release 1.2 has added two functions to XmText for making update changes to the widget: XmTextDisableRedisplay and XmTextEnableRedisplay.
Two other functions facilitate string manipulation: XmTextFindString and XmTextGetSubstring.
In Release 1.2, the destination cursor now follows the insert cursor and is no longer independently drawn.
XmText includes three new translations:
XmText includes two new actions:
There is a potential problem in both XmText and XmTextField with rendering strings in fonts or font sets that contain characters whose ascenders can rise above the font ascent. If the text containing these characters is highlighted, any overlapping descenders in the previous line may be overwritten by the ascenders in the succeeding line. |
OSF/Motif Release 1.2, the XmTextField widget has a new resource, XmNfocusCallback, that specifies the callbacks to be called when the widget accepts input focus.
Another new function, XmTextFieldGetSubstring, gets a substring by length from a widget.
In Release 1.2, the destination cursor now follows the insert cursor and is no longer independently drawn.
XmTextField includes two new translations:
In OSF/Motif Release 1.2, setting XmNfillOnSelect to be true when XmNindicatorOn is false now causes the background of a set XmToggleButton to be filled with XmNselectColor.
The default value for XmNfillOnSelect is dynamic so that it
matches the state of XmNindicatorOn.
A.5 Motif Window Manager Enhancements
This section highlights the enhancements to the Motif Window Manager
(MWM).
A.5.1 Changes to MWM
OSF/Motif Release 1.2 incorporates the following enhancements to MWM:
The OSF/Motif Release 1.2 window manager includes the following new or enhanced resources:
OSF/Motif Release 1.2 has the following new and enhanced MWM functions:
OSF/Motif Release 1.2 has one new MWM action:
OSF/Motif Release 1.2 has the following changes in the User Interface Language (UIL):
There is a serious problem in parsing double quoted strings with the -s flag. If you need to use this flag for parsing double quoted strings, you must obtain a patch from the OSF. |
This appendix contains information about notes, restrictions, and
corrections related to the OSF/Motif and DECwindows OSF/Motif Toolkits.
B.1 OSF/Motif Release 1.2.2 and X11 Release 5 Shareable Libraries
Because the OSF/Motif Release 1.2.2 Toolkit and the OSF/Motif Release 1.1.3 Toolkit are not binary compatible, applications must link with one toolkit or the other. Applications based on OSF/Motif Release 1.2.2 can only link against OSF/Motif 1.2.2-based and X11 R5-based shareable libraries. Applications based on OSF/Motif Release 1.1.3 can only link against OSF/Motif 1.1.3-based and X11 R4-based shareable libraries.
To provide both OSF/Motif Release 1.2.2-based and OSF/Motif Release 1.1.3-based shareable libraries, the Release 1.1.3-based libraries have the same file names as in DECwindows Motif Version 1.1, and the Release 1.2.2-based libraries contain a suffix of either "R5" or "12".
Shareable libraries that work with either the OSF/Motif Release 1.1.3 Toolkit or the OSF/Motif Release 1.2.2 Toolkit do not have a suffix. These libraries are as follows:
V1.2--6
Shareable libraries that are linked with Release 5 (R5) of the Xt Toolkit have a suffix of "R5". Libraries based on the XUI Toolkit have no R5 equivalent libraries and should not be included in a linker options file based on X11 R5 or OSF/Motif Release 1.2.2. Table B-1 lists these file names.
The DECW$XLIBSHR.EXE file is the MIT Release 5 version, not the MIT Release 4 version of Xlib. |
Names of Files Based on R4 | Names of Files Based on R5 |
---|---|
DECW$DWTLIBSHR.EXE | (None) |
DECW$DWTSHR.EXE | (None) |
DECW$XMULIBSHR.EXE | DECW$XMULIBSHRR5.EXE |
DECW$XTRAPLIBSHR.EXE | DECW$XTRAPLIBSHRR5.EXE |
DECW$XTSHR.EXE | DECW$XTLIBSHRR5.EXE |
Release 5 does not provide an equivalent file for DECW$DWTLIBSHR.EXE or DECW$DWTSHR.EXE. Applications that are built for Release 5 cannot link against these files.
Shareable libraries that are linked with OSF/Motif Release 1.2.2 have a suffix of "12". They should be linked only with libraries compatible with R5 and OSF/Motif Release 1.2.2. Table B-2 lists these file names.
Names of Files Based on Release 1.1.3 | Names of Files Based on Release 1.2.2 |
---|---|
DDIF$VIEWSHR.EXE | DDIF$VIEWSHR12.EXE |
DECW$BKRSHR.EXE | DECW$BKRSHR12.EXE |
DECW$DXMLIBSHR.EXE | DECW$DXMLIBSHR12.EXE |
DECW$MAILSHR.EXE | DECW$MAILSHR12.EXE |
(None) | DECW$MRMLIBSHR12.EXE |
DECW$PRINTWGTSHR.EXE | (None) |
DECW$TERMINALSHR.EXE | DECW$TERMINALSHR12.EXE |
DECW$XMLIBSHR.EXE | DECW$XMLIBSHR12.EXE |
DGIT$LIBSHR.EXE | DGIT$LIBSHR12.EXE |
IMG$SHRLIB.EXE | IMG$SHRLIB12.EXE |
LWK$DXMSHR.EXE | LWK$DXMSHR12.EXE |
XNL$SHR.EXE | XNL$SHR12.EXE |
There is no DECW$PRINTWGTSHR12.EXE file; the Print Widget is part of the DECW$DXMLIBSHR12.EXE file.
The DECW$MRMLIBSHR12.EXE file is a new image that includes Motif Resource Manager (Mrm) routines that were formerly part of the DECW$XMLIBSHR.EXE file. Any program based on OSF/Motif Release 1.2.2 that calls Mrm routines to access .UID files should link with this library.
For example, a typical linker options file for a program based on OSF/Motif Release 1.1.3 might be as follows:
SYS$SHARE:DECW$XLIBSHR/SHARE SYS$SHARE:DECW$XTSHR/SHARE SYS$SHARE:DECW$DWTLIBSHR/SHARE SYS$SHARE:DECW$XMLIBSHR/SHARE SYS$SHARE:DECW$DXMLIBSHR/SHARE |
To link this program with OSF/Motif Release 1.2.2, the linker options file should be changed to:
SYS$SHARE:DECW$XLIBSHR/SHARE SYS$SHARE:DECW$XTLIBSHRR5/SHARE SYS$SHARE:DECW$XMLIBSHR12/SHARE SYS$SHARE:DECW$MRMLIBSHR12/SHARE SYS$SHARE:DECW$DXMLIBSHR12/SHARE |
These changes eliminate the reference to the XUI Toolkit
(DECW$DWTLIBSHR.EXE) and links with the Motif Resource Manager
(DECW$MRMLIBSHR12.EXE).
B.2 OSF/Motif Release 1.1.3 Programming Support and XUI
V1.2
The X Window and OSF/Motif libraries that are shipped with DECwindows Motif Version 1.2 for OpenVMS software are incompatible with those shipped with previous versions. Run-time compatibility has been preserved, but the programming environment is not compatible.
Programming in the XUI or Motif Release 1.1.3 environment that is provided in previous versions of DECwindows Motif is no longer supported in DECwindows Motif Version 1.2 for OpenVMS. However, the installation procedure gives you the option of saving the programming files that already exist on your system. If you choose to save these programming files, they are moved to subdirectories where you can access them for programming. Specifically, the installation creates a subdirectory called [.DECW$113] in each of the directories listed in Table B-3 and moves the previous files into the new subdirectory.
For more information about saving the programming files, see the DECwindows Motif Version 1.2 for OpenVMS Installation Guide.
Directory | Contents | New Location |
---|---|---|
DECW$INCLUDE | C header files | SYS$SYSROOT:[DECW$INCLUDE.DECW$113] |
SYS$SYSTEM | UIL compiler | SYS$SYSROOT:[SYSEXE.DECW$113] |
SYS$LIBRARY | Non-C language bindings | SYS$SYSROOT:[SYSLIB.DECW$113] |
To program with these files, include the new [.DECW$113] subdirectories in the search path for each of the logical names. For example, perform the following:
$ SHOW LOGICAL DECW$INCLUDE "DECW$INCLUDE" = "SYS$SYSROOT:[DECW$INCLUDE]" (DECW$LOGICAL_NAMES) = "SYS$SYSROOT:[DECW$INCLUDE.EXTENSIONS]" $ DEFINE/EXECUTIVE/TABLE=DECW$LOGICAL_NAMES DECW$INCLUDE - SYS$SYSROOT:[DECW$INCLUDE.DECW$113], - SYS$SYSROOT:[DECW$INCLUDE], - SYS$SYSROOT:[DECW$INCLUDE.EXTENSIONS] |
Place the new [.DECW$113] subdirectory first in the search list, since many of the files that have been updated for this release have the same name as the files that were moved to the [.DECW$113] subdirectory. Thus, the files in [.DECW$113] are used for software development.
If DECW$INCLUDE is redefined in the SYS$MANAGER:DECW$PRIVATE_APPS_SETUP.COM command procedure, then modify the previous instructions accordingly.
To use the UIL compiler for XUI or OSF/Motif Release 1.1.3, perform the following steps:
define type trace_keywords keyword tokens keyword symbols define type warning_keywords keyword nowarnings keyword noinformationals define type version_keywords keyword V1, syntax=xui_uil keyword V2, syntax=xui_uil, default keyword MOTIF11, syntax=motif_uil define syntax xui_uil image decw$uilcompiler define syntax motif_uil image decw$uilmotif define verb uil image decw$uilcompiler parameter p1, label=source_file, prompt="File", value(required,noconcatenate,type=$infile) qualifier trace, label=trace_qual, value(list,noconcatenate,type=trace_keywords), nonnegatable qualifier warnings, label=warnings_qual, value(list,noconcatenate,type=warning_keywords) qualifier list, label=listing_file, batch, value(type=$outfile) qualifier machine, label=machine_qual, qualifier output, label=resource_file, default, value(type=$outfile) qualifier version, label=version_qual, default, value(type=version_keywords), nonnegatable qualifier XUI, default, nonnegatable, syntax=xui_uil qualifier MOTIF, nonnegatable, syntax=motif_uil qualifier widget_meta_description, label=widget_qual, value(required, noconcatenate, type=$infile) disallow XUI and MOTIF |
$ SET COMMAND SYS$SYSROOT:[SYSEXE.DECW$113]DECW$UILCOMPILER.CLD |
If you want to revert back to the previous UIL command definition, execute the following command:
|