You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

150 lines
6.9 KiB

  1. /* GTK - The GIMP Toolkit
  2. * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
  3. *
  4. * This library is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU Lesser General Public
  6. * License as published by the Free Software Foundation; either
  7. * version 2 of the License, or (at your option) any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. * Lesser General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU Lesser General Public
  15. * License along with this library; if not, write to the
  16. * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  17. * Boston, MA 02111-1307, USA.
  18. */
  19. /*
  20. * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
  21. * file for a list of people on the GTK+ Team. See the ChangeLog
  22. * files for a list of changes. These files are distributed with
  23. * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  24. */
  25. #ifndef GTK_DISABLE_DEPRECATED
  26. #ifndef __GTK_SIGNAL_H__
  27. #define __GTK_SIGNAL_H__
  28. #include <gtk/gtk.h>
  29. #include <gtk/gtkmarshal.h>
  30. G_BEGIN_DECLS
  31. #define gtk_signal_default_marshaller g_cclosure_marshal_VOID__VOID
  32. /* --- compat defines --- */
  33. #define GTK_SIGNAL_OFFSET G_STRUCT_OFFSET
  34. #define gtk_signal_lookup(name,object_type) \
  35. g_signal_lookup ((name), (object_type))
  36. #define gtk_signal_name(signal_id) \
  37. g_signal_name (signal_id)
  38. #define gtk_signal_emit_stop(object,signal_id) \
  39. g_signal_stop_emission ((object), (signal_id), 0)
  40. #define gtk_signal_connect(object,name,func,func_data) \
  41. gtk_signal_connect_full ((object), (name), (func), NULL, (func_data), NULL, 0, 0)
  42. #define gtk_signal_connect_after(object,name,func,func_data) \
  43. gtk_signal_connect_full ((object), (name), (func), NULL, (func_data), NULL, 0, 1)
  44. #define gtk_signal_connect_object(object,name,func,slot_object) \
  45. gtk_signal_connect_full ((object), (name), (func), NULL, (slot_object), NULL, 1, 0)
  46. #define gtk_signal_connect_object_after(object,name,func,slot_object) \
  47. gtk_signal_connect_full ((object), (name), (func), NULL, (slot_object), NULL, 1, 1)
  48. #define gtk_signal_disconnect(object,handler_id) \
  49. g_signal_handler_disconnect ((object), (handler_id))
  50. #define gtk_signal_handler_block(object,handler_id) \
  51. g_signal_handler_block ((object), (handler_id))
  52. #define gtk_signal_handler_unblock(object,handler_id) \
  53. g_signal_handler_unblock ((object), (handler_id))
  54. #define gtk_signal_disconnect_by_func(object,func,data) \
  55. gtk_signal_compat_matched ((object), (func), (data), \
  56. (GSignalMatchType)(G_SIGNAL_MATCH_FUNC | \
  57. G_SIGNAL_MATCH_DATA), 0)
  58. #define gtk_signal_disconnect_by_data(object,data) \
  59. gtk_signal_compat_matched ((object), 0, (data), G_SIGNAL_MATCH_DATA, 0)
  60. #define gtk_signal_handler_block_by_func(object,func,data) \
  61. gtk_signal_compat_matched ((object), (func), (data), \
  62. (GSignalMatchType)(G_SIGNAL_MATCH_FUNC | \
  63. G_SIGNAL_MATCH_DATA), 1)
  64. #define gtk_signal_handler_block_by_data(object,data) \
  65. gtk_signal_compat_matched ((object), 0, (data), G_SIGNAL_MATCH_DATA, 1)
  66. #define gtk_signal_handler_unblock_by_func(object,func,data) \
  67. gtk_signal_compat_matched ((object), (func), (data), \
  68. (GSignalMatchType)(G_SIGNAL_MATCH_FUNC | \
  69. G_SIGNAL_MATCH_DATA), 2)
  70. #define gtk_signal_handler_unblock_by_data(object,data) \
  71. gtk_signal_compat_matched ((object), 0, (data), G_SIGNAL_MATCH_DATA, 2)
  72. #define gtk_signal_handler_pending(object,signal_id,may_be_blocked) \
  73. g_signal_has_handler_pending ((object), (signal_id), 0, (may_be_blocked))
  74. #define gtk_signal_handler_pending_by_func(object,signal_id,may_be_blocked,func,data) \
  75. (g_signal_handler_find ((object), \
  76. (GSignalMatchType)(G_SIGNAL_MATCH_ID | \
  77. G_SIGNAL_MATCH_FUNC | \
  78. G_SIGNAL_MATCH_DATA | \
  79. ((may_be_blocked) ? 0 : G_SIGNAL_MATCH_UNBLOCKED)),\
  80. (signal_id), 0, 0, (func), (data)) != 0)
  81. /* --- compat functions --- */
  82. guint gtk_signal_newv (const gchar *name,
  83. GtkSignalRunType signal_flags,
  84. GType object_type,
  85. guint function_offset,
  86. GSignalCMarshaller marshaller,
  87. GType return_val,
  88. guint n_args,
  89. GType *args);
  90. guint gtk_signal_new (const gchar *name,
  91. GtkSignalRunType signal_flags,
  92. GType object_type,
  93. guint function_offset,
  94. GSignalCMarshaller marshaller,
  95. GType return_val,
  96. guint n_args,
  97. ...);
  98. void gtk_signal_emit_stop_by_name (GtkObject *object,
  99. const gchar *name);
  100. void gtk_signal_connect_object_while_alive (GtkObject *object,
  101. const gchar *name,
  102. GCallback func,
  103. GtkObject *alive_object);
  104. void gtk_signal_connect_while_alive (GtkObject *object,
  105. const gchar *name,
  106. GCallback func,
  107. gpointer func_data,
  108. GtkObject *alive_object);
  109. gulong gtk_signal_connect_full (GtkObject *object,
  110. const gchar *name,
  111. GCallback func,
  112. GtkCallbackMarshal unsupported,
  113. gpointer data,
  114. GDestroyNotify destroy_func,
  115. gint object_signal,
  116. gint after);
  117. void gtk_signal_emitv (GtkObject *object,
  118. guint signal_id,
  119. GtkArg *args);
  120. void gtk_signal_emit (GtkObject *object,
  121. guint signal_id,
  122. ...);
  123. void gtk_signal_emit_by_name (GtkObject *object,
  124. const gchar *name,
  125. ...);
  126. void gtk_signal_emitv_by_name (GtkObject *object,
  127. const gchar *name,
  128. GtkArg *args);
  129. void gtk_signal_compat_matched (GtkObject *object,
  130. GCallback func,
  131. gpointer data,
  132. GSignalMatchType match,
  133. guint action);
  134. G_END_DECLS
  135. #endif /* __GTK_SIGNAL_H__ */
  136. #endif /* GTK_DISABLE_DEPRECATED */