home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / include / Xm / PanedWP.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-06-30  |  4.9 KB  |  156 lines

  1. /* 
  2.  * (c) Copyright 1989, 1990, 1991, 1992, 1993 OPEN SOFTWARE FOUNDATION, INC. 
  3.  * ALL RIGHTS RESERVED 
  4. */ 
  5. /* 
  6.  * Motif Release 1.2.2
  7. */ 
  8. /*   $RCSfile: PanedWP.h,v $ $Revision: 10.1 $ $Date: 1994/02/03 15:45:03 $ */
  9. /*
  10. *  (c) Copyright 1989, DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
  11. /*
  12. *  (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
  13. /*
  14. *  (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
  15. /*********************************************************************
  16.  *
  17.  * XmPanedWindowWidget Private Data
  18.  *
  19.  *********************************************************************/
  20.  
  21. #ifndef _XmPanedWP_h
  22. #define _XmPanedWP_h
  23.  
  24. #include <Xm/PanedW.h>
  25. #include <Xm/ManagerP.h>
  26.  
  27. #ifdef __cplusplus
  28. extern "C" {
  29. #endif
  30.  
  31. /* New fields for the PanedWindow widget class record */
  32.  
  33. typedef struct _XmPanedWindowClassPart
  34. {
  35.     XtPointer extension;
  36. } XmPanedWindowClassPart;
  37.  
  38.  
  39. /* Full Class record declaration */
  40.  
  41. typedef struct _XmPanedWindowClassRec {
  42.     CoreClassPart       core_class;
  43.     CompositeClassPart  composite_class;
  44.     ConstraintClassPart constraint_class;
  45.     XmManagerClassPart  manager_class;
  46.     XmPanedWindowClassPart     paned_window_class;
  47. } XmPanedWindowClassRec;
  48.  
  49. externalref XmPanedWindowClassRec xmPanedWindowClassRec;
  50.  
  51.  
  52. /* PanedWindow constraint record */
  53.  
  54. typedef struct _XmPanedWindowConstraintPart {
  55.     int        position;    /* position location in PanedWindow */
  56.     int        dheight;    /* Desired size */
  57.     Position    dy;        /* Desired Location */
  58.     Position    olddy;        /* The last value of dy. */
  59.     Dimension    min;        /* Minimum height */
  60.     Dimension    max;        /* Maximum height */
  61.     Boolean     isPane;         /* true if constraint of pane, false if
  62.                    constraint of sash */
  63.     Boolean    allow_resize;    /* TRUE iff child resize requests are ok */
  64.     Boolean    skip_adjust;    /* TRUE iff child's height should not be */
  65.                 /* changed without explicit user action. */
  66.     Widget    sash;        /* The sash for this child */
  67.     Widget    separator;    /* The separator for this child */
  68.     short       position_index; /* new 1.2 positionIndex resource */
  69.  
  70.  
  71. } XmPanedWindowConstraintPart;
  72.  
  73. typedef struct _XmPanedWindowConstraintRec 
  74. {
  75.     XmManagerConstraintPart manager;
  76.     XmPanedWindowConstraintPart  panedw;
  77. } XmPanedWindowConstraintRec, * XmPanedWindowConstraintPtr;
  78.  
  79.  
  80. /* New Fields for the PanedWindow widget record */
  81.  
  82. typedef struct {
  83.     /* resources */
  84.     Boolean     refiguremode;        /* Whether to refigure changes right now */
  85.     Boolean    separator_on;         /* make separator visible */
  86.  
  87.     Dimension      margin_width;         /* space between right and left edges of
  88.                     PanedWindow window and it's children */
  89.     Dimension      margin_height;         /* space between top and bottom edges of
  90.                     PanedWindow window and it's children */
  91.     Dimension   spacing;             /* whitespace between panes
  92.                         around window, else leave none */
  93.     /* sash modifying resources */
  94.     Dimension    sash_width;           /* Modify sash width */
  95.     Dimension    sash_height;           /* Modify sash height */
  96.     Dimension   sash_shadow_thickness; /* Modify sash shadow_thickness */
  97.  
  98.     Position    sash_indent;           /* Location of sashs (offset
  99.                                           from right margin)    */
  100.     /* private */
  101.     int         starty;               /* mouse origin when adjusting */
  102.  
  103.     short    increment_count;      /* Sash increment count */
  104.     short       pane_count;           /* number of managed panes */
  105.     short       num_slots;          /* number of avail. slots for children*/
  106.     short       num_managed_children; /* holds number of managed children */
  107.  
  108.     Boolean     recursively_called;    /* For change_managed AND creation of
  109.                     * private sash and separator
  110.                     * children
  111.                     */
  112.     Boolean     resize_at_realize;    /* For realize if GeometryNo condition */
  113.  
  114.     XmPanedWindowConstraintPtr top_pane;    /* pane closest to 0 index */
  115.     XmPanedWindowConstraintPtr bottom_pane; /* pane farthest away from 0 index*/
  116.  
  117.     GC          flipgc;               /* GC to use when animating borders */
  118.     WidgetList  managed_children;     /* keep track of managed children */
  119. #ifndef NO_IXI_ORIENTED_PANEDW
  120.     unsigned char orientation ; /* new pane orientation support */
  121. #endif
  122. } XmPanedWindowPart;
  123.  
  124. /**************************************************************************
  125.  *
  126.  * Full instance record declaration
  127.  *
  128.  **************************************************************************/
  129.  
  130. typedef struct _XmPanedWindowRec {
  131.     CorePart       core;
  132.     CompositePart  composite;
  133.     ConstraintPart constraint;
  134.     XmManagerPart  manager;
  135.     XmPanedWindowPart   paned_window;
  136. } XmPanedWindowRec;
  137.  
  138.  
  139. /********    Private Function Declarations    ********/
  140. #ifdef _NO_PROTO
  141.  
  142.  
  143. #else
  144.  
  145.  
  146. #endif /* _NO_PROTO */
  147. /********    End Private Function Declarations    ********/
  148.  
  149.  
  150. #ifdef __cplusplus
  151. }  /* Close scope of 'extern "C"' declaration which encloses file. */
  152. #endif
  153.  
  154. #endif /* _XmPanedWP_h */
  155. /* DON'T ADD ANYTHING AFTER THIS #endif */
  156.