(A-compU+758B): New abstract node.
[chise/xemacs-chise.git.1] / lwlib / xlwradioP.h
1 /* Radio 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  * RadioP.h - Private definitions for Radio widget
23  * 
24  * Author: Edward A. Falk
25  *         falk@falconer.vip.best.com
26  *  
27  * Date:   June 30, 1997
28  *
29  */
30
31 #ifndef _XawRadioP_h
32 #define _XawRadioP_h
33
34 #include "xlwradio.h"
35 #include ATHENA_ToggleP_h_
36
37 /***********************************************************************
38  *
39  * Radio Widget Private Data
40  *
41  ***********************************************************************/
42
43 /* Already in Xaw/ToggleP.h, and not used by us.
44   #define streq(a, b) ( strcmp((a), (b)) == 0 )
45 */
46
47 typedef void (*XawDiamondProc) (Widget);
48
49 void RadioSet (Widget   w,
50                XEvent   *event,
51                String   *params,      /* unused */
52                Cardinal *num_params); /* unused */
53
54 void RadioUnset (Widget   w,
55                  XEvent   *event,
56                  String   *params,      /* unused */
57                  Cardinal *num_params); /* unused */
58
59 /************************************
60  *
61  *  Class structure
62  *
63  ***********************************/
64
65    /* New fields for the Radio widget class record */
66 typedef struct _RadioClass  {
67     Dimension   dsize ;         /* diamond size */
68     XawDiamondProc drawDiamond ;
69     /* TODO: 3-d and xaw-xpm features? */
70     XtPointer   extension;
71 } RadioClassPart;
72
73 #define XtInheritDrawDiamond    ((XawDiamondProc)_XtInherit)
74
75    /* Full class record declaration */
76 typedef struct _RadioClassRec {
77     CoreClassPart       core_class;
78     SimpleClassPart     simple_class;
79 #ifdef  _ThreeDP_h
80     ThreeDClassPart     threeD_class;
81 #endif
82     LabelClassPart      label_class;
83     CommandClassPart    command_class;
84     ToggleClassPart     toggle_class;
85     RadioClassPart      radio_class;
86 } RadioClassRec;
87
88 extern RadioClassRec radioClassRec;
89
90 /***************************************
91  *
92  *  Instance (widget) structure 
93  *
94  **************************************/
95
96     /* New fields for the Radio widget record */
97 typedef struct {
98     /* resources */
99     /* TODO: 3-d and xaw-xpm features? */
100
101     /* private data */
102     XtPointer   extension;
103 } RadioPart;
104
105    /* Full widget declaration */
106 typedef struct _RadioRec {
107     CorePart    core;
108     SimplePart  simple;
109 #ifdef  _ThreeDP_h
110     ThreeDPart  threeD;
111 #endif
112     LabelPart   label;
113     CommandPart command;
114     TogglePart  toggle;
115     RadioPart   radio;
116 } RadioRec;
117
118 #endif /* _XawRadioP_h */