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: