Пример #1
0
int
clip_GTK_COMBOBOXSETROWSPANCOLUMN(ClipMachine * cm)
{
	C_widget   *ccmb = _fetch_cw_arg(cm);
	gint    row_span = _clip_parni(cm,2);

	CHECKCWID(ccmb,GTK_IS_COMBO_BOX);
	CHECKOPT(2, NUMERIC_t);

	gtk_combo_box_set_row_span_column(GTK_COMBO_BOX(ccmb->widget), row_span);

	return 0;
err:
	return 1;
}
Пример #2
0
//! mengambil combo box pilihan id
static GtkWidget *modifGetPilihanId(GtkWidget *bagian){
	gboolean status = FALSE;
	GtkWidget *dialog , *content_area;
	GtkWidget *label1;
	GtkWidget *table;
	dialog = gtk_dialog_new();
	table = gtk_table_new(1, 1, FALSE);
	//
	content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
	
	char *str = "<b>Id</b>";
	label1 = gtk_label_new(NULL);
	gtk_label_set_markup(GTK_LABEL(label1), str);
		
	gtk_table_attach(GTK_TABLE(table), label1, 0, 1, 0, 1, GTK_FILL | GTK_SHRINK, GTK_FILL | GTK_SHRINK, 5, 5);

	//! isinya combobox
    GtkListStore    *store;
    GtkTreeIter      iter;
    GtkCellRenderer *cell;
	store = gtk_list_store_new ( 1, G_TYPE_STRING );
	
	GValueArray* has = databaseGetDatasFromDb("select id from isi ", NULL , &status);
	gint i;
	for(i=0;i<has->n_values;i++){
		GValue *ii = g_value_array_get_nth (has	,i );
		gchar *tmp = g_strdup_printf ("%i", g_value_get_int(ii)  );
		gtk_list_store_append( store, &iter);
		gtk_list_store_set( store, &iter, 0, tmp, -1 );
		
		//! free
		g_free(tmp);
	}
 
//	GtkWidget* bagian   = gtk_combo_box_new_with_model( GTK_TREE_MODEL( store ) );
//	bagian   = gtk_combo_box_new_with_model( GTK_TREE_MODEL( store ) );
	gtk_combo_box_set_model ( (GtkComboBox *) bagian,(GtkTreeModel *)store);
	gtk_combo_box_set_active( (GtkComboBox *) bagian,0);
	cell = gtk_cell_renderer_text_new();
    gtk_cell_layout_pack_start( GTK_CELL_LAYOUT( bagian ), cell, TRUE );
    gtk_cell_layout_set_attributes( GTK_CELL_LAYOUT( bagian ), cell, "text", 0, NULL );
	
	gtk_combo_box_set_row_span_column(bagian,0);
	
	gtk_table_attach(GTK_TABLE(table), bagian		, 1, 2	, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_SHRINK, 5, 5);
	
	gtk_window_set_default_size(GTK_WINDOW(dialog), 250, 100);
	gtk_container_add (GTK_CONTAINER (content_area), table );
	modifAddButton(dialog,GTK_RESPONSE_CANCEL);
	gchar *tmp = g_strdup_printf ("Pilih Id - %s", globalGetAppName()); 
	gtk_window_set_title(GTK_WINDOW(dialog), tmp);

	gtk_dialog_set_has_separator(dialog,TRUE);
//	data = bagian;	
	gtk_dialog_set_has_separator(dialog,TRUE);
	gtk_window_set_modal( GTK_WINDOW( dialog ), TRUE );
	gtk_window_set_transient_for( GTK_WINDOW( dialog ),GTK_WINDOW( globalGetParent() ) );

	//! free
	g_value_array_free (has);
	g_object_unref( G_OBJECT( store ) );

	return dialog;
}
Пример #3
0
static GtkWidget *
create_combo_box_grid_demo (void)
{
        GtkWidget *combo;
        GtkTreeIter iter;
        GdkPixbuf *pixbuf;
        GtkCellRenderer *cell = gtk_cell_renderer_pixbuf_new ();
        GtkListStore *store;

        store = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_INT, G_TYPE_INT);

        /* first row */
        pixbuf = create_color_pixbuf ("red");
        gtk_list_store_append (store, &iter);
        gtk_list_store_set (store, &iter,
                            0, pixbuf,
                            1, 1, /* row span */
                            2, 1, /* column span */
                            -1);
        g_object_unref (pixbuf);

        pixbuf = create_color_pixbuf ("green");
        gtk_list_store_append (store, &iter);
        gtk_list_store_set (store, &iter,
                            0, pixbuf,
                            1, 1,
                            2, 1,
                            -1);
        g_object_unref (pixbuf);

        pixbuf = create_color_pixbuf ("blue");
        gtk_list_store_append (store, &iter);
        gtk_list_store_set (store, &iter,
                            0, pixbuf,
                            1, 1,
                            2, 1,
                            -1);
        g_object_unref (pixbuf);

        /* second row */
        pixbuf = create_color_pixbuf ("yellow");
        gtk_list_store_append (store, &iter);
        gtk_list_store_set (store, &iter,
                            0, pixbuf,
                            1, 1,
                            2, 2, /* Span 2 columns */
                            -1);
        g_object_unref (pixbuf);

        pixbuf = create_color_pixbuf ("black");
        gtk_list_store_append (store, &iter);
        gtk_list_store_set (store, &iter,
                            0, pixbuf,
                            1, 2, /* Span 2 rows */
                            2, 1,
                            -1);
        g_object_unref (pixbuf);

        /* third row */
        pixbuf = create_color_pixbuf ("gray");
        gtk_list_store_append (store, &iter);
        gtk_list_store_set (store, &iter,
                            0, pixbuf,
                            1, 1,
                            2, 1,
                            -1);
        g_object_unref (pixbuf);

        pixbuf = create_color_pixbuf ("magenta");
        gtk_list_store_append (store, &iter);
        gtk_list_store_set (store, &iter,
                            0, pixbuf,
                            1, 1,
                            2, 1,
                            -1);
        g_object_unref (pixbuf);

        /* Create ComboBox after model to avoid gtk_menu_attach() warnings(?) */
        combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store));
        g_object_unref (store);

        gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo),
                                    cell, TRUE);
        gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo),
                                        cell, "pixbuf", 0, NULL);

        /* Set wrap-width != 0 to enforce grid mode */
        gtk_combo_box_set_wrap_width (GTK_COMBO_BOX (combo), 3);
        gtk_combo_box_set_row_span_column (GTK_COMBO_BOX (combo), 1);
        gtk_combo_box_set_column_span_column (GTK_COMBO_BOX (combo), 2);

        gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0);

        return combo;
}