This section discusses the widgets available for Solaris CDE application development, as an extension to Solaris Motif.
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 |
---|---|
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. |
|
Combination of TextField and pop-up list widgets that provides a list of valid choices for the TextField. Can be read-only. |
|
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.
The Solaris CDE software supports all Motif 1.2 widgets.
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.
The Solaris CDE software does not guarantee strict API or binary compatibility between its widgets and the Motif 2.1 widgets.
The library libDtWidget provides access to the DtSpinBox, DtComboBox, and DtMenuButton widgets. The libDtWidget header files for these widgets are:
Dt/SpinBox.h
Dt/ComboBox.h
Dt/MenuButton.h
You can find the Solaris Motif control widgets demos in /usr/dt/examples/dtwidget. Read the README file for detailed information on the demos.
For more information on Solaris Motif control widgets, see the relevant man pages and Solaris Common Desktop Environment: Programmer's Guide.
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 runtime 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 runtime terminal.
The libDtTerm library includes a set of convenience functions to create, access, and support the DtTerm widget.
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.
You can find the DtTerm demos in /usr/dt/examples/dtterm. See the README file for detailed information on the demos.
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.
The CDE text editing system consists of two components:
The Text Editor application, which provides editing services through graphical, action, and ToolTalk interfaces
The editor widget, DtEditor, which provides a programmatic interface for the following editing services:
Cut and paste
Search and replace
Simple formatting
Spell checking (for 8-bit locales)
Undo previous edit
Enhanced I/O handling capabilities that support input and output of ASCII text, multibyte text, and buffers of data
Support for reading and writing files directly
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:
You need the functionality, such as spell checking, undo, and find/change, that is provided by the DtEditor widget.
You want users to be able to read and write data to and from a file.
When your program does not need to edit the text while the widget has control of the text.
The DtEditor widget is in the libDtWidget library. The header file is Dt/Editor.h.
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.
For more information on the Text Editor widget, see the relevant man pages and Solaris Common Desktop Environment: Programmer's Guide.