[an error occurred while processing this directive]
HP OpenVMS Systems Documentation |
HP DECwindows Motif for OpenVMS
|
Previous | Contents | Index |
This chapter briefly describes corrections to the DECwindows Motif
documentation. For a complete listing of additions and changes to the
DECwindows Motif documentation set, see the HP DECwindows Motif for OpenVMS Documentation Overview.
5.1 Getting Started With the New Desktop
This section contains documentation corrections to the Getting Started With the New Desktop
manual.
5.1.1 Corrected File Specification
V1.2--5
A file specification for a command procedure in Getting Started With the New Desktop (part number AA-QUW1A-TE) is incorrect. The file specification appears in Section 3.4.9, paragraph 5, as follows:
"Optional DECwindows applications, such as DECwindows Notes, may not provide any information and therefore are not restarted. For such cases, there is a command procedure called disk$:[user.DT]SESSIONETC.COM that you can use to start any applications that cannot be restarted automatically. This procedure is analogous to the DECW$LOGIN.COM procedure in the traditional DECwindows environment."
The correct file specification is:
disk$:[user.DT.SESSIONS]SESSIONETC.COM
5.2 Using DECwindows Motif for OpenVMS
This section contains documentation corrections to the Using DECwindows Motif for OpenVMS
manual.
5.2.1 Corrections to the Example for Changing a Logo
V1.2
The example "Changing Your Logo" in the Using DECwindows Motif for OpenVMS is incorrect. To correct the problem, change the following code example in step one:
$ COPY SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_SETUP.TEMPLATE - _$ SYS$SPECIFIC:[SYSMANAGER]DECW$PRIVATE_APPS_SETUP.COM/LOG |
The code example should read as follows:
$ COPY SYS$COMMON:[SYSMGR]DECW$PRIVATE_APPS_SETUP.TEMPLATE - _$ SYS$SPECIFIC:[SYSMGR]DECW$PRIVATE_APPS_SETUP.COM/LOG |
This section contains documentation corrections and enhancements to the
DECwindows Motif for OpenVMS Applications Guide manual.
5.3.1 Clarifications to the Finish Printing Option
V1.2--3
In DECwindows Motif for OpenVMS Applications Guide, the section called "Printing Information" in the chapter on DECterm provides information about the Print menu. To further clarify the information in the Finish Printing section, note the following:
Selecting the Finish Printing option on the Print menu closes the print
job and toggles Auto Print mode back to Normal Print mode.
5.3.2 Correction to Adding Target Screen Options to Application Menu Items Example
V1.2
The example "Adding Target Screen Options to Application Menu Items" in DECwindows Motif for OpenVMS Applications Guide is incorrect. To correct the problem, remove the first occurrence of the following line:
$ select_qualifiers: |
This section contains documentation enhancements and corrections to the
DECwindows Motif for OpenVMS Guide to Non-C Bindings manual.
5.4.1 Access to GET_CHAR_STRUCT Function Correction
V1.2--3
The access related to the char_struct argument for the XLIB
GET_CHAR_STRUCT function is incorrectly documented in the
DECwindows Motif for OpenVMS Guide to Non-C Bindings. The correct access is write.
5.5 DECwindows Motif Guide to Application Programming
This section contains documentation corrections to the DECwindows Motif Guide to Application Programming
manual.
5.5.1 Location of UIL Source Code for the OpenVMS DECburger Sample Application
V1.2--3
In the DECwindows Motif Guide to Application Programming manual, the introduction to the section in Chapter
4 called "Creating the Help Widget with UIL" does not clearly
state that the complete UIL source code for the OpenVMS DECburger
application is included in DECW$EXAMPLES on OpenVMS systems.
5.5.2 Corrections to the Help Widget Documentation
V1.2--3
In the DECwindows Motif Guide to Application Programming manual, the following corrections should be noted:
This section contains documentation corrections to the DECwindows Extensions to Motif
manual.
5.6.1 Corrected List of DXmNlayoutDirection Resource Constants
V1.2--3
In the DECwindows Extensions to Motif, the section on the DXmNlayoutDirection Resource in Chapter 2 lists the following constants:
Note that the following constants are not currently available for the DXmNlayoutDirection resource:
Also note that the introduction to Table 2--1 is incorrect. Table 2--1 describes the effect of the constants DXmLAYOUT_LEFT_DOWN and DXmLAYOUT_RIGHT_DOWN on the functions.
V1.2
In Section 2.2 of the DECwindows Extensions to Motif manual, the description of DXmChildren indicates that the routine can be used to learn the length of widget_list.
The documentation is incorrect. The sentence should read, "You can use the DXmNumChildren routine to learn the length of the widget list returned by DXmChildren."
The release notes in this document are based on Chapter 3 of the OSF/Motif Release Notes for Release 1.2 and include a few other notes relevant to programmers developing Motif applications. Most of the notes describe changes made for Release 1.2. The first two notes discuss performance improvements and information about backward compatibility.
These release notes support the Motif software currently provided with
the HP DECwindows Motif for OpenVMS product.
A.1 Performance Improvements
The Open Software Foundation (OSF) set as its goal for OSF/Motif Release 1.2 to improve performance where possible and, at a minimum, to not allow it to degrade below the performance of OSF/Motif Release 1.1.
Performance testing was done in three areas:
The performance of user-perceptible events such as posting and unposting dialog boxes and pop-up menus are comparable or better than the performance for OSF/Motif Release 1.1.4. A significant improvement was made for scrolling inside a Scrolled Text region that contains a large amount of test.
Data space usage has improved throughout the OSF/Motif Toolkit, particularly for the Text widget. In some cases, data space usage has been reduced by as much as 40%. Also, the memory used for the text in a Text widget is now correctly reduced when that text is replaced by a smaller amount of text.
Memory leakage has been reduced to a minimum for multiple creates and destroys of all Toolkit widgets. Although the Motif tests showed small memory leaks, the OSF believes that this amount of memory is required as part of the startup overhead and is not a true memory leak.
The OSF did find some memory leaks that they plan to fix in a future
release. Three widgets---File Selection Box, Command, and Drawn Button
- leak approximately 500 bytes of memory per instance.
A.2 Backward Compatibility
The OSF tested OSF/Motif Release 1.2 for both link-time compatibility
as well as visual and behavioral compatibility.
A.2.1 Visual and Behavioral Compatibility
The OSF ran automated tests that compared current visuals with those recorded using OSF/Motif Release 1.1.4 libraries. Once all differences between the Release 1.2 and Release 1.1.4 versions were accounted for, the visuals were rerecorded using Release 1.2 visuals. These new recorded visuals were used in all subsequent tests.
The OSF believes that Motif Release 1.2 is visually and behaviorally compatible with Release 1.1.4. However, they have made extensive improvements to the Traversal and Geometry Management algorithms that result in some differences between those versions. These differences reflect efforts to fix defects in the earlier release.
For example, one such modification involves the new policy in which an
initial size set for a manager widget in an application is now honored
by the Toolkit. In OSF/Motif Release 1.1, applications set the initial
size for a manager widget, but did not, in fact, use that size. In
Release 1.2, Motif now uses that size setting and the initial layout is
changed accordingly.
A.3 Changes and New Features for OSF/Motif Release 1.2
This section summarizes changes and new features that the OSF has made to OSF/Motif Release 1.2. Detailed information about these modifications is contained in the Motif reference pages and the Motif Release 1.2 revisions of following books:
The following sections discuss the OSF/Motif Release 1.2 enhancements.
A.3.1 General Toolkit Changes
This section discusses the changes made to the overall OSF/Motif
Release 1.2 Toolkit.
A.3.1.1 Include File Changes
The following header files that were in OSF/Motif Release 1.1 are obsolete in Release 1.2:
ExtObject.h
Traversal.h
VaSimple.h
VendorE.h
VendorEP.h
A new public header file,
XmAll.h
, has been added to OSF/Motif Release 1.2. This header file includes
all the documented header files.
A.3.2 Change in XT Translations
As a result of fixing a problem in the XT translation code (Patch 25 for X11 R5), the translations in Xt are now handled strictly and no longer accept any possible match as they did before. This change has caused a change in the behavior of the QATS and Motif VTS test suites, which now make incorrect assumptions for certain keyboards, such as those that have the arrow keys defined in the keypad. Other Motif applications might be affected as well.
You can avoid this problem by creating a file to redefine the bindings for the keys in question and then passing that file to the xmodmap utility.
The following example changes the bindings for the keypad keys that match the arrow keys so that only the arrow keys are produced, not the keypad numbers. The new definitions allow the application to use modifiers with the arrow keys.
! ! Always force: ! KP_2 = Down ! KP_8 = Up ! KP_4 = Left ! KP_6 = Right keycode 120 = Down keycode 76 = Up keycode 98 = Left keycode 100 = Right |
All references to
caddr_t
have been changed to
XtPointer
. This change affects all callback routines and any other routines that
reference
caddr_t
. The OSF made this change so that OSF/Motif Release 1.2 would be
compliant with the ANSI C specification.
A.3.4 Display and Screen Specific Data
Motif now has an
XmDisplay
object that supports per-display data and resources. An
XmScreen
object has been added that supports per-screen data and resources.
A.3.5 Drag and Drop
OSF/Motif Release 1.2 supports the drag and drop metaphor for data interchange. The drag-and-drop specification has been fully implemented. See the Release 1.2 version of the OSF/Motif Programmer's Guide for information on the drag and drop interface.
If you want to use Btn2 to have pop-up menus pop up, drag and drop will not function properly. You need to disable drag and drop in such instances. |
With tear-off menus, the user can retain menus on the display area for subsequent selections. Each tearable menupane is a tear-off button. When the mouse drag button is pressed on the tear-off button, the pane tears off and can be dragged and then placed by releasing the mouse drag button. The window manager surrounds the tear-off menupane with a menu button and a title. Shifting focus to a torn-off menu's windowpane follows the standard window manager policy.
Tear-off behavior is enabled by setting the XmNtearOffModel resource to XmTEAR_OFF_ENABLED . (The default is XmTEAR_OFF_DISABLED ).
Note that there is no resource converter preregistered by XmNtearOffModel . To allow the tear-off function to be enabled through the resource database, an application must register its own resource converter for the XmNtearOffModel resource using the XmRepTypeInstallTearOffModelConverter function.
The converter is not automatically installed because many applications
use map or cascading callbacks to dynamically set the sensitivity of
items within their menus. However, if a tear-off menu is mapped, the
sensitivity of its menu items must be changed immediately to reflect
changes in other application states. Existing applications are unlikely
to change menu item sensitivity in this manner. Thus, allowing their
menus to be torn off could result in operations being enabled at
unexpected times. If a user activates one of these menu items, the
application can crash or the persistent data can be corrupted.
A.3.7 Insensitive Visuals
Motif provides visual indications to show whether a component can respond to input from users. Labels and buttons have had this behavior in previous Motif releases. In OSF/Motif Release 1.2, this behavior has been extended to the following widgets:
XmArrowButton
XmList
XmScrollBar
XmText
XmTextField
OSF/Motif Release 1.2 has made other visual changes as follows:
In OSF/Motif Release 1.2, you can specify a Title widget in a Frame widget. The release has added the following new constraint resources for specifying the position and alignment of the title in the Frame:
XmNchildHorizontalAlignment
XmNchildHorizontalSpacing
XmNchildType
XmNchildVerticalAlignment
The VendorShell has a new resource,
XmNaudibleWarning
, that can specify whether an audible cue should accompany a warning
message. Text widgets determine the value for this resource from the
value of
XmNaudibleWarning
.
A.3.11 Color Enhancements
The following three resources have been added to the XmScreen widget so that users can specify the default background color and thresholds for shadow calculation:
XmNlightThreshold
XmNdarkThreshold
XmNforegroundThreshold
Motif has added the
XmChangeColor
function that changes the background and other colors for a specified
widget.
A.3.12 Baseline Alignment
Motif has added two functions for baseline alignment. The
XmWidgetGetBaselines
function determines the position of the widget's text baseline. The
XmWidgetGetDisplayRect
function determines the size and position of the bounding box for the
widget's character string.
A.3.13 Expanded Traversal Set
In OSF/Motif Release 1.2, you can use more widgets to support traversal
using the keyboard. For example, inside a tab group, users can now use
the arrow keys to traverse to all control descendants that are not
contained within a nested tab group and that are eligible to receive
focus, even if the controls are not direct children of the tab group.
A.3.14 Two-Dimensional Menu Traversal
With OSF/Motif Release 1.2, the left, right, up, and down traversal
arrows now navigate within a menupane. The up and down arrow keys wrap
between columns. The right and left arrow keys post the previous or
next menupane when they are pressed in the rightmost and leftmost
column of the menupane, respectively.
A.3.15 Input Focus
OSF/Motif Release 1.2 has added the
XmNinitialFocus
resource to the Manager class. This resource specifies the first widget
to receive input focus. This resource can only specify a widget; it is
ignored for all pop-up menus, menubars, option menus, and pull-down
menus.
A.3.16 Traversal Access Functions
OSF/Motif Release 1.2 has added the following new functions to support better interaction with keyboard traversal:
XmGetFocusWidget
XmGetTabGroup
XmGetVisibility
XmIsTraversable
XmIsVisible
The XmTrackingLocate function has been modified to do the following:
In addition, the
XmTrackingEvent
function has been added. This function is similar to
XmTrackingLocate
, except that it returns a pointer to the X event.
A.3.17 Virtual Keys
OSF/Motif Release 1.2 has added the XmTranslateKey function that allows applications to override the default XtKeyProc to handle Motif virtual keys.
Motif defines two new virtual keysyms :
osfPageLeft
osfPageRight
You must have the X11 Release 5 XKeysymDB installed in /usr/lib/X11 to use these new virtual keys. Otherwise you get a warning message on application startup. Specify the following information in the XKeysymDB file:
osfPageLeft | :1004FF40 |
osfPageUp | :1004FF41 |
osfPageDown | :1004FF42 |
osfPageRight | :1004FF43 |
To comply with the OSF/Motif Style Guide, the default binding for osfMenu has been changed from <key>F4 to Shift<key>F10 .
In X11 Release 5, the HP keysyms in the XKeysymDB file have the prefix HP. This prefix is not reflected in the HP bindings file in the /bindings directory. If you are using an X11 Release 5 XKeysymDB file, you might see warning messages at application startup. To eliminate these warning messages, add the hp prefix as follows to the appropriate lines in the file:
osfDelete : | <key>hpDeleteChar |
osfInsert : | <key>hpInsertChar |
osfPrimaryPaste : | <key>hpInsertLine |
osfQuickPaste : | <key>hpDeleteLine |
OSF/Motif Release 1.2 has a new client, xmbind , that sets up the virtual bindings for use by Motif applications. Since virtual binding is automatically set up at Motif Window Manager (MWM) startup, you only need to use xmbind if MWM is not used or if you need to change the virtual bindings without restarting MWM.
Virtual bindings can now be specified by individual vendors. If there is no .motifbind file in the home directory, you can use the xmbind.alias file to provide a mapping from the server vendor name to the bindings file. You can set up user vendor bindings as well as system-wide vendor bindings.
Previous | Next | Contents | Index |