1997-11-24 22:37:52 +00:00
|
|
|
/* GTK - The GIMP Toolkit
|
|
|
|
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Library General Public
|
|
|
|
* 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
|
1997-11-24 22:37:52 +00:00
|
|
|
* Library General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Library 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
|
|
|
*/
|
|
|
|
#ifndef __GTK_MAIN_H__
|
|
|
|
#define __GTK_MAIN_H__
|
|
|
|
|
|
|
|
|
|
|
|
#include <gdk/gdk.h>
|
|
|
|
#include <gtk/gtkwidget.h>
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
1998-02-13 05:19:06 +00:00
|
|
|
#define GTK_PRIORITY_HIGH -20
|
|
|
|
#define GTK_PRIORITY_INTERNAL -10
|
1998-03-12 18:00:45 +00:00
|
|
|
#define GTK_PRIORITY_DEFAULT 0
|
|
|
|
#define GTK_PRIORITY_LOW 10
|
1997-11-24 22:37:52 +00:00
|
|
|
|
1998-08-17 02:41:42 +00:00
|
|
|
typedef void (*GtkModuleInitFunc) (gint *argc,
|
|
|
|
gchar ***argv);
|
1998-03-12 18:00:45 +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.
|
|
|
|
*/
|
|
|
|
extern const guint gtk_major_version;
|
|
|
|
extern const guint gtk_minor_version;
|
|
|
|
extern const guint gtk_micro_version;
|
1998-07-19 19:09:27 +00:00
|
|
|
extern const guint gtk_binary_age;
|
|
|
|
extern const guint gtk_interface_age;
|
1998-08-21 02:22:06 +00:00
|
|
|
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
|
|
|
|
*/
|
1997-11-28 01:22:38 +00:00
|
|
|
void gtk_init (int *argc,
|
|
|
|
char ***argv);
|
|
|
|
void gtk_exit (gint error_code);
|
|
|
|
gchar* gtk_set_locale (void);
|
1998-03-12 18:00:45 +00:00
|
|
|
gint gtk_events_pending (void);
|
1997-11-28 01:22:38 +00:00
|
|
|
void gtk_main (void);
|
|
|
|
guint gtk_main_level (void);
|
|
|
|
void gtk_main_quit (void);
|
|
|
|
gint gtk_main_iteration (void);
|
1998-01-08 04:13:13 +00:00
|
|
|
/* gtk_main_iteration() calls gtk_main_iteration_do(TRUE) */
|
|
|
|
gint gtk_main_iteration_do (gboolean blocking);
|
1997-11-24 22:37:52 +00:00
|
|
|
|
1998-02-17 06:03:40 +00:00
|
|
|
gint gtk_true (void);
|
|
|
|
gint gtk_false (void);
|
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);
|
|
|
|
|
|
|
|
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,
|
1998-03-01 04:53:56 +00:00
|
|
|
GtkDestroyNotify 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);
|
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
|
|
|
guint gtk_timeout_add (guint32 interval,
|
|
|
|
GtkFunction function,
|
|
|
|
gpointer data);
|
1998-03-12 18:00:45 +00:00
|
|
|
guint gtk_timeout_add_full (guint32 interval,
|
|
|
|
GtkFunction function,
|
1998-02-17 06:03:40 +00:00
|
|
|
GtkCallbackMarshal marshal,
|
1998-03-12 18:00:45 +00:00
|
|
|
gpointer data,
|
1998-02-17 06:03:40 +00:00
|
|
|
GtkDestroyNotify destroy);
|
1998-03-12 18:00:45 +00:00
|
|
|
void gtk_timeout_remove (guint timeout_handler_id);
|
1997-11-28 01:22:38 +00:00
|
|
|
|
1998-03-12 18:00:45 +00:00
|
|
|
guint gtk_idle_add (GtkFunction function,
|
1998-02-13 05:19:06 +00:00
|
|
|
gpointer data);
|
1998-03-12 18:00:45 +00:00
|
|
|
guint gtk_idle_add_priority (gint priority,
|
|
|
|
GtkFunction function,
|
|
|
|
gpointer data);
|
|
|
|
guint gtk_idle_add_full (gint priority,
|
|
|
|
GtkFunction function,
|
1998-02-13 05:19:06 +00:00
|
|
|
GtkCallbackMarshal marshal,
|
|
|
|
gpointer data,
|
|
|
|
GtkDestroyNotify destroy);
|
1998-03-12 18:00:45 +00:00
|
|
|
void gtk_idle_remove (guint idle_handler_id);
|
|
|
|
void gtk_idle_remove_by_data (gpointer data);
|
|
|
|
guint gtk_input_add_full (gint source,
|
1998-02-13 05:19:06 +00:00
|
|
|
GdkInputCondition condition,
|
|
|
|
GdkInputFunction function,
|
|
|
|
GtkCallbackMarshal marshal,
|
1998-03-12 18:00:45 +00:00
|
|
|
gpointer data,
|
1998-02-13 05:19:06 +00:00
|
|
|
GtkDestroyNotify destroy);
|
1998-03-12 18:00:45 +00:00
|
|
|
void gtk_input_remove (guint input_handler_id);
|
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);
|
1998-01-18 18:17:23 +00:00
|
|
|
|
1997-12-18 02:17:14 +00:00
|
|
|
GdkEvent* gtk_get_current_event (void);
|
1997-11-28 01:22:38 +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
|
|
|
/* deprecated */
|
|
|
|
guint gtk_idle_add_interp (GtkCallbackMarshal marshal,
|
|
|
|
gpointer data,
|
|
|
|
GtkDestroyNotify destroy);
|
|
|
|
guint gtk_timeout_add_interp (guint32 interval,
|
|
|
|
GtkCallbackMarshal function,
|
|
|
|
gpointer data,
|
|
|
|
GtkDestroyNotify notify);
|
|
|
|
|
1997-11-24 22:37:52 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* __GTK_MAIN_H__ */
|