本文整理汇总了C++中GTK_LIST_BOX函数的典型用法代码示例。如果您正苦于以下问题:C++ GTK_LIST_BOX函数的具体用法?C++ GTK_LIST_BOX怎么用?C++ GTK_LIST_BOX使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GTK_LIST_BOX函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: gs_shell_category_create_filter_list
static void
gs_shell_category_create_filter_list (GsShellCategory *shell,
GsCategory *category,
GsCategory *subcategory)
{
GsShellCategoryPrivate *priv = shell->priv;
GtkWidget *row;
GList *l;
GsCategory *s;
_cleanup_list_free_ GList *list = NULL;
gs_container_remove_all (GTK_CONTAINER (priv->category_detail_grid));
list = gs_category_get_subcategories (category);
if (!list)
return;
gtk_grid_attach (GTK_GRID (priv->category_detail_grid), priv->col0_placeholder, 0, 0, 1, 1);
gtk_grid_attach (GTK_GRID (priv->category_detail_grid), priv->col1_placeholder, 1, 0, 1, 1);
gs_container_remove_all (GTK_CONTAINER (priv->listbox_filter));
for (l = list; l; l = l->next) {
s = l->data;
if (gs_category_get_size (s) < 1)
continue;
row = gtk_label_new (gs_category_get_name (s));
g_object_set_data_full (G_OBJECT (row), "category", g_object_ref (s), g_object_unref);
g_object_set (row, "xalign", 0.0, "margin", 10, NULL);
gtk_widget_show (row);
gtk_list_box_insert (GTK_LIST_BOX (priv->listbox_filter), row, -1);
if (subcategory == s)
gtk_list_box_select_row (GTK_LIST_BOX (priv->listbox_filter), GTK_LIST_BOX_ROW (gtk_widget_get_parent (row)));
}
}
开发者ID:ppigmans,项目名称:gnome-software,代码行数:35,代码来源:gs-shell-category.c
示例2: show_filter_widgets
static void
show_filter_widgets (GtkWidget *chooser)
{
CcInputChooserPrivate *priv = GET_PRIVATE (chooser);
LocaleInfo *info;
GHashTableIter iter;
remove_all_children (GTK_CONTAINER (priv->list));
g_hash_table_iter_init (&iter, priv->locales);
while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &info))
add_input_source_widgets_for_locale (chooser, info);
gtk_widget_show_all (priv->list);
gtk_adjustment_set_value (priv->adjustment,
gtk_adjustment_get_lower (priv->adjustment));
gtk_list_box_set_header_func (GTK_LIST_BOX (priv->list),
update_header_func_filter, NULL, NULL);
gtk_list_box_set_selection_mode (GTK_LIST_BOX (priv->list), GTK_SELECTION_SINGLE);
gtk_list_box_set_placeholder (GTK_LIST_BOX (priv->list), priv->no_results);
if (gtk_widget_is_visible (priv->filter_entry))
gtk_widget_grab_focus (priv->filter_entry);
}
开发者ID:mschwendt,项目名称:gnome-initial-setup,代码行数:25,代码来源:cc-input-chooser.c
示例3: main
int
main (int argc, char *argv[])
{
GtkWidget *window, *list, *sw, *row;
GtkWidget *hbox, *vbox, *combo, *button;
gint i;
gchar *text;
gtk_init (NULL, NULL);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window), -1, 300);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
gtk_container_add (GTK_CONTAINER (window), hbox);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
g_object_set (vbox, "margin", 12, NULL);
gtk_container_add (GTK_CONTAINER (hbox), vbox);
list = gtk_list_box_new ();
gtk_list_box_set_selection_mode (GTK_LIST_BOX (list), GTK_SELECTION_NONE);
g_signal_connect (list, "row-activated", G_CALLBACK (on_row_activated), NULL);
g_signal_connect (list, "selected-rows-changed", G_CALLBACK (on_selected_children_changed), NULL);
g_signal_connect (gtk_widget_get_accessible (list), "selection-changed", G_CALLBACK (a11y_selection_changed), NULL);
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_widget_set_hexpand (sw, TRUE);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
gtk_container_add (GTK_CONTAINER (hbox), sw);
gtk_container_add (GTK_CONTAINER (sw), list);
button = gtk_check_button_new_with_label ("Activate on single click");
g_object_bind_property (list, "activate-on-single-click",
button, "active",
G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
gtk_container_add (GTK_CONTAINER (vbox), button);
combo = gtk_combo_box_text_new ();
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), "None");
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), "Single");
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), "Browse");
gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), "Multiple");
g_signal_connect (combo, "changed", G_CALLBACK (selection_mode_changed), list);
gtk_container_add (GTK_CONTAINER (vbox), combo);
gtk_combo_box_set_active (GTK_COMBO_BOX (combo), gtk_list_box_get_selection_mode (GTK_LIST_BOX (list)));
for (i = 0; i < 20; i++)
{
text = g_strdup_printf ("Row %d", i);
row = create_row (text);
gtk_list_box_insert (GTK_LIST_BOX (list), row, -1);
}
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
开发者ID:Zekom,项目名称:gtk,代码行数:60,代码来源:testlist3.c
示例4: empathy_roster_view_constructed
static void
empathy_roster_view_constructed (GObject *object)
{
EmpathyRosterView *self = EMPATHY_ROSTER_VIEW (object);
void (*chain_up) (GObject *) =
((GObjectClass *) empathy_roster_view_parent_class)->constructed;
if (chain_up != NULL)
chain_up (object);
g_assert (EMPATHY_IS_ROSTER_MODEL (self->priv->model));
/* Get saved group states. */
empathy_contact_groups_get_all ();
populate_view (self);
tp_g_signal_connect_object (self->priv->model, "individual-added",
G_CALLBACK (individual_added_cb), self, 0);
tp_g_signal_connect_object (self->priv->model, "individual-removed",
G_CALLBACK (individual_removed_cb), self, 0);
tp_g_signal_connect_object (self->priv->model, "groups-changed",
G_CALLBACK (groups_changed_cb), self, 0);
gtk_list_box_set_sort_func (GTK_LIST_BOX (self),
roster_view_sort, self, NULL);
gtk_list_box_set_header_func (GTK_LIST_BOX (self), update_header, self, NULL);
gtk_list_box_set_filter_func (GTK_LIST_BOX (self), filter_list, self, NULL);
gtk_list_box_set_activate_on_single_click (GTK_LIST_BOX (self), FALSE);
}
开发者ID:Dhinihan,项目名称:empathy,代码行数:33,代码来源:empathy-roster-view.c
示例5: show_input_sources_for_locale
static void
show_input_sources_for_locale (GtkWidget *chooser,
LocaleInfo *info)
{
CcInputChooserPrivate *priv = GET_PRIVATE (chooser);
set_fixed_size (chooser);
remove_all_children (GTK_CONTAINER (priv->list));
if (!info->back_row)
{
info->back_row = g_object_ref_sink (back_row_new (info->name));
g_object_set_data (G_OBJECT (info->back_row), "back", GINT_TO_POINTER (TRUE));
g_object_set_data (G_OBJECT (info->back_row), "locale-info", info);
}
gtk_container_add (GTK_CONTAINER (priv->list), GTK_WIDGET (info->back_row));
add_input_source_rows_for_locale (chooser, info);
gtk_widget_show_all (priv->list);
gtk_adjustment_set_value (priv->adjustment,
gtk_adjustment_get_lower (priv->adjustment));
gtk_list_box_set_header_func (GTK_LIST_BOX (priv->list), cc_list_box_update_header_func, NULL, NULL);
gtk_list_box_invalidate_filter (GTK_LIST_BOX (priv->list));
gtk_list_box_set_selection_mode (GTK_LIST_BOX (priv->list), GTK_SELECTION_SINGLE);
gtk_list_box_set_activate_on_single_click (GTK_LIST_BOX (priv->list), FALSE);
gtk_list_box_unselect_all (GTK_LIST_BOX (priv->list));
if (gtk_widget_is_visible (priv->filter_entry) &&
!gtk_widget_is_focus (priv->filter_entry))
gtk_widget_grab_focus (priv->filter_entry);
}
开发者ID:endlessm,项目名称:gnome-control-center,代码行数:34,代码来源:cc-input-chooser.c
示例6: main
gint
main (gint argc,
gchar *argv[])
{
g_autoptr (DummyProvider) dummy_provider = NULL;
GtdTaskModel *model = NULL;
GtkWidget *scrolledwindow = NULL;
GtkWindow *window = NULL;
GtkWidget *listbox = NULL;
g_set_prgname ("test-task-model");
g_set_application_name ("GNOME To Do | Task Model Test");
gtk_init ();
gtd_log_init ();
/* Create a DumbProvider and pre-populate it */
dummy_provider = dummy_provider_new ();
dummy_provider_generate_task_lists (dummy_provider);
/* Inject a dumb fake provider */
_gtd_manager_inject_provider (gtd_manager_get_default (), GTD_PROVIDER (dummy_provider));
/* Now create the model - the initial providers must be there already */
model = _gtd_task_model_new (gtd_manager_get_default ());
/* Listbox */
listbox = gtk_list_box_new ();
gtk_list_box_bind_model (GTK_LIST_BOX (listbox),
G_LIST_MODEL (model),
create_task_cb,
NULL,
NULL);
gtk_list_box_set_header_func (GTK_LIST_BOX (listbox), header_func, NULL, NULL);
/* Scrolled window */
scrolledwindow = g_object_new (GTK_TYPE_SCROLLED_WINDOW,
"propagate-natural-height", TRUE,
"max-content-height", 600,
"hscrollbar-policy", GTK_POLICY_NEVER,
NULL);
gtk_container_add (GTK_CONTAINER (scrolledwindow), listbox);
/* Window */
window = GTK_WINDOW (gtk_window_new (GTK_WINDOW_TOPLEVEL));
gtk_window_set_default_size (window, 800, 600);
gtk_container_add (GTK_CONTAINER (window), scrolledwindow);
gtk_window_present (window);
/* Now, generate more tasks and lists after injecting to the manager */
dummy_provider_generate_task_lists (dummy_provider);
/* Schedule a live removal of tasks */
dummy_provider_schedule_remove_task (dummy_provider);
gtk_main ();
return 0;
}
开发者ID:GNOME,项目名称:gnome-todo,代码行数:60,代码来源:test-task-model.c
示例7: subtitle_def_selected_lang_list_clear
static void subtitle_def_selected_lang_list_clear(signal_user_data_t *ud)
{
GtkListBox *avail, *selected;
avail = GTK_LIST_BOX(GHB_WIDGET(ud->builder, "subtitle_avail_lang"));
selected = GTK_LIST_BOX(GHB_WIDGET(ud->builder, "subtitle_selected_lang"));
gtk_container_foreach(GTK_CONTAINER(selected),
subtitle_def_lang_list_clear_cb, (gpointer)avail);
}
开发者ID:Doluci,项目名称:HandBrake,代码行数:8,代码来源:subtitlehandler.c
示例8: cc_input_chooser_new
GtkWidget *
cc_input_chooser_new (GtkWindow *main_window,
GnomeXkbInfo *xkb_info,
GHashTable *ibus_engines)
{
GtkBuilder *builder;
GtkWidget *chooser;
CcInputChooserPrivate *priv;
gint width;
GError *error = NULL;
builder = gtk_builder_new ();
if (gtk_builder_add_from_resource (builder, "/org/gnome/initial-setup/input-chooser.ui", &error) == 0)
{
g_object_unref (builder);
g_warning ("failed to load input chooser: %s", error->message);
g_error_free (error);
return NULL;
}
chooser = WID ("input-dialog");
priv = g_new0 (CcInputChooserPrivate, 1);
g_object_set_data_full (G_OBJECT (chooser), "private", priv, cc_input_chooser_private_free);
g_object_set_data_full (G_OBJECT (chooser), "builder", builder, g_object_unref);
priv->xkb_info = xkb_info;
priv->ibus_engines = ibus_engines;
priv->add_button = WID ("add-button");
priv->filter_entry = WID ("filter-entry");
priv->list = WID ("list");
priv->scrolledwindow = WID ("scrolledwindow");
priv->adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (priv->scrolledwindow));
priv->more_item = g_object_ref_sink (more_widget_new ());
priv->no_results = g_object_ref_sink (no_results_widget_new ());
gtk_list_box_set_filter_func (GTK_LIST_BOX (priv->list), list_filter, chooser, NULL);
gtk_list_box_set_sort_func (GTK_LIST_BOX (priv->list), list_sort, chooser, NULL);
g_signal_connect (priv->list, "row-activated", G_CALLBACK (row_activated), chooser);
g_signal_connect (priv->list, "row-selected", G_CALLBACK (row_selected), chooser);
g_signal_connect_swapped (priv->filter_entry, "changed", G_CALLBACK (filter_changed), chooser);
get_locale_infos (chooser);
#ifdef HAVE_IBUS
get_ibus_locale_infos (chooser);
#endif /* HAVE_IBUS */
show_locale_widgets (chooser);
/* Try to come up with a sensible width */
gtk_window_get_size (main_window, &width, NULL);
gtk_widget_set_size_request (chooser, width * MAIN_WINDOW_WIDTH_RATIO, -1);
gtk_window_set_resizable (GTK_WINDOW (chooser), TRUE);
gtk_window_set_transient_for (GTK_WINDOW (chooser), main_window);
return chooser;
}
开发者ID:mschwendt,项目名称:gnome-initial-setup,代码行数:58,代码来源:cc-input-chooser.c
示例9: cc_search_locations_dialog_new
GtkWidget *
cc_search_locations_dialog_new (CcSearchPanel *self)
{
GtkWidget *locations_dialog, *widget, *list_box;
GtkBuilder *dialog_builder;
GError *error = NULL;
dialog_builder = gtk_builder_new ();
gtk_builder_add_from_resource (dialog_builder,
"/org/gnome/control-center/search/search-locations-dialog.ui",
&error);
if (error != NULL)
{
g_warning ("Could not load interface file: %s", error->message);
g_error_free (error);
return NULL;
}
tracker_preferences = g_settings_new (TRACKER_SCHEMA);
locations_dialog = GTK_WIDGET (gtk_builder_get_object (dialog_builder, "locations_dialog"));
widget = GTK_WIDGET (gtk_builder_get_object (dialog_builder, "locations_scrolledwindow"));
list_box = GTK_WIDGET (gtk_list_box_new ());
gtk_container_add (GTK_CONTAINER (widget), list_box);
gtk_list_box_set_sort_func (GTK_LIST_BOX (list_box),
(GtkListBoxSortFunc)place_compare_func, NULL, NULL);
gtk_list_box_set_header_func (GTK_LIST_BOX (list_box),
place_header_func, NULL, NULL);
gtk_widget_show (list_box);
widget = GTK_WIDGET (gtk_builder_get_object (dialog_builder, "locations_remove"));
gtk_widget_set_sensitive (widget, FALSE);
g_signal_connect (list_box, "row-selected",
G_CALLBACK (list_box_row_selected), widget);
g_signal_connect (widget, "clicked",
G_CALLBACK (remove_button_clicked), list_box);
g_signal_connect_swapped (tracker_preferences, "changed::" TRACKER_KEY_RECURSIVE_DIRECTORIES,
G_CALLBACK (locations_dialog_refresh), list_box);
widget = GTK_WIDGET (gtk_builder_get_object (dialog_builder, "locations_add"));
g_signal_connect (widget, "clicked",
G_CALLBACK (add_button_clicked), list_box);
gtk_window_set_transient_for (GTK_WINDOW (locations_dialog),
GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self))));
g_signal_connect (locations_dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
g_signal_connect (locations_dialog, "destroy",
G_CALLBACK (locations_dialog_destroy), NULL);
populate_list_box (list_box);
g_object_unref (dialog_builder);
return locations_dialog;
}
开发者ID:1dot75cm,项目名称:gnome-control-center,代码行数:57,代码来源:cc-search-locations-dialog.c
示例10: cc_language_chooser_new
GtkWidget *
cc_language_chooser_new (GtkWidget *parent)
{
GtkBuilder *builder;
GtkWidget *chooser;
CcLanguageChooserPrivate *priv;
GError *error = NULL;
g_resources_register (cc_common_get_resource ());
builder = gtk_builder_new ();
if (gtk_builder_add_from_resource (builder, "/org/gnome/control-center/common/language-chooser.ui", &error) == 0) {
g_object_unref (builder);
g_warning ("failed to load language chooser: %s", error->message);
g_error_free (error);
return NULL;
}
chooser = WID ("language-dialog");
priv = g_new0 (CcLanguageChooserPrivate, 1);
g_object_set_data_full (G_OBJECT (chooser), "private", priv, cc_language_chooser_private_free);
g_object_set_data_full (G_OBJECT (chooser), "builder", builder, g_object_unref);
priv->done_button = WID ("ok-button");
priv->filter_entry = WID ("language-filter-entry");
priv->language_list = WID ("language-list");
priv->scrolledwindow = WID ("language-scrolledwindow");
priv->more_item = more_widget_new ();
/* We ref-sink here so we can reuse this widget multiple times */
priv->no_results = g_object_ref_sink (no_results_widget_new ());
gtk_widget_show_all (priv->no_results);
gtk_list_box_set_sort_func (GTK_LIST_BOX (priv->language_list),
sort_languages, chooser, NULL);
gtk_list_box_set_filter_func (GTK_LIST_BOX (priv->language_list),
language_visible, chooser, NULL);
gtk_list_box_set_selection_mode (GTK_LIST_BOX (priv->language_list),
GTK_SELECTION_NONE);
gtk_list_box_set_header_func (GTK_LIST_BOX (priv->language_list),
cc_list_box_update_header_func, NULL, NULL);
add_all_languages (GTK_DIALOG (chooser));
g_signal_connect_swapped (priv->filter_entry, "search-changed",
G_CALLBACK (filter_changed), chooser);
g_signal_connect (priv->language_list, "row-activated",
G_CALLBACK (row_activated), chooser);
gtk_list_box_invalidate_filter (GTK_LIST_BOX (priv->language_list));
gtk_window_set_transient_for (GTK_WINDOW (chooser), GTK_WINDOW (parent));
g_signal_connect (chooser, "activate-default",
G_CALLBACK (activate_default), chooser);
return chooser;
}
开发者ID:kleopatra999,项目名称:gnome-control-center,代码行数:57,代码来源:cc-language-chooser.c
示例11: subtitle_def_lang_list_init
static void subtitle_def_lang_list_init(signal_user_data_t *ud)
{
GValue *lang_list;
// Clear selected languages.
subtitle_def_selected_lang_list_clear(ud);
lang_list = ghb_settings_get_value(ud->settings, "SubtitleLanguageList");
if (lang_list == NULL)
{
lang_list = ghb_array_value_new(8);
ghb_settings_set_value(ud->settings, "SubtitleLanguageList", lang_list);
}
int ii, count;
count = ghb_array_len(lang_list);
for (ii = 0; ii < count; )
{
GValue *lang_val = ghb_array_get_nth(lang_list, ii);
int idx = ghb_lookup_audio_lang(lang_val);
if (ii == 0)
{
const iso639_lang_t *lang;
lang = ghb_iso639_lookup_by_int(idx);
subtitle_update_pref_lang(ud, lang);
}
GtkListBox *avail, *selected;
GtkListBoxRow *row;
avail = GTK_LIST_BOX(GHB_WIDGET(ud->builder, "subtitle_avail_lang"));
selected = GTK_LIST_BOX(GHB_WIDGET(ud->builder, "subtitle_selected_lang"));
row = ghb_find_lang_row(avail, idx);
if (row)
{
GtkWidget *label = gtk_bin_get_child(GTK_BIN(row));
g_object_ref(G_OBJECT(label));
gtk_widget_destroy(GTK_WIDGET(row));
gtk_widget_show(label);
gtk_list_box_insert(selected, label, -1);
ii++;
}
else
{
// Error in list. Probably duplicate languages. Remove
// this item from the list.
GValue *glang = ghb_array_get_nth(lang_list, ii);
ghb_array_remove(lang_list, ii);
ghb_value_free(glang);
count--;
}
}
if (count == 0)
{
subtitle_update_pref_lang(ud, NULL);
}
}
开发者ID:Doluci,项目名称:HandBrake,代码行数:56,代码来源:subtitlehandler.c
示例12: show_locale_rows
static void
show_locale_rows (GtkWidget *chooser)
{
CcInputChooserPrivate *priv = GET_PRIVATE (chooser);
GHashTable *initial = NULL;
LocaleInfo *info;
GHashTableIter iter;
remove_all_children (GTK_CONTAINER (priv->list));
if (!priv->showing_extra)
initial = cc_common_language_get_initial_languages ();
g_hash_table_iter_init (&iter, priv->locales);
while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &info))
{
if (!info->default_input_source_row &&
!g_hash_table_size (info->layout_rows_by_id) &&
!g_hash_table_size (info->engine_rows_by_id))
continue;
if (!info->locale_row)
{
info->locale_row = g_object_ref_sink (locale_row_new (info->name));
g_object_set_data (G_OBJECT (info->locale_row), "locale-info", info);
if (!priv->showing_extra &&
!g_hash_table_contains (initial, info->id) &&
!is_current_locale (info->id))
g_object_set_data (G_OBJECT (info->locale_row), "is-extra", GINT_TO_POINTER (TRUE));
}
gtk_container_add (GTK_CONTAINER (priv->list), GTK_WIDGET (info->locale_row));
}
gtk_container_add (GTK_CONTAINER (priv->list), GTK_WIDGET (priv->more_row));
gtk_widget_show_all (priv->list);
gtk_adjustment_set_value (priv->adjustment,
gtk_adjustment_get_lower (priv->adjustment));
gtk_list_box_set_header_func (GTK_LIST_BOX (priv->list), cc_list_box_update_header_func, NULL, NULL);
gtk_list_box_invalidate_filter (GTK_LIST_BOX (priv->list));
gtk_list_box_set_selection_mode (GTK_LIST_BOX (priv->list), GTK_SELECTION_NONE);
gtk_list_box_set_activate_on_single_click (GTK_LIST_BOX (priv->list), TRUE);
if (gtk_widget_is_visible (priv->filter_entry) &&
!gtk_widget_is_focus (priv->filter_entry))
gtk_widget_grab_focus (priv->filter_entry);
if (!priv->showing_extra)
g_hash_table_destroy (initial);
}
开发者ID:endlessm,项目名称:gnome-control-center,代码行数:52,代码来源:cc-input-chooser.c
示例13: add_routes_section
static void
add_routes_section (CEPageIP4 *page)
{
GtkWidget *widget;
GtkWidget *frame;
GtkWidget *list;
gint i;
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "routes_section"));
frame = gtk_frame_new (NULL);
gtk_container_add (GTK_CONTAINER (widget), frame);
page->routes_list = list = gtk_list_box_new ();
gtk_list_box_set_selection_mode (GTK_LIST_BOX (list), GTK_SELECTION_NONE);
gtk_list_box_set_header_func (GTK_LIST_BOX (list), cc_list_box_update_header_func, NULL, NULL);
gtk_list_box_set_sort_func (GTK_LIST_BOX (list), (GtkListBoxSortFunc)sort_first_last, NULL, NULL);
gtk_container_add (GTK_CONTAINER (frame), list);
page->auto_routes = GTK_SWITCH (gtk_builder_get_object (CE_PAGE (page)->builder, "auto_routes_switch"));
gtk_switch_set_active (page->auto_routes, !nm_setting_ip4_config_get_ignore_auto_routes (page->setting));
g_signal_connect (page->auto_routes, "notify::active", G_CALLBACK (switch_toggled), page);
add_section_toolbar (page, widget, G_CALLBACK (add_empty_route_row));
for (i = 0; i < nm_setting_ip4_config_get_num_routes (page->setting); i++) {
NMIP4Route *route;
struct in_addr tmp_addr;
gchar address[INET_ADDRSTRLEN + 1];
gchar netmask[INET_ADDRSTRLEN + 1];
gchar gateway[INET_ADDRSTRLEN + 1];
gint metric;
route = nm_setting_ip4_config_get_route (page->setting, i);
if (!route)
continue;
tmp_addr.s_addr = nm_ip4_route_get_dest (route);
(void) inet_ntop (AF_INET, &tmp_addr, &address[0], sizeof (address));
tmp_addr.s_addr = nm_utils_ip4_prefix_to_netmask (nm_ip4_route_get_prefix (route));
(void) inet_ntop (AF_INET, &tmp_addr, &netmask[0], sizeof (netmask));
tmp_addr.s_addr = nm_ip4_route_get_next_hop (route);
(void) inet_ntop (AF_INET, &tmp_addr, &gateway[0], sizeof (gateway));
metric = nm_ip4_route_get_metric (route);
add_route_row (page, address, netmask, gateway, metric);
}
if (nm_setting_ip4_config_get_num_routes (page->setting) == 0)
add_empty_route_row (page);
gtk_widget_show_all (widget);
}
开发者ID:RavetcoFX,项目名称:cinnamon-control-center,代码行数:51,代码来源:ce-page-ip4.c
示例14: gs_update_list_init
static void
gs_update_list_init (GsUpdateList *update_list)
{
GsUpdateListPrivate *priv = GET_PRIV (update_list);
priv->sizegroup_image = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
priv->sizegroup_name = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
gtk_list_box_set_header_func (GTK_LIST_BOX (update_list),
list_header_func,
update_list, NULL);
gtk_list_box_set_sort_func (GTK_LIST_BOX (update_list),
list_sort_func,
update_list, NULL);
}
开发者ID:RigoBono,项目名称:gnome-software,代码行数:14,代码来源:gs-update-list.c
示例15: cc_language_chooser_constructed
static void
cc_language_chooser_constructed (GObject *object)
{
GtkBuilder *builder;
CcLanguageChooser *chooser = CC_LANGUAGE_CHOOSER (object);
CcLanguageChooserPrivate *priv = chooser->priv;
GError *error = NULL;
G_OBJECT_CLASS (cc_language_chooser_parent_class)->constructed (object);
builder = gtk_builder_new ();
if (gtk_builder_add_from_resource (builder, "/org/gnome/control-center/language-chooser.ui", &error) == 0) {
g_object_unref (builder);
g_warning ("failed to load language chooser: %s", error->message);
g_error_free (error);
return;
}
gtk_container_add (GTK_CONTAINER (chooser), WID ("language-chooser"));
priv->filter_entry = WID ("language-filter-entry");
priv->language_list = WID ("language-list");
priv->more_item = more_widget_new ();
priv->no_results = no_results_widget_new ();
gtk_list_box_set_sort_func (GTK_LIST_BOX (priv->language_list),
sort_languages, chooser, NULL);
gtk_list_box_set_filter_func (GTK_LIST_BOX (priv->language_list),
language_visible, chooser, NULL);
gtk_list_box_set_header_func (GTK_LIST_BOX (priv->language_list),
update_header_func, chooser, NULL);
gtk_list_box_set_selection_mode (GTK_LIST_BOX (priv->language_list),
GTK_SELECTION_NONE);
add_all_languages (chooser);
g_signal_connect (priv->filter_entry, "changed",
G_CALLBACK (filter_changed),
chooser);
g_signal_connect (priv->language_list, "row-activated",
G_CALLBACK (row_activated), chooser);
if (priv->language == NULL)
priv->language = cc_common_language_get_current_language ();
sync_all_checkmarks (chooser);
g_object_unref (builder);
}
开发者ID:kleopatra999,项目名称:gnome-initial-setup,代码行数:49,代码来源:cc-language-chooser.c
示例16: add_address_section
static void
add_address_section (CEPageIP6 *page)
{
GtkWidget *widget;
GtkWidget *frame;
GtkWidget *list;
gint i;
widget = GTK_WIDGET (gtk_builder_get_object (CE_PAGE (page)->builder, "address_section"));
frame = gtk_frame_new (NULL);
gtk_container_add (GTK_CONTAINER (widget), frame);
page->address_list = list = gtk_list_box_new ();
gtk_list_box_set_selection_mode (GTK_LIST_BOX (list), GTK_SELECTION_NONE);
gtk_list_box_set_header_func (GTK_LIST_BOX (list), update_header, NULL, NULL);
gtk_list_box_set_sort_func (GTK_LIST_BOX (list), (GtkListBoxSortFunc)sort_first_last, NULL, NULL);
gtk_container_add (GTK_CONTAINER (frame), list);
add_section_toolbar (page, widget, G_CALLBACK (add_empty_address_row));
for (i = 0; i < nm_setting_ip6_config_get_num_addresses (page->setting); i++) {
NMIP6Address *addr;
const struct in6_addr *tmp_addr;
gchar address[INET6_ADDRSTRLEN + 1];
gchar network[INET6_ADDRSTRLEN + 1];
gchar gateway[INET6_ADDRSTRLEN + 1];
addr = nm_setting_ip6_config_get_address (page->setting, i);
if (!addr)
continue;
tmp_addr = nm_ip6_address_get_address (addr);
(void) inet_ntop (AF_INET6, tmp_addr, &address[0], sizeof (address));
snprintf (network, sizeof (network), "%u", nm_ip6_address_get_prefix (addr));
tmp_addr = nm_ip6_address_get_gateway (addr);
if (tmp_addr && !IN6_IS_ADDR_UNSPECIFIED (tmp_addr))
(void) inet_ntop (AF_INET6, tmp_addr, &gateway[0], sizeof (gateway));
else
gateway[0] = '\0';
add_address_row (page, address, network, gateway);
}
if (nm_setting_ip6_config_get_num_addresses (page->setting) == 0)
add_empty_address_row (page);
gtk_widget_show_all (widget);
}
开发者ID:jigpu,项目名称:gnome-control-center,代码行数:49,代码来源:ce-page-ip6.c
示例17: subtitle_remove_lang_clicked_cb
G_MODULE_EXPORT void
subtitle_remove_lang_clicked_cb(GtkWidget *widget, signal_user_data_t *ud)
{
GtkListBox *avail, *selected;
GtkListBoxRow *row;
GtkWidget *label;
avail = GTK_LIST_BOX(GHB_WIDGET(ud->builder, "subtitle_avail_lang"));
selected = GTK_LIST_BOX(GHB_WIDGET(ud->builder, "subtitle_selected_lang"));
row = gtk_list_box_get_selected_row(selected);
if (row != NULL)
{
gint index;
GValue *lang_list;
index = gtk_list_box_row_get_index(row);
// Remove from UI selected language list box
label = gtk_bin_get_child(GTK_BIN(row));
g_object_ref(G_OBJECT(label));
int idx = (intptr_t)g_object_get_data(G_OBJECT(label), "lang_idx");
gtk_widget_destroy(GTK_WIDGET(row));
gtk_widget_show(label);
// Add to UI available language list box
gtk_list_box_insert(avail, label, idx);
// Remove from preset language list
lang_list = ghb_settings_get_value(ud->settings, "SubtitleLanguageList");
GValue *glang = ghb_array_get_nth(lang_list, index);
ghb_array_remove(lang_list, index);
ghb_value_free(glang);
ghb_clear_presets_selection(ud);
if (ghb_array_len(lang_list) > 0)
{
const iso639_lang_t *lang;
GValue *entry = ghb_array_get_nth(lang_list, 0);
lang = ghb_iso639_lookup_by_int(ghb_lookup_audio_lang(entry));
subtitle_update_pref_lang(ud, lang);
}
else
{
subtitle_update_pref_lang(ud, NULL);
}
}
}
开发者ID:Doluci,项目名称:HandBrake,代码行数:48,代码来源:subtitlehandler.c
示例18: set_locale_id
static void
set_locale_id (GtkDialog *chooser,
const gchar *locale_id)
{
CcLanguageChooserPrivate *priv = GET_PRIVATE (chooser);
GList *children, *l;
children = gtk_container_get_children (GTK_CONTAINER (priv->language_list));
for (l = children; l; l = l->next) {
GtkWidget *row = l->data;
GtkWidget *check = g_object_get_data (G_OBJECT (row), "check");
const gchar *language = g_object_get_data (G_OBJECT (row), "locale-id");
if (check == NULL || language == NULL)
continue;
if (g_strcmp0 (locale_id, language) == 0) {
gboolean is_extra;
gtk_widget_set_opacity (check, 1.0);
/* make sure the selected language is shown */
is_extra = GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (row), "is-extra"));
if (!priv->showing_extra && is_extra) {
g_object_set_data (G_OBJECT (row), "is-extra", GINT_TO_POINTER (FALSE));
gtk_list_box_invalidate_filter (GTK_LIST_BOX (priv->language_list));
}
} else {
gtk_widget_set_opacity (check, 0.0);
}
}
g_list_free (children);
g_free (priv->language);
priv->language = g_strdup (locale_id);
}
开发者ID:jigpu,项目名称:gnome-control-center,代码行数:35,代码来源:cc-language-chooser.c
示例19: glade_gtk_listbox_set_child_property
void
glade_gtk_listbox_set_child_property (GladeWidgetAdaptor *adaptor,
GObject *container,
GObject *child,
const gchar *property_name,
GValue *value)
{
g_return_if_fail (GTK_IS_LIST_BOX (container));
g_return_if_fail (GTK_IS_LIST_BOX_ROW (child));
g_return_if_fail (property_name != NULL || value != NULL);
if (strcmp (property_name, "position") == 0)
{
gint position;
position = g_value_get_int (value);
glade_gtk_listbox_reorder (GTK_LIST_BOX (container),
GTK_LIST_BOX_ROW (child),
position);
}
else
{
/* Chain Up */
GWA_GET_CLASS (GTK_TYPE_CONTAINER)->child_set_property (adaptor,
container,
child,
property_name,
value);
}
}
开发者ID:kugel-,项目名称:glade,代码行数:31,代码来源:glade-gtk-list-box.c
示例20: cc_input_chooser_get_selected
gboolean
cc_input_chooser_get_selected (GtkWidget *chooser,
gchar **type,
gchar **id,
gchar **name)
{
CcInputChooserPrivate *priv = GET_PRIVATE (chooser);
GtkListBoxRow *selected;
const gchar *t, *i, *n;
selected = gtk_list_box_get_selected_row (GTK_LIST_BOX (priv->list));
if (!selected)
return FALSE;
t = g_object_get_data (G_OBJECT (selected), "type");
i = g_object_get_data (G_OBJECT (selected), "id");
n = g_object_get_data (G_OBJECT (selected), "name");
if (!t || !i || !n)
return FALSE;
*type = g_strdup (t);
*id = g_strdup (i);
*name = g_strdup (n);
return TRUE;
}
开发者ID:endlessm,项目名称:gnome-control-center,代码行数:27,代码来源:cc-input-chooser.c
注:本文中的GTK_LIST_BOX函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论