Tidied up create_timeline_tracks

This commit is contained in:
Joel Holdsworth 2008-11-29 17:02:27 +00:00
parent 7a86c08ec8
commit e1f752f55d
2 changed files with 22 additions and 24 deletions

View file

@ -299,37 +299,35 @@ TimelineWidget::create_timeline_tracks()
{
REQUIRE(sequence != NULL);
create_timeline_tracks_from_branch(sequence->get_tracks());
BOOST_FOREACH(model::Track* child, sequence->get_tracks())
create_timeline_tracks_from_branch(child);
}
void
TimelineWidget::create_timeline_tracks_from_branch(
const std::list<model::Track*>& tracks)
model::Track* const model_track)
{
BOOST_FOREACH(model::Track* model_track, tracks)
REQUIRE(model_track != NULL);
// Is a timeline UI track present in the map already?
std::map<model::Track*, timeline::Track*>::const_iterator iterator
= trackMap.find(model_track);
if(iterator == trackMap.end())
{
ASSERT(model_track != NULL);
// Is a timeline UI track present in the map already?
std::map<model::Track*, timeline::Track*>::const_iterator iterator
= trackMap.find(model_track);
if(iterator == trackMap.end())
{
// The timeline UI track is not present
// We will need to create one
trackMap[model_track] =
create_timeline_track_from_model_track(model_track);
}
// Recurse to child tracks
create_timeline_tracks_from_branch(
model_track->get_child_tracks());
// The timeline UI track is not present
// We will need to create one
trackMap[model_track] =
create_timeline_track_from_model_track(model_track);
}
// Recurse to child tracks
BOOST_FOREACH(model::Track* child, model_track->get_child_tracks())
create_timeline_tracks_from_branch(child);
}
timeline::Track*
TimelineWidget::create_timeline_track_from_model_track(
model::Track *model_track)
model::Track* const model_track)
{
REQUIRE(model_track);

View file

@ -171,12 +171,12 @@ private:
/**
* Iterates through a branch of tracks, recursing into each sub-branch
* creating UI timeline tracks for each model track, if they don't
* creating UI timeline tracks for each model track if they don't
* already exist in trackMap.
* @param list The list of model tracks to interate through.
* @param list The parent track of the branch.
**/
void create_timeline_tracks_from_branch(
const std::list<model::Track*>& list);
model::Track* const model_track);
/**
* Creates a timeline UI track to correspond to a model track.
@ -185,7 +185,7 @@ private:
* unreckognised type (this is an error condition).
**/
static timeline::Track* create_timeline_track_from_model_track(
model::Track *model_track);
model::Track* const model_track);
/**
* Looks up a timeline UI track in trackMap that corresponds to a