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  *  SashP.h - Private definitions for Sash widget (Used by VPane Widget)
25  *
26  */
27 
28 #ifndef _XmSashP_h
29 #define _XmSashP_h
30 
31 #include <Xm/PrimitiveP.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 /*****************************************************************************
38  *
39  * Sash Widget Private Data
40  *
41  *****************************************************************************/
42 
43 /* New fields for the Sash widget class record */
44 typedef struct {
45    XtPointer extension;   /* Pointer to extension record */
46 } XmSashClassPart;
47 
48 /* Full Class record declaration */
49 typedef struct _XmSashClassRec {
50     CoreClassPart         core_class;
51     XmPrimitiveClassPart  primitive_class;
52     XmSashClassPart    sash_class;
53 } XmSashClassRec;
54 
55 typedef struct _XmSashClassRec *XmSashWidgetClass;
56 
57 externalref XmSashClassRec xmSashClassRec;
58 
59 /* New fields for the Sash widget record */
60 typedef struct {
61   XtCallbackList sash_action;
62   Boolean has_focus;
63 } XmSashPart;
64 
65 /*****************************************************************************
66  *
67  * Full instance record declaration
68  *
69  ****************************************************************************/
70 
71 typedef struct _XmSashRec {
72    CorePart         core;
73    XmPrimitivePart  primitive;
74    XmSashPart       sash;
75 } XmSashRec;
76 
77 typedef struct _XmSashRec      *XmSashWidget;
78 
79 typedef struct {
80   XEvent *event;		/* the event causing the SashAction */
81   String *params;		/* the TranslationTable params */
82   Cardinal num_params;		/* count of params */
83 } SashCallDataRec, *SashCallData;
84 
85 /* Class Record Constant */
86 
87 externalref WidgetClass xmSashWidgetClass;
88 
89 #ifndef XmIsSash
90 #define XmIsSash(w)	XtIsSubclass(w, xmSashWidgetClass)
91 #endif /* XmIsSash */
92 
93 
94 /********    Private Function Declarations    ********/
95 
96 
97 /********    End Private Function Declarations    ********/
98 
99 
100 #ifdef __cplusplus
101 }  /* Close scope of 'extern "C"' declaration which encloses file. */
102 #endif
103 
104 #endif /* _XmSashP_h */
105 /* DON'T ADD ANYTHING AFTER THIS #endif */
106