new mix group interface, not yet finished and still to propagate to edit_group

git-svn-id: svn://localhost/trunk/ardour2@366 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2006-03-09 23:44:39 +00:00
parent 1511423e4e
commit 8ca43d57fe
12 changed files with 447 additions and 196 deletions

View file

@ -192,6 +192,10 @@ Editor::edit_group_row_change (const Gtk::TreeModel::Path& path,const Gtk::TreeM
{
RouteGroup* group;
if (in_edit_group_row_change) {
return;
}
if ((group = (*iter)[group_columns.routegroup]) == 0) {
return;
}
@ -212,6 +216,15 @@ Editor::edit_group_row_change (const Gtk::TreeModel::Path& path,const Gtk::TreeM
bool active = (*iter)[group_columns.is_active];
group->set_active (active, this);
string name = (*iter)[group_columns.text];
cerr << "Row change, name = " << name << endl;
if (name != group->name()) {
group->set_name (name);
}
}
void
@ -221,7 +234,7 @@ Editor::add_edit_group (RouteGroup* group)
TreeModel::Row row = *(group_model->append());
row[group_columns.is_active] = group->is_active();
row[group_columns.is_visible] = true;
row[group_columns.is_visible] = !group->is_hidden();
row[group_columns.text] = group->name();
row[group_columns.routegroup] = group;
@ -256,12 +269,18 @@ Editor::group_flags_changed (void* src, RouteGroup* group)
{
ENSURE_GUI_THREAD(bind (mem_fun(*this, &Editor::group_flags_changed), src, group));
in_edit_group_row_change = true;
Gtk::TreeModel::Children children = group_model->children();
for(Gtk::TreeModel::Children::iterator iter = children.begin(); iter != children.end(); ++iter) {
if (group == (*iter)[group_columns.routegroup]) {
(*iter)[group_columns.is_active] = group->is_active();
(*iter)[group_columns.is_visible] = !group->is_hidden();
(*iter)[group_columns.text] = group->name();
}
}
in_edit_group_row_change = false;
}