- route_display_model = ListStore::create(route_display_columns);
- route_list_display.set_model (route_display_model);
- route_list_display.append_column (_("Show"), route_display_columns.visible);
- route_list_display.append_column (_("Name"), route_display_columns.text);
- route_list_display.get_column (0)->set_data (X_("colnum"), GUINT_TO_POINTER(0));
- route_list_display.get_column (1)->set_data (X_("colnum"), GUINT_TO_POINTER(1));
- route_list_display.set_headers_visible (true);
- route_list_display.set_name ("TrackListDisplay");
- route_list_display.get_selection()->set_mode (SELECTION_SINGLE);
- route_list_display.set_reorderable (true);
- route_list_display.set_size_request (100,-1);
- route_list_display.add_object_drag (route_display_columns.route.index(), "routes");
-
- CellRendererToggle* route_list_visible_cell = dynamic_cast<CellRendererToggle*>(route_list_display.get_column_cell_renderer (0));
- route_list_visible_cell->property_activatable() = true;
- route_list_visible_cell->property_radio() = false;
-
- route_display_model->signal_row_deleted().connect (mem_fun (*this, &Editor::route_list_delete));
- route_display_model->signal_row_changed().connect (mem_fun (*this, &Editor::route_list_change));
- route_display_model->signal_rows_reordered().connect (mem_fun (*this, &Editor::route_list_reordered));
-
- route_list_display.signal_button_press_event().connect (mem_fun (*this, &Editor::route_list_display_button_press), false);
-
- route_list_scroller.add (route_list_display);
- route_list_scroller.set_policy (POLICY_NEVER, POLICY_AUTOMATIC);
-
- group_model = ListStore::create(group_columns);
- edit_group_display.set_model (group_model);
- edit_group_display.append_column (_("Name"), group_columns.text);
- edit_group_display.append_column (_("Active"), group_columns.is_active);
- edit_group_display.append_column (_("Show"), group_columns.is_visible);
- edit_group_display.get_column (0)->set_data (X_("colnum"), GUINT_TO_POINTER(0));
- edit_group_display.get_column (1)->set_data (X_("colnum"), GUINT_TO_POINTER(1));
- edit_group_display.get_column (2)->set_data (X_("colnum"), GUINT_TO_POINTER(2));
- edit_group_display.get_column (0)->set_expand (true);
- edit_group_display.get_column (1)->set_expand (false);
- edit_group_display.get_column (2)->set_expand (false);
- edit_group_display.set_headers_visible (true);
-
- /* name is directly editable */
-
- CellRendererText* name_cell = dynamic_cast<CellRendererText*>(edit_group_display.get_column_cell_renderer (0));
- name_cell->property_editable() = true;
- name_cell->signal_edited().connect (mem_fun (*this, &Editor::edit_group_name_edit));
-
- /* use checkbox for the active + visible columns */
-
- CellRendererToggle* active_cell = dynamic_cast<CellRendererToggle*>(edit_group_display.get_column_cell_renderer (1));
- active_cell->property_activatable() = true;
- active_cell->property_radio() = false;
-
- active_cell = dynamic_cast<CellRendererToggle*>(edit_group_display.get_column_cell_renderer (1));
- active_cell->property_activatable() = true;
- active_cell->property_radio() = false;
-
- group_model->signal_row_changed().connect (mem_fun (*this, &Editor::edit_group_row_change));
-
- edit_group_display.set_name ("EditGroupList");
- edit_group_display.get_selection()->set_mode (SELECTION_SINGLE);
- edit_group_display.set_headers_visible (true);
- edit_group_display.set_reorderable (false);
- edit_group_display.set_rules_hint (true);
- edit_group_display.set_size_request (75, -1);
-
- edit_group_display_scroller.add (edit_group_display);
- edit_group_display_scroller.set_policy (POLICY_AUTOMATIC, POLICY_AUTOMATIC);
-
- edit_group_display.signal_button_press_event().connect (mem_fun(*this, &Editor::edit_group_list_button_press_event), false);
-
- VBox* edit_group_display_packer = manage (new VBox());
- HBox* edit_group_display_button_box = manage (new HBox());
- edit_group_display_button_box->set_homogeneous (true);
-
- Button* edit_group_add_button = manage (new Button ());
- Button* edit_group_remove_button = manage (new Button ());
-
- Widget* w;
-
- w = manage (new Image (Stock::ADD, ICON_SIZE_BUTTON));
- w->show();
- edit_group_add_button->add (*w);
-
- w = manage (new Image (Stock::REMOVE, ICON_SIZE_BUTTON));
- w->show();
- edit_group_remove_button->add (*w);
-
- edit_group_add_button->signal_clicked().connect (mem_fun (*this, &Editor::new_edit_group));
- edit_group_remove_button->signal_clicked().connect (mem_fun (*this, &Editor::remove_selected_edit_group));
-
- edit_group_display_button_box->pack_start (*edit_group_add_button);
- edit_group_display_button_box->pack_start (*edit_group_remove_button);
-
- edit_group_display_packer->pack_start (edit_group_display_scroller, true, true);
- edit_group_display_packer->pack_start (*edit_group_display_button_box, false, false);
-
- region_list_display.set_size_request (100, -1);
- region_list_display.set_name ("RegionListDisplay");
- /* Try to prevent single mouse presses from initiating edits.
- This relies on a hack in gtktreeview.c:gtk_treeview_button_press()
- */
- region_list_display.set_data ("mouse-edits-require-mod1", (gpointer) 0x1);
-
- region_list_model = TreeStore::create (region_list_columns);
- region_list_model->set_sort_func (0, mem_fun (*this, &Editor::region_list_sorter));
- region_list_model->set_sort_column (0, SORT_ASCENDING);
-
- region_list_display.set_model (region_list_model);
- region_list_display.append_column (_("Regions"), region_list_columns.name);
- region_list_display.append_column (_("Start"), region_list_columns.start);
- region_list_display.append_column (_("End"), region_list_columns.end);
- region_list_display.append_column (_("Length"), region_list_columns.length);
- region_list_display.append_column (_("Sync"), region_list_columns.sync);
- region_list_display.append_column (_("Fade In"), region_list_columns.fadein);
- region_list_display.append_column (_("Fade Out"), region_list_columns.fadeout);
- region_list_display.append_column (_("L"), region_list_columns.locked);
- region_list_display.append_column (_("G"), region_list_columns.glued);
- region_list_display.append_column (_("M"), region_list_columns.muted);
- region_list_display.append_column (_("O"), region_list_columns.opaque);
- region_list_display.append_column (_("Used"), region_list_columns.used);
- region_list_display.append_column (_("Path"), region_list_columns.path);
- region_list_display.set_headers_visible (true);
- //region_list_display.set_grid_lines (TREE_VIEW_GRID_LINES_BOTH);
-
- CellRendererText* region_name_cell = dynamic_cast<CellRendererText*>(region_list_display.get_column_cell_renderer (0));
- region_name_cell->property_editable() = true;
- region_name_cell->signal_edited().connect (mem_fun (*this, &Editor::region_name_edit));
-
- region_list_display.get_selection()->set_select_function (mem_fun (*this, &Editor::region_list_selection_filter));
-
- TreeViewColumn* tv_col = region_list_display.get_column(0);
- CellRendererText* renderer = dynamic_cast<CellRendererText*>(region_list_display.get_column_cell_renderer (0));
- tv_col->add_attribute(renderer->property_text(), region_list_columns.name);
- tv_col->add_attribute(renderer->property_foreground_gdk(), region_list_columns.color_);
-
- region_list_display.get_selection()->set_mode (SELECTION_MULTIPLE);
- region_list_display.add_object_drag (region_list_columns.region.index(), "regions");
-
- /* setup DnD handling */
-
- list<TargetEntry> region_list_target_table;
-
- region_list_target_table.push_back (TargetEntry ("text/plain"));
- region_list_target_table.push_back (TargetEntry ("text/uri-list"));
- region_list_target_table.push_back (TargetEntry ("application/x-rootwin-drop"));
-
- region_list_display.add_drop_targets (region_list_target_table);
- region_list_display.signal_drag_data_received().connect (mem_fun(*this, &Editor::region_list_display_drag_data_received));
-
- region_list_scroller.add (region_list_display);
- region_list_scroller.set_policy (POLICY_AUTOMATIC, POLICY_AUTOMATIC);
-
- region_list_display.signal_key_press_event().connect (mem_fun(*this, &Editor::region_list_display_key_press));
- region_list_display.signal_key_release_event().connect (mem_fun(*this, &Editor::region_list_display_key_release));
- region_list_display.signal_button_press_event().connect (mem_fun(*this, &Editor::region_list_display_button_press), false);
- region_list_display.signal_button_release_event().connect (mem_fun(*this, &Editor::region_list_display_button_release));
- region_list_change_connection = region_list_display.get_selection()->signal_changed().connect (mem_fun(*this, &Editor::region_list_selection_changed));
- // region_list_display.signal_popup_menu().connect (bind (mem_fun (*this, &Editor::show_region_list_display_context_menu), 1, 0));
-
- //ARDOUR_UI::instance()->secondary_clock.mode_changed.connect (mem_fun(*this, &Editor::redisplay_regions));
- ARDOUR_UI::instance()->secondary_clock.mode_changed.connect (mem_fun(*this, &Editor::update_all_region_rows));
- ARDOUR::Region::RegionPropertyChanged.connect (mem_fun(*this, &Editor::update_region_row));
-
- named_selection_scroller.add (named_selection_display);
- named_selection_scroller.set_policy (POLICY_NEVER, POLICY_AUTOMATIC);
-
- named_selection_model = TreeStore::create (named_selection_columns);
- named_selection_display.set_model (named_selection_model);
- named_selection_display.append_column (_("Chunks"), named_selection_columns.text);
- named_selection_display.set_headers_visible (false);
- named_selection_display.set_size_request (100, -1);
- named_selection_display.set_name ("NamedSelectionDisplay");
-
- named_selection_display.get_selection()->set_mode (SELECTION_SINGLE);
- named_selection_display.set_size_request (100, -1);
- named_selection_display.signal_button_release_event().connect (mem_fun(*this, &Editor::named_selection_display_button_release), false);
- named_selection_display.signal_key_release_event().connect (mem_fun(*this, &Editor::named_selection_display_key_release), false);
- named_selection_display.get_selection()->signal_changed().connect (mem_fun (*this, &Editor::named_selection_display_selection_changed));
-
- /* SNAPSHOTS */
-
- snapshot_display_model = ListStore::create (snapshot_display_columns);
- snapshot_display.set_model (snapshot_display_model);
- snapshot_display.append_column (X_("snapshot"), snapshot_display_columns.visible_name);
- snapshot_display.set_name ("SnapshotDisplay");
- snapshot_display.set_size_request (75, -1);
- snapshot_display.set_headers_visible (false);
- snapshot_display.set_reorderable (false);
- snapshot_display_scroller.add (snapshot_display);
- snapshot_display_scroller.set_policy (Gtk::POLICY_NEVER, Gtk::POLICY_AUTOMATIC);
-
- snapshot_display.get_selection()->signal_changed().connect (mem_fun(*this, &Editor::snapshot_display_selection_changed));
- snapshot_display.signal_button_press_event().connect (mem_fun (*this, &Editor::snapshot_display_button_press), false);