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 #ifndef _XmDataFP_h 25 #define _XmDataFP_h 26 27 #include <Xm/DataF.h> 28 #include <Xm/XmP.h> 29 #include <Xm/ExtP.h> 30 #include <Xm/TextFP.h> 31 #include <Xm/Picture.h> 32 33 #ifdef __cplusplus 34 extern "C" { 35 #endif 36 37 /* 38 * Motif doesn't define this: go figure 39 */ 40 #ifndef XmTextFieldIndex 41 #define XmTextFieldIndex (XmPrimitiveIndex + 1) 42 #endif 43 44 #define XmDataFieldIndex (XmTextFieldIndex) 45 46 typedef struct _XmDataFieldClassPart { 47 XtPointer extension; 48 } XmDataFieldClassPart; 49 50 typedef struct _XmDataFieldClassRec { 51 CoreClassPart core_class; 52 XmPrimitiveClassPart primitive_class; 53 XmDataFieldClassPart data_class; 54 } XmDataFieldClassRec; 55 56 typedef struct _XmDataFieldPart { 57 unsigned char alignment; /* XmALIGNMENT_BEGINNING by default */ 58 String picture_source; 59 XmPicture picture; 60 Boolean auto_fill; 61 XtCallbackList picture_error_cb; 62 XtCallbackList validate_cb; 63 } XmDataFieldPart; 64 65 typedef struct _XmDataFieldRec { 66 CorePart core; 67 XmPrimitivePart primitive; 68 XmTextFieldPart text; 69 XmDataFieldPart data; 70 } XmDataFieldRec; 71 72 extern XmDataFieldClassRec xmDataFieldClassRec; 73 74 #define XmTextF_activate_callback(w) (((XmDataFieldWidget)(w))->text.activate_callback) 75 #define XmTextF_focus_callback(w) (((XmDataFieldWidget)(w))->text.focus_callback) 76 #define XmTextF_losing_focus_callback(w) (((XmDataFieldWidget)(w))->text.losing_focus_callback) 77 #define XmTextF_modify_verify_callback(w) (((XmDataFieldWidget)(w))->text.modify_verify_callback) 78 #define XmTextF_wcs_modify_verify_callback(w) (((XmDataFieldWidget)(w))->text.wcs_modify_verify_callback) 79 #define XmTextF_motion_verify_callback(w) (((XmDataFieldWidget)(w))->text.motion_verify_callback) 80 #define XmTextF_gain_primary_callback(w) (((XmDataFieldWidget)(w))->text.gain_primary_callback) 81 #define XmTextF_lose_primary_callback(w) (((XmDataFieldWidget)(w))->text.lose_primary_callback) 82 #define XmTextF_value_changed_callback(w) (((XmDataFieldWidget)(w))->text.value_changed_callback) 83 #define XmTextF_value(w) (((XmDataFieldWidget)(w))->text.value) 84 #define XmTextF_wc_value(w) (((XmDataFieldWidget)(w))->text.wc_value) 85 #define XmTextF_font_list(w) (((XmDataFieldWidget)(w))->text.font_list) 86 #define XmTextF_font(w) ((XFontStruct*)(((XmDataFieldWidget)(w))->text.font)) 87 #define XmTextF_selection_array(w) (((XmDataFieldWidget)(w))->text.selection_array) 88 #define XmTextF_highlight(w) (((XmDataFieldWidget)(w))->text.highlight) 89 #define XmTextF_gc(w) (((XmDataFieldWidget)(w))->text.gc) 90 #define XmTextF_image_gc(w) (((XmDataFieldWidget)(w))->text.image_gc) 91 #define XmTextF_save_gc(w) (((XmDataFieldWidget)(w))->text.save_gc) 92 #define XmTextF_ibeam_off(w) (((XmDataFieldWidget)(w))->text.ibeam_off) 93 #define XmTextF_add_mode_cursor(w) (((XmDataFieldWidget)(w))->text.add_mode_cursor) 94 #define XmTextF_cursor(w) (((XmDataFieldWidget)(w))->text.cursor) 95 #define XmTextF_putback(w) (((XmDataFieldWidget)(w))->text.putback) 96 #define XmTextF_stipple_tile(w) (((XmDataFieldWidget)(w))->text.stipple_tile) 97 #define XmTextF_image_clip(w) (((XmDataFieldWidget)(w))->text.image_clip) 98 #define XmTextF_cursor_position(w) (((XmDataFieldWidget)(w))->text.cursor_position) 99 #define XmTextF_new_h_offset(w) (((XmDataFieldWidget)(w))->text.new_h_offset) 100 #define XmTextF_h_offset(w) (((XmDataFieldWidget)(w))->text.h_offset) 101 #define XmTextF_orig_left(w) (((XmDataFieldWidget)(w))->text.orig_left) 102 #define XmTextF_orig_right(w) (((XmDataFieldWidget)(w))->text.orig_right) 103 #define XmTextF_prim_pos_left(w) (((XmDataFieldWidget)(w))->text.prim_pos_left) 104 #define XmTextF_prim_pos_right(w) (((XmDataFieldWidget)(w))->text.prim_pos_right) 105 #define XmTextF_prim_anchor(w) (((XmDataFieldWidget)(w))->text.prim_anchor) 106 #define XmTextF_sec_pos_left(w) (((XmDataFieldWidget)(w))->text.sec_pos_left) 107 #define XmTextF_sec_pos_right(w) (((XmDataFieldWidget)(w))->text.sec_pos_right) 108 #define XmTextF_sec_anchor(w) (((XmDataFieldWidget)(w))->text.sec_anchor) 109 #define XmTextF_stuff_pos(w) (((XmDataFieldWidget)(w))->text.stuff_pos) 110 #define XmTextF_select_pos_x(w) (((XmDataFieldWidget)(w))->text.select_pos_x) 111 #define XmTextF_prim_time(w) (((XmDataFieldWidget)(w))->text.prim_time) 112 #define XmTextF_dest_time(w) (((XmDataFieldWidget)(w))->text.dest_time) 113 #define XmTextF_sec_time(w) (((XmDataFieldWidget)(w))->text.sec_time) 114 #define XmTextF_last_time(w) (((XmDataFieldWidget)(w))->text.last_time) 115 #define XmTextF_timer_id(w) (((XmDataFieldWidget)(w))->text.timer_id) 116 #define XmTextF_select_id(w) (((XmDataFieldWidget)(w))->text.select_id) 117 #define XmTextF_blink_rate(w) (((XmDataFieldWidget)(w))->text.blink_rate) 118 #define XmTextF_selection_array_count(w) (((XmDataFieldWidget)(w))->text.selection_array_count) 119 #define XmTextF_threshold(w) (((XmDataFieldWidget)(w))->text.threshold) 120 #define XmTextF_size_allocd(w) (((XmDataFieldWidget)(w))->text.size_allocd) 121 #define XmTextF_string_length(w) (((XmDataFieldWidget)(w))->text.string_length) 122 #define XmTextF_cursor_height(w) (((XmDataFieldWidget)(w))->text.cursor_height) 123 #define XmTextF_cursor_width(w) (((XmDataFieldWidget)(w))->text.cursor_width) 124 #define XmTextF_sarray_index(w) (((XmDataFieldWidget)(w))->text.sarray_index) 125 #define XmTextF_max_length(w) (((XmDataFieldWidget)(w))->text.max_length) 126 #define XmTextF_max_char_size(w) (((XmDataFieldWidget)(w))->text.max_char_size) 127 #define XmTextF_columns(w) (((XmDataFieldWidget)(w))->text.columns) 128 #define XmTextF_margin_width(w) (((XmDataFieldWidget)(w))->text.margin_width) 129 #define XmTextF_margin_height(w) (((XmDataFieldWidget)(w))->text.margin_height) 130 #define XmTextF_average_char_width(w) (((XmDataFieldWidget)(w))->text.average_char_width) 131 #define XmTextF_margin_top(w) (((XmDataFieldWidget)(w))->text.margin_top) 132 #define XmTextF_margin_bottom(w) (((XmDataFieldWidget)(w))->text.margin_bottom) 133 #define XmTextF_font_ascent(w) (((XmDataFieldWidget)(w))->text.font_ascent) 134 #define XmTextF_font_descent(w) (((XmDataFieldWidget)(w))->text.font_descent) 135 #define XmTextF_resize_width(w) (((XmDataFieldWidget)(w))->text.resize_width) 136 #define XmTextF_pending_delete(w) (((XmDataFieldWidget)(w))->text.pending_delete) 137 #define XmTextF_editable(w) (((XmDataFieldWidget)(w))->text.editable) 138 #define XmTextF_verify_bell(w) (((XmDataFieldWidget)(w))->text.verify_bell) 139 #define XmTextF_cursor_position_visible(w) (((XmDataFieldWidget)(w))->text.cursor_position_visible) 140 #define XmTextF_traversed(w) (((XmDataFieldWidget)(w))->text.traversed) 141 #define XmTextF_add_mode(w) (((XmDataFieldWidget)(w))->text.add_mode) 142 #define XmTextF_has_focus(w) (((XmDataFieldWidget)(w))->text.has_focus) 143 #define XmTextF_blink_on(w) (((XmDataFieldWidget)(w))->text.blink_on) 144 #define XmTextF_cursor_on(w) (((XmDataFieldWidget)(w))->text.cursor_on) 145 #define XmTextF_refresh_ibeam_off(w) (((XmDataFieldWidget)(w))->text.refresh_ibeam_off) 146 #define XmTextF_have_inverted_image_gc(w) (((XmDataFieldWidget)(w))->text.have_inverted_image_gc) 147 #define XmTextF_has_primary(w) (((XmDataFieldWidget)(w))->text.has_primary) 148 #define XmTextF_has_secondary(w) (((XmDataFieldWidget)(w))->text.has_secondary) 149 #define XmTextF_has_destination(w) (((XmDataFieldWidget)(w))->text.has_destination) 150 #define XmTextF_sec_drag(w) (((XmDataFieldWidget)(w))->text.sec_drag) 151 #define XmTextF_selection_move(w) (((XmDataFieldWidget)(w))->text.selection_move) 152 #define XmTextF_pending_off(w) (((XmDataFieldWidget)(w))->text.pending_off) 153 #define XmTextF_fontlist_created(w) (((XmDataFieldWidget)(w))->text.fontlist_created) 154 #define XmTextF_has_rect(w) (((XmDataFieldWidget)(w))->text.has_rect) 155 #define XmTextF_do_drop(w) (((XmDataFieldWidget)(w))->text.do_drop) 156 #define XmTextF_cancel(w) (((XmDataFieldWidget)(w))->text.cancel) 157 #define XmTextF_extending(w) (((XmDataFieldWidget)(w))->text.extending) 158 #define XmTextF_sec_extending(w) (((XmDataFieldWidget)(w))->text.sec_extending) 159 #define XmTextF_in_setvalues(w) (((XmDataFieldWidget)(w))->text.in_setvalues) 160 #define XmTextF_do_resize(w) (((XmDataFieldWidget)(w))->text.do_resize) 161 #define XmTextF_sel_start(w) (((XmDataFieldWidget)(w))->text.sel_start) 162 #define XmTextF_check_set_render_table(w) (((XmDataFieldWidget)(w))->text.check_set_render_table) 163 #define XmTextF_extension(w) (((XmDataFieldWidget)(w))->text.extension) 164 #define XmTextF_overstrike(w) (((XmDataFieldWidget)(w))->text.overstrike) 165 #define XmTextF_redisplay(w) (((XmDataFieldWidget)(w))->text.redisplay) 166 #define XmTextF_have_fontset(w) (((XmDataFieldWidget)(w))->text.have_fontset) 167 #ifdef USE_XFT 168 #define XmTextF_use_xft(w) (((XmDataFieldWidget)(w))->text.use_xft) 169 #define XmTextF_xft_font(w) (((XftFont*)((XmDataFieldWidget)(w))->text.font)) 170 #endif 171 #define XmTextF_changed_visible(w) (((XmDataFieldWidget)(w))->text.changed_visible) 172 173 #define XmDataField_alignment(w) (((XmDataFieldWidget)(w))->data.alignment) 174 #define XmDataField_picture_source(w) (((XmDataFieldWidget)(w))->data.picture_source) 175 #define XmDataField_picture(w) (((XmDataFieldWidget)(w))->data.picture) 176 #define XmDataField_picture_state(w) (((XmDataFieldWidget)(w))->data.picture_state) 177 #define XmDataField_auto_fill(w) (((XmDataFieldWidget)(w))->data.auto_fill) 178 #define XmDataField_picture_error_cb(w) (((XmDataFieldWidget)(w))->data.picture_error_cb) 179 #define XmDataField_validate_cb(w) (((XmDataFieldWidget)(w))->data.validate_cb) 180 181 #ifdef __cplusplus 182 } /* extern "C" */ 183 #endif 184 185 #endif /* _XmDataFP_h */ 186