Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2013
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.87 KB | None | 0 0
  1. #include <gtk/gtk.h>
  2. #include <stdlib.h>
  3. #include <stdio.h>
  4.  
  5. // Global Definitions
  6.  
  7. GtkWidget           *view;
  8. GtkTreeModel        *model;
  9.  
  10. // Colunm Enum
  11.  
  12. enum
  13. {
  14.   COL_IMAGE,
  15.   COL_NAME
  16. };
  17.    
  18. // Functions
  19.  
  20. static GtkTreeModel *
  21. store_create_and_fill_model(void)
  22. {
  23.   GtkListStore  *store;
  24.   GtkTreeIter    iter;
  25.  
  26.   store = gtk_list_store_new (G_TYPE_STRING, G_TYPE_STRING);
  27.  
  28.   // Hier soll ein String und ein Icon eingetragen werden, welches in From von einen String Type erfolgt, dieses dann gerendert wird.
  29.   /* Append a row and fill in some data */
  30.   gtk_list_store_append (store, &iter);
  31.   gtk_list_store_set (store, &iter,
  32.                       COL_IMAGE, "gtk-file",
  33.                       COL_NAME, "TEST",
  34.                       -1);
  35.  
  36.   return GTK_TREE_MODEL(store);
  37. }
  38.  
  39. GtkWidget *treeview_create_view_and_model(void)
  40. {
  41.   GtkCellRenderer     *renderer;
  42.  
  43.   view = gtk_tree_view_new();
  44.   renderer = gtk_cell_renderer_pixbuf_new ();
  45.   gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW (view),
  46.            0,      
  47.            " ",  
  48.            renderer,
  49.            "icon-name",
  50.            COL_IMAGE,
  51.            NULL);
  52.  
  53.   renderer = gtk_cell_renderer_text_new ();
  54.   gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW (view),
  55.            1,      
  56.            "Artikelname",  
  57.            renderer,
  58.            "text",
  59.            COL_NAME,
  60.            NULL);
  61.  
  62.     model = store_create_and_fill_model();
  63.     gtk_tree_view_set_model (GTK_TREE_VIEW (view), model);
  64.     g_object_unref (model);
  65.  
  66.     return view;
  67. }
  68. int treeview_reload(void) {
  69.     model = gtk_tree_view_get_model(GTK_TREE_VIEW(view));
  70.     g_object_ref(model); /* Make sure the model stays with us after the tree view unrefs it */
  71.     gtk_tree_view_set_model(GTK_TREE_VIEW(view), NULL); /* Detach model from view */
  72.  
  73.     // Refresh
  74.  
  75.     gtk_tree_view_set_model(GTK_TREE_VIEW(view), model); /* Re-attach model to view */
  76.     g_object_unref(model);
  77.     return (0);
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement