void ide_workbench_remove_perspective (IdeWorkbench *self, IdePerspective *perspective) { guint n_items; guint i; g_assert (IDE_IS_WORKBENCH (self)); g_assert (IDE_IS_PERSPECTIVE (perspective)); g_assert (gtk_widget_get_parent (GTK_WIDGET (perspective)) == GTK_WIDGET (self->perspectives_stack)); n_items = g_list_model_get_n_items (G_LIST_MODEL (self->perspectives)); for (i = 0; i < n_items; i++) { g_autoptr(IdePerspective) item = NULL; item = g_list_model_get_item (G_LIST_MODEL (self->perspectives), i); if (item == perspective) { g_list_store_remove (self->perspectives, i); break; } } gtk_container_remove (GTK_CONTAINER (self->perspectives_stack), GTK_WIDGET (perspective)); }
static guint get (GListModel *model, guint position) { GObject *object = g_list_model_get_item (model, position); g_assert (object != NULL); return GPOINTER_TO_UINT (g_object_get_qdata (object, number_quark)); }
static void on_clear_all_button_clicked (GtkButton *button, gpointer user_data) { PpJobsDialog *dialog = user_data; guint num_items; guint i; num_items = g_list_model_get_n_items (G_LIST_MODEL (dialog->store)); for (i = 0; i < num_items; i++) { PpJob *job = PP_JOB (g_list_model_get_item (G_LIST_MODEL (dialog->store), i)); pp_job_cancel_purge_async (job, FALSE); } }
void egg_app_info_model_changed (GAppInfoMonitor *monitor, gpointer user_data) { EggKeyedListStore *store = user_data; GHashTable *old_app_ids; GList *new_apps; GList *it; guint n_items; gint i; GHashTableIter iter; const gchar *id; old_app_ids = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref); n_items = g_list_model_get_n_items (G_LIST_MODEL (store)); for (i = 0; i < n_items; i++) { GAppInfo *info; info = g_list_model_get_item (G_LIST_MODEL (store), i); g_hash_table_insert (old_app_ids, (gpointer) g_app_info_get_id (info), info); } new_apps = g_app_info_get_all (); for (it = new_apps; it; it = it->next) { GAppInfo *info = it->data; if (!g_app_info_should_show (info)) continue; id = g_app_info_get_id (info); /* only add the application if we didn't have it before */ if (!g_hash_table_remove (old_app_ids, id)) egg_keyed_list_store_insert (store, id, info); } /* remove app ids that aren't in new_apps */ g_hash_table_iter_init (&iter, old_app_ids); while (g_hash_table_iter_next (&iter, (gpointer) &id, NULL)) egg_keyed_list_store_remove (store, id); g_list_free_full (new_apps, g_object_unref); g_hash_table_destroy (old_app_ids); }
static gboolean list_model_get_value (TmplIterator *iter, GValue *value) { guint index = GPOINTER_TO_INT (iter->data1); GObject *obj; obj = g_list_model_get_item (iter->instance, index); if (obj != NULL) g_value_init (value, G_OBJECT_TYPE (obj)); else g_value_init (value, G_TYPE_OBJECT); g_value_take_object (value, obj); return TRUE; }
static gboolean list_model_get_value (TmplIterator *iter, GValue *value) { guint index = GPOINTER_TO_INT (iter->data1); GObject *obj; g_return_val_if_fail (index > 0, FALSE); obj = g_list_model_get_item (iter->instance, index - 1); g_value_init (value, g_list_model_get_item_type (iter->instance)); if (obj != NULL) g_value_take_object (value, obj); return TRUE; }
static void bind_buffer_manager (GbpEditorWorkspaceAddin *self, IdeBufferManager *buffer_manager, DzlSignalGroup *signal_group) { guint n_items; g_assert (GBP_IS_EDITOR_WORKSPACE_ADDIN (self)); g_assert (IDE_IS_BUFFER_MANAGER (buffer_manager)); g_assert (DZL_IS_SIGNAL_GROUP (signal_group)); if (self->surface == NULL) return; n_items = g_list_model_get_n_items (G_LIST_MODEL (buffer_manager)); for (guint i = 0; i < n_items; i++) { g_autoptr(IdeBuffer) buffer = NULL; buffer = g_list_model_get_item (G_LIST_MODEL (buffer_manager), i); ide_editor_surface_focus_buffer (self->surface, buffer); } }