⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gsignal.h

📁 嵌入式下基于MiniGUI的Web Browser
💻 H
字号:
/* GObject - GLib Type, Object, Parameter and Signal Library * Copyright (C) 2000-2001 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser 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 * 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. *//*#if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)#error "Only <glib-object.h> can be included directly."#endif*/#ifndef __G_SIGNAL_H__#define __G_SIGNAL_H__#include	"gclosure.h"#include	"gvalue.h"#include	"gparam.h"#include	"gmarshal.h"G_BEGIN_DECLS/* --- typedefs --- */typedef struct _GSignalQuery		 GSignalQuery;typedef struct _GSignalInvocationHint	 GSignalInvocationHint;typedef GClosureMarshal			 GSignalCMarshaller;typedef gboolean (*GSignalEmissionHook) (GSignalInvocationHint *ihint,					 guint			n_param_values,					 const GValue	       *param_values,					 gpointer		data);typedef gboolean (*GSignalAccumulator)	(GSignalInvocationHint *ihint,					 GValue		       *return_accu,					 const GValue	       *handler_return,					 gpointer               data);/* --- run, match and connect types --- */typedef enum{  G_SIGNAL_RUN_FIRST	= 1 << 0,  G_SIGNAL_RUN_LAST	= 1 << 1,  G_SIGNAL_RUN_CLEANUP	= 1 << 2,  G_SIGNAL_NO_RECURSE	= 1 << 3,  G_SIGNAL_DETAILED	= 1 << 4,  G_SIGNAL_ACTION	= 1 << 5,  G_SIGNAL_NO_HOOKS	= 1 << 6} GSignalFlags;#define G_SIGNAL_FLAGS_MASK  0x7ftypedef enum{  G_CONNECT_AFTER	= 1 << 0,  G_CONNECT_SWAPPED	= 1 << 1} GConnectFlags;typedef enum{  G_SIGNAL_MATCH_ID	   = 1 << 0,  G_SIGNAL_MATCH_DETAIL	   = 1 << 1,  G_SIGNAL_MATCH_CLOSURE   = 1 << 2,  G_SIGNAL_MATCH_FUNC	   = 1 << 3,  G_SIGNAL_MATCH_DATA	   = 1 << 4,  G_SIGNAL_MATCH_UNBLOCKED = 1 << 5} GSignalMatchType;#define G_SIGNAL_MATCH_MASK  0x3f#define	G_SIGNAL_TYPE_STATIC_SCOPE (G_TYPE_FLAG_RESERVED_ID_BIT)/* --- signal information --- */struct _GSignalInvocationHint{  guint		signal_id;  GQuark	detail;  GSignalFlags	run_type;};struct _GSignalQuery{  guint		signal_id;  const gchar  *signal_name;  GType		itype;  GSignalFlags	signal_flags;  GType		return_type; /* mangled with G_SIGNAL_TYPE_STATIC_SCOPE flag */  guint		n_params;  const GType  *param_types; /* mangled with G_SIGNAL_TYPE_STATIC_SCOPE flag */};/* --- signals --- */guint                 g_signal_newv         (const gchar        *signal_name,					     GType               itype,					     GSignalFlags        signal_flags,					     GClosure           *class_closure,					     GSignalAccumulator	 accumulator,					     gpointer		 accu_data,					     GSignalCMarshaller  c_marshaller,					     GType               return_type,					     guint               n_params,					     GType              *param_types);guint                 g_signal_new_valist   (const gchar        *signal_name,					     GType               itype,					     GSignalFlags        signal_flags,					     GClosure           *class_closure,					     GSignalAccumulator	 accumulator,					     gpointer		 accu_data,					     GSignalCMarshaller  c_marshaller,					     GType               return_type,					     guint               n_params,					     va_list             args);guint                 g_signal_new          (const gchar        *signal_name,					     GType               itype,					     GSignalFlags        signal_flags,					     guint               class_offset,					     GSignalAccumulator	 accumulator,					     gpointer		 accu_data,					     GSignalCMarshaller  c_marshaller,					     GType               return_type,					     guint               n_params,					     ...);void                  g_signal_emitv        (const GValue       *instance_and_params,					     guint               signal_id,					     GQuark              detail,					     GValue             *return_value);void                  g_signal_emit_valist  (gpointer            instance,					     guint               signal_id,					     GQuark              detail,					     va_list             var_args);void                  g_signal_emit         (gpointer            instance,					     guint               signal_id,					     GQuark              detail,					     ...);void                  g_signal_emit_by_name (gpointer            instance,					     const gchar        *detailed_signal,					     ...);guint                 g_signal_lookup       (const gchar        *name,					     GType               itype);G_CONST_RETURN gchar* g_signal_name         (guint               signal_id);void                  g_signal_query        (guint               signal_id,					     GSignalQuery       *query);guint*                g_signal_list_ids     (GType               itype,					     guint              *n_ids);gboolean	      g_signal_parse_name   (const gchar	*detailed_signal,					     GType		 itype,					     guint		*signal_id_p,					     GQuark		*detail_p,					     gboolean		 force_detail_quark);GSignalInvocationHint* g_signal_get_invocation_hint (gpointer    instance);/* --- signal emissions --- */void	g_signal_stop_emission		    (gpointer		  instance,					     guint		  signal_id,					     GQuark		  detail);void	g_signal_stop_emission_by_name	    (gpointer		  instance,					     const gchar	 *detailed_signal);gulong	g_signal_add_emission_hook	    (guint		  signal_id,					     GQuark		  quark,					     GSignalEmissionHook  hook_func,					     gpointer	       	  hook_data,					     GDestroyNotify	  data_destroy);void	g_signal_remove_emission_hook	    (guint		  signal_id,					     gulong		  hook_id);/* --- signal handlers --- */gboolean g_signal_has_handler_pending	      (gpointer		  instance,					       guint		  signal_id,					       GQuark		  detail,					       gboolean		  may_be_blocked);gulong	 g_signal_connect_closure_by_id	      (gpointer		  instance,					       guint		  signal_id,					       GQuark		  detail,					       GClosure		 *closure,					       gboolean		  after);gulong	 g_signal_connect_closure	      (gpointer		  instance,					       const gchar       *detailed_signal,					       GClosure		 *closure,					       gboolean		  after);gulong	 g_signal_connect_data		      (gpointer		  instance,					       const gchar	 *detailed_signal,					       GCallback	  c_handler,					       gpointer		  data,					       GClosureNotify	  destroy_data,					       GConnectFlags	  connect_flags);void	 g_signal_handler_block		      (gpointer		  instance,					       gulong		  handler_id);void	 g_signal_handler_unblock	      (gpointer		  instance,					       gulong		  handler_id);void	 g_signal_handler_disconnect	      (gpointer		  instance,					       gulong		  handler_id);gboolean g_signal_handler_is_connected	      (gpointer		  instance,					       gulong		  handler_id);gulong	 g_signal_handler_find		      (gpointer		  instance,					       GSignalMatchType	  mask,					       guint		  signal_id,					       GQuark		  detail,					       GClosure		 *closure,					       gpointer		  func,					       gpointer		  data);guint	 g_signal_handlers_block_matched      (gpointer		  instance,					       GSignalMatchType	  mask,					       guint		  signal_id,					       GQuark		  detail,					       GClosure		 *closure,					       gpointer		  func,					       gpointer		  data);guint	 g_signal_handlers_unblock_matched    (gpointer		  instance,					       GSignalMatchType	  mask,					       guint		  signal_id,					       GQuark		  detail,					       GClosure		 *closure,					       gpointer		  func,					       gpointer		  data);guint	 g_signal_handlers_disconnect_matched (gpointer		  instance,					       GSignalMatchType	  mask,					       guint		  signal_id,					       GQuark		  detail,					       GClosure		 *closure,					       gpointer		  func,					       gpointer		  data);/* --- chaining for language bindings --- */void	g_signal_override_class_closure	      (guint		  signal_id,					       GType		  instance_type,					       GClosure		 *class_closure);void	g_signal_chain_from_overridden	      (const GValue      *instance_and_params,					       GValue            *return_value);/* --- convenience --- */#define g_signal_connect(instance, detailed_signal, c_handler, data) \    g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, (GConnectFlags) 0)#define g_signal_connect_after(instance, detailed_signal, c_handler, data) \    g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, G_CONNECT_AFTER)#define g_signal_connect_swapped(instance, detailed_signal, c_handler, data) \    g_signal_connect_data ((instance), (detailed_signal), (c_handler), (data), NULL, G_CONNECT_SWAPPED)#define	g_signal_handlers_disconnect_by_func(instance, func, data)						\    g_signal_handlers_disconnect_matched ((instance),								\					  (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA),	\					  0, 0, NULL, (func), (data))#define	g_signal_handlers_block_by_func(instance, func, data)							\    g_signal_handlers_block_matched      ((instance),								\				          (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA),	\				          0, 0, NULL, (func), (data))#define	g_signal_handlers_unblock_by_func(instance, func, data)							\    g_signal_handlers_unblock_matched    ((instance),								\				          (GSignalMatchType) (G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA),	\				          0, 0, NULL, (func), (data))/*< private >*/void	 g_signal_handlers_destroy	      (gpointer		  instance);void	 _g_signals_destroy		      (GType		  itype);G_END_DECLS#endif /* __G_SIGNAL_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -