Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ SgSpringBox(3X) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     SgSpringBox(3X)           UNIX System V           SgSpringBox(3X)



     NAME
          SgSpringBox - The SgSpringBox widget class

     SYNOPSIS
          #include <Sgm/SgSpringBox.h>


     VERSION
          This page documents the version of Sgm that accompanies
          Motif 1.2.

     DESCRIPTION
          SgSpringBox is a container widget with no input semantics of
          its own. It arranges its children in a single row or column
          based on a set of spring constraints assigned to each child.
          The SgSpringBox widget allows layouts similar to those
          supported by the XmForm widget, but are usually easier to
          set up. It is also possible to create some layouts that
          cannot be achieved with the XmForm widget. For example,
          centering a column of widgets is very easy to do with the
          SgSpringBox widget, but nearly impossible using the XmForm.

          Each child of an SgSpringBox widget has 6 constraints
          associated with it.  First, each child has a "springyness"
          in both the vertical and horizontal direction that
          determines how much the child may be resized in each
          direction.

          The resources XmNverticalSpring and XmNhorizontalSpring
          control the degree of "springyness" in each child. A value
          of zero means the child cannot be resized in that direction.
          For non-zero values, the values are compared to the values
          of other springs in the overall system to determine the
          proportional effects of any resizing. The default value of
          both resources is zero.

          Each child also has a spring between its left, right, top,
          and bottom sides and whatever boundary it is adjacent to. By
          default, the value of each of these springs is 50. A value
          of zero means that the SgSpringBox widget cannot add
          additional space adjacent to that part of a widget. Larger
          values are considered in relation to all other spring values
          in the system.

          The behavior of the widget is best seen by example. The
          following code places two widget in a single column. With
          the default resource settings, this results in both chidlren
          being centered in the parent, one above the other.

          void createCenteredWidgets(Widget parent)
           {
               Arg args[2];



     Page 1                                          (printed 1/22/99)





     SgSpringBox(3X)           UNIX System V           SgSpringBox(3X)



               Widget springbox, child1, child2;

               XtSetArg(args[0], XmNorientation, XmVERTICAL);
               springbox   = SgCreateSpringBox( parent, "column",
          args, 1 );

               child1 =  XmCreatePushButton ( box, "child1", NULL, 0
          );
               child2 =  XmCreatePushButton ( box, "child2", NULL, 0
          );

               XtManageChild(child1);
               XtManageChild(child2);
               XtManageChild(springbox);
           }


          This example creates two widgets in a horizontal row. As the
          row is resized, the widget gravitates to the left and right
          sides of the row. The leftmost child also hangs from the top
          of its parent, while the rightmost widget gravitates to the
          bottom of its parent.

          void createCenteredWidgets(Widget parent) {
             Arg args[5];
             int n;
             Widget springbox, child1, child2;

             n = 0;
             XtSetArg(args[n], XmNorientation, XmCOLUMN);n++
             springbox   = SgCreateSpringBox( parent, "column", args,
          1 );

             n = 0;
             XtSetArg(args[n], XmNrightSpring,  0);n++
             XtSetArg(args[n], XmNleftSpring,   100);n++
             XtSetArg(args[n], XmNbottomSpring,   0);n++
             XtSetArg(args[n], XmNtopSpring,    100);n++
             child1 =  XmCreatePushButton ( box, "child1", args, n);

             n = 0;
             XtSetArg(args[n], XmNrightSpring,  100);n++
             XtSetArg(args[n], XmNleftSpring,     0);n++
             XtSetArg(args[n], XmNbottomSpring, 100);n++
             XtSetArg(args[n], XmNtopSpring,      0);n++
             child2 =  XmCreatePushButton ( box, "child2", args, n);

             XtManageChild(child1);
             XtManageChild(child2);
             XtManageChild(springbox); }

          Following are some important considerations in using a



     Page 2                                          (printed 1/22/99)





     SgSpringBox(3X)           UNIX System V           SgSpringBox(3X)



          SgSpringBox:

               Unmapping a child has no effect on the SgSpringBox
               except that the child is not mapped.

     Classes
          SgSpringBox inherits behavior and resources from Core,
          Composite, Constraint, XmManager, and XmBulletinBoard
          classes.

          The class pointer is sgSpringBoxWidgetClass.

          The class name is SgSpringBox.

     New Resources
          The following table defines a set of widget resources used
          by the programmer to specify data.  The programmer can also
          set the resource values for the inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XmN or XmC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the Xm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (C), set by using
          XtSetValues (S), retrieved by using XtGetValues (G), or is
          not applicable (N/A).

                            SgSpringBox Resource Set
         Name             Class            Type   Default        Access
         ______________________________________________________________
         XmNorientation   XmCOrientation   int    XmHORIZONTAL   CG

                      SgSpringBox Constraint Resource Set
           Name                  Class       Type   Default   Access
           _________________________________________________________
           XmNleftSpring         XmCSpring   int    50        CSG
           XmNrightSpring        XmCSpring   int    50        CSG
           XmNtopSpring          XmCSpring   int    50        CSG
           XmNbottomSpring       XmCSpring   int    50        CSG
           XmNverticalSpring     XmCSpring   int    0         CSG
           XmNhorizontalSpring   XmCSpring   int    0         CSG

        XmNleftSpring
               Determines the stretchability of the space adjacent to
               the left side of the widget. The larger the value, the
               more this space can be resized relative to other
               "springs" contained in the SgSpringBox widget.

        XmNrightSpring
          Determines the stretchability of the space adjacent to the



     Page 3                                          (printed 1/22/99)





     SgSpringBox(3X)           UNIX System V           SgSpringBox(3X)



          right side of the widget. The larger the value, the more
          this space can be resized relative to other "springs"
          contained in the SgSpringBox widget.

        XmNtopSpring
          Determines the stretchability of the space adjacent to the
          top side of the widget. The larger the value, the more this
          space can be resized relative to other "springs" contained
          in the SgSpringBox widget.

        XmNbottomSpring
          Determines the stretchability of the space adjacent to the
          bottom side of the widget. The larger the value, the more
          this space can be resized relative to other "springs"
          contained in the SgSpringBox widget.

        XmNverticalSpring
          Determines the stretchability of the widget in the vertical
          direction.  The larger the value, the more this space can be
          resized relative to other "springs" contained in the
          SgSpringBox widget.

        XmNhorizontalSpring
          Determines the stretchability of the widget in the
          horizontal direction.  The larger the value, the more this
          space can be resized relative to other "springs" contained
          in the  SgSpringBox widget.

     Inherited Resources
          SgSpringBox inherits behavior and resources from the
          following superclasses.  For a complete description of each
          resource, refer to the man page for that superclass.

                               XmBulletinBoard Resource Set
     Name                  Class                Type             Default        Access
     _________________________________________________________________________________
     XmNallowOverlap       XmCAllowOverlap      Boolean          True           CSG
     XmNautoUnmanage       XmCAutoUnmanage      Boolean          True           CG
     XmNbuttonFontList     XmCButtonFontList    XmFontList       dynamic        CSG
     XmNcancelButton       XmCWidget            Widget           NULL           SG
     XmNdefaultButton      XmCWidget            Widget           NULL           SG
     XmNdefaultPosition    XmCDefaultPosition   Boolean          True           CSG
     XmNdialogStyle        XmCDialogStyle       unsigned char    dynamic        CSG
     XmNdialogTitle        XmCDialogTitle       XmString         NULL           CSG
     XmNfocusCallback      XmCCallback          XtCallbackList   NULL           C
     XmNlabelFontList      XmCLabelFontList     XmFontList       dynamic        CSG
     XmNmapCallback        XmCCallback          XtCallbackList   NULL           C
     XmNmarginHeight       XmCMarginHeight      Dimension        0              CSG
     XmNmarginWidth        XmCMarginWidth       Dimension        0              CSG
     XmNnoResize           XmCNoResize          Boolean          False          CSG





     Page 4                                          (printed 1/22/99)





     SgSpringBox(3X)           UNIX System V           SgSpringBox(3X)



     XmNresizePolicy       XmCResizePolicy      unsigned char    XmRESIZE_ANY   CSG
     XmNshadowType         XmCShadowType        unsigned char    XmSHADOW_OUT   CSG
     XmNtextFontList       XmCTextFontList      XmFontList       dynamic        CSG
     XmNtextTranslations   XmCTranslations      XtTranslations   NULL           C
     XmNunmapCallback      XmCCallback          XtCallbackList   NULL           C


                                             XmManager Resource Set
     Name                    Class                         Type                Default                Access
     _______________________________________________________________________________________________________
     XmNbottomShadowColor    XmCBottomShadowColor          Pixel               dynamic                CSG
     XmNbottomShadowPixmap   XmCBottomShadowPixmap         Pixmap              XmUNSPECIFIED_PIXMAP   CSG
     XmNforeground           XmCForeground                 Pixel               dynamic                CSG
     XmNhelpCallback         XmCCallback                   XtCallbackList      NULL                   C
     XmNhighlightColor       XmCHighlightColor             Pixel               dynamic                CSG
     XmNhighlightPixmap      XmCHighlightPixmap            Pixmap              dynamic                CSG
     XmNinitialFocus         XmCInitialFocus               Widget              dynamic                CSG
     XmNnavigationType       XmCNavigationType             XmNavigationType    XmTAB_GROUP            CSG
     XmNshadowThickness      XmCShadowThickness            Dimension           dynamic                CSG
     XmNstringDirection      XmCStringDirection            XmStringDirection   dynamic                CG
     XmNtopShadowColor       XmCBackgroundTopShadowColor   Pixel               dynamic                CSG
     XmNtopShadowPixmap      XmCTopShadowPixmap            Pixmap              dynamic                CSG
     XmNtraversalOn          XmCTraversalOn                Boolean             True                   CSG
     XmNunitType             XmCUnitType                   unsigned char       dynamic                CSG
     XmNuserData             XmCUserData                   Pointer             NULL                   CSG


                             Composite Resource Set
     Name                Class               Type          Default   Access
     ______________________________________________________________________
     XmNchildren         XmCReadOnly         WidgetList    NULL      G
     XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
     XmNnumChildren      XmCReadOnly         Cardinal      0         G


                                                   Core Resource Set
     Name                            Class                           Type             Default                Access
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                N/A
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        0                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C





     Page 5                                          (printed 1/22/99)





     SgSpringBox(3X)           UNIX System V           SgSpringBox(3X)



     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG


        Translations
          qSgSpringBox inherits translations from XmBulletinBoard.

     RELATED INFORMATION
          Composite(3X), Constraint(3X), Core(3X),
          XmBulletinBoard(3X), SgCreateGrid, SgCreateGridDialog(3X),
          and XmManager(3X).







































     Page 6                                          (printed 1/22/99)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026