X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkmain.h;h=549989afb5a6c81dafbea1d321aa6183f5a71d78;hb=a97178af65072e98605b2ce168ee4cc36f684ca2;hp=7ca018e586009e2c5f2f7f2a309c2db8ef7b7789;hpb=40d637ec03335d14e98bd3e752baa304f0efbc1f;p=~andy%2Fgtk diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index 7ca018e58..549989afb 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -8,211 +8,165 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ /* * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __GTK_MAIN_H__ #define __GTK_MAIN_H__ +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + #include #include +#ifdef G_PLATFORM_WIN32 +#include +#include +#endif +G_BEGIN_DECLS -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ - -/* Priorities for redrawing and resizing +/** + * GTK_PRIORITY_RESIZE: + * + * Use this priority for functionality related to size allocation. + * + * It is used internally by GTK+ to compute the sizes of widgets. + * This priority is higher than %GDK_PRIORITY_REDRAW to avoid + * resizing a widget which was just redrawn. */ -#define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10) - -#ifndef GTK_DISABLE_DEPRECATED +#define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10) -/* Use GDK_PRIORITY_REDRAW */ -#define GTK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20) - -/* Deprecated. Use G_PRIORITY #define's instead +/** + * GtkKeySnoopFunc: + * @grab_widget: the widget to which the event will be delivered + * @event: the key event + * @func_data: data supplied to gtk_key_snooper_install() + * + * Key snooper functions are called before normal event delivery. + * They can be used to implement custom key event handling. + * + * Returns: %TRUE to stop further processing of @event, %FALSE to continue. */ -#define GTK_PRIORITY_HIGH G_PRIORITY_HIGH -#define GTK_PRIORITY_INTERNAL GTK_PRIORITY_REDRAW -#define GTK_PRIORITY_DEFAULT G_PRIORITY_DEFAULT_IDLE -#define GTK_PRIORITY_LOW G_PRIORITY_LOW - -#endif /* GTK_DISABLE_DEPRECATED */ +typedef gint (*GtkKeySnoopFunc) (GtkWidget *grab_widget, + GdkEventKey *event, + gpointer func_data); -typedef void (*GtkModuleInitFunc) (gint *argc, - gchar ***argv); -typedef gint (*GtkKeySnoopFunc) (GtkWidget *grab_widget, - GdkEventKey *event, - gpointer func_data); - -/* Gtk version. +/* GTK+ version */ -#ifdef G_PLATFORM_WIN32 -#ifdef GTK_COMPILATION -#define GTKMAIN_C_VAR __declspec(dllexport) -#else -#define GTKMAIN_C_VAR extern __declspec(dllimport) -#endif -#else -#define GTKMAIN_C_VAR extern -#endif +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; -GTKMAIN_C_VAR const guint gtk_major_version; -GTKMAIN_C_VAR const guint gtk_minor_version; -GTKMAIN_C_VAR const guint gtk_micro_version; -GTKMAIN_C_VAR const guint gtk_binary_age; -GTKMAIN_C_VAR const guint gtk_interface_age; -gchar* gtk_check_version (guint required_major, - guint required_minor, - guint required_micro); +#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 () + +const gchar* gtk_check_version (guint required_major, + guint required_minor, + guint required_micro); /* Initialization, exit, mainloop and miscellaneous routines */ +gboolean gtk_parse_args (int *argc, + char ***argv); + void gtk_init (int *argc, char ***argv); gboolean gtk_init_check (int *argc, char ***argv); -#ifdef G_PLATFORM_WIN32 + +gboolean gtk_init_with_args (gint *argc, + gchar ***argv, + const gchar *parameter_string, + const GOptionEntry *entries, + const gchar *translation_domain, + GError **error); + +GOptionGroup *gtk_get_option_group (gboolean open_default_display); + +#ifdef G_OS_WIN32 /* 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, - size_t sizeof_GtkWindow, - size_t sizeof_GtkBox); -gboolean gtk_init_check_abi_check (int *argc, - char ***argv, - int num_checks, - size_t sizeof_GtkWindow, - size_t sizeof_GtkBox); +void gtk_init_abi_check (int *argc, + char ***argv, + int num_checks, + size_t sizeof_GtkWindow, + size_t sizeof_GtkBox); +gboolean gtk_init_check_abi_check (int *argc, + char ***argv, + int num_checks, + size_t sizeof_GtkWindow, + size_t sizeof_GtkBox); #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)) #endif -#ifndef GTK_DISABLE_DEPRECATED -void gtk_exit (gint error_code); -#endif /* GTK_DISABLE_DEPRECATED */ - void gtk_disable_setlocale (void); -gchar * gtk_set_locale (void); PangoLanguage *gtk_get_default_language (void); -gint gtk_events_pending (void); +gboolean gtk_events_pending (void); -/* The following is the event func GTK+ registers with GDK - * we expose it mainly to allow filtering of events between - * GDK and GTK+. - */ -void gtk_main_do_event (GdkEvent *event); - -void gtk_main (void); -guint gtk_main_level (void); -void gtk_main_quit (void); -gboolean gtk_main_iteration (void); -/* gtk_main_iteration() calls gtk_main_iteration_do(TRUE) */ -gboolean gtk_main_iteration_do (gboolean blocking); - -gboolean gtk_true (void) G_GNUC_CONST; -gboolean gtk_false (void) G_GNUC_CONST; - -void gtk_grab_add (GtkWidget *widget); -GtkWidget* gtk_grab_get_current (void); -void gtk_grab_remove (GtkWidget *widget); - -void gtk_init_add (GtkFunction function, - gpointer data); -void gtk_quit_add_destroy (guint main_level, - GtkObject *object); -guint gtk_quit_add (guint main_level, - GtkFunction function, - gpointer data); -guint gtk_quit_add_full (guint main_level, - GtkFunction function, - GtkCallbackMarshal marshal, - gpointer data, - GtkDestroyNotify destroy); -void gtk_quit_remove (guint quit_handler_id); -void gtk_quit_remove_by_data (gpointer data); -guint gtk_timeout_add (guint32 interval, - GtkFunction function, - gpointer data); -guint gtk_timeout_add_full (guint32 interval, - GtkFunction function, - GtkCallbackMarshal marshal, - gpointer data, - GtkDestroyNotify destroy); -void gtk_timeout_remove (guint timeout_handler_id); - -guint gtk_idle_add (GtkFunction function, - gpointer data); -guint gtk_idle_add_priority (gint priority, - GtkFunction function, - gpointer data); -guint gtk_idle_add_full (gint priority, - GtkFunction function, - GtkCallbackMarshal marshal, - gpointer data, - GtkDestroyNotify destroy); -void gtk_idle_remove (guint idle_handler_id); -void gtk_idle_remove_by_data (gpointer data); -guint gtk_input_add_full (gint source, - GdkInputCondition condition, - GdkInputFunction function, - GtkCallbackMarshal marshal, - gpointer data, - GtkDestroyNotify destroy); -void gtk_input_remove (guint input_handler_id); - - -guint gtk_key_snooper_install (GtkKeySnoopFunc snooper, - gpointer func_data); -void gtk_key_snooper_remove (guint snooper_handler_id); - -GdkEvent* gtk_get_current_event (void); -guint32 gtk_get_current_event_time (void); -gboolean gtk_get_current_event_state (GdkModifierType *state); - -GtkWidget* gtk_get_event_widget (GdkEvent *event); - - -/* Private routines internal to GTK+ - */ -void gtk_propagate_event (GtkWidget *widget, - GdkEvent *event); +void gtk_main_do_event (GdkEvent *event); +void gtk_main (void); +guint gtk_main_level (void); +void gtk_main_quit (void); +gboolean gtk_main_iteration (void); +gboolean gtk_main_iteration_do (gboolean blocking); + +gboolean gtk_true (void) G_GNUC_CONST; +gboolean gtk_false (void) G_GNUC_CONST; + +void gtk_grab_add (GtkWidget *widget); +GtkWidget* gtk_grab_get_current (void); +void gtk_grab_remove (GtkWidget *widget); + +void gtk_device_grab_add (GtkWidget *widget, + GdkDevice *device, + gboolean block_others); +void gtk_device_grab_remove (GtkWidget *widget, + GdkDevice *device); + +GDK_DEPRECATED_IN_3_4 +guint gtk_key_snooper_install (GtkKeySnoopFunc snooper, + gpointer func_data); +GDK_DEPRECATED_IN_3_4 +void gtk_key_snooper_remove (guint snooper_handler_id); + +GdkEvent * gtk_get_current_event (void); +guint32 gtk_get_current_event_time (void); +gboolean gtk_get_current_event_state (GdkModifierType *state); +GdkDevice *gtk_get_current_event_device (void); -gboolean _gtk_boolean_handled_accumulator (GSignalInvocationHint *ihint, - GValue *return_accu, - const GValue *handler_return, - gpointer dummy); +GtkWidget *gtk_get_event_widget (GdkEvent *event); -gchar * _gtk_find_module (const gchar *name, - const gchar *type); -gchar **_gtk_get_module_path (const gchar *type); +void gtk_propagate_event (GtkWidget *widget, + GdkEvent *event); -#ifdef __cplusplus -} -#endif /* __cplusplus */ +G_END_DECLS #endif /* __GTK_MAIN_H__ */