Sun Microsystems Logo
Products and Services
 
Support and Training
 
 

Previous Previous     Contents     Index     Next Next
Chapter 3

Solaris Motif Toolkits

This chapter provides some information about Solaris 2.6 Motif and IXI Motif, and introduces the widgets available for Solaris CDE application development.

Motif Toolkits in Solaris Software

This section discusses the Solaris 2.6 Motif and IXI Motif toolkits. For a summary of the differences between the Motif toolkits available for Solaris application development, see Summary of Motif Toolkits.

Solaris 7 Motif

Solaris 7 Motif: Based on The Open Group's Motif 2.1 with additional bug fixes and enhancements. The Solaris 7 software always includes the Motif toolkit.

Enhancements to Existing Motif 2.1 Functionality

The Solaris Motif library contains minor enhancements to Motif 2.1 usability to emulate certain OPEN LOOK user interface and Microsoft® Windows features. The usability enhancements include:

  • Optionally allowing mouse button 2 on a three-button mouse to be used to extend the current selection. This is equivalent to the OPEN LOOK Adjust function.

  • Allowing mouse button 3 to activate a CascadeButton menu (for OPEN LOOK compatibility).

  • Ability to re-map keybindings to be consistent with those for OPEN LOOK or Microsoft Windows applications.

Solaris CDE Libraries for Motif

Motif Library (libXm)

Solaris CDE provides all the Motif 1.2.5 header files. The Solaris CDE libraries for Motif are the Motif 1.2.5 libraries with bug fixes and enhancements.

Motif UIL library (libUill)

The Motif user interface language (UIL) is a specification language for describing the initial state of a Motif application's user interface. The CDE version of the Motif UIL library is essentially unchanged from the Motif 1.2.5 version.

Include the UilDef.h header file (found in the /usr/dt/include/uil directory) to access UIL.

Motif Resource Manager Library (libMrm)

The Motif resource manager (MRM) is responsible for creating widgets based on definitions contained in user interface definition (UID) files created by the UIL compiler. MRM interprets the output of the UIL compiler and generates the appropriate argument lists for widget creation functions. Use libMrm to access the Motif resource manager. The CDE version is essentially unchanged from the Motif version.

Include the Mrm/MrmPublic.h header files to access libMrm in your application.

Related Documentation

See the OSF/Motif Programmer's Reference for information on UIL, the UIL compiler, UID, and Mrm.

IXI Motif 1.2.2 Toolkit

The IXI Motif 1.2.2 toolkit, which was available for Solaris 2.3 software development, contains some incompatibilities with standard OSF/Motif 1.2.2. These features are not part of the OSF/Motif 1.2 specification, and are not present in the Solaris 2.4 and later Motif toolkits.

XmList convenience functions

The following are the nonstandard functions in IXI Motif. Remove them from your application code if you have used them:

  • XmListRecolorItem()

  • XmListRecolorPos()

  • XmListSetClientDataPos()

  • XmListSetClientDatasPos()

XmForm widget

The XmForm widget implementation in IXI Motif and OSF/Motif 1.2.2 are different, although the APIs are identical. Hence, applications linked with IXI Motif can exhibit minor behavioral or visual differences in the XmForm widget when they are re-linked with OSF/Motif.

The Solaris Motif toolkits use the OSF/Motif XmForm widget implementation, which is binary compatible with the OSF/Motif 1.2.2, but not the IXI Motif, XmForm widget.

Complex Text Layout (CTL) Support

Solaris 7 software supports the five new CTL widgets introduced by Motif 2.1. This is achieved by a single binary developed on the Solaris 7 operating environment that provides advanced and standard support for Hebrew, Arabic and Thai customers.

The following new Motif widgets are supported.

  • XmNotebook is a full featured widget that provides functionality similar to a notebook or "tab" widget

  • XmContainer is a full featured GUI icon "tree" display widget

  • XmSpinBox is a user control to increase and decrease a numerical text field

  • XmScale widget has changed to provide a new vertical display

Widgets Available for CDE Application Development

This section discusses the widgets available for Solaris CDE application development, as an extension to Solaris Motif.

Solaris Motif Control Widgets

The Solaris Motif control widgets are designed to ease porting OPEN LOOK applications to the Solaris CDE desktop by providing equivalent functionality in Solaris Motif. These widgets are not considered to be part of Solaris Motif, but rather an extension to Solaris Motif. The libDtWidget library contains widgets and functions that are used to provide common functionality across all CDE applications. The widgets provided include:

Table 3-1 CDE Control Widgets

Widget Name

Description

DtSpinBox

TextField widget with additional controls for incrementing and decrementing numeric values, or browsing through and selecting from a list of text strings. Can be read-only. DtSpinBox is functionally similar to the OPEN LOOK numeric text field.

DtComboBox

Combination of TextField and pop-up list widgets that provides a list of valid choices for the TextField. Can be read-only.

DtMenuButton

Command widget that provides the menu cascading functionality of an XmCascadeButton widget outside of a menu bar, or a menu pane. DtMenuButton is functionally equivalent to the OPEN LOOK menu button.

Examples of each type of widget follow:

  • Text field and arrow button widget (DtSpinBox)

  • Text field and list box widget (DtComboBox)

  • Menu button widget (DtMenuButton)

The DtComboBox custom widget calls the Selection Callback of the Combo Box widget, instead of the List widget, when the browseSelectCallback or the defaultActionCallback is triggered for the List widget of a Combo Box.

This action may cause failure for applications that rely on the List widget Selection callback to be called when the List widget's browseSelectCallback or defaultActionCallback is triggered.


Note - The Solaris CDE software supports all Motif 1.2 widgets.


Previous Previous     Contents     Index     Next Next
 

Updated: 2003-09-29, 21:37