DOCUMENT ID: 1024-02
SYNOPSIS: OLIT VS MOTIF
OS RELEASE: Solaris
PRODUCT:
KEYWORDS: OLIT OSF Motif
DESCRIPTION:
What are the major differences between OLIT and OSF Motif?
SOLUTION:
Both OLIT and Motif share the Intrinsics API which allows much of the
GUI source code to be shared. Following is a list of common
widgets/features which can be ported (in groups pertaining to difficulty
in porting from Motif 1.1.1 to OLIT3.0), followed by a list of areas
where the toolkits diverge and require more work to support both.
COMMON WIDGETS
Motif Widget <<-->> OLIT Widget
---------------- ------------------
[relatively easy]
XmBulletinBoard BulletinBoard
XmDrawingArea DrawArea
XmScrolledWindow ScrolledWindow
XmCascadeButton MenuButton
XmPushButton OblongButton
XmScale Slider
XmLabel StaticText
XmToggleButton RectButton/CheckBox
[more difficult]
XmForm Form
XmRowColumn ControlArea
XmMessageBox NoticeShell
XmDialogShell PopupWindowShell
XmMenuShell MenuShell
XmScrollbar ScrollBar
[lots of work!]
XmList ScrollingList
XmText TextEdit
XmTextField TextField
MOTIF-ONLY Widgets
Motif 1.1.1 Widget OLIT3.0 workaround
----------------- ------------------
XmArrowButton Create an OblongButton with an arrow
Ximage label
XmCommand Build composite out of existing OLIT
widgets
XmDrawnButton Difficult to implement in OLIT
XmFileSelectionBox Build composite out of existing oLIT
widgets
XmFrame Use Expose event handlers to render
outline
XmLabelGadget No text gadget in OLIT (use Xlib text
rendering)
XmMainWindow Build composite out of existing OLIT
widgets
XmPanedWindow Difficult to implement in OLIT (need to
subclass)
XmSelectionBox Build composite out of existing OLIT
widgets
XmSeparator Use DrawArea and render line in Xlib
OLIT-ONLY Widgets
OLIT 3.0 Widget Motif1.1.1 workaround
-------------- ---------------------
AbbrevMenuButton Use XmCascadeButton instead
CheckBox No equivelent in Motif (must use
XmToggleButton)
DropTarget No equivelent in Motif
FooterPanel Build out of existing Motif containers
Flat Widgets No Motif equivelents (must use Radio
Box)
Gauge No Motif equivelent
RubberTile No Motif equivelent (Use Form or
RowColumn)
Stub No Motif equivelent
MOTIF-ONLY Features
Motif 1.1.1 Feature OLIT3.0 Workaround
------------------ ------------------
UIL Support No equivelent
ClipBoard Routines Must use Xt & Selections to manipulate
clipboard
Widget Creation
Routines Use XtCreate*Widget() instead
Compound Strings No equivelent (convert to ascii strings
if compound strings not required)
OLIT-ONLY Features
OLIT 3.0 Feature Motif1.1.1 Workaround
--------------- ---------------------
DevGuide/GIL Support No equivelent
OW V3 Drag&Drop Must program in D&D at X11 level
Dynamic Resources No Motif equivelent
OnSpot Help Must build help system from
existing widgets
Error Handling Routines Must use Xt/X11 error handling
InputFocus Routines Must use Xt input focus
manipulation & TabGroups
DATE APPROVED: