update.
[chise/xemacs-chise.git.1] / lwlib / xlwcheckboxP.h
1 /* Checkbox Widget for XEmacs.
2    Copyright (C) 1999 Edward A. Falk
3
4 This file is part of XEmacs.
5
6 XEmacs is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
9 later version.
10
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with XEmacs; see the file COPYING.  If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.  */
20
21 /*
22  * CheckboxP.h - Private definitions for Checkbox widget
23  * 
24  * Author: Edward A. Falk
25  *         falk@falconer.vip.best.com
26  *  
27  * Date:   June 30, 1997
28  */
29
30 #ifndef _XawCheckboxP_h
31 #define _XawCheckboxP_h
32
33 #include "xlwcheckbox.h"
34 #include "xlwradioP.h"
35
36 /************************************
37  *
38  *  Class structure
39  *
40  ***********************************/
41
42    /* New fields for the Checkbox widget class record */
43 typedef struct _CheckboxClass  {
44     XtPointer   extension;
45 } CheckboxClassPart;
46
47    /* Full class record declaration */
48 typedef struct _CheckboxClassRec {
49     CoreClassPart       core_class;
50     SimpleClassPart     simple_class;
51 #ifdef  _ThreeDP_h
52     ThreeDClassPart     threeD_class;
53 #endif
54     LabelClassPart      label_class;
55     CommandClassPart    command_class;
56     ToggleClassPart     toggle_class;
57     RadioClassPart      radio_class;
58     CheckboxClassPart   checkbox_class;
59 } CheckboxClassRec;
60
61 extern CheckboxClassRec checkboxClassRec;
62
63 /***************************************
64  *
65  *  Instance (widget) structure 
66  *
67  **************************************/
68
69     /* New fields for the Checkbox widget record */
70 typedef struct {
71     /* resources */
72     Boolean     tristate ;
73
74     /* private data */
75     Boolean     pressed ;
76     Pixmap      checkmark ;             /* TODO: share these via xmu? */
77     GC          checkmark_GC ;
78     XtPointer   extension;
79 } CheckboxPart;
80
81    /* Full widget declaration */
82 typedef struct _CheckboxRec {
83     CorePart    core;
84     SimplePart  simple;
85 #ifdef  _ThreeDP_h
86     ThreeDPart  threeD;
87 #endif
88     LabelPart   label;
89     CommandPart command;
90     TogglePart  toggle;
91     RadioPart   radio;
92     CheckboxPart checkbox;
93 } CheckboxRec;
94
95 #endif /* _XawCheckboxP_h */