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

📄 gsignal.zc

📁 实现树形结构
💻 ZC
字号:

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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -