comparison src/console-gtk-impl.h @ 2168:95fee4a1420e

[xemacs-hg @ 2004-07-07 12:00:58 by malcolmp] Working GK tab_control widget. Other GTK widgets drawn with the correct location and size.
author malcolmp
date Wed, 07 Jul 2004 12:01:07 +0000
parents 91d4c8c65a0f
children 141c2920ea48
comparison
equal deleted inserted replaced
2167:54e1ecdc5778 2168:95fee4a1420e
1 /* Define X specific console, device, and frame object for XEmacs. 1 /* Define GTK specific console, device, and frame object for XEmacs.
2 Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc. 2 Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
3 Copyright (C) 1994, 1995 Board of Trustees, University of Illinois. 3 Copyright (C) 1994, 1995 Board of Trustees, University of Illinois.
4 Copyright (C) 2002 Ben Wing. 4 Copyright (C) 2002 Ben Wing.
5 5
6 This file is part of XEmacs. 6 This file is part of XEmacs.
26 /* Authorship: 26 /* Authorship:
27 27
28 Ultimately based on FSF, then later on JWZ work for Lemacs. 28 Ultimately based on FSF, then later on JWZ work for Lemacs.
29 Rewritten over time by Ben Wing and Chuck Thompson (original 29 Rewritten over time by Ben Wing and Chuck Thompson (original
30 multi-device work by Chuck Thompson). 30 multi-device work by Chuck Thompson).
31 Gtk version by William M. Perry
32
31 */ 33 */
32 34
33 #ifndef INCLUDED_console_gtk_impl_h_ 35 #ifndef INCLUDED_console_gtk_impl_h_
34 #define INCLUDED_console_gtk_impl_h_ 36 #define INCLUDED_console_gtk_impl_h_
35 37
170 unsigned int top_level_frame_p :1; 172 unsigned int top_level_frame_p :1;
171 173
172 /* Are we iconfied right now? */ 174 /* Are we iconfied right now? */
173 unsigned int iconified_p :1; 175 unsigned int iconified_p :1;
174 176
177 /* Data for widget callbacks. It is impossible to pass all the necessary
178 data through the GTK signal API so instead it is registered here and the
179 hash key is passed instead. */
180 Lisp_Object widget_instance_hash_table;
181 Lisp_Object widget_callback_hash_table;
182 Lisp_Object widget_callback_ex_hash_table;
175 }; 183 };
176 184
177 #define FRAME_GTK_DATA(f) FRAME_TYPE_DATA (f, gtk) 185 #define FRAME_GTK_DATA(f) FRAME_TYPE_DATA (f, gtk)
178 186
179 #define FRAME_GTK_SHELL_WIDGET(f) (FRAME_GTK_DATA (f)->widget) 187 #define FRAME_GTK_SHELL_WIDGET(f) (FRAME_GTK_DATA (f)->widget)
193 #define FRAME_GTK_GEOM_FREE_ME_PLEASE(f) (FRAME_GTK_DATA (f)->geom_free_me_please) 201 #define FRAME_GTK_GEOM_FREE_ME_PLEASE(f) (FRAME_GTK_DATA (f)->geom_free_me_please)
194 202
195 #define FRAME_GTK_TOTALLY_VISIBLE_P(f) (FRAME_GTK_DATA (f)->totally_visible_p) 203 #define FRAME_GTK_TOTALLY_VISIBLE_P(f) (FRAME_GTK_DATA (f)->totally_visible_p)
196 #define FRAME_GTK_VISIBLE_P(f) (FRAME_GTK_DATA (f)->visible_p) 204 #define FRAME_GTK_VISIBLE_P(f) (FRAME_GTK_DATA (f)->visible_p)
197 #define FRAME_GTK_TOP_LEVEL_FRAME_P(f) (FRAME_GTK_DATA (f)->top_level_frame_p) 205 #define FRAME_GTK_TOP_LEVEL_FRAME_P(f) (FRAME_GTK_DATA (f)->top_level_frame_p)
206 #define FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE(f) (FRAME_GTK_DATA (f)->widget_instance_hash_table)
207 #define FRAME_GTK_WIDGET_CALLBACK_HASH_TABLE(f) (FRAME_GTK_DATA (f)->widget_callback_hash_table)
208 #define FRAME_GTK_WIDGET_CALLBACK_EX_HASH_TABLE(f) (FRAME_GTK_DATA (f)->widget_callback_ex_hash_table)
198 209
199 extern struct console_type *gtk_console_type; 210 extern struct console_type *gtk_console_type;
211
212 /* Special data used to quickly identify the frame that contains a widget. */
213 #define GTK_DATA_FRAME_IDENTIFIER "xemacs::frame"
214
215 /* The hashcode in the frame hash table of a tab_control tab's callback data. */
216 #define GTK_DATA_TAB_HASHCODE_IDENTIFIER "xemacs::tab_hashcode"
217
218 #define GTK_DATA_GUI_IDENTIFIER "xemacs::gui_id"
200 219
201 #endif /* HAVE_GTK */ 220 #endif /* HAVE_GTK */
202 #endif /* INCLUDED_console_gtk_impl_h_ */ 221 #endif /* INCLUDED_console_gtk_impl_h_ */