mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-15 19:16:40 +01:00
introduce GUIObjectState; massive, pervasive changes in visibility and height management for track displays in the editor
git-svn-id: svn://localhost/ardour2/branches/3.0@9796 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
d5bb729755
commit
10cb0a7646
31 changed files with 678 additions and 579 deletions
|
|
@ -468,21 +468,18 @@ EditorRoutes::redisplay ()
|
|||
route->set_order_key (N_ ("editor"), n);
|
||||
}
|
||||
|
||||
bool visible = (*i)[_columns.visible];
|
||||
bool visible = tv->marked_for_display ();
|
||||
|
||||
/* show or hide the TimeAxisView */
|
||||
if (visible) {
|
||||
tv->set_marked_for_display (true);
|
||||
position += tv->show_at (position, n, &_editor->edit_controls_vbox);
|
||||
tv->clip_to_viewport ();
|
||||
n++;
|
||||
} else {
|
||||
tv->set_visibility (false);
|
||||
tv->hide ();
|
||||
}
|
||||
|
||||
n++;
|
||||
}
|
||||
|
||||
|
||||
/* whenever we go idle, update the track view list to reflect the new order.
|
||||
we can't do this here, because we could mess up something that is traversing
|
||||
the track order and has caused a redisplay of the list.
|
||||
|
|
@ -534,14 +531,16 @@ EditorRoutes::visible_changed (std::string const & path)
|
|||
TimeAxisView* tv = (*iter)[_columns.tv];
|
||||
if (tv) {
|
||||
bool visible = (*iter)[_columns.visible];
|
||||
(*iter)[_columns.visible] = !visible;
|
||||
|
||||
if (tv->set_marked_for_display (!visible)) {
|
||||
_redisplay_does_not_reset_order_keys = true;
|
||||
_session->set_remote_control_ids();
|
||||
update_visibility ();
|
||||
redisplay ();
|
||||
_redisplay_does_not_reset_order_keys = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_redisplay_does_not_reset_order_keys = true;
|
||||
_session->set_remote_control_ids();
|
||||
redisplay ();
|
||||
_redisplay_does_not_reset_order_keys = false;
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -700,7 +699,6 @@ EditorRoutes::update_visibility ()
|
|||
for (i = rows.begin(); i != rows.end(); ++i) {
|
||||
TimeAxisView *tv = (*i)[_columns.tv];
|
||||
(*i)[_columns.visible] = tv->marked_for_display ();
|
||||
cerr << "marked " << tv->name() << " for display = " << tv->marked_for_display() << endl;
|
||||
}
|
||||
|
||||
resume_redisplay ();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue