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: