Solaris Common Desktop Environment: Motif Transition Guide

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:

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.


Compatibility with Motif 2.1

The APIs of the DtSpinBox and DtComboBox widgets are similar to the Motif 2.1 release of XmSpinBox and XmComboBox widgets. The APIs are designed so an application can easily switch to the Motif 2.1 version of these widgets. The main thing you need to do to switch is to change the Dt names for the class, types, and creation routines to Xm.

This information is supplied in case you choose to port your application to Motif 2.1 but this is not a recommendation that you do so.


Note -

The Solaris CDE software does not guarantee strict API or binary compatibility between its widgets and the Motif 2.1 widgets.


Library and Header Files

The library libDtWidget provides access to the DtSpinBox, DtComboBox, and DtMenuButton widgets. The libDtWidget header files for these widgets are:

Demo Programs

You can find the Solaris Motif control widgets demos in /usr/dt/examples/dtwidget. Read the README file for detailed information on the demos.

Related Documentation

For more information on Solaris Motif control widgets, see the relevant man pages and Solaris Common Desktop Environment: Programmer's Guide.

CDE Terminal Widget

The DtTerm widget is part of the Solaris CDE development environment. It provides the functionality required to emulate an ANSI X3.64-1979-style terminal (specifically a DEC\256 VT220-like terminal with extensions). The Terminal widget library, libDtTerm, provides the DtTerm widget for adding a terminal window to a GUI. If you include a terminal in your application, use Solaris Motif widgets to add display enhancements to it such as pop-up menus and scrollbars.

The Solaris CDE Terminal application, which is a part of the run-time environment, is a window that behaves as a terminal, enabling access to traditional terminal-based applications from within the desktop. The DtTerm widget is the foundation for the desktop run-time terminal.

The libDtTerm library includes a set of convenience functions to create, access, and support the DtTerm widget.

Library and Header Files

The libDtTerm library provides a set of widgets based on Motif for designing a terminal or for adding a terminal window to a GUI.

Include the Dt/Term.h header file to access libDtTerm APIs in your application.

Demo Programs

You can find the DtTerm demos in /usr/dt/examples/dtterm. See the README file for detailed information on the demos.

Related Documentation

For more information on the DtTerm widget, see the relevant man pages.

For more information on the desktop terminal application, see the terminal help volume, the relevant man pages, or Solaris Common Desktop Environment: User's Guide.

Text Editor Widget

The CDE text editing system consists of two components:

Although the Motif text widget also provides a programmatic interface, applications that want to assure a system-wide uniform editor should use the DtEditor widget. The CDE Text Editor and Mailer applications use the editor widget. Use this widget in the following circumstances:

Library and Header Files

The DtEditor widget is in the libDtWidget library. The header file is Dt/Editor.h.

Demo Programs

A demo containing an example of the DtEditor widget (editor.c) is in /usr/dt/examples/dtwidget directory. Read the README file for detailed information on the demo.

Related Documentation

For more information on the Text Editor widget, see the relevant man pages and Solaris Common Desktop Environment: Programmer's Guide.