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  *  TearOffBP.h - Private definitions for TearOffButton widget
25  *  (Used by RowColumn Tear Off Menupanes)
26  *
27  */
28 
29 #ifndef _XmTearOffBP_h
30 #define _XmTearOffBP_h
31 
32 #include <Xm/PushBP.h>
33 
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37 
38 /*****************************************************************************
39  *
40  * TearOffButton Widget Private Data
41  *
42  *****************************************************************************/
43 
44 /* New fields for the TearOffButton widget class record */
45 typedef struct _XmTearOffButtonClassPart
46 {
47     String translations;
48 } XmTearOffButtonClassPart;
49 
50 /* Full Class record declaration */
51 typedef struct _XmTearOffButtonClassRec {
52     CoreClassPart         core_class;
53     XmPrimitiveClassPart  primitive_class;
54     XmLabelClassPart      label_class;
55     XmPushButtonClassPart pushbutton_class;
56     XmTearOffButtonClassPart    tearoffbutton_class;
57 } XmTearOffButtonClassRec;
58 
59 typedef struct _XmTearOffButtonClassRec *XmTearOffButtonWidgetClass;
60 
61 externalref XmTearOffButtonClassRec xmTearOffButtonClassRec;
62 
63 /* New fields for the TearOffButton widget record */
64 typedef struct {
65    Dimension      margin;
66    unsigned char  orientation;
67    unsigned char separator_type;
68    GC separator_GC;
69    Boolean 	set_recompute_size;
70 } XmTearOffButtonPart;
71 
72 /*****************************************************************************
73  *
74  * Full instance record declaration
75  *
76  ****************************************************************************/
77 
78 typedef struct _XmTearOffButtonRec {
79    CorePart         core;
80    XmPrimitivePart  primitive;
81    XmLabelPart      label;
82    XmPushButtonPart pushbutton;
83    XmTearOffButtonPart tear_off_button;
84 } XmTearOffButtonRec;
85 
86 typedef struct _XmTearOffButtonRec      *XmTearOffButtonWidget;
87 
88 /* Class Record Constant */
89 
90 externalref WidgetClass xmTearOffButtonWidgetClass;
91 
92 #ifndef XmIsTearOffButton
93 #define XmIsTearOffButton(w)	XtIsSubclass(w, xmTearOffButtonWidgetClass)
94 #endif /* XmIsTearOffButton */
95 
96 
97 /********    Private Function Declarations    ********/
98 
99 
100 /********    End Private Function Declarations    ********/
101 
102 
103 #ifdef __cplusplus
104 }  /* Close scope of 'extern "C"' declaration which encloses file. */
105 #endif
106 
107 #endif /* _XmTearOffButtonP_h */
108 /* DON'T ADD ANYTHING AFTER THIS #endif */
109