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 * 25 * No new fields need to be defined 26 * for the Toggle widget class record 27 * 28 ********************************************/ 29 30 #ifndef _XmToggleButtonP_h 31 #define _XmToggleButtonP_h 32 33 #include <Xm/ToggleB.h> 34 #include <Xm/LabelP.h> 35 36 #ifdef __cplusplus 37 extern "C" { 38 #endif 39 40 typedef struct _XmToggleButtonClassPart 41 { 42 XtPointer extension; /* Pointer to extension record */ 43 } XmToggleButtonClassPart; 44 45 46 /**************************************************** 47 * 48 * Full class record declaration for Toggle class 49 * 50 ****************************************************/ 51 typedef struct _XmToggleButtonClassRec { 52 CoreClassPart core_class; 53 XmPrimitiveClassPart primitive_class; 54 XmLabelClassPart label_class; 55 XmToggleButtonClassPart toggle_class; 56 } XmToggleButtonClassRec; 57 58 59 externalref XmToggleButtonClassRec xmToggleButtonClassRec; 60 61 62 /******************************************** 63 * 64 * No new fields needed for instance record 65 * 66 ********************************************/ 67 68 typedef struct _XmToggleButtonPart 69 { 70 unsigned char ind_type; 71 Boolean visible; 72 Dimension spacing; 73 Dimension indicator_dim; 74 Boolean indicator_set; 75 Pixmap on_pixmap; 76 Pixmap insen_pixmap; 77 unsigned char set; 78 unsigned char visual_set; /* used for visuals and does not reflect 79 the true state of the button */ 80 unsigned char ind_on; 81 Boolean fill_on_select; 82 Pixel select_color; 83 GC select_GC; 84 GC background_gc; 85 GC arm_GC; /* used in menus when enableEtchedInMenu 86 is set. */ 87 XtCallbackList value_changed_CB, 88 arm_CB, 89 disarm_CB; 90 Boolean Armed; 91 unsigned char toggle_mode; 92 Boolean reversed_select; 93 Pixmap indeterminate_pixmap; 94 Pixmap indeterminate_insensitive_pixmap; 95 Pixel unselect_color; 96 GC unselect_GC; 97 GC indeterminate_GC; 98 GC indeterminate_box_GC; 99 Dimension ind_left_delta; 100 Dimension ind_right_delta; 101 Dimension ind_top_delta; 102 Dimension ind_bottom_delta; 103 Dimension detail_shadow_thickness ; 104 } XmToggleButtonPart; 105 106 107 108 /**************************************************************** 109 * 110 * Full instance record declaration 111 * 112 ****************************************************************/ 113 114 typedef struct _XmToggleButtonRec { 115 CorePart core; 116 XmPrimitivePart primitive; 117 XmLabelPart label; 118 XmToggleButtonPart toggle; 119 } XmToggleButtonRec; 120 121 122 /******** Private Function Declarations ********/ 123 124 125 /******** End Private Function Declarations ********/ 126 127 128 #ifdef __cplusplus 129 } /* Close scope of 'extern "C"' declaration which encloses file. */ 130 #endif 131 132 #endif /* _XmToggleButtonP_h */ 133 /* DON'T ADD ANYTHING AFTER THIS #endif */ 134