Home | History | Annotate | Line # | Download | only in Xaw
      1 /*
      2  *
      3 Copyright 1989, 1994, 1998  The Open Group
      4 
      5 Permission to use, copy, modify, distribute, and sell this software and its
      6 documentation for any purpose is hereby granted without fee, provided that
      7 the above copyright notice appear in all copies and that both that
      8 copyright notice and this permission notice appear in supporting
      9 documentation.
     10 
     11 The above copyright notice and this permission notice shall be included in
     12 all copies or substantial portions of the Software.
     13 
     14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
     17 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
     18 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
     19 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     20 
     21 Except as contained in this notice, the name of The Open Group shall not be
     22 used in advertising or otherwise to promote the sale, use or other dealings
     23 in this Software without prior written authorization from The Open Group.
     24  */
     25 
     26 /*
     27  * ToggleP.h - Private definitions for Toggle widget
     28  *
     29  * Author: Chris D. Peterson
     30  *         MIT X Consortium
     31  *         kit (at) expo.lcs.mit.edu
     32  *
     33  * Date:   January 12, 1989
     34  */
     35 
     36 #ifndef _XawToggle_h
     37 #define _XawToggle_h
     38 
     39 #include <X11/Xaw/Command.h>
     40 
     41 /* Resources:
     42 
     43  Name		     Class		RepType		Default Value
     44  ----		     -----		-------		-------------
     45  radioGroup          RadioGroup         Widget          NULL              +
     46  radioData           RadioData          Pointer         (XPointer) Widget  ++
     47  state               State              Boolean         Off
     48 
     49  background	     Background		Pixel		XtDefaultBackground
     50  bitmap		     Pixmap		Pixmap		None
     51  border		     BorderColor	Pixel		XtDefaultForeground
     52  borderWidth	     BorderWidth	Dimension	1
     53  callback	     Callback		Pointer		NULL
     54  cursor		     Cursor		Cursor		None
     55  destroyCallback     Callback		Pointer		NULL
     56  displayList	     DisplayList	XawDisplayList*	NULL
     57  font		     Font		XFontStructx*	XtDefaultFont
     58  foreground	     Foreground		Pixel		XtDefaultForeground
     59  height		     Height		Dimension	text height
     60  highlightThickness  Thickness		Dimension	2
     61  insensitiveBorder   Insensitive	Pixmap		Gray
     62  internalHeight	     Height		Dimension	2
     63  internalWidth	     Width		Dimension	4
     64  justify	     Justify		XtJustify	XtJustifyCenter
     65  label		     Label		String		NULL
     66  mappedWhenManaged   MappedWhenManaged	Boolean		True
     67  resize		     Resize		Boolean		True
     68  sensitive	     Sensitive		Boolean		True
     69  width		     Width		Dimension	text width
     70  x		     Position		Position	0
     71  y		     Position		Position	0
     72 
     73 + To use the toggle as a radio toggle button, set this resource to point to
     74   any other widget in the radio group.
     75 
     76 ++ This is the data returned from a call to XtToggleGetCurrent, by default
     77    this is set to the name of toggle widget.
     78 
     79 */
     80 
     81 /*
     82  * These should be in StringDefs.h but aren't so we will define
     83  * them here if they are needed
     84  */
     85 #define XtCWidget "Widget"
     86 #define XtCState "State"
     87 #define XtCRadioGroup "RadioGroup"
     88 #define XtCRadioData "RadioData"
     89 
     90 #ifndef _XtStringDefs_h_
     91 #define XtRWidget "Widget"
     92 #endif
     93 
     94 #define XtNstate "state"
     95 #define XtNradioGroup "radioGroup"
     96 #define XtNradioData "radioData"
     97 
     98 extern WidgetClass               toggleWidgetClass;
     99 
    100 typedef struct _ToggleClassRec   *ToggleWidgetClass;
    101 typedef struct _ToggleRec        *ToggleWidget;
    102 
    103 /*
    104  * Public Functions
    105  */
    106 
    107 _XFUNCPROTOBEGIN
    108 
    109 /*
    110  * Function:
    111  *	XawToggleChangeRadioGroup
    112  *
    113  * Parameters:
    114  *	w	    - toggle widget to change lists
    115  *	radio_group - any widget in the new list
    116  *
    117  * Description:
    118  *	Allows a toggle widget to change radio lists.
    119  */
    120 void XawToggleChangeRadioGroup
    121 (
    122  Widget		w,
    123  Widget		radio_group
    124  );
    125 
    126 /*
    127  * Function:
    128  *	XawToggleGetCurrent
    129  *
    130  * Parameters:
    131  *	radio_group - any toggle widget in the toggle list
    132  *
    133  * Description:
    134  *	  Returns the RadioData associated with the toggle
    135  *                   widget that is currently active in a toggle list.
    136  * Returns:
    137  *	The XtNradioData associated with the toggle widget
    138  */
    139 
    140 XtPointer XawToggleGetCurrent
    141 (
    142  Widget		radio_group
    143  );
    144 
    145 /*
    146  * Function:
    147  *	XawToggleSetCurrent
    148  *
    149  * Parameters:
    150  *	radio_group - any toggle widget in the toggle list
    151  *	radio_data - radio data of the toggle widget to set
    152  *
    153  * Description:
    154  *	Sets the Toggle widget associated with the radio_data specified.
    155  */
    156 void XawToggleSetCurrent
    157 (
    158  Widget		radio_group,
    159  XtPointer	radio_data
    160  );
    161 
    162 /*
    163  * Function:
    164  *	XawToggleUnsetCurrent
    165  *
    166  * Parameters:
    167  *	radio_group - any toggle widget in the toggle list
    168  *
    169  * Description:
    170  *	Unsets all Toggles in the radio_group specified.
    171  */
    172 void XawToggleUnsetCurrent
    173 (
    174  Widget		radio_group
    175  );
    176 
    177 _XFUNCPROTOEND
    178 
    179 #endif /* _XawToggle_h */
    180