1 /*
2  * Motif
3  *
4  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22 */
23 /********************************************
24  *
25  *   No new fields need to be defined
26  *   for the Toggle widget class record
27  *
28  ********************************************/
29 
30 #ifndef _XmToggleButtonP_h
31 #define _XmToggleButtonP_h
32 
33 #include <Xm/ToggleB.h>
34 #include <Xm/LabelP.h>
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 typedef struct _XmToggleButtonClassPart
41  {
42    XtPointer extension;   /* Pointer to extension record */
43  } XmToggleButtonClassPart;
44 
45 
46 /****************************************************
47  *
48  * Full class record declaration for Toggle class
49  *
50  ****************************************************/
51 typedef struct _XmToggleButtonClassRec {
52     CoreClassPart	  	core_class;
53     XmPrimitiveClassPart  	primitive_class;
54     XmLabelClassPart      	label_class;
55     XmToggleButtonClassPart	toggle_class;
56 } XmToggleButtonClassRec;
57 
58 
59 externalref XmToggleButtonClassRec xmToggleButtonClassRec;
60 
61 
62 /********************************************
63  *
64  * No new fields needed for instance record
65  *
66  ********************************************/
67 
68 typedef struct _XmToggleButtonPart
69 {
70    unsigned char	ind_type;
71    Boolean		visible;
72    Dimension		spacing;
73    Dimension		indicator_dim;
74    Boolean		indicator_set;
75    Pixmap		on_pixmap;
76    Pixmap		insen_pixmap;
77    unsigned char	set;
78    unsigned char	visual_set; /* used for visuals and does not reflect
79                                         the true state of the button */
80    unsigned char	ind_on;
81    Boolean		fill_on_select;
82    Pixel		select_color;
83    GC			select_GC;
84    GC			background_gc;
85    GC                   arm_GC;    /* used in menus when enableEtchedInMenu
86 				      is set. */
87    XtCallbackList 	value_changed_CB,
88                         arm_CB,
89                         disarm_CB;
90    Boolean      	Armed;
91    unsigned char        toggle_mode;
92    Boolean		reversed_select;
93    Pixmap               indeterminate_pixmap;
94    Pixmap               indeterminate_insensitive_pixmap;
95    Pixel                unselect_color;
96    GC                   unselect_GC;
97    GC                   indeterminate_GC;
98    GC                   indeterminate_box_GC;
99    Dimension		ind_left_delta;
100    Dimension		ind_right_delta;
101    Dimension		ind_top_delta;
102    Dimension		ind_bottom_delta;
103    Dimension detail_shadow_thickness ;
104 } XmToggleButtonPart;
105 
106 
107 
108 /****************************************************************
109  *
110  * Full instance record declaration
111  *
112  ****************************************************************/
113 
114 typedef struct _XmToggleButtonRec {
115     CorePart	        core;
116     XmPrimitivePart     primitive;
117     XmLabelPart		label;
118     XmToggleButtonPart  toggle;
119 } XmToggleButtonRec;
120 
121 
122 /********    Private Function Declarations    ********/
123 
124 
125 /********    End Private Function Declarations    ********/
126 
127 
128 #ifdef __cplusplus
129 }  /* Close scope of 'extern "C"' declaration which encloses file. */
130 #endif
131 
132 #endif /* _XmToggleButtonP_h */
133 /* DON'T ADD ANYTHING AFTER THIS #endif */
134