source: trunk/third/wcl/Xmp/Table.h @ 8837

Revision 8837, 4.3 KB checked in by ghudson, 28 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r8836, which included commits to RCS files with non-trunk default branches.
Line 
1#ifndef _XmpTable_h
2#define _XmpTable_h
3#include <X11/Xmp/COPY.h>
4#include <X11/Wc/PortableC.h>
5
6BEGIN_NOT_Cxx
7
8/*
9 * SCCS_data: %Z% %M% %I% %E% %U%
10 *
11 * XmpTable - Forms-based composite widget/geometry manager
12 *            Subclassed from Motif manager widgets
13 *
14 * Original Author:
15 *      David Harrison
16 *      University of California, Berkeley
17 *      1989
18 *
19 * Re-Implementation:
20 *      David E. Smyth          David.Smyth@SniAp.MchP.SNI.De
21 *      1992
22 *
23 * This file contains the XmpTable public declarations.
24 */
25 
26/*
27 * XmpTable Widget Parameters
28 *
29 * Name                 Class                   RepType       Default Value
30 *
31 * layout               Layout                  XmpTableLoc             NULL
32 * defaultOptions       DefaultOptions          XmpTableOpts            NULL
33 * sameWidth            SameSize                XrmNameListLists        NULL
34 * sameHeight           SameSize                XrmNameListLists        NULL
35 * sameBorder           SameSize                XrmNameListLists        NULL
36 * forceShrink          ForceShrink             Boolean                 True
37 * shrinkSimple         ShrinkSimple            Boolean                 True
38 * columnSpacing        Spacing                 int                     0
39 * rowSpacing           Spacing                 int                     0
40 *
41 * Inheritace Heirarchy (therefore see man pages for these widget types
42 * for additional resources):
43 * Core, Composite, Constraint (although no constraints are defined!),
44 * XmManager, XmBulletinBoard, XmpTable.
45 */
46
47#define XtNlayout               "layout"
48#define XtNdefaultOptions       "defaultOptions"
49#define XtNsameWidth            "sameWidth"
50#define XtNsameHeight           "sameHeight"
51#define XtNsameBorder           "sameBorder"
52#define XtNshrinkSimple         "shrinkSimple"
53#define XtNforceShrink          "forceShrink"
54#define XtNcolumnSpacing        "columnSpacing"
55#define XtNrowSpacing           "rowSpacing"
56
57#define XtCLayout               "Layout"
58#define XtCDefaultOptions       "DefaultOptions"
59#define XtCSameSize             "SameSize"
60#define XtCForceShrink          "ForceShrink"
61#define XtCShrinkSimple         "ShrinkSimple"
62#ifndef XtCSpacing
63#define XtCSpacing              "Spacing"
64#endif
65
66#define XtRXmpTableLoc          "XmpTableLoc"
67#define XtRXmpTableOpts         "XmpTableOpts"
68#define XtRXrmNameListLists     "XrmNameListLists"
69
70/*
71 * Option masks
72 */
73#define TBL_LEFT        (1<<0)
74#define TBL_RIGHT       (1<<1)
75#define TBL_TOP         (1<<2)
76#define TBL_BOTTOM      (1<<3)
77#define TBL_SM_WIDTH    (1<<4)
78#define TBL_SM_HEIGHT   (1<<5) 
79#define TBL_LK_WIDTH    (1<<6)
80#define TBL_LK_HEIGHT   (1<<7)
81
82#define TBL_DEF_OPT     -1
83
84/* resource types
85*/
86typedef int XmpTableOpts;
87typedef XrmName** XrmNameListLists;
88
89/*
90 * Opaque resource type, class, and instance records
91 */
92
93typedef struct _XmpTableLoc             *XmpTableLoc;
94typedef struct _XmpTableClassRec        *XmpTableWidgetClass;
95typedef struct _XmpTableRec             *XmpTableWidget;
96
97extern WidgetClass xmpTableWidgetClass;
98
99#define XmpIsTable(w) XtIsSubclass(w,xmpTableWidgetClass)
100
101/******************************************************************************
102** XmpTable Public Functions
103******************************************************************************/
104
105/* Support for new XmpTable data types
106*/
107extern XmpTableLoc  XmpTableLocParse  _(( char*         /*layout*/      ));
108extern void         XmpTableLocFree   _(( XmpTableLoc   /*to_free*/     ));
109extern XmpTableOpts XmpTableOptsParse _(( char*         /*opt_string*/  ));
110
111extern XrmName** XrmNameListListsParse  _(( char* ));
112extern void      XrmNameListListsFree   _(( XrmName** ));
113
114extern void XmpCvtStrToXmpTableOpts     _((     XrmValue*, Cardinal*,
115                                                XrmValue*, XrmValue* ));
116extern void XmpCvtStrToXmpTableLoc      _((     XrmValue*, Cardinal*,
117                                                XrmValue*, XrmValue* ));
118extern void XmpCvtStrToXrmNameListLists _((     XrmValue*, Cardinal*,
119                                                XrmValue*, XrmValue* ));
120
121/* Support for configuring children of an XmpTable
122*/
123extern void XmpTableChildPosition _((   Widget          /*child*/,
124                                        int             /*col*/,
125                                        int             /*row*/         ));
126
127extern void XmpTableChildResize _((     Widget          /*child*/,
128                                        int             /*col_span*/,
129                                        int             /*row_span*/    ));
130
131extern void XmpTableChildOptions _((    Widget          /*child*/,
132                                        XmpTableOpts    /*opts*/        ));
133
134extern void XmpTableChildConfig _((     Widget          /*child*/,
135                                        int             /*col*/,
136                                        int             /*row*/,
137                                        int             /*col_span*/,
138                                        int             /*row_span*/,
139                                        XmpTableOpts    /*opts*/        ));
140
141/* Constructors
142*/
143extern Widget XmpCreateTable    _((     Widget          /*parent*/,
144                                        char*           /*name*/,
145                                        ArgList         /*args*/,
146                                        Cardinal        /*numArgs*/     ));
147
148extern Widget XmpCreateTableDialog _((  Widget          /*parent*/,
149                                        char*           /*name*/,
150                                        ArgList         /*args*/,
151                                        Cardinal        /*numArgs*/     ));
152
153extern Widget XmpCreateTableTransient _(( Widget        /*parent*/,
154                                        char*           /*name*/,
155                                        ArgList         /*args*/,
156                                        Cardinal        /*numArgs*/     ));
157
158END_NOT_Cxx
159
160#endif /* _XmpTable_h */
161
Note: See TracBrowser for help on using the repository browser.