Changeset 430

Show
Ignore:
Timestamp:
08/28/06 23:23:04 (4 years ago)
Author:
radekk
Message:

Named selections - first cut done.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • sweep/branches/sweep-info-panel/src/info-panel.c

    r429 r430  
    4141 
    4242 
     43 
    4344typedef struct _PopupData PopupData; 
    4445 
     
    124125                                                                                        INFO_PANEL_COL_TYPE, INFO_PANEL_SAMPLE_MEMORY, 
    125126                                                                                        -1); 
     127#if 0 
    126128        gtk_tree_store_append(treestore, &child, &toplevel); 
    127129        gtk_tree_store_set(treestore, &child, 
     
    160162                                                                                        INFO_PANEL_COL_EDITABLE_PARAM, TRUE, 
    161163                                                                                        -1); 
     164#endif 
    162165 
    163166        /* selections_info */ 
     
    220223        /* sample parent itier */ 
    221224        if (sample->modified){ 
    222                 info_panel_row_update_str(info_panel, "0", INFO_PANEL_COL_NAME, _("Sample (modified)")); 
     225                info_panel_row_update_str(info_panel, "0", INFO_PANEL_COL_NAME, _("Sample info (modified)")); 
    223226        } else { 
    224                 info_panel_row_update_str(info_panel, "0", INFO_PANEL_COL_NAME, _("Sample")); 
     227                info_panel_row_update_str(info_panel, "0", INFO_PANEL_COL_NAME, _("Sample info")); 
    225228        } 
    226229 
     
    451454} 
    452455 
    453 void info_panel_add_selection (GtkWidget *menuitem, sw_view * view) 
     456void info_panel_add_selection_cb (GtkWidget *menuitem, sw_view * view) 
    454457{ 
    455458                g_print ("Do something!\n"); 
    456459} 
    457460 
    458 void info_panel_delete_all_selections (GtkWidget *menuitem, sw_view * view) 
     461void info_panel_delete_all_selections_cb (GtkWidget *menuitem, sw_view * view) 
    459462{ 
    460463 
     
    465468} 
    466469 
    467 void info_panel_delete_selection (GtkWidget *menuitem, PopupData * data) 
     470void info_panel_delete_selection_cb (GtkWidget *menuitem, PopupData * data) 
    468471{ 
    469472        GtkTreeModel * model; 
     
    502505 
    503506        g_signal_connect(menuitem, "activate", 
    504                                  (GCallback) info_panel_add_selection, view); 
     507                                 (GCallback) info_panel_add_selection_cb, view); 
    505508 
    506509        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); 
     
    510513 
    511514                g_signal_connect(menuitem, "activate", 
    512                                  (GCallback) info_panel_delete_all_selections, view); 
     515                                 (GCallback) info_panel_delete_all_selections_cb, view); 
    513516 
    514517                gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); 
     
    541544         
    542545        g_signal_connect(menuitem, "activate", 
    543                                  (GCallback) info_panel_delete_selection, data); 
     546                                 (GCallback) info_panel_delete_selection_cb, data); 
    544547 
    545548        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); 
     
    556559} 
    557560 
    558 void info_panel_undo_item (GtkWidget *menuitem, PopupData * data) 
     561void info_panel_undo_item_cb (GtkWidget *menuitem, PopupData * data) 
    559562{ 
    560563        GtkTreeModel * model; 
     
    576579} 
    577580 
    578 void info_panel_undo_all (GtkWidget *menuitem, sw_view * view) 
     581void info_panel_undo_all_cb (GtkWidget *menuitem, sw_view * view) 
    579582{ 
    580583 
     
    592595 
    593596        g_signal_connect(menuitem, "activate", 
    594                                  (GCallback) info_panel_undo_all, view); 
     597                                 (GCallback) info_panel_undo_all_cb, view); 
    595598 
    596599        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); 
     
    622625 
    623626        g_signal_connect(menuitem, "activate", 
    624                                  (GCallback) info_panel_undo_item, data); 
     627                                 (GCallback) info_panel_undo_item_cb, data); 
    625628 
    626629        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); 
     
    679682                                case INFO_PANEL_UNDO: 
    680683 
    681                                                 if (gtk_tree_model_iter_n_children(model, &iter) > 1){ 
     684                                                if ((gtk_tree_model_iter_n_children(model, &iter) > 1) && (view->sample->current_undo)){ 
    682685                                                        info_panel_undo_popup_menu(treeview, event, view); 
    683686                                                } 
     687 
    684688                                                break; 
    685689                                case INFO_PANEL_UNDO_ITEM: 
    686                                                         
     690                                                 
    687691                                                info_panel_undo_item_popup_menu(treeview, event, view); 
    688692 
     
    697701} 
    698702 
     703void info_panel_edited_name_cb (GtkCellRendererText *cell, gchar *path_string, gchar *new_text, sw_view * view) 
     704{ 
     705        GtkTreeModel * model = view->sample->info_panel; 
     706        GtkTreeIter iter; 
     707        gint type; 
     708        sw_sel * sel; 
     709        GList * gl; 
     710 
     711        g_print("name edited: %s [%s]\n", path_string, new_text); 
     712 
     713        gtk_tree_model_get_iter_from_string(model, &iter, path_string); 
     714 
     715        gtk_tree_model_get(model, &iter, INFO_PANEL_COL_TYPE, &type, INFO_PANEL_COL_POINTER, &gl, -1); 
     716 
     717        switch (type){ 
     718                case INFO_PANEL_SELECTION_ITEM: 
     719                                info_panel_row_update_str(model, path_string, INFO_PANEL_COL_NAME, new_text); 
     720                                sel = (sw_sel *)gl->data; 
     721                                sel->name = g_strdup(new_text); 
     722                                break; 
     723        } 
     724 
     725} 
     726 
     727void info_panel_edited_param_cb (GtkCellRendererText *cell, gchar *path_string, gchar *new_text, sw_view * view) 
     728{ 
     729        GtkTreeModel * model = view->sample->info_panel; 
     730        GtkTreeIter iter; 
     731        gint type; 
     732        gchar * name; 
     733 
     734        g_print("param edited: %s [%s]\n", path_string, new_text); 
     735 
     736        gtk_tree_model_get_iter_from_string(model, &iter, path_string); 
     737 
     738        gtk_tree_model_get(model, &iter, INFO_PANEL_COL_TYPE, &type, -1); 
     739 
     740        switch (type){ 
     741                case INFO_PANEL_SAMPLE_FILENAME: 
     742                                name = g_build_filename(g_path_get_dirname(view->sample->pathname), new_text, NULL); 
     743                                info_panel_row_update_str(model, path_string, INFO_PANEL_COL_PARAM1, new_text); 
     744                                sample_set_pathname(view->sample, name); 
     745                                g_print("%s\n", name); 
     746                                g_free(name); 
     747                                break; 
     748        } 
     749 
     750} 
     751 
    699752static GtkWidget * info_panel_create_view (sw_view * view) 
    700753{ 
     
    717770        gtk_tree_view_column_add_attribute(col, renderer, "text", INFO_PANEL_COL_NAME); 
    718771        gtk_tree_view_column_add_attribute(col, renderer, "editable", INFO_PANEL_COL_EDITABLE_NAME); 
     772        g_signal_connect(renderer, "edited", (GCallback) info_panel_edited_name_cb, view); 
    719773 
    720774        renderer = gtk_cell_renderer_text_new(); 
     
    722776        gtk_tree_view_column_add_attribute(col, renderer, "text", INFO_PANEL_COL_PARAM1); 
    723777        gtk_tree_view_column_add_attribute(col, renderer, "editable", INFO_PANEL_COL_EDITABLE_PARAM); 
     778        g_signal_connect(renderer, "edited", (GCallback) info_panel_edited_param_cb, view); 
    724779/* 
    725780        renderer = gtk_cell_renderer_text_new(); 
  • sweep/branches/sweep-info-panel/src/view.c

    r427 r430  
    11611161  ** and is quite a bit neater than the old stuff. 
    11621162  */ 
    1163   noteplay_setup (subsubmenu, view, accel_group); 
     1163  //noteplay_setup (subsubmenu, view, accel_group); 
    11641164 
    11651165