gsignal.zc

来自「实现树形结构」· ZC 代码 · 共 55 行

ZC
55
字号

import "glib/glib/gtypes"
import "glib/gobject/gclosure"
import "glib/gobject/gparam"

public [name="c"]

enum GSignalFlags
  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
end
equ G_SIGNAL_FLAGS_MASK = 0x7f

enum GConnectFlags
  G_CONNECT_AFTER	= 1 << 0
  G_CONNECT_SWAPPED	= 1 << 1
end

enum GSignalMatchType
  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
end
equ G_SIGNAL_MATCH_MASK = 0x3f

import func g_signal_connect_data (gpointer,
					       [] gchar,
					       GCallback,
					       gpointer,
					       GClosureNotify,
					       GConnectFlags): gulong

import func g_signal_handler_block (gpointer,gulong)
import func g_signal_handler_unblock (gpointer,gulong)
import func g_signal_handler_disconnect (gpointer,gulong)

equ g_signal_connect (instance: gpointer, detailed_signal: []gchar, c_handler: GCallback, data: gpointer) =
	g_signal_connect_data (instance, detailed_signal, c_handler, data, nil, 0:GConnectFlags)
equ g_signal_connect_after (instance: gpointer, detailed_signal: []gchar, c_handler: GCallback, data: gpointer) =
	g_signal_connect_data (instance, detailed_signal, c_handler, data, nil , G_CONNECT_AFTER)
equ g_signal_connect_swapped(instance: gpointer, detailed_signal: []gchar, c_handler: GCallback, data: gpointer) =
	g_signal_connect_data (instance, detailed_signal, c_handler, data, nil, G_CONNECT_SWAPPED)


end

⌨️ 快捷键说明

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