1 /* $XConsortium: TabBP.h /main/4 1995/07/15 20:42:11 drk $ */
2 /*
3  * Motif
4  *
5  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
6  *
7  * These libraries and programs are free software; you can
8  * redistribute them and/or modify them under the terms of the GNU
9  * Lesser General Public License as published by the Free Software
10  * Foundation; either version 2 of the License, or (at your option)
11  * any later version.
12  *
13  * These libraries and programs are distributed in the hope that
14  * they will be useful, but WITHOUT ANY WARRANTY; without even the
15  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16  * PURPOSE. See the GNU Lesser General Public License for more
17  * details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with these librararies and programs; if not, write
21  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
22  * Floor, Boston, MA 02110-1301 USA
23  */
24 /*
25  * HISTORY
26  */
27 
28 /*******************************************************************************
29  *
30  * TabBP.h: The widget private header file for the ExmTabButton demonstration
31  *          widget.
32  *
33  ******************************************************************************/
34 
35 /* Ensure that the file be included only once. */
36 #ifndef _ExmTabBP_h
37 #define _ExmTabBP_h
38 
39 /* Include appropriate files. */
40 #include <Exm/TabB.h> /* public header file for ExmTabButton */
41 #include <Exm/CommandBP.h> /* private header file for ExmCommandButton */
42 
43 /* Allow for C++ compilation. */
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
48 /* This widget does not provide any inheritable methods. */
49 
50 
51 /* Define the widget class part. */
52 typedef struct _ExmTabButtonClassPart
53 {
54         XtPointer		extension;
55 } ExmTabButtonClassPart;
56 
57 
58 /* Define the full class record. */
59 typedef struct _ExmTabButtonClassRec
60 {
61 	CoreClassPart		core_class;
62 	XmPrimitiveClassPart	primitive_class;
63 	ExmSimpleClassPart	simple_class;
64 	ExmStringClassPart	string_class;
65 	ExmCommandButtonClassPart command_button_class;
66 	ExmTabButtonClassPart   tab_button_class;
67 } ExmTabButtonClassRec;
68 
69 /* Define the subclassing level index to be used with ResolvePartOffset */
70 #define ExmTabButtonIndex (ExmCommandButtonIndex + 1)
71 
72 /* Make the full class record externally accessible. */
73 externalref ExmTabButtonClassRec exmTabButtonClassRec;
74 
75 
76 /* Define the widget instance part. */
77 typedef struct _ExmTabButtonPart
78 {
79  /* Provide space for the one resource of ExmTabButton. */
80 	XtEnum  open_side;
81  /* Provide space for the size of the join shadow_thickness */
82 	Dimension join_shadow_thickness;
83 } ExmTabButtonPart;
84 
85 
86 /* Define the full instance record. */
87 typedef struct _ExmTabButtonRec
88 {
89 	CorePart		core;
90 	XmPrimitivePart		primitive;
91 	ExmSimplePart		simple;
92 	ExmStringPart		string;
93 	ExmCommandButtonPart	command_button;
94 	ExmTabButtonPart	tab_button;
95 } ExmTabButtonRec;
96 
97 /* Allow for C++ compilation. */
98 #ifdef __cplusplus
99 } /* Close scope of 'extern "C"' declaration which encloses file. */
100 #endif
101 
102 
103 /* Ensure that the file be included only once. */
104 #endif /* _ExmTabBP_h */
105 /* DON'T ADD ANYTHING AFTER THIS #endif */
106