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

📄 gntwindow.c

📁 Linux下的多协议即时通讯程序源代码
💻 C
字号:
#include "gntstyle.h"#include "gntwindow.h"#include <string.h>enum{	SIGS = 1,};static GntBoxClass *parent_class = NULL;static void (*org_destroy)(GntWidget *widget);static gbooleanshow_menu(GntBindable *bind, GList *null){	GntWindow *win = GNT_WINDOW(bind);	if (win->menu) {		gnt_screen_menu_show(win->menu);		return TRUE;	}	return FALSE;}static voidgnt_window_destroy(GntWidget *widget){	GntWindow *window = GNT_WINDOW(widget);	if (window->menu)		gnt_widget_destroy(GNT_WIDGET(window->menu));	org_destroy(widget);}static voidgnt_window_class_init(GntWindowClass *klass){	GntBindableClass *bindable = GNT_BINDABLE_CLASS(klass);	GntWidgetClass *wid_class = GNT_WIDGET_CLASS(klass);	parent_class = GNT_BOX_CLASS(klass);	org_destroy = wid_class->destroy;	wid_class->destroy = gnt_window_destroy;	gnt_bindable_class_register_action(bindable, "show-menu", show_menu,				GNT_KEY_CTRL_O, NULL);	gnt_bindable_register_binding(bindable, "show-menu", GNT_KEY_F10, NULL);	gnt_style_read_actions(G_OBJECT_CLASS_TYPE(klass), bindable);	GNTDEBUG;}static voidgnt_window_init(GTypeInstance *instance, gpointer class){	GntWidget *widget = GNT_WIDGET(instance);	GNT_WIDGET_UNSET_FLAGS(widget, GNT_WIDGET_NO_BORDER | GNT_WIDGET_NO_SHADOW);	GNT_WIDGET_SET_FLAGS(widget, GNT_WIDGET_CAN_TAKE_FOCUS);	GNTDEBUG;}/****************************************************************************** * GntWindow API *****************************************************************************/GTypegnt_window_get_gtype(void){	static GType type = 0;	if(type == 0)	{		static const GTypeInfo info = {			sizeof(GntWindowClass),			NULL,					/* base_init		*/			NULL,					/* base_finalize	*/			(GClassInitFunc)gnt_window_class_init,			NULL,					/* class_finalize	*/			NULL,					/* class_data		*/			sizeof(GntWindow),			0,						/* n_preallocs		*/			gnt_window_init,			/* instance_init	*/			NULL					/* value_table		*/		};		type = g_type_register_static(GNT_TYPE_BOX,									  "GntWindow",									  &info, 0);	}	return type;}GntWidget *gnt_window_new(){	GntWidget *widget = g_object_new(GNT_TYPE_WINDOW, NULL);	return widget;}GntWidget *gnt_window_box_new(gboolean homo, gboolean vert){	GntWidget *wid = gnt_window_new();	GntBox *box = GNT_BOX(wid);	box->homogeneous = homo;	box->vertical = vert;	box->alignment = vert ? GNT_ALIGN_LEFT : GNT_ALIGN_MID;	return wid;}void gnt_window_set_menu(GntWindow *window, GntMenu *menu){	/* If a menu already existed, then destroy that first. */	if (window->menu)		gnt_widget_destroy(GNT_WIDGET(window->menu));	window->menu = menu;}

⌨️ 快捷键说明

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