您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GNT_TREE函数代码示例

51自学网 2021-06-01 20:53:41
  C++
这篇教程C++ GNT_TREE函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GNT_TREE函数的典型用法代码示例。如果您正苦于以下问题:C++ GNT_TREE函数的具体用法?C++ GNT_TREE怎么用?C++ GNT_TREE使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GNT_TREE函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: plugin_toggled_cb

static voidplugin_toggled_cb(GntWidget *tree, PurplePlugin *plugin, gpointer null){	GError *error = NULL;	if (gnt_tree_get_choice(GNT_TREE(tree), plugin))	{		if (!purple_plugin_load(plugin, &error)) {			purple_notify_error(NULL, _("ERROR"), _("loading plugin failed"), error->message, NULL);			gnt_tree_set_choice(GNT_TREE(tree), plugin, FALSE);			g_error_free(error);		}	}	else	{		if (!purple_plugin_unload(plugin, &error)) {			purple_notify_error(NULL, _("ERROR"), _("unloading plugin failed"), error->message, NULL);			purple_plugin_disable(plugin);			gnt_tree_set_choice(GNT_TREE(tree), plugin, TRUE);			g_error_free(error);		}		finch_plugin_pref_close(plugin);	}	decide_conf_button(plugin);	finch_plugins_save_loaded();}
开发者ID:N8Fear,项目名称:purple-facebook,代码行数:27,


示例2: toggle_tag_selection

static gbooleantoggle_tag_selection(GntBindable *bind, GList *null){	GntFileSel *sel = GNT_FILE_SEL(bind);	char *str;	GList *find;	char *file;	GntWidget *tree;	if (!sel->multiselect)		return FALSE;	tree = sel->dirsonly ? sel->dirs : sel->files;	if (!gnt_widget_has_focus(tree) ||			gnt_tree_is_searching(GNT_TREE(tree)))		return FALSE;	file = gnt_tree_get_selection_data(GNT_TREE(tree));	str = gnt_file_sel_get_selected_file(sel);	if ((find = g_list_find_custom(sel->tags, str, (GCompareFunc)g_utf8_collate)) != NULL) {		g_free(find->data);		sel->tags = g_list_delete_link(sel->tags, find);		gnt_tree_set_row_flags(GNT_TREE(tree), file, GNT_TEXT_FLAG_NORMAL);		g_free(str);	} else {		sel->tags = g_list_prepend(sel->tags, str);		gnt_tree_set_row_flags(GNT_TREE(tree), file, GNT_TEXT_FLAG_BOLD);	}	gnt_bindable_perform_action_named(GNT_BINDABLE(tree), "move-down", NULL);	return TRUE;}
开发者ID:bf4,项目名称:pidgin-mac,代码行数:33,


示例3: save_savedstatus_cb

static voidsave_savedstatus_cb(GntWidget *button, EditStatus *edit){	const char *title, *message;	PurpleStatusPrimitive prim;	PurpleSavedStatus *find;	title = gnt_entry_get_text(GNT_ENTRY(edit->title));	message = gnt_entry_get_text(GNT_ENTRY(edit->message));	if (!message || !*message)		message = NULL;	prim = GPOINTER_TO_INT(gnt_combo_box_get_selected_data(GNT_COMBO_BOX(edit->type)));	if (!title || !*title)	{		purple_notify_error(edit, _("Error"), _("Invalid title"),				_("Please enter a non-empty title for the status."));		gnt_box_give_focus_to_child(GNT_BOX(edit->window), edit->title);		return;	}	find = purple_savedstatus_find(title);	if (find && find != edit->saved)	{		purple_notify_error(edit, _("Error"), _("Duplicate title"),				_("Please enter a different title for the status."));		gnt_box_give_focus_to_child(GNT_BOX(edit->window), edit->title);		return;	}		if (edit->saved == NULL)	{		edit->saved = purple_savedstatus_new(title, prim);		purple_savedstatus_set_message(edit->saved, message);		set_substatuses(edit);		if (statuses.tree)			gnt_tree_add_row_last(GNT_TREE(statuses.tree), edit->saved,					gnt_tree_create_row(GNT_TREE(statuses.tree), title,						purple_primitive_get_name_from_type(prim), message), NULL);	}	else	{		purple_savedstatus_set_title(edit->saved, title);		purple_savedstatus_set_type(edit->saved, prim);		purple_savedstatus_set_message(edit->saved, message);		if (statuses.tree)		{			gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 0, title);			gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 1,						purple_primitive_get_name_from_type(prim));			gnt_tree_change_text(GNT_TREE(statuses.tree), edit->saved, 2, message);		}	}	if (g_object_get_data(G_OBJECT(button), "use"))		purple_savedstatus_activate(edit->saved);	gnt_widget_destroy(edit->window);}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:60,


示例4: add_substatus

static voidadd_substatus(EditStatus *edit, PurpleAccount *account){	char *name;	const char *type = NULL, *message = NULL;	PurpleSavedStatusSub *sub = NULL;	RowInfo *key;	if (!edit || !edit->tree)		return;	if (edit->saved)		sub = purple_savedstatus_get_substatus(edit->saved, account);	key = g_new0(RowInfo, 1);	key->account = account;	if (sub)	{		key->type = purple_savedstatus_substatus_get_type(sub);		type = purple_status_type_get_name(key->type);		message = purple_savedstatus_substatus_get_message(sub);		key->message = g_strdup(message);	}	name = g_strdup_printf("%s (%s)", purple_account_get_username(account),			purple_account_get_protocol_name(account));	gnt_tree_add_choice(GNT_TREE(edit->tree), key,			gnt_tree_create_row(GNT_TREE(edit->tree),				name, type ? type : "", message ? message : ""), NULL, NULL);	if (sub)		gnt_tree_set_choice(GNT_TREE(edit->tree), key, TRUE);	g_free(name);}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:35,


示例5: finch_savedstatus_show_all

void finch_savedstatus_show_all(){	GntWidget *window, *tree, *box, *button;	int widths[] = {25, 12, 35};	if (statuses.window) {		gnt_window_present(statuses.window);		return;	}	statuses.window = window = gnt_vbox_new(FALSE);	gnt_box_set_toplevel(GNT_BOX(window), TRUE);	gnt_box_set_title(GNT_BOX(window), _("Saved Statuses"));	gnt_box_set_fill(GNT_BOX(window), FALSE);	gnt_box_set_alignment(GNT_BOX(window), GNT_ALIGN_MID);	gnt_box_set_pad(GNT_BOX(window), 0);	/* XXX: Add some sorting function to sort alphabetically, perhaps */	statuses.tree = tree = gnt_tree_new_with_columns(3);	gnt_tree_set_column_titles(GNT_TREE(tree), _("Title"), _("Type"), _("Message"));	gnt_tree_set_show_title(GNT_TREE(tree), TRUE);	gnt_tree_set_column_width_ratio(GNT_TREE(tree), widths);	gnt_widget_set_size(tree, 72, 0);	gnt_box_add_widget(GNT_BOX(window), tree);	populate_statuses(GNT_TREE(tree));	box = gnt_hbox_new(FALSE);	gnt_box_add_widget(GNT_BOX(window), box);	button = gnt_button_new(_("Use"));	gnt_box_add_widget(GNT_BOX(box), button);	g_signal_connect(G_OBJECT(button), "activate",			G_CALLBACK(use_savedstatus_cb), NULL);	button = gnt_button_new(_("Add"));	gnt_box_add_widget(GNT_BOX(box), button);	gnt_util_set_trigger_widget(tree, GNT_KEY_INS, button);	g_signal_connect_swapped(G_OBJECT(button), "activate",			G_CALLBACK(finch_savedstatus_edit), NULL);	button = gnt_button_new(_("Edit"));	gnt_box_add_widget(GNT_BOX(box), button);	g_signal_connect(G_OBJECT(button), "activate",			G_CALLBACK(edit_savedstatus_cb), NULL);	button = gnt_button_new(_("Delete"));	gnt_box_add_widget(GNT_BOX(box), button);	gnt_util_set_trigger_widget(tree, GNT_KEY_DEL, button);	g_signal_connect(G_OBJECT(button), "activate",			G_CALLBACK(ask_before_delete), NULL);	button = gnt_button_new(_("Close"));	gnt_box_add_widget(GNT_BOX(box), button);	g_signal_connect_swapped(G_OBJECT(button), "activate",			G_CALLBACK(gnt_widget_destroy), window);	g_signal_connect(G_OBJECT(window), "destroy",			G_CALLBACK(reset_status_window), NULL);	gnt_widget_show(window);}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:60,


示例6: check_for_trigger

static gbooleancheck_for_trigger(GntMenu *menu, char trigger){	/* check for a trigger key */	GList *iter;	GList *find;	GList *nth = g_list_find(menu->list, gnt_tree_get_selection_data(GNT_TREE(menu)));	if (nth == NULL)		return FALSE;	find = find_item_with_trigger(nth->next, NULL, trigger);	if (!find)		find = find_item_with_trigger(menu->list, nth->next, trigger);	if (!find)		return FALSE;	if (find != nth) {		gnt_tree_set_selected(GNT_TREE(menu), find->data);		iter = find_item_with_trigger(find->next, NULL, trigger);		if (iter != NULL && iter != find)			return TRUE;		iter = find_item_with_trigger(menu->list, nth, trigger);		if (iter != NULL && iter != find)			return TRUE;	}	gnt_widget_activate(GNT_WIDGET(menu));	return TRUE;}
开发者ID:ArmoredPidgin,项目名称:pidgin-hardened,代码行数:28,


示例7: setup_email_dialog

static voidsetup_email_dialog(void){	GntWidget *box, *tree, *button;	if (emaildialog.window)		return;	emaildialog.window = box = gnt_vbox_new(FALSE);	gnt_box_set_toplevel(GNT_BOX(box), TRUE);	gnt_box_set_title(GNT_BOX(box), _("Emails"));	gnt_box_set_fill(GNT_BOX(box), FALSE);	gnt_box_set_alignment(GNT_BOX(box), GNT_ALIGN_MID);	gnt_box_set_pad(GNT_BOX(box), 0);	gnt_box_add_widget(GNT_BOX(box),			gnt_label_new_with_format(_("You have mail!"), GNT_TEXT_FLAG_BOLD));	emaildialog.tree = tree = gnt_tree_new_with_columns(3);	gnt_tree_set_column_titles(GNT_TREE(tree), _("Account"), _("Sender"), _("Subject"));	gnt_tree_set_show_title(GNT_TREE(tree), TRUE);	gnt_tree_set_col_width(GNT_TREE(tree), 0, 15);	gnt_tree_set_col_width(GNT_TREE(tree), 1, 25);	gnt_tree_set_col_width(GNT_TREE(tree), 2, 25);	gnt_box_add_widget(GNT_BOX(box), tree);	button = gnt_button_new(_("Close"));	gnt_box_add_widget(GNT_BOX(box), button);	g_signal_connect_swapped(G_OBJECT(button), "activate", G_CALLBACK(gnt_widget_destroy), box);	g_signal_connect(G_OBJECT(box), "destroy", G_CALLBACK(reset_email_dialog), NULL);}
开发者ID:Draghtnod,项目名称:pidgin,代码行数:32,


示例8: plugin_toggled_cb

static voidplugin_toggled_cb(GntWidget *tree, PurplePlugin *plugin, gpointer null){	if (gnt_tree_get_choice(GNT_TREE(tree), plugin))	{		if (!purple_plugin_load(plugin)) {			purple_notify_error(NULL, _("ERROR"), _("loading plugin failed"), NULL);			gnt_tree_set_choice(GNT_TREE(tree), plugin, FALSE);		}	}	else	{		GntWidget *win;		if (!purple_plugin_unload(plugin)) {			purple_notify_error(NULL, _("ERROR"), _("unloading plugin failed"), NULL);			purple_plugin_disable(plugin);			gnt_tree_set_choice(GNT_TREE(tree), plugin, TRUE);		}		if (confwins && (win = g_hash_table_lookup(confwins, plugin)) != NULL)		{			gnt_widget_destroy(win);		}	}	decide_conf_button(plugin);	finch_plugins_save_loaded();}
开发者ID:wosigh,项目名称:messaging-plugins,代码行数:28,


示例9: update_location

static voidupdate_location(GntFileSel *sel){	char *old;	const char *tmp;	tmp = sel->suggest ? sel->suggest :		(const char*)gnt_tree_get_selection_data(sel->dirsonly ? GNT_TREE(sel->dirs) : GNT_TREE(sel->files));	old = g_strdup_printf("%s%s%s", SAFE(sel->current), SAFE(sel->current)[1] ? G_DIR_SEPARATOR_S : "", tmp ? tmp : "");	gnt_entry_set_text(GNT_ENTRY(sel->location), old);	g_free(old);}
开发者ID:bf4,项目名称:pidgin-mac,代码行数:11,


示例10: set_substatuses

static voidset_substatuses(EditStatus *edit){	GList *iter;	for (iter = gnt_tree_get_rows(GNT_TREE(edit->tree)); iter; iter = iter->next) {		RowInfo *key = iter->data;		if (gnt_tree_get_choice(GNT_TREE(edit->tree), key)) {			purple_savedstatus_set_substatus(edit->saved, key->account, key->type, key->message);		}	}}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:11,


示例11: hide_popup

static voidhide_popup(GntComboBox *box, gboolean set){	gnt_widget_set_size(box->dropdown,		box->dropdown->priv.width - 1, box->dropdown->priv.height);	if (set)		set_selection(box, gnt_tree_get_selection_data(GNT_TREE(box->dropdown)));	else		gnt_tree_set_selected(GNT_TREE(box->dropdown), box->selected);	gnt_widget_hide(box->dropdown->parent);}
开发者ID:Distrotech,项目名称:pidgin,代码行数:11,


示例12: reset_cb

static voidreset_cb(GntWidget *button, gpointer null){	/* Don't dereference this pointer ! */	gpointer key = gnt_tree_get_selection_data(GNT_TREE(pref_dialog->events));	FinchSoundEvent * event = &sounds[GPOINTER_TO_INT(key)];	g_free(event->file);	event->file = NULL;	gnt_tree_change_text(GNT_TREE(pref_dialog->events), key, 1, _("(default)"));}
开发者ID:Herrie82,项目名称:pidgin-2.10.12,代码行数:11,


示例13: populate_pounces_list

static voidpopulate_pounces_list(PouncesManager *dialog){	GList *pounces;	gnt_tree_remove_all(GNT_TREE(dialog->tree));	for (pounces = purple_pounces_get_all_for_ui(FINCH_UI); pounces != NULL;			pounces = g_list_delete_link(pounces, pounces))	{		add_pounce_to_treeview(GNT_TREE(dialog->tree), pounces->data);	}}
开发者ID:CkNoSFeRaTU,项目名称:pidgin,代码行数:13,


示例14: file_cb

static voidfile_cb(GntFileSel *w, const char *path, const char *file, gpointer data){	FinchSoundEvent *event = data;	g_free(event->file);	event->file = g_strdup(path);	gnt_tree_change_text(GNT_TREE(pref_dialog->events), GINT_TO_POINTER(event->id), 1, file);	gnt_tree_set_choice(GNT_TREE(pref_dialog->events), GINT_TO_POINTER(event->id), TRUE);	gnt_widget_destroy(GNT_WIDGET(w));}
开发者ID:Herrie82,项目名称:pidgin-2.10.12,代码行数:13,


示例15: finch_notify_emails

static void *finch_notify_emails(PurpleConnection *gc, size_t count, gboolean detailed,		const char **subjects, const char **froms, const char **tos,		const char **urls){	PurpleAccount *account = purple_connection_get_account(gc);	GString *message = g_string_new(NULL);	void *ret;	static int key = 0;	if (count == 0)		return NULL;	if (!detailed)	{		g_string_append_printf(message,				ngettext("%s (%s) has %d new message.",					     "%s (%s) has %d new messages.",						 (int)count),				tos ? *tos : purple_account_get_username(account),				purple_account_get_protocol_name(account), (int)count);	}	else	{		char *to;		gboolean newwin = (emaildialog.window == NULL);		if (newwin)			setup_email_dialog();		to = g_strdup_printf("%s (%s)", tos ? *tos : purple_account_get_username(account),					purple_account_get_protocol_name(account));		gnt_tree_add_row_after(GNT_TREE(emaildialog.tree), GINT_TO_POINTER(++key),				gnt_tree_create_row(GNT_TREE(emaildialog.tree), to,					froms ? *froms : "[Unknown sender]",					*subjects),				NULL, NULL);		g_free(to);		if (newwin)			gnt_widget_show(emaildialog.window);		else			gnt_window_present(emaildialog.window);		return NULL;	}	ret = finch_notify_common(PURPLE_NOTIFY_EMAIL, PURPLE_NOTIFY_MSG_INFO,		_("New Mail"), _("You have mail!"), message->str);	g_string_free(message, TRUE);	return ret;}
开发者ID:Draghtnod,项目名称:pidgin,代码行数:50,


示例16: location_changed

static gbooleanlocation_changed(GntFileSel *sel, GError **err){	GList *files, *iter;	gboolean success;	if (!sel->dirs)		return TRUE;	gnt_tree_remove_all(GNT_TREE(sel->dirs));	if (sel->files)		gnt_tree_remove_all(GNT_TREE(sel->files));	gnt_entry_set_text(GNT_ENTRY(sel->location), NULL);	if (sel->current == NULL) {		if (GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(sel), GNT_WIDGET_MAPPED))			gnt_widget_draw(GNT_WIDGET(sel));		return TRUE;	}	/* XXX:/	 * XXX: This is blocking.	 * XXX:/	 */	files = NULL;	if (sel->read_fn)		success = sel->read_fn(sel->current, &files, err);	else		success = local_read_fn(sel->current, &files, err);		if (!success || *err) {		gnt_warning("error opening location %s (%s)",			sel->current, *err ? (*err)->message : "reason unknown");		return FALSE;	}	for (iter = files; iter; iter = iter->next) {		GntFile *file = iter->data;		char *str = file->basename;		if (file->type == GNT_FILE_DIR) {			gnt_tree_add_row_after(GNT_TREE(sel->dirs), g_strdup(str),					gnt_tree_create_row(GNT_TREE(sel->dirs), str), NULL, NULL);			if (sel->multiselect && sel->dirsonly && is_tagged(sel, str))				gnt_tree_set_row_flags(GNT_TREE(sel->dirs), (gpointer)str, GNT_TEXT_FLAG_BOLD);		} else if (!sel->dirsonly) {			char size[128];			snprintf(size, sizeof(size), "%ld", file->size);			gnt_tree_add_row_after(GNT_TREE(sel->files), g_strdup(str),					gnt_tree_create_row(GNT_TREE(sel->files), str, size, ""), NULL, NULL);			if (sel->multiselect && is_tagged(sel, str))				gnt_tree_set_row_flags(GNT_TREE(sel->files), (gpointer)str, GNT_TEXT_FLAG_BOLD);		}	}	g_list_foreach(files, (GFunc)gnt_file_free, NULL);	g_list_free(files);	if (GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(sel), GNT_WIDGET_MAPPED))		gnt_widget_draw(GNT_WIDGET(sel));	return TRUE;}
开发者ID:bf4,项目名称:pidgin-mac,代码行数:59,


示例17: load_pref_window

static voidload_pref_window(const char * profile){	gint i;	finch_sound_set_active_profile(profile);	gnt_combo_box_set_selected(GNT_COMBO_BOX(pref_dialog->method), (gchar *)purple_prefs_get_string(make_pref("/method")));	gnt_entry_set_text(GNT_ENTRY(pref_dialog->command), purple_prefs_get_path(make_pref("/command")));	gnt_check_box_set_checked(GNT_CHECK_BOX(pref_dialog->conv_focus), purple_prefs_get_bool(make_pref("/conv_focus")));	gnt_combo_box_set_selected(GNT_COMBO_BOX(pref_dialog->while_status), GINT_TO_POINTER(purple_prefs_get_int("/purple" "/sound/while_status")));	gnt_slider_set_value(GNT_SLIDER(pref_dialog->volume), CLAMP(purple_prefs_get_int(make_pref("/volume")), 0, 100));	for (i = 0; i < PURPLE_NUM_SOUNDS; i++) {		FinchSoundEvent * event = &sounds[i];		gchar *boolpref;		gchar *filepref, *basename = NULL;		const char * profile = finch_sound_get_active_profile();		filepref = g_strdup_printf(FINCH_PREFS_ROOT "/sound/profiles/%s/file/%s", profile, event->pref);		g_free(event->file);		event->file = g_strdup(purple_prefs_get_path(filepref));		g_free(filepref);		if (event->label == NULL) {			continue;		}		boolpref = g_strdup_printf(FINCH_PREFS_ROOT "/sound/profiles/%s/enabled/%s", profile, event->pref);		gnt_tree_change_text(GNT_TREE(pref_dialog->events), GINT_TO_POINTER(i), 0, event->label);		gnt_tree_change_text(GNT_TREE(pref_dialog->events), GINT_TO_POINTER(i), 1,				event->file[0] ? (basename = g_path_get_basename(event->file)) : _("(default)"));		g_free(basename);		gnt_tree_set_choice(GNT_TREE(pref_dialog->events), GINT_TO_POINTER(i), purple_prefs_get_bool(boolpref));		g_free(boolpref);	}	gnt_tree_set_selected(GNT_TREE(pref_dialog->profiles), (gchar *)finch_sound_get_active_profile());	gnt_widget_draw(pref_dialog->window);}
开发者ID:Herrie82,项目名称:pidgin-2.10.12,代码行数:49,


示例18: gnt_combo_box_draw

static voidgnt_combo_box_draw(GntWidget *widget){	GntComboBox *box = GNT_COMBO_BOX(widget);	char *text = NULL, *s;	GntColorType type;	int len;	if (box->dropdown && box->selected)		text = gnt_tree_get_selection_text(GNT_TREE(box->dropdown));	if (text == NULL)		text = g_strdup("");	if (gnt_widget_has_focus(widget))		type = GNT_COLOR_HIGHLIGHT;	else		type = GNT_COLOR_NORMAL;	wbkgdset(widget->window, '/0' | gnt_color_pair(type));	s = (char*)gnt_util_onscreen_width_to_pointer(text, widget->priv.width - 4, &len);	*s = '/0';	mvwaddstr(widget->window, 1, 1, C_(text));	whline(widget->window, ' ' | gnt_color_pair(type), widget->priv.width - 4 - len);	mvwaddch(widget->window, 1, widget->priv.width - 3, ACS_VLINE | gnt_color_pair(GNT_COLOR_NORMAL));	mvwaddch(widget->window, 1, widget->priv.width - 2, ACS_DARROW | gnt_color_pair(GNT_COLOR_NORMAL));	wmove(widget->window, 1, 1);	g_free(text);	GNTDEBUG;}
开发者ID:Distrotech,项目名称:pidgin,代码行数:33,


示例19: finch_xfer_dialog_cancel_xfer

voidfinch_xfer_dialog_cancel_xfer(PurpleXfer *xfer){	PurpleGntXferUiData *data;	const gchar *status;	g_return_if_fail(xfer_dialog != NULL);	g_return_if_fail(xfer != NULL);	data = FINCHXFER(xfer);	if (data == NULL)		return;	if (!data->in_list)		return;	if ((purple_xfer_get_status(xfer) == PURPLE_XFER_STATUS_CANCEL_LOCAL) && (xfer_dialog->auto_clear)) {		finch_xfer_dialog_remove_xfer(xfer);		return;	}	update_title_progress();	if (purple_xfer_is_canceled(xfer))		status = _("Cancelled");	else		status = _("Failed");	gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_STATUS, status);}
开发者ID:CkNoSFeRaTU,项目名称:pidgin,代码行数:31,


示例20: readjust_columns

static voidreadjust_columns(GntTree *tree){	int i, col, total;	int width;#define WIDTH(i) (tree->columns[i].width_ratio ? tree->columns[i].width_ratio : tree->columns[i].width)	gnt_widget_get_size(GNT_WIDGET(tree), &width, NULL);	if (!GNT_WIDGET_IS_FLAG_SET(GNT_WIDGET(tree), GNT_WIDGET_NO_BORDER))		width -= 2;	width -= 1;  /* Exclude the scrollbar from the calculation */	for (i = 0, total = 0; i < tree->ncol ; i++) {		if (tree->columns[i].flags & GNT_TREE_COLUMN_INVISIBLE)			continue;		if (tree->columns[i].flags & GNT_TREE_COLUMN_FIXED_SIZE)			width -= WIDTH(i) + (tree->priv->lastvisible != i);		else			total += WIDTH(i) + (tree->priv->lastvisible != i);	}	if (total == 0)		return;	for (i = 0; i < tree->ncol; i++) {		if (tree->columns[i].flags & GNT_TREE_COLUMN_INVISIBLE)			continue;		if (tree->columns[i].flags & GNT_TREE_COLUMN_FIXED_SIZE)			col = WIDTH(i);		else			col = (WIDTH(i) * width) / total;		gnt_tree_set_col_width(GNT_TREE(tree), i, col);	}}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:32,


示例21: use_savedstatus_cb

static voiduse_savedstatus_cb(GntWidget *widget, gpointer null){	g_return_if_fail(statuses.tree != NULL);	purple_savedstatus_activate(gnt_tree_get_selection_data(GNT_TREE(statuses.tree)));}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:7,


示例22: menuitem_activate

static voidmenuitem_activate(GntMenu *menu, GntMenuItem *item){	if (!item)		return;	if (gnt_menuitem_activate(item)) {		menu_hide_all(menu);	} else {		if (item->submenu) {			GntMenu *sub = GNT_MENU(item->submenu);			menu->submenu = sub;			sub->type = GNT_MENU_POPUP;	/* Submenus are *never* toplevel */			sub->parentmenu = menu;			if (menu->type != GNT_MENU_TOPLEVEL) {				GntWidget *widget = GNT_WIDGET(menu);				item->priv.x = widget->priv.x + widget->priv.width - 1;				item->priv.y = widget->priv.y + gnt_tree_get_selection_visible_line(GNT_TREE(menu));			}			gnt_widget_set_position(GNT_WIDGET(sub), item->priv.x, item->priv.y);			GNT_WIDGET_UNSET_FLAGS(GNT_WIDGET(sub), GNT_WIDGET_INVISIBLE);			gnt_widget_draw(GNT_WIDGET(sub));		} else {			menu_hide_all(menu);		}	}}
开发者ID:ArmoredPidgin,项目名称:pidgin-hardened,代码行数:27,


示例23: edit_savedstatus_cb

static voidedit_savedstatus_cb(GntWidget *widget, gpointer null){	g_return_if_fail(statuses.tree != NULL);	finch_savedstatus_edit(gnt_tree_get_selection_data(GNT_TREE(statuses.tree)));}
开发者ID:crodjer,项目名称:pidgin_whiteboard,代码行数:7,


示例24: choose_cb

static voidchoose_cb(GntWidget *button, gpointer null){	GntWidget *w = gnt_file_sel_new();	GntFileSel *sel = GNT_FILE_SEL(w);	PurpleSoundEventID id = GPOINTER_TO_INT(gnt_tree_get_selection_data(GNT_TREE(pref_dialog->events)));	FinchSoundEvent * event = &sounds[id];	char *path = NULL;	gnt_box_set_title(GNT_BOX(w), _("Select Sound File ..."));	gnt_file_sel_set_current_location(sel,			(event && event->file) ? (path = g_path_get_dirname(event->file))				: purple_home_dir());	g_signal_connect_swapped(G_OBJECT(sel->cancel), "activate", G_CALLBACK(gnt_widget_destroy), sel);	g_signal_connect(G_OBJECT(sel), "file_selected", G_CALLBACK(file_cb), event);	g_signal_connect_swapped(G_OBJECT(sel), "destroy", G_CALLBACK(g_nullify_pointer), &pref_dialog->selector);	/* If there's an already open file-selector, close that one. */	if (pref_dialog->selector)		gnt_widget_destroy(pref_dialog->selector);	pref_dialog->selector = w;	gnt_widget_show(w);	g_free(path);}
开发者ID:Herrie82,项目名称:pidgin-2.10.12,代码行数:27,


示例25: finch_xfer_dialog_remove_xfer

voidfinch_xfer_dialog_remove_xfer(PurpleXfer *xfer){	PurpleGntXferUiData *data;	g_return_if_fail(xfer_dialog != NULL);	g_return_if_fail(xfer != NULL);	data = FINCHXFER(xfer);	if (data == NULL)		return;	if (!data->in_list)		return;	data->in_list = FALSE;	gnt_tree_remove(GNT_TREE(xfer_dialog->tree), xfer);	xfer_dialog->num_transfers--;	if (xfer_dialog->num_transfers == 0 && !xfer_dialog->keep_open)		finch_xfer_dialog_destroy();	else		update_title_progress();	purple_xfer_unref(xfer);}
开发者ID:CkNoSFeRaTU,项目名称:pidgin,代码行数:28,


示例26: test_cb

static voidtest_cb(GntWidget *button, gpointer null){	PurpleSoundEventID id = GPOINTER_TO_INT(gnt_tree_get_selection_data(GNT_TREE(pref_dialog->events)));	FinchSoundEvent * event = &sounds[id];	char *enabled, *file, *tmpfile, *volpref;	gboolean temp_value;	int volume;	enabled = g_strdup_printf(FINCH_PREFS_ROOT "/sound/profiles/%s/enabled/%s",			finch_sound_get_active_profile(), event->pref);	file = g_strdup_printf(FINCH_PREFS_ROOT "/sound/profiles/%s/file/%s",			finch_sound_get_active_profile(), event->pref);	volpref = g_strdup(make_pref("/volume"));	temp_value = purple_prefs_get_bool(enabled);	tmpfile = g_strdup(purple_prefs_get_path(file));	volume = purple_prefs_get_int(volpref);	purple_prefs_set_path(file, event->file);	if (!temp_value) purple_prefs_set_bool(enabled, TRUE);	purple_prefs_set_int(volpref, gnt_slider_get_value(GNT_SLIDER(pref_dialog->volume)));	purple_sound_play_event(id, NULL);	if (!temp_value) purple_prefs_set_bool(enabled, FALSE);	purple_prefs_set_path(file, tmpfile);	purple_prefs_set_int(volpref, volume);	g_free(enabled);	g_free(file);	g_free(tmpfile);	g_free(volpref);}
开发者ID:Herrie82,项目名称:pidgin-2.10.12,代码行数:34,


示例27: finch_notify_sr_new_rows

static voidfinch_notify_sr_new_rows(PurpleConnection *gc,		PurpleNotifySearchResults *results, void *data){	GntTree *tree = GNT_TREE(data);	GList *o;	/* XXX: Do I need to empty the tree here? */	for (o = results->rows; o; o = o->next)	{		gnt_tree_add_row_after(GNT_TREE(tree), o->data,				gnt_tree_create_row_from_list(GNT_TREE(tree), o->data),				NULL, NULL);	}}
开发者ID:Draghtnod,项目名称:pidgin,代码行数:16,


示例28: fl_add_room

static voidfl_add_room(PurpleRoomlist *roomlist, PurpleRoomlistRoom *room){	gboolean category;	if (froomlist.roomlist != roomlist)		return;	category = (purple_roomlist_room_get_type(room) == PURPLE_ROOMLIST_ROOMTYPE_CATEGORY);	gnt_tree_remove(GNT_TREE(froomlist.tree), room);	gnt_tree_add_row_after(GNT_TREE(froomlist.tree), room,			gnt_tree_create_row(GNT_TREE(froomlist.tree),				purple_roomlist_room_get_name(room),				category ? "<" : ""),			purple_roomlist_room_get_parent(room), NULL);	gnt_tree_set_expanded(GNT_TREE(froomlist.tree), room, !category);}
开发者ID:bf4,项目名称:pidgin-mac,代码行数:16,


示例29: gnt_combo_box_key_pressed

static gbooleangnt_combo_box_key_pressed(GntWidget *widget, const char *text){	GntComboBox *box = GNT_COMBO_BOX(widget);	gboolean showing = !!GNT_WIDGET_IS_FLAG_SET(box->dropdown->parent, GNT_WIDGET_MAPPED);	if (showing) {		if (text[1] == 0) {			switch (text[0]) {				case '/r':				case '/t':				case '/n':					hide_popup(box, TRUE);					return TRUE;				case 27:					hide_popup(box, FALSE);					return TRUE;			}		}	}	if (gnt_widget_key_pressed(box->dropdown, text)) {		if (!showing)			popup_dropdown(box);		return TRUE;	}	{#define SEARCH_IN_RANGE(start, end) do { /		GntTreeRow *row; /		for (row = start; row != end; /				row = gnt_tree_row_get_next(tree, row)) { /			gpointer key = gnt_tree_row_get_key(tree, row); /			GList *list = gnt_tree_get_row_text_list(tree, key); /			gboolean found = FALSE; /			found = (list->data && g_ascii_strncasecmp(text, list->data, len) == 0); /			g_list_foreach(list, (GFunc)g_free, NULL); /			g_list_free(list); /			if (found) { /				if (!showing) /					popup_dropdown(box); /				gnt_tree_set_selected(tree, key); /				return TRUE; /			} /		} /} while (0)		int len = strlen(text);		GntTree *tree = GNT_TREE(box->dropdown);		GntTreeRow *current = tree->current;		SEARCH_IN_RANGE(gnt_tree_row_get_next(tree, current), NULL);		SEARCH_IN_RANGE(tree->top, current);#undef SEARCH_IN_RANGE	}	return FALSE;}
开发者ID:Distrotech,项目名称:pidgin,代码行数:59,


示例30: prof_add_cb

static voidprof_add_cb(GntButton *button, GntEntry * entry){	const char * profile = gnt_entry_get_text(entry);	GntTreeRow * row;	if (!finch_sound_profile_exists(profile)) {		gpointer key = g_strdup(profile);		row = gnt_tree_create_row(GNT_TREE(pref_dialog->profiles), profile);		gnt_tree_add_row_after(GNT_TREE(pref_dialog->profiles), key,				row,				NULL, NULL);		gnt_entry_set_text(entry, "");		gnt_tree_set_selected(GNT_TREE(pref_dialog->profiles), key);		finch_sound_set_active_profile(key);	} else		reload_pref_window(profile);}
开发者ID:Herrie82,项目名称:pidgin-2.10.12,代码行数:17,



注:本文中的GNT_TREE函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GNT_WIDGET函数代码示例
C++ GNOME_CANVAS_ITEM函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。