static void
gucharmap_script_chapters_model_init (GucharmapScriptChaptersModel *model)
{
  GtkListStore *store = GTK_LIST_STORE (model);
  const gchar **unicode_scripts;
  GtkTreeIter iter;
  guint i;
  GType types[] = {
    G_TYPE_STRING,
    G_TYPE_STRING,
  };

  gtk_list_store_set_column_types (store, G_N_ELEMENTS (types), types);

  unicode_scripts = gucharmap_unicode_list_scripts ();
  for (i = 0;  unicode_scripts[i]; i++)
    {
      gtk_list_store_append (store, &iter);
      gtk_list_store_set (store, &iter,
                          GUCHARMAP_CHAPTERS_MODEL_COLUMN_ID, unicode_scripts[i],
                          GUCHARMAP_CHAPTERS_MODEL_COLUMN_LABEL, _(unicode_scripts[i]),
                          -1);
    }
  g_free (unicode_scripts);

  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model),
                                        GUCHARMAP_CHAPTERS_MODEL_COLUMN_LABEL,
                                        GTK_SORT_ASCENDING);
}
示例#2
0
static void
font_view_model_init (FontViewModel *self)
{
    GType types[NUM_COLUMNS] =
        { G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_STRING };

    self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, FONT_VIEW_TYPE_MODEL, FontViewModelPrivate);

    if (FT_Init_FreeType (&self->priv->library) != FT_Err_Ok)
        g_critical ("Can't initialize FreeType library");

    gtk_list_store_set_column_types (GTK_LIST_STORE (self),
                                     NUM_COLUMNS, types);

    gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (self),
                                          COLUMN_NAME,
                                          GTK_SORT_ASCENDING);
    gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (self),
                                     COLUMN_NAME,
                                     font_view_model_sort_func,
                                     NULL, NULL);

    g_idle_add (ensure_font_list_idle, self);
    create_file_monitors (self);
}
static void
photos_organize_collection_model_init (PhotosOrganizeCollectionModel *self)
{
  PhotosOrganizeCollectionModelPrivate *priv;
  GApplication *app;
  GType columns[] = {G_TYPE_STRING,  /* ID */
                     G_TYPE_STRING,  /* NAME */
                     G_TYPE_INT};    /* STATE */
  PhotosSearchContextState *state;

  self->priv = photos_organize_collection_model_get_instance_private (self);
  priv = self->priv;

  app = g_application_get_default ();
  state = photos_search_context_get_state (PHOTOS_SEARCH_CONTEXT (app));

  gtk_list_store_set_column_types (GTK_LIST_STORE (self), G_N_ELEMENTS (columns), columns);

  priv->manager = g_object_ref (state->item_mngr);

  g_signal_connect_object (priv->manager,
                           "object-added",
                           G_CALLBACK (photos_organize_collection_model_object_added),
                           self,
                           0);
  g_signal_connect_object (priv->manager,
                           "object-removed",
                           G_CALLBACK (photos_organize_collection_model_object_removed),
                           self,
                           0);

  /* Populate the model. */
  photos_organize_collection_model_refresh_state (self);
}
示例#4
0
static void
eog_list_store_init (EogListStore *self)
{
	GType types[EOG_LIST_STORE_NUM_COLUMNS];

	types[EOG_LIST_STORE_THUMBNAIL] = GDK_TYPE_PIXBUF;
	types[EOG_LIST_STORE_EOG_IMAGE] = G_TYPE_OBJECT;
	types[EOG_LIST_STORE_THUMB_SET] = G_TYPE_BOOLEAN;
	types[EOG_LIST_STORE_EOG_JOB]   = G_TYPE_POINTER;

	gtk_list_store_set_column_types (GTK_LIST_STORE (self),
					 EOG_LIST_STORE_NUM_COLUMNS, types);

	self->priv = EOG_LIST_STORE_GET_PRIVATE (self);

	self->priv->monitors = NULL;
	self->priv->initial_image = -1;

	self->priv->busy_image = eog_list_store_get_icon ("image-loading");
	self->priv->missing_image = eog_list_store_get_icon ("image-missing");

	g_mutex_init (&self->priv->mutex);

	gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (self),
						 eog_list_store_compare_func,
						 NULL, NULL);

	gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (self),
					      GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID,
					      GTK_SORT_ASCENDING);
}
static void trg_trackers_model_init(TrgTrackersModel * self)
{
    TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(self);

    GType column_types[TRACKERCOL_COLUMNS];

    column_types[TRACKERCOL_ICON] = G_TYPE_STRING;
    column_types[TRACKERCOL_TIER] = G_TYPE_INT64;
    column_types[TRACKERCOL_ANNOUNCE] = G_TYPE_STRING;
    column_types[TRACKERCOL_SCRAPE] = G_TYPE_STRING;
    column_types[TRACKERCOL_ID] = G_TYPE_INT64;
    column_types[TRACKERCOL_LAST_ANNOUNCE_PEER_COUNT] = G_TYPE_INT64;
    column_types[TRACKERCOL_LAST_ANNOUNCE_TIME] = G_TYPE_INT64;
    column_types[TRACKERCOL_LAST_SCRAPE_TIME] = G_TYPE_INT64;
    column_types[TRACKERCOL_SEEDERCOUNT] = G_TYPE_INT64;
    column_types[TRACKERCOL_LEECHERCOUNT] = G_TYPE_INT64;
    column_types[TRACKERCOL_HOST] = G_TYPE_STRING;
    column_types[TRACKERCOL_LAST_ANNOUNCE_RESULT] = G_TYPE_STRING;
    column_types[TRACKERCOL_UPDATESERIAL] = G_TYPE_INT64;

    priv->accept = TRUE;
    priv->torrentId = -1;

    gtk_list_store_set_column_types(GTK_LIST_STORE(self),
                                    TRACKERCOL_COLUMNS, column_types);
}
static void
set_up (EmpathyPersonaStore *self)
{
  EmpathyPersonaStorePriv *priv;
  GType types[] = {
    GDK_TYPE_PIXBUF,      /* Status pixbuf */
    GDK_TYPE_PIXBUF,      /* Avatar pixbuf */
    G_TYPE_BOOLEAN,       /* Avatar pixbuf visible */
    G_TYPE_STRING,        /* Name */
    G_TYPE_STRING,        /* Account name */
    G_TYPE_STRING,        /* Display ID */
    G_TYPE_UINT,          /* Presence type */
    G_TYPE_STRING,        /* Status string */
    FOLKS_TYPE_PERSONA,   /* Persona */
    G_TYPE_BOOLEAN,       /* Is active */
    G_TYPE_BOOLEAN,       /* Is online */
    G_TYPE_BOOLEAN,       /* Can make audio calls */
    G_TYPE_BOOLEAN,       /* Can make video calls */
  };

  priv = GET_PRIV (self);

  gtk_list_store_set_column_types (GTK_LIST_STORE (self),
      EMPATHY_PERSONA_STORE_COL_COUNT, types);

  /* Set up sorting */
  gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (self),
      EMPATHY_PERSONA_STORE_COL_NAME, name_sort_func, self, NULL);
  gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (self),
      EMPATHY_PERSONA_STORE_COL_STATUS, state_sort_func, self, NULL);

  priv->sort_criterion = EMPATHY_PERSONA_STORE_SORT_NAME;
  empathy_persona_store_set_sort_criterion (self, priv->sort_criterion);
}
static void
ephy_hosts_store_init (EphyHostsStore *self)
{
  GType types[EPHY_HOSTS_STORE_N_COLUMNS];

  types[EPHY_HOSTS_STORE_COLUMN_ID]          = G_TYPE_INT;
  types[EPHY_HOSTS_STORE_COLUMN_TITLE]       = G_TYPE_STRING;
  types[EPHY_HOSTS_STORE_COLUMN_ADDRESS]     = G_TYPE_STRING;
  types[EPHY_HOSTS_STORE_COLUMN_VISIT_COUNT] = G_TYPE_INT;
  types[EPHY_HOSTS_STORE_COLUMN_FAVICON]     = GDK_TYPE_PIXBUF;

  gtk_list_store_set_column_types (GTK_LIST_STORE (self),
                                   EPHY_HOSTS_STORE_N_COLUMNS,
                                   types);
  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (self),
                                        EPHY_HOSTS_STORE_COLUMN_ADDRESS,
                                        GTK_SORT_ASCENDING);

#ifdef HAVE_WEBKIT2
  g_signal_connect (webkit_web_context_get_favicon_database (webkit_web_context_get_default ()),
                    "favicon-changed", G_CALLBACK (icon_changed_cb), self);
#else
  g_signal_connect (webkit_get_favicon_database (), "icon-loaded",
                    G_CALLBACK (icon_changed_cb), self);
#endif
}
static void
ggu_files_changed_store_init (GguFilesChangedStore *self)
{
  GType column_types[GGU_FILES_CHANGED_STORE_N_COLUMNS] = { 0 };
  
  column_types[GGU_FILES_CHANGED_STORE_COLUMN_ENTRY] = GGU_TYPE_GIT_FILES_CHANGED_ENTRY;
  
  gtk_list_store_set_column_types (GTK_LIST_STORE (self),
                                   G_N_ELEMENTS (column_types), column_types);
}
static void
ephy_completion_model_constructed (GObject *object)
{
  GType types[N_COL] = { G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING,
                         G_TYPE_INT, G_TYPE_STRING, G_TYPE_BOOLEAN,
                         GDK_TYPE_PIXBUF };

  gtk_list_store_set_column_types (GTK_LIST_STORE (object),
                                   N_COL,
                                   types);
}
static void
names_model_init (NamesModel *names_model)
{
  GtkListStore *list_store;
  GType types[MODEL_COLUMN_LAST];

  list_store = GTK_LIST_STORE (names_model);

  types[0] = G_TYPE_STRING; /* name */
  gtk_list_store_set_column_types (list_store, MODEL_COLUMN_LAST, types);
}
static void
cc_shell_model_init (CcShellModel *self)
{
  GType types[] = {G_TYPE_STRING, G_TYPE_STRING, G_TYPE_APP_INFO, G_TYPE_STRING,
                   G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_ICON, G_TYPE_STRV};

  gtk_list_store_set_column_types (GTK_LIST_STORE (self),
                                   N_COLS, types);

  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (self), COL_NAME,
                                        GTK_SORT_ASCENDING);
}
static void
gimp_color_profile_store_init (GimpColorProfileStore *store)
{
  GType types[] =
    {
      G_TYPE_INT,    /*  GIMP_COLOR_PROFILE_STORE_ITEM_TYPE  */
      G_TYPE_STRING, /*  GIMP_COLOR_PROFILE_STORE_LABEL      */
      G_TYPE_FILE,   /*  GIMP_COLOR_PROFILE_STORE_FILE       */
      G_TYPE_INT     /*  GIMP_COLOR_PROFILE_STORE_INDEX      */
    };

  gtk_list_store_set_column_types (GTK_LIST_STORE (store),
                                   G_N_ELEMENTS (types), types);
}
示例#13
0
static VALUE
rg_set_column_types(int argc, VALUE *argv, VALUE self)
{
    gint cnt;
    GType* buf;

    if (argc == 0) rb_raise(rb_eArgError, "need more than 1 class type.");
    buf = ALLOCA_N(GType, argc);
    for (cnt = 0; cnt < argc; cnt++) {
        buf[cnt] = CLASS2GTYPE(argv[cnt]);
    }

    gtk_list_store_set_column_types(_SELF(self), argc, buf);

    return self;
}
/**
 * snippet_vars_store_new:
 *
 * Returns: A new #SnippetVarsStore object with empty fields, but with columns
 *          initialized.
 */
SnippetVarsStore* 
snippet_vars_store_new ()
{
	GObject* obj = g_object_new (snippet_vars_store_get_type (), NULL);
	SnippetVarsStore *vars_store = ANJUTA_SNIPPET_VARS_STORE (obj);
	GType types[VARS_STORE_COL_N] = {G_TYPE_STRING, 
	                                 G_TYPE_UINT, 
	                                 G_TYPE_STRING,
	                                 G_TYPE_STRING,
	                                 G_TYPE_BOOLEAN, 
	                                 G_TYPE_BOOLEAN};

	gtk_list_store_set_column_types (GTK_LIST_STORE (vars_store),
	                                 VARS_STORE_COL_N, types);

	return vars_store;
}
示例#15
0
static void 
gw_flashcardstore_init (GwFlashCardStore *store)
{
    GType types[] = { 
       G_TYPE_STRING,  //GW_FLASHCARDSTORE_COLUMN_QUESTION
       G_TYPE_STRING,  //GW_FLASHCARDSTORE_COLUMN_ANSWER
       G_TYPE_BOOLEAN, //GW_FLASHCARDSTORE_COLUMN_IS_COMPLETED
       G_TYPE_POINTER, //GW_FLASHCARDSTORE_COLUMN_TREE_PATH
       G_TYPE_INT,     //GW_FLASHCARDSTORE_COLUMN_WEIGHT
       G_TYPE_INT,     //GW_FLASHCARDSTORE_ORDER
       G_TYPE_INT,     //GW_FLASHCARDSTORE_CORRECT_GUESSES
       G_TYPE_INT      //GW_FLASHCARDSTORE_INCORRECT_GUESSES
    };

    gtk_list_store_set_column_types (GTK_LIST_STORE (store), TOTAL_GW_FLASHCARDSTORE_COLUMNS, types);

    store->priv = GW_FLASHCARDSTORE_GET_PRIVATE (store);
    memset(store->priv, 0, sizeof(GwFlashCardStorePrivate));
}
static void
mucharmap_block_chapters_model_init (MucharmapBlockChaptersModel* model)
{
	GtkListStore *store = GTK_LIST_STORE (model);
	GtkTreeIter iter;
	guint i;

	GType types[] = {
		G_TYPE_STRING,
		G_TYPE_STRING,
		G_TYPE_POINTER
	};

	gtk_list_store_set_column_types(store, G_N_ELEMENTS (types), types);

	gtk_list_store_append(store, &iter);
	gtk_list_store_set(store, &iter,
		BLOCK_CHAPTERS_MODEL_ID, "All",
		BLOCK_CHAPTERS_MODEL_LABEL, _("All"),
		BLOCK_CHAPTERS_MODEL_UNICODE_BLOCK_PTR, NULL,
		-1);

	for (i = 0;  i < G_N_ELEMENTS (unicode_blocks); i++)
	{
		const char *block_name;

		block_name = unicode_blocks_strings + unicode_blocks[i].block_name_index;

		gtk_list_store_append (store, &iter);
		gtk_list_store_set (store, &iter,
			BLOCK_CHAPTERS_MODEL_ID, block_name,
			BLOCK_CHAPTERS_MODEL_LABEL, _(block_name),
			BLOCK_CHAPTERS_MODEL_UNICODE_BLOCK_PTR, unicode_blocks + i,
			-1);
	}

	gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE (model),
		MUCHARMAP_CHAPTERS_MODEL_COLUMN_LABEL,
		(GtkTreeIterCompareFunc) compare_iters,
		NULL, NULL);
}
示例#17
0
static void
gimp_int_store_constructed (GObject *object)
{
  GimpIntStore        *store = GIMP_INT_STORE (object);
  GimpIntStorePrivate *priv  = GIMP_INT_STORE_GET_PRIVATE (store);
  GType                types[GIMP_INT_STORE_NUM_COLUMNS];

  G_OBJECT_CLASS (parent_class)->constructed (object);

  types[GIMP_INT_STORE_VALUE]     = G_TYPE_INT;
  types[GIMP_INT_STORE_LABEL]     = G_TYPE_STRING;
  types[GIMP_INT_STORE_ICON_NAME] = G_TYPE_STRING;
  types[GIMP_INT_STORE_PIXBUF]    = GDK_TYPE_PIXBUF;
  types[GIMP_INT_STORE_USER_DATA] = (priv->user_data_type != G_TYPE_NONE ?
                                     priv->user_data_type : G_TYPE_POINTER);

  gtk_list_store_set_column_types (GTK_LIST_STORE (store),
                                   GIMP_INT_STORE_NUM_COLUMNS, types);

  gimp_int_store_add_empty (store);
}
static void
goa_panel_accounts_model_constructed (GObject *object)
{
  GoaPanelAccountsModel *model = GOA_PANEL_ACCOUNTS_MODEL (object);
  GType types[GOA_PANEL_ACCOUNTS_MODEL_N_COLUMNS];

  G_STATIC_ASSERT (5 == GOA_PANEL_ACCOUNTS_MODEL_N_COLUMNS);

  types[0] = G_TYPE_STRING;
  types[1] = GOA_TYPE_OBJECT;
  types[2] = G_TYPE_BOOLEAN;
  types[3] = G_TYPE_STRING;
  types[4] = G_TYPE_ICON;

  gtk_list_store_set_column_types (GTK_LIST_STORE (model),
                                   GOA_PANEL_ACCOUNTS_MODEL_N_COLUMNS,
                                   types);

  gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model),
                                        GOA_PANEL_ACCOUNTS_MODEL_COLUMN_SORT_KEY,
                                        GTK_SORT_ASCENDING);

  g_signal_connect (model->client,
                    "account-added",
                    G_CALLBACK (on_account_added),
                    model);
  g_signal_connect (model->client,
                    "account-removed",
                    G_CALLBACK (on_account_removed),
                    model);
  g_signal_connect (model->client,
                    "account-changed",
                    G_CALLBACK (on_account_changed),
                    model);

  init_model (model);

  if (G_OBJECT_CLASS (goa_panel_accounts_model_parent_class)->constructed != NULL)
    G_OBJECT_CLASS (goa_panel_accounts_model_parent_class)->constructed (object);
}
示例#19
0
GtkListStore *
fr_list_model_new (int n_columns, ...)
{
    GtkListStore *retval;
    GType        *types;
    va_list       args;
    int           i;

    g_return_val_if_fail (n_columns > 0, NULL);

    retval = g_object_new (FR_TYPE_LIST_MODEL, NULL);

    va_start (args, n_columns);
    types = g_new0 (GType, n_columns);
    for (i = 0; i < n_columns; i++)
        types[i] = va_arg (args, GType);
    va_end (args);

    gtk_list_store_set_column_types (retval, n_columns, types);
    g_free (types);

    return retval;
}
示例#20
0
/******************************************************************************
* gtk_ListStoreSetColumnTypes(list, ncolumns, type1, ...)
******************************************************************************/
int
clip_GTK_LISTSTORESETCOLUMNTYPES(ClipMachine * cm)
{
	C_object *cslist = _fetch_co_arg(cm);
	gint    ncolumns = _clip_parni(cm, 2);
        GType types[ncolumns];
        ClipVar *utypes;

	CHECKOPT(1,MAP_t); CHECKCOBJ(cslist, GTK_IS_LIST_STORE(cslist->object));
	CHECKARG(2,NUMERIC_t);

	memset(types, 0, sizeof(types));
        utypes = NEW(ClipVar);

	__list_store_set_types(cm, ncolumns, types, utypes);

        gtk_list_store_set_column_types(GTK_LIST_STORE(cslist->object), ncolumns, types);

	_clip_madd(cm, &cslist->obj, HASH_UTYPES, utypes);

	return 0;
err:
	return 1;
}
示例#21
0
SamplecatListStore*
samplecat_list_store_construct (GType object_type)
{
	GType _tmp0_[14] = {0};
	GType types[14];
	SamplecatListStore* self = (SamplecatListStore*) g_object_new (object_type, NULL);
	_tmp0_[0] = GDK_TYPE_PIXBUF;
	_tmp0_[1] = G_TYPE_INT;
	_tmp0_[2] = G_TYPE_STRING;
	_tmp0_[3] = G_TYPE_STRING;
	_tmp0_[4] = G_TYPE_STRING;
	_tmp0_[5] = GDK_TYPE_PIXBUF;
	_tmp0_[6] = G_TYPE_STRING;
	_tmp0_[7] = G_TYPE_STRING;
	_tmp0_[8] = G_TYPE_INT;
	_tmp0_[9] = G_TYPE_STRING;
	_tmp0_[10] = G_TYPE_FLOAT;
	_tmp0_[11] = G_TYPE_INT;
	_tmp0_[12] = G_TYPE_POINTER;
	_tmp0_[13] = G_TYPE_INT64;
	memcpy (types, _tmp0_, 14 * sizeof (GType));
	gtk_list_store_set_column_types ((GtkListStore*) self, 14, types);
	return self;
}
示例#22
0
static GObject *
game_store_constructor (GType type,
                        guint n_construct_properties,
                        GObjectConstructParam *construct_properties)
{
        GType types[GVA_GAME_STORE_NUM_COLUMNS];
        GObject *object;
        gint column = 0;

        types[column++] = G_TYPE_STRING;     /* COLUMN_NAME */
        types[column++] = G_TYPE_STRING;     /* COLUMN_BIOS */
        types[column++] = G_TYPE_STRING;     /* COLUMN_CATEGORY */
        types[column++] = G_TYPE_BOOLEAN;    /* COLUMN_FAVORITE */
        types[column++] = G_TYPE_STRING;     /* COLUMN_SOURCEFILE */
        types[column++] = G_TYPE_BOOLEAN;    /* COLUMN_ISBIOS */
        types[column++] = G_TYPE_BOOLEAN;    /* COLUMN_ISDEVICE */
        types[column++] = G_TYPE_BOOLEAN;    /* COLUMN_ISMECHANICAL */
        types[column++] = G_TYPE_BOOLEAN;    /* COLUMN_RUNNABLE */
        types[column++] = G_TYPE_STRING;     /* COLUMN_CLONEOF */
        types[column++] = G_TYPE_STRING;     /* COLUMN_ROMOF */
        types[column++] = G_TYPE_STRING;     /* COLUMN_ROMSET */
        types[column++] = G_TYPE_STRING;     /* COLUMN_SAMPLEOF */
        types[column++] = G_TYPE_STRING;     /* COLUMN_SAMPLESET */
        types[column++] = G_TYPE_STRING;     /* COLUMN_DESCRIPTION */
        types[column++] = G_TYPE_STRING;     /* COLUMN_YEAR */
        types[column++] = G_TYPE_STRING;     /* COLUMN_MANUFACTURER */
        types[column++] = G_TYPE_INT;        /* COLUMN_SOUND_CHANNELS */
        types[column++] = G_TYPE_BOOLEAN;    /* COLUMN_INPUT_SERVICE */
        types[column++] = G_TYPE_BOOLEAN;    /* COLUMN_INPUT_TILT */
        types[column++] = G_TYPE_INT;        /* COLUMN_INPUT_PLAYERS */
        types[column++] = G_TYPE_INT;        /* COLUMN_INPUT_PLAYERS_ALT */
        types[column++] = G_TYPE_INT;        /* COLUMN_INPUT_PLAYERS_SIM */
        types[column++] = G_TYPE_INT;        /* COLUMN_INPUT_BUTTONS */
        types[column++] = G_TYPE_INT;        /* COLUMN_INPUT_COINS */
        types[column++] = G_TYPE_STRING;     /* COLUMN_DRIVER_STATUS */
        types[column++] = G_TYPE_STRING;     /* COLUMN_DRIVER_EMULATION */
        types[column++] = G_TYPE_STRING;     /* COLUMN_DRIVER_COLOR */
        types[column++] = G_TYPE_STRING;     /* COLUMN_DRIVER_SOUND */
        types[column++] = G_TYPE_STRING;     /* COLUMN_DRIVER_GRAPHIC */
        types[column++] = G_TYPE_STRING;     /* COLUMN_DRIVER_COCKTAIL */
        types[column++] = G_TYPE_STRING;     /* COLUMN_DRIVER_PROTECTION */
        types[column++] = G_TYPE_STRING;     /* COLUMN_DRIVER_SAVESTATE */
        types[column++] = G_TYPE_INT;        /* COLUMN_DRIVER_PALETTESIZE */
        types[column++] = GVA_TYPE_TIME;     /* COLUMN_LAST_PLAYED */
        types[column++] = G_TYPE_STRING;     /* COLUMN_COMMENT */
        types[column++] = G_TYPE_INT64;      /* COLUMN_INODE */
        types[column++] = G_TYPE_STRING;     /* COLUMN_INPFILE */
        types[column++] = GVA_TYPE_TIME;     /* COLUMN_TIME */

        g_assert (column == GVA_GAME_STORE_NUM_COLUMNS);

        /* Chain up to parent's constructor() method. */
        object = G_OBJECT_CLASS (gva_game_store_parent_class)->constructor (
                type, n_construct_properties, construct_properties);

        gtk_list_store_set_column_types (
                GTK_LIST_STORE (object), G_N_ELEMENTS (types), types);

        gtk_tree_sortable_set_default_sort_func (
                GTK_TREE_SORTABLE (object),
                (GtkTreeIterCompareFunc) game_store_compare,
                GINT_TO_POINTER (DEFAULT_SORT_COLUMN), NULL);

        for (column = 0; column < GVA_GAME_STORE_NUM_COLUMNS; column++)
                gtk_tree_sortable_set_sort_func (
                        GTK_TREE_SORTABLE (object), column,
                        (GtkTreeIterCompareFunc) game_store_compare,
                        GINT_TO_POINTER (column), NULL);

        return object;
}
示例#23
0
static GtkWidget * 
zenity_forms_create_and_fill_list (ZenityFormsData        *forms_data, 
                                           int list_number, gchar *header)
{
  GtkListStore *list_store;
  GtkWidget *tree_view;
  GtkWidget *scrolled_window;
  GtkCellRenderer *renderer;
  GtkTreeViewColumn *column;
  GType *column_types = NULL;
  gchar *list_values;
  gchar *column_values;

  gint i = 0;
  /* If no column names available, default is one */
  gint n_columns = 1;
  gint column_index = 0;

  tree_view = gtk_tree_view_new ();

  if (forms_data->column_values) {
    column_values = g_slist_nth_data (forms_data->column_values, list_number);
    if (column_values) {
      gchar **values = g_strsplit_set (column_values, "|", -1);
      if (values) {
        n_columns = g_strv_length (values);
        column_types = g_new (GType, n_columns);
        for (i = 0; i < n_columns; i++)
          column_types[i] = G_TYPE_STRING;

        for (i = 0; i < n_columns; i++) {  
          gchar *column_name = values[i];
          renderer = gtk_cell_renderer_text_new ();
          column = gtk_tree_view_column_new_with_attributes (column_name,
                                                             renderer,
                                                             "text", column_index,
                                                             NULL);
          gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
          column_index++;
        }
      }
    }
  }

  list_store = g_object_new (GTK_TYPE_LIST_STORE, NULL);

  gtk_list_store_set_column_types (list_store, n_columns, column_types);

  if (forms_data->list_values) {
    list_values = g_slist_nth_data (forms_data->list_values, list_number);
    if (list_values) {
      gchar **row_values = g_strsplit_set (list_values, "|", -1);
      if (row_values) {
        GtkTreeIter iter;
        gchar *row = row_values[0];
        gint position = -1;
        i = 0;
        
        while (row != NULL) {
          if (position >= n_columns || position == -1) {
            position = 0;
            gtk_list_store_append (list_store, &iter);
          }
          gtk_list_store_set (list_store, &iter, position, row, -1);
          position++;
          row = row_values[++i];
        }
        g_strfreev (row_values);
      }
      g_free (list_values);
    }
  }

  gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (list_store));
  g_object_unref (list_store);
  scrolled_window = gtk_scrolled_window_new (NULL, NULL);
  //gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), 
  //                                       GTK_WIDGET (tree_view));
  gtk_container_add (GTK_CONTAINER (scrolled_window), GTK_WIDGET (tree_view));
  gtk_widget_set_size_request (GTK_WIDGET (scrolled_window), -1, 100);
  gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree_view), forms_data->show_header);

  return scrolled_window;  
}
示例#24
0
static void
carrick_network_model_init (CarrickNetworkModel *self)
{
  CarrickNetworkModelPrivate *priv;
  GError                     *error = NULL;

  priv = self->priv = NETWORK_MODEL_PRIVATE (self);
  priv->services = NULL;
  priv->connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
  if (error)
    {
      g_debug ("Error connecting to bus: %s",
               error->message);
      g_clear_error (&error);
      /* FIXME: Do better? */
    }

  priv->manager = dbus_g_proxy_new_for_name (priv->connection,
                                             CONNMAN_SERVICE,
                                             CONNMAN_MANAGER_PATH,
                                             CONNMAN_MANAGER_INTERFACE);

  dbus_g_proxy_add_signal (priv->manager,
                           "PropertyChanged",
                           G_TYPE_STRING,
                           G_TYPE_VALUE,
                           G_TYPE_INVALID);

  dbus_g_proxy_connect_signal (priv->manager,
                               "PropertyChanged",
                               G_CALLBACK (network_model_manager_changed_cb),
                               self,
                               NULL);

  net_connman_Manager_get_properties_async
    (priv->manager,
     network_model_manager_get_properties_cb,
     self);

  const GType column_types[] = { G_TYPE_OBJECT, /* proxy */
                                 G_TYPE_UINT, /* index */
                                 G_TYPE_STRING, /* name */
                                 G_TYPE_STRING, /* type */
                                 G_TYPE_STRING, /* state */
                                 G_TYPE_BOOLEAN, /* favourite */
                                 G_TYPE_UINT, /* strength */
                                 G_TYPE_STRING, /* security */
                                 G_TYPE_BOOLEAN, /* passphrase required */
                                 G_TYPE_STRING, /* passphrase */
                                 G_TYPE_BOOLEAN, /* setup required */
                                 G_TYPE_STRING, /* method */
                                 G_TYPE_STRING, /* address */
                                 G_TYPE_STRING, /* netmask */
                                 G_TYPE_STRING, /* gateway */
                                 G_TYPE_STRING, /* manually configured method */
                                 G_TYPE_STRING, /* manually configured address */
                                 G_TYPE_STRING, /* manually configured netmask */
                                 G_TYPE_STRING, /* manually configured gateway */
                                 G_TYPE_STRING, /* ipv6 method */
                                 G_TYPE_STRING, /* ipv6 address */
                                 G_TYPE_UINT, /* ipv6 prefix length */
                                 G_TYPE_STRING, /* ipv6 gateway */
                                 G_TYPE_STRING, /* manually configured ipv6 method */
                                 G_TYPE_STRING, /* manually configured ipv6 address */
                                 G_TYPE_UINT, /* manually configured ipv6 prefix length */
                                 G_TYPE_STRING, /* manually configured ipv6 gateway */
                                 G_TYPE_STRV, /* name servers */
                                 G_TYPE_STRV, /* manually configured name servers */
                                 G_TYPE_BOOLEAN, /* immutable */
                                 G_TYPE_BOOLEAN, /* login_required */
                                 G_TYPE_STRING, /* ethernet mac address */
                                 G_TYPE_STRING, /* proxy method */
                                 G_TYPE_STRING, /* proxy url */
                                 G_TYPE_STRV, /* proxy servers */
                                 G_TYPE_STRV, /* proxy excludes */
                                 G_TYPE_STRING, /* configured proxy method */
                                 G_TYPE_STRING, /* configured proxy url */
                                 G_TYPE_STRV, /* configured proxy servers */
                                 G_TYPE_STRV, /* configured proxy excludes */
  };

  gtk_list_store_set_column_types (GTK_LIST_STORE (self),
                                   G_N_ELEMENTS (column_types),
                                   (GType *) column_types);

  gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (self),
                                           network_model_sort_cb,
                                           NULL, NULL);

  gtk_tree_sortable_set_sort_column_id
          (GTK_TREE_SORTABLE (self),
          GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID,
          GTK_SORT_DESCENDING);
}
static void trg_torrent_model_init(TrgTorrentModel * self)
{
    TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(self);

    GType column_types[TORRENT_COLUMN_COLUMNS];

    column_types[TORRENT_COLUMN_ICON] = G_TYPE_STRING;
    column_types[TORRENT_COLUMN_NAME] = G_TYPE_STRING;
    column_types[TORRENT_COLUMN_ERROR] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_SIZEWHENDONE] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_TOTALSIZE] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_HAVE_UNCHECKED] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_PERCENTDONE] = G_TYPE_DOUBLE;
    column_types[TORRENT_COLUMN_METADATAPERCENTCOMPLETE] = G_TYPE_DOUBLE;
    column_types[TORRENT_COLUMN_STATUS] = G_TYPE_STRING;
    column_types[TORRENT_COLUMN_SEEDS] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_LEECHERS] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_DOWNLOADS] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_DOWNSPEED] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_ADDED] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_UPSPEED] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_ETA] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_UPLOADED] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_DOWNLOADED] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_HAVE_VALID] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_RATIO] = G_TYPE_DOUBLE;
    column_types[TORRENT_COLUMN_ID] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_JSON] = G_TYPE_POINTER;
    column_types[TORRENT_COLUMN_UPDATESERIAL] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_FLAGS] = G_TYPE_INT;
    column_types[TORRENT_COLUMN_DOWNLOADDIR] = G_TYPE_STRING;
    column_types[TORRENT_COLUMN_DOWNLOADDIR_SHORT] = G_TYPE_STRING;
    column_types[TORRENT_COLUMN_BANDWIDTH_PRIORITY] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_DONE_DATE] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_FROMPEX] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_FROMDHT] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_FROMTRACKERS] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_FROMLTEP] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_FROMRESUME] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_FROMINCOMING] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_PEER_SOURCES] = G_TYPE_STRING;
    column_types[TORRENT_COLUMN_SEED_RATIO_LIMIT] = G_TYPE_DOUBLE;
    column_types[TORRENT_COLUMN_SEED_RATIO_MODE] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_PEERS_CONNECTED] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_PEERS_FROM_US] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_WEB_SEEDS_TO_US] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_PEERS_TO_US] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_TRACKERHOST] = G_TYPE_STRING;
    column_types[TORRENT_COLUMN_QUEUE_POSITION] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_LASTACTIVE] = G_TYPE_INT64;
    column_types[TORRENT_COLUMN_FILECOUNT] = G_TYPE_UINT;

    gtk_list_store_set_column_types(GTK_LIST_STORE(self),
                                    TORRENT_COLUMN_COLUMNS, column_types);

    priv->ht = g_hash_table_new_full(g_int64_hash, g_int64_equal,
                                     (GDestroyNotify) g_free,
                                     trg_torrent_model_ref_free);

    g_object_set_data(G_OBJECT(self), PROP_REMOVE_IN_PROGRESS,
                      GINT_TO_POINTER(FALSE));

    priv->urlHostRegex = trg_uri_host_regex_new();
}
示例#26
0
static void fm_places_model_init(FmPlacesModel *self)
{
    GType types[] = {GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_POINTER};
    GtkTreeIter it;
    GtkTreePath* tp;
    FmPlaceItem* item;
    GList *vols, *l;
    GIcon* gicon;
    FmIcon* icon;
    GFile* gf;
    GdkPixbuf* pix;
    FmFileInfoJob* job = fm_file_info_job_new(NULL, FM_FILE_INFO_JOB_FOLLOW_SYMLINK);
    GtkListStore* model = GTK_LIST_STORE(self);

    gtk_list_store_set_column_types(GTK_LIST_STORE(self), FM_PLACES_MODEL_N_COLS, types);

    self->theme_change_handler = g_signal_connect_swapped(gtk_icon_theme_get_default(), "changed",
                                            G_CALLBACK(update_icons), self);

    self->use_trash_change_handler = g_signal_connect(fm_config, "changed::use_trash",
                                             G_CALLBACK(on_use_trash_changed), self);

    self->pane_icon_size_change_handler = g_signal_connect(fm_config, "changed::pane_icon_size",
                                             G_CALLBACK(on_pane_icon_size_changed), self);
    icon = fm_icon_from_name("media-eject");
    pix = fm_icon_get_pixbuf(icon, fm_config->pane_icon_size);
    fm_icon_unref(icon);
    self->eject_icon = pix;

    item = g_slice_new0(FmPlaceItem);
    item->type = FM_PLACES_ITEM_PATH;
    item->fi = fm_file_info_new();
    item->fi->path = fm_path_ref(fm_path_get_home());
    item->fi->icon = fm_icon_from_name("user-home");
    gtk_list_store_append(model, &it);
    pix = fm_icon_get_pixbuf(item->fi->icon, fm_config->pane_icon_size);
    gtk_list_store_set(model, &it, FM_PLACES_MODEL_COL_ICON, pix, FM_PLACES_MODEL_COL_LABEL, item->fi->path->name, FM_PLACES_MODEL_COL_INFO, item, -1);
    g_object_unref(pix);
    fm_file_info_job_add(job, item->fi->path);

    /* Only show desktop in side pane when the user has a desktop dir. */
    if(g_file_test(g_get_user_special_dir(G_USER_DIRECTORY_DESKTOP), G_FILE_TEST_IS_DIR))
    {
        item = g_slice_new0(FmPlaceItem);
        item->type = FM_PLACES_ITEM_PATH;
        item->fi = fm_file_info_new();
        item->fi->path = fm_path_ref(fm_path_get_desktop());
        item->fi->icon = fm_icon_from_name("user-desktop");
        gtk_list_store_append(model, &it);
        pix = fm_icon_get_pixbuf(item->fi->icon, fm_config->pane_icon_size);
        gtk_list_store_set(model, &it, FM_PLACES_MODEL_COL_ICON, pix, FM_PLACES_MODEL_COL_LABEL, _("Desktop"), FM_PLACES_MODEL_COL_INFO, item, -1);
        g_object_unref(pix);
        fm_file_info_job_add(job, item->fi->path);
    }

    if(fm_config->use_trash)
        create_trash_item(self); /* FIXME: how to handle trash can? */

    item = g_slice_new0(FmPlaceItem);
    item->type = FM_PLACES_ITEM_PATH;
    item->fi = fm_file_info_new();
    item->fi->path = fm_path_ref(fm_path_get_apps_menu());
    item->fi->icon = fm_icon_from_name("system-software-install");
    gtk_list_store_append(model, &it);
    pix = fm_icon_get_pixbuf(item->fi->icon, fm_config->pane_icon_size);
    gtk_list_store_set(model, &it, FM_PLACES_MODEL_COL_ICON, pix, FM_PLACES_MODEL_COL_LABEL, _("Applications"), FM_PLACES_MODEL_COL_INFO, item, -1);
    g_object_unref(pix);
    /* fm_file_info_job_add(job, item->fi->path); */

    /* volumes */
    self->vol_mon = g_volume_monitor_get();
    g_signal_connect(self->vol_mon, "volume-added", G_CALLBACK(on_vol_added), self);
    g_signal_connect(self->vol_mon, "volume-removed", G_CALLBACK(on_vol_removed), self);
    g_signal_connect(self->vol_mon, "volume-changed", G_CALLBACK(on_vol_changed), self);
    g_signal_connect(self->vol_mon, "mount-added", G_CALLBACK(on_mount_added), self);

    /* separator */
    gtk_list_store_append(model, &self->sep_it);

    /* add volumes to side-pane */
    vols = g_volume_monitor_get_volumes(self->vol_mon);
    for(l=vols;l;l=l->next)
    {
        GVolume* vol = G_VOLUME(l->data);
        add_vol(self, vol, job);
        g_object_unref(vol);
    }
    g_list_free(vols);

    /* get the path of separator */
    self->sep_tp = gtk_tree_model_get_path(GTK_TREE_MODEL(self), &self->sep_it);

    self->bookmarks = fm_bookmarks_get(); /* bookmarks */
    g_signal_connect(self->bookmarks, "changed", G_CALLBACK(on_bookmarks_changed), self);

    /* add bookmarks to side pane */
    add_bookmarks(self, job);

    g_signal_connect(job, "finished", G_CALLBACK(on_file_info_job_finished), self);
    self->jobs = g_slist_prepend(self->jobs, job);
    fm_job_run_async(FM_JOB(job));
}
示例#27
0
/* custom tree model implementation. */
static void fm_path_entry_model_init(FmPathEntryModel *model)
{
    GType cols[] = {G_TYPE_STRING, G_TYPE_STRING};
    gtk_list_store_set_column_types(GTK_LIST_STORE(model), G_N_ELEMENTS(cols), cols);
}