Probleme mit TreeView (GTK2)

Post Reply
Message
Author
NTA

Probleme mit TreeView (GTK2)

#1 Post by NTA »

Hallo Leute,

ich habe irgend wie ein kleines Problem damit Daten in einem TreeView
hinzu zufügen. Es kommt kein Fehler, es tauchen einfach keine Daten
im TreeView auf.


ausschnitt aus der header datei:

Code: Select all

enum{
    COL_PICTURE = 0,
    COL_TEXT1,
    COL_TEXT2,
    COL_NUMBER
} ;
struct data{
    GtkWidget *treeview;
} list;
callback für das hinzufügen von den Daten :

Code: Select all

void add(GtkWidget *widget, gpointer daten){
    GtkTreeModel *model;
    GtkTreeIter iter;
    GdkPixbuf *icon;

    model = gtk_tree_view_get_model(GTK_TREE_VIEW(daten));

    icon = load_pixbuf("icon.png"); // meine function zum laden eines bildes

    gtk_list_store_append(GTK_LIST_STORE(model), &iter);
    gtk_list_store_set(GTK_LIST_STORE(model), &iter, COL_PICTURE, icon, COL_TEXT1, "text", COL_TEXT2, "text", -1); }
function zum erstellen des treeviews :

Code: Select all

static GtkTreeView * create_treeview(void) {
    GtkTreeViewColumn *picture_column,
                                      *text1_column,
                                      *text2_column;
    GtkCellRenderer *picture_renderer,
                               *text1_renderer,
                               *text2_renderer;
    GtkTreeView *treeview;
    GtkListStore *model;

    model = gtk_list_store_new(COL_NUMBER,
                                                 GDK_TYPE_PIXBUF,
                                                 G_TYPE_STRING,
                                                 G_TYPE_STRING);
    treeview = g_object_new(GTK_TYPE_TREE_VIEW,
                                              "model", model,
                                              "headers_visible", TRUE,
                                              NULL);
    picture_renderer = gtk_cell_renderer_pixbuf_new();
    text1_renderer = gtk_cell_renderer_text_new();
    text2_renderer = gtk_cell_renderer_text_new();
    picture_column = g_object_new(GTK_TYPE_TREE_VIEW_COLUMN,
                                                        "title", "Bild",
                                                        "min-width", 120, NULL);
    text1_column = g_object_new(GTK_TYPE_TREE_VIEW_COLUMN,
                                                    "title", "text1",
                                                    "min-width", 400,
                                                    NULL);
    text2_column = g_object_new(GTK_TYPE_TREE_VIEW_COLUMN,
                                                    "title", "text2",
                                                   NULL);
    gtk_tree_view_column_pack_start(picture_column, picture_renderer, FALSE);
    gtk_tree_view_append_column(treeview, picture_column);
    gtk_tree_view_column_pack_start(settings_column, settings_renderer, FALSE);
    gtk_tree_view_append_column(treeview, settings_column);
    gtk_tree_view_column_pack_start(button_column, button_renderer, FALSE);
    gtk_tree_view_append_column(treeview, button_column);

    return treeview;
}
signal handler ausschnitt für den button zum hinzufügen :

Code: Select all

.
.
.
g_signal_connect(GTK_OBJECT(hbuttons[0]),
                                                    "clicked",
                                                    G_CALLBACK(add),
                                                    GTK_TREE_VIEW(list.treeview));
.
.
.

Also ich sitz da schon ne ganze weile dran und find den fehler nicht.
Kann mir jemand helfen?

Post Reply