ocarina: Use treeview to show library paths

My old settings page was basically doing this already, but in a slightly
more complicated way...

Signed-off-by: Bryan Schumaker <bjschuma@gmail.com>
This commit is contained in:
Bryan Schumaker 2012-03-13 12:34:03 -04:00
parent ca161d3340
commit a0b9c16178
1 changed files with 24 additions and 5 deletions

View File

@ -11,10 +11,16 @@ class LibraryDriver : public libsaria::library::Driver {
};
static LibraryDriver driver;
static GtkListStore *path_list;
void LibraryDriver::path_added(libsaria::library::Path *path)
{
GtkTreeIter iter;
println("Path added: " + path->path);
gtk_list_store_append(path_list, &iter);
gtk_list_store_set(path_list, &iter,
0, path->path.c_str(),
-1);
}
static void on_click_add(GtkWidget *b, GdkEvent *e, gpointer d)
@ -51,14 +57,27 @@ namespace ocarina
GtkWidget *body::library_page()
{
GtkWidget *box = gtk_hbox_new(FALSE, 0);
GtkWidget *label = gtk_label_new("Library management");
/*GtkWidget *window = gtk_scrolled_window_new(NULL, NULL);
GtkWidget *scroll_win = gtk_scrolled_window_new(NULL, NULL);
GtkWidget *treeview = gtk_tree_view_new();
GtkCellRenderer *textcell = gtk_cell_renderer_text_new();
GtkTreeViewColumn *column;
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(window),
column = gtk_tree_view_column_new_with_attributes("Filepath",
textcell,
"text", 0,
NULL);
path_list = gtk_list_store_new(1, G_TYPE_STRING);
gtk_cell_renderer_text_set_fixed_height_from_font(
GTK_CELL_RENDERER_TEXT(textcell), 1);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scroll_win),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);*/
GTK_POLICY_AUTOMATIC);
gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), GTK_TREE_MODEL(path_list));
gtk_tree_view_append_column(GTK_TREE_VIEW(treeview), column);
gtk_container_add(GTK_CONTAINER(scroll_win), treeview);
gtk_box_pack_start(GTK_BOX(box), label, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(box), scroll_win, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(box), button_row(), FALSE, FALSE, 0);
gtk_widget_show_all(box);