2008-07-01 22:57:50 +00:00
|
|
|
/* GTK - The GIMP Toolkit
|
1997-11-24 22:37:52 +00:00
|
|
|
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
2000-07-26 11:33:08 +00:00
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
1997-11-24 22:37:52 +00:00
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
1997-11-28 01:22:38 +00:00
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
2000-07-26 11:33:08 +00:00
|
|
|
* Lesser General Public License for more details.
|
1997-11-24 22:37:52 +00:00
|
|
|
*
|
2000-07-26 11:33:08 +00:00
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
1998-04-13 02:02:47 +00:00
|
|
|
* License along with this library; if not, write to the
|
|
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
|
* Boston, MA 02111-1307, USA.
|
1997-11-24 22:37:52 +00:00
|
|
|
*/
|
1999-02-24 07:37:18 +00:00
|
|
|
|
|
|
|
/*
|
2000-07-26 11:33:08 +00:00
|
|
|
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
|
1999-02-24 07:37:18 +00:00
|
|
|
* file for a list of people on the GTK+ Team. See the ChangeLog
|
|
|
|
* files for a list of changes. These files are distributed with
|
2008-05-28 15:35:43 +00:00
|
|
|
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
1999-02-24 07:37:18 +00:00
|
|
|
*/
|
|
|
|
|
2009-10-21 18:30:04 +00:00
|
|
|
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
|
2008-05-28 15:07:04 +00:00
|
|
|
#error "Only <gtk/gtk.h> can be included directly."
|
|
|
|
#endif
|
|
|
|
|
1997-11-24 22:37:52 +00:00
|
|
|
#ifndef __GTK_MAIN_H__
|
|
|
|
#define __GTK_MAIN_H__
|
|
|
|
|
|
|
|
|
|
|
|
#include <gdk/gdk.h>
|
|
|
|
#include <gtk/gtkwidget.h>
|
2002-08-24 23:06:16 +00:00
|
|
|
#ifdef G_PLATFORM_WIN32
|
|
|
|
#include <gtk/gtkbox.h>
|
|
|
|
#include <gtk/gtkwindow.h>
|
|
|
|
#endif
|
1997-11-24 22:37:52 +00:00
|
|
|
|
2005-03-20 07:01:23 +00:00
|
|
|
G_BEGIN_DECLS
|
1997-11-24 22:37:52 +00:00
|
|
|
|
1998-12-19 22:27:03 +00:00
|
|
|
/* Priorities for redrawing and resizing
|
|
|
|
*/
|
|
|
|
#define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10)
|
|
|
|
|
2002-06-20 23:29:19 +00:00
|
|
|
typedef gint (*GtkKeySnoopFunc) (GtkWidget *grab_widget,
|
|
|
|
GdkEventKey *event,
|
|
|
|
gpointer func_data);
|
1998-01-18 18:17:23 +00:00
|
|
|
|
1998-03-08 02:04:26 +00:00
|
|
|
/* Gtk version.
|
|
|
|
*/
|
2010-09-09 08:03:22 +00:00
|
|
|
guint gtk_get_major_version (void) G_GNUC_CONST;
|
|
|
|
guint gtk_get_minor_version (void) G_GNUC_CONST;
|
|
|
|
guint gtk_get_micro_version (void) G_GNUC_CONST;
|
|
|
|
guint gtk_get_binary_age (void) G_GNUC_CONST;
|
|
|
|
guint gtk_get_interface_age (void) G_GNUC_CONST;
|
|
|
|
|
|
|
|
#define gtk_major_version gtk_get_major_version ()
|
|
|
|
#define gtk_minor_version gtk_get_minor_version ()
|
|
|
|
#define gtk_micro_version gtk_get_micro_version ()
|
|
|
|
#define gtk_binary_age gtk_get_binary_age ()
|
|
|
|
#define gtk_interface_age gtk_get_interface_age ()
|
This might seem like a large patch, but it isn't that bad, and nothing
should break on Unix/X11.
Win32 merge and general portability stuff:
* acconfig.h,configure.in: Check for <sys/time.h>.
* gdk/win32: New directory (actually, been there for a while).
* gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
NATIVE_WIN32, and use these. Always case fold on Win32. No
backslashed escapes on native Win32.
* gtk/{gtk.def,makefile.msc}: New files.
* gtk/Makefile.am: Add above new files.
* gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
instead of <strings.h>.
* gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
<unistd.h> appropriately.
* gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
Use ABS() (from <glib.h>) instead of abs().
* gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
of gtk (and thus glib) headers, so that WIN32 will be
defined. With MS C, include <direct.h> for mkdir prototype.
* gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
some casts, needed by MS C.
* gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
implemented).
* gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
<X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use
G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
* gtk/gtkmain.h: Mark variables for export/import on Win32.
* gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
the event is not a hint, or its window is not the slider. Needed
on Win32, at least.
* gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
a subdirectory of the Windows directory as gtk system
configuration directory.
* gtk/gtkselection.c: No chunks on Win32.
* gtk/gtksocket.c: Not implemented on Win32.
* gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
* gtk/makeenums.h: Include gdkprivate.h after gdk.h.
* gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
1999-03-15 00:03:37 +00:00
|
|
|
|
2007-11-19 05:34:19 +00:00
|
|
|
const gchar* gtk_check_version (guint required_major,
|
|
|
|
guint required_minor,
|
|
|
|
guint required_micro);
|
1998-07-19 19:09:27 +00:00
|
|
|
|
1998-01-18 18:17:23 +00:00
|
|
|
|
1997-11-24 22:37:52 +00:00
|
|
|
/* Initialization, exit, mainloop and miscellaneous routines
|
|
|
|
*/
|
2000-06-21 20:41:15 +00:00
|
|
|
|
2004-07-13 14:17:49 +00:00
|
|
|
gboolean gtk_parse_args (int *argc,
|
2004-07-13 14:49:02 +00:00
|
|
|
char ***argv);
|
2004-07-13 14:17:49 +00:00
|
|
|
|
2000-06-21 20:41:15 +00:00
|
|
|
void gtk_init (int *argc,
|
|
|
|
char ***argv);
|
2000-08-19 21:46:05 +00:00
|
|
|
|
2000-06-21 20:41:15 +00:00
|
|
|
gboolean gtk_init_check (int *argc,
|
|
|
|
char ***argv);
|
2010-06-09 17:12:27 +00:00
|
|
|
|
|
|
|
gboolean gtk_init_with_args (gint *argc,
|
|
|
|
gchar ***argv,
|
|
|
|
const gchar *parameter_string,
|
|
|
|
const GOptionEntry *entries,
|
|
|
|
const gchar *translation_domain,
|
|
|
|
GError **error);
|
Make gtk argument parsing use goption. Add gtk_get_option_group and
2004-09-05 Anders Carlsson <andersca@gnome.org>
* gdk/gdk.c: (gdk_arg_class_cb), (gdk_arg_name_cb),
(gdk_add_option_entries_libgtk_only), (gdk_pre_parse_libgtk_only),
(gdk_parse_args):
* gdk/gdk.h:
* gdk/gdkinternals.h:
* gdk/linux-fb/gdkmain-fb.c: (_gdk_windowing_init):
* gdk/win32/gdkmain-win32.c: (_gdk_windowing_init):
* gdk/x11/gdkdisplay-x11.c: (gdk_display_open):
* gdk/x11/gdkmain-x11.c: (_gdk_windowing_init):
* gtk/gtkmain.c: (gtk_arg_debug_cb), (gtk_arg_no_debug_cb),
(gtk_arg_module_cb), (gtk_arg_warnings_cb),
(do_pre_parse_initialization), (do_post_parse_initialization),
(pre_parse_hook), (post_parse_hook), (gtk_get_option_group),
(gtk_init_with_args), (gtk_parse_args):
* gtk/gtkmain.h:
Make gtk argument parsing use goption. Add gtk_get_option_group and
gtk_init_with_args.
* tests/testtreemodel.c: (main):
Use gtk_init_with_args.
2004-09-05 15:09:55 +00:00
|
|
|
|
|
|
|
GOptionGroup *gtk_get_option_group (gboolean open_default_display);
|
|
|
|
|
2001-03-18 22:16:41 +00:00
|
|
|
#ifdef G_PLATFORM_WIN32
|
2000-08-19 21:46:05 +00:00
|
|
|
|
|
|
|
/* Variants that are used to check for correct struct packing
|
|
|
|
* when building GTK+-using code.
|
|
|
|
*/
|
|
|
|
void gtk_init_abi_check (int *argc,
|
|
|
|
char ***argv,
|
|
|
|
int num_checks,
|
2002-04-18 11:21:21 +00:00
|
|
|
size_t sizeof_GtkWindow,
|
|
|
|
size_t sizeof_GtkBox);
|
2000-08-19 21:46:05 +00:00
|
|
|
gboolean gtk_init_check_abi_check (int *argc,
|
|
|
|
char ***argv,
|
|
|
|
int num_checks,
|
2002-04-18 11:21:21 +00:00
|
|
|
size_t sizeof_GtkWindow,
|
|
|
|
size_t sizeof_GtkBox);
|
2000-08-19 21:46:05 +00:00
|
|
|
|
2002-04-18 11:21:21 +00:00
|
|
|
#define gtk_init(argc, argv) gtk_init_abi_check (argc, argv, 2, sizeof (GtkWindow), sizeof (GtkBox))
|
|
|
|
#define gtk_init_check(argc, argv) gtk_init_check_abi_check (argc, argv, 2, sizeof (GtkWindow), sizeof (GtkBox))
|
2000-08-19 21:46:05 +00:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2001-10-19 15:27:43 +00:00
|
|
|
void gtk_disable_setlocale (void);
|
2001-06-14 20:41:44 +00:00
|
|
|
gchar * gtk_set_locale (void);
|
|
|
|
PangoLanguage *gtk_get_default_language (void);
|
2004-01-07 22:06:07 +00:00
|
|
|
gboolean gtk_events_pending (void);
|
1998-12-15 07:32:11 +00:00
|
|
|
|
|
|
|
/* The following is the event func GTK+ registers with GDK
|
|
|
|
* we expose it mainly to allow filtering of events between
|
|
|
|
* GDK and GTK+.
|
|
|
|
*/
|
2001-03-16 20:12:40 +00:00
|
|
|
void gtk_main_do_event (GdkEvent *event);
|
1998-12-15 07:32:11 +00:00
|
|
|
|
2001-03-16 20:12:40 +00:00
|
|
|
void gtk_main (void);
|
|
|
|
guint gtk_main_level (void);
|
|
|
|
void gtk_main_quit (void);
|
|
|
|
gboolean gtk_main_iteration (void);
|
1998-01-08 04:13:13 +00:00
|
|
|
/* gtk_main_iteration() calls gtk_main_iteration_do(TRUE) */
|
2001-03-16 20:12:40 +00:00
|
|
|
gboolean gtk_main_iteration_do (gboolean blocking);
|
1997-11-24 22:37:52 +00:00
|
|
|
|
2001-03-16 20:12:40 +00:00
|
|
|
gboolean gtk_true (void) G_GNUC_CONST;
|
|
|
|
gboolean gtk_false (void) G_GNUC_CONST;
|
1997-11-24 22:37:52 +00:00
|
|
|
|
1998-03-12 18:00:45 +00:00
|
|
|
void gtk_grab_add (GtkWidget *widget);
|
1998-02-17 06:03:40 +00:00
|
|
|
GtkWidget* gtk_grab_get_current (void);
|
1998-03-12 18:00:45 +00:00
|
|
|
void gtk_grab_remove (GtkWidget *widget);
|
|
|
|
|
2010-05-25 22:38:44 +00:00
|
|
|
void gtk_device_grab_add (GtkWidget *widget,
|
|
|
|
GdkDevice *device,
|
|
|
|
gboolean block_others);
|
|
|
|
void gtk_device_grab_remove (GtkWidget *widget,
|
|
|
|
GdkDevice *device);
|
|
|
|
|
1998-03-12 18:00:45 +00:00
|
|
|
void gtk_init_add (GtkFunction function,
|
|
|
|
gpointer data);
|
1998-03-13 17:45:16 +00:00
|
|
|
void gtk_quit_add_destroy (guint main_level,
|
|
|
|
GtkObject *object);
|
1998-03-12 18:00:45 +00:00
|
|
|
guint gtk_quit_add (guint main_level,
|
|
|
|
GtkFunction function,
|
|
|
|
gpointer data);
|
|
|
|
guint gtk_quit_add_full (guint main_level,
|
|
|
|
GtkFunction function,
|
1998-03-01 04:53:56 +00:00
|
|
|
GtkCallbackMarshal marshal,
|
1998-03-12 18:00:45 +00:00
|
|
|
gpointer data,
|
2008-06-18 09:12:32 +00:00
|
|
|
GDestroyNotify destroy);
|
1998-03-12 18:00:45 +00:00
|
|
|
void gtk_quit_remove (guint quit_handler_id);
|
|
|
|
void gtk_quit_remove_by_data (gpointer data);
|
1998-02-13 05:19:06 +00:00
|
|
|
|
1998-03-12 18:00:45 +00:00
|
|
|
guint gtk_key_snooper_install (GtkKeySnoopFunc snooper,
|
1998-01-18 18:17:23 +00:00
|
|
|
gpointer func_data);
|
1998-03-12 18:00:45 +00:00
|
|
|
void gtk_key_snooper_remove (guint snooper_handler_id);
|
Adapt to uscore-ification of gtktextiterprivate
2001-01-03 Havoc Pennington <hp@redhat.com>
* gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
* gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use
of private functions; remove inclusion of private headers.
* gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this
function, so we don't need private functions in gtktextdisplay.c
* gtk/gtktextiterprivate.h: underscore-ification
* gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
to instead say "only useful to implement widgets"
* gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
This function was completely broken
* gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
* gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
* gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
* gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
* gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
* gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
gtk_paint_layout
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
gtk_paint_layout
* gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
Progress on bug 40103. Add draw_layout to draw a PangoLayout.
(struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
which were not implemented.
* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
insert_pixbuf signal. Rename delete_text to delete_range since it
also deletes pixbufs and child anchors. This almost closes bug
40245 (still need to deal with child anchors)
* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
insert_pixbuf, change signal names as appropriate, change types of
signals taking marks/tags to have the specific type, not just
G_TYPE_OBJECT
* gtk/gtkmain.c (gtk_get_current_event_state): Add this function;
closes bug 40051
* gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
unnecessary remove_contents() call
(gtk_option_menu_class_init): add a "changed" signal, closes
bug 40039
(gtk_option_menu_update_contents): emit "changed" if the
active menu item changes
* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
cast to GtkObject, reported by Jonas Borgstrom
(gdk_pixbuf_loader_finalize): don't close the loader on finalize;
we can't do stuff with side effects in finalize. Instead, spew a
warning if the loader isn't closed.
* gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
colormap in here, non-X ports probably need to sync to this change
* gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove
assertion that colormap != NULL, you can set the colormap to NULL
if you like.
* Makefile.am: remove gtk-config-2.0
* configure.in: Use pkg-config to locate GLib. Remove
separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
Use pkg-config to locate Pango. Output correct Pango libs to
gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
* Makefile.am (pkgconfig_DATA): install only target-specific pc
files
(install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
X11 pc files
* gtk+-2.0.pc.in (Requires): require the GDK for the current target
unref from here
2001-01-04 17:48:43 +00:00
|
|
|
|
|
|
|
GdkEvent* gtk_get_current_event (void);
|
|
|
|
guint32 gtk_get_current_event_time (void);
|
|
|
|
gboolean gtk_get_current_event_state (GdkModifierType *state);
|
2010-05-25 22:38:44 +00:00
|
|
|
GdkDevice * gtk_get_current_event_device (void);
|
Remove g_convert (moved to glib) and now useless utf_to_latin1()
Thu Sep 14 12:21:12 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttypes.[ch]: Remove g_convert (moved to
glib) and now useless utf_to_latin1() latin1_to_utf()
* gtk/gtktextview.[ch]: Change ::move_insert and
::delete_text action signals to ::move and ::delete;
create the signals with the right enumeration type,
not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
C-v bindings, change Home, End to move to beginning/end
of line, Add C-Home C-End to move to beginning/end
of buffer. Change ::cut_text to ::cut_clipboard, etc;
combine ::scroll_text into ::move; use new GtkSelectionData
functions to simplify DND text handling.
* gtk/gtkenums.h gtk/gtktextview.h: Move movement,
deletion enumerations here, rename enumeration values to
be consistently plural.
* gtk/gtktextbuffer.c: Use new clipboard interfaces
for cut/copy/paste and primary selection.
* gtk/gtktextbuffer.[ch]: Remove excess time and
'interactive' arguments from cut/copy/paste;
rename cut to cut_clipboard, etc; remove
gtk_text_buffer_get_clipboard_contents().
* gtk/gtktextlayout.[ch]: Add
gtk_text_layout_move_iter_to_line_end() to move the iter to
line ends.
* gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
Functions to set or get a UTF-8 string on the selection
data.
* gtk/gtkclipboard.[ch]: New, simplified selection handling
interfaces.
* gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
created widgets - one of these is useless if we don't.
* gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
a public function clear all targets registered for the
widget.
* gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
Never call gtk_widget_realize() - that was just asking
for bizarre side-effects.
* gtk/gtkselection.c (gtk_selection_owner_set): Call
gdk_selection_owner_set even if the widget is the
same so that we reliably update the timestamp on
the server.
* gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a
gdk_x11_get_server_time() function.
* gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
Add some tricky filtering on serial numbers for
selection clear events to fix up long-standard
race condition FIXME's in gtkselection.c.
* gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
routines to convert from utf8 to compound text or
STRING and from a text property to UTF-8.
* gtk/gtkmain.[ch] (gtk_get_current_event_time): Add
a convenience function gdk_get_current_event_time().
* gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
and free selection_data->data properly
2000-09-14 16:41:20 +00:00
|
|
|
|
1998-12-15 07:32:11 +00:00
|
|
|
GtkWidget* gtk_get_event_widget (GdkEvent *event);
|
1997-11-24 22:37:52 +00:00
|
|
|
|
reverted marius change to expose the type systems internal type info data
Mon Dec 7 03:08:39 1998 Tim Janik <timj@gtk.org>
* gtk/gtktypeutils.h:
* gtk/gtktypeutils.c: reverted marius change to expose the type systems
internal type info data to the user. if such functionality is required
we should provide wrapped accessors, ala gtk_signal_query().
* gtk/gtksignal.c (gtk_signal_connect_by_type): reverted marius change,
since it destroys the possibility to implement automatic marshaller
lookups some day, and it also disables third party code's ability to
connect to any signal. also the GtkTypeInfo structures are dynamically
allocated memory portions, so only the type system is really allowed
to access that stuff.
Mon Dec 7 01:32:18 1998 Tim Janik <timj@gtk.org>
* gtk/gtkfilesel.c (gtk_file_selection_key_press): always intercept the
Tab key on the entry. the focus shouldn't get lost even if completion
is attempted from an empty entry, since an empty entry string does
indeed have a valid completion meaning (complete all).
(gtk_file_selection_init): cast the gchar array parameter in calls to
gtk_clist_new_with_titles() to quit compiler warnings.
(check_dir): the no_stat_dirs struct must not be const, since we do
indeed modify its contents.
* gtk/testgtk.c (event_watcher): adapted prototype to fit new emission
hook semantics.
* gtk/gtksignal.h:
* gtk/gtksignal.c:
changed emission allocation, so we don't use a doubly linked list
but link ourselfs (singly linked).
changed emission hooks, they get the emision parameters passed as
well now and are emitted during the actuall signal emission (after
the RUN_FIRST class method, but prior to RUN_FIRST handlers).
the existing restrictions do still apply to signal emission hooks,
i.e. an emission may not be stopped or restarted from an emission hook.
due to possibly huge perfomance impacts, frequent use of emision hooks
is also not recommended.
(gtk_signal_next_and_invalidate): added an
assertments which explicits what the code assumes anyways: a
maximum amount of 65535 signals.
* gtk/gtkcontainer.h: deprecated gtk_container_foreach_interp(),
gtk_container_foreach_full() should be used instead.
* gtk/gtkmain.h:
deprecated gtk_timeout_add_interp and gtk_idle_add_interp, since
we provide _full variants.
* gtk/gtksignal.h: deprecated gtk_signal_connect_interp(), we provide
gtk_signal_connect_full() for long enough now.
1998-12-07 02:31:19 +00:00
|
|
|
|
1999-01-05 23:45:21 +00:00
|
|
|
/* Private routines internal to GTK+
|
|
|
|
*/
|
|
|
|
void gtk_propagate_event (GtkWidget *widget,
|
|
|
|
GdkEvent *event);
|
|
|
|
|
2001-04-02 22:45:19 +00:00
|
|
|
gboolean _gtk_boolean_handled_accumulator (GSignalInvocationHint *ihint,
|
|
|
|
GValue *return_accu,
|
|
|
|
const GValue *handler_return,
|
|
|
|
gpointer dummy);
|
|
|
|
|
2003-09-20 23:52:16 +00:00
|
|
|
gchar *_gtk_get_lc_ctype (void);
|
|
|
|
|
2005-03-20 07:01:23 +00:00
|
|
|
G_END_DECLS
|
1997-11-24 22:37:52 +00:00
|
|
|
|
|
|
|
#endif /* __GTK_MAIN_H__ */
|