using namespace std;
-GlSeqBrowser::SequenceLocation::SequenceLocation(
- const Sequence& s,
- int l,
- int c
-) : sequence(s), left(l), count(c)
-{
-}
-
GlSeqBrowser::GlSeqBrowser()
: border_width(25),
cur_ortho(400.0, 0.0, 600.0, 0.0),
return zoom_level;
}
-void GlSeqBrowser::setColorMapper(AnnotationColors& cm)
+void GlSeqBrowser::setColorMapper(boost::shared_ptr<AnnotationColors> cm)
{
color_mapper = cm;
}
-AnnotationColors& GlSeqBrowser::colorMapper()
+const AnnotationColors& GlSeqBrowser::colorMapper()
{
- return color_mapper;
+ return *color_mapper;
}
void GlSeqBrowser::clear()
selected_tracks.clear();
}
-void GlSeqBrowser::push_sequence(const Sequence &s)
+void GlSeqBrowser::push_sequence(const Sequence& s)
+{
+ boost::shared_ptr<Sequence> seq_copy(new Sequence(s));
+ GlSequence gs(seq_copy, color_mapper);
+ push_sequence(gs);
+}
+
+
+void GlSeqBrowser::push_sequence(boost::shared_ptr<Sequence> s)
{
GlSequence gs(s, color_mapper);
push_sequence(gs);
}
-void GlSeqBrowser::push_sequence(GlSequence &gs)
+void GlSeqBrowser::push_sequence(GlSequence gs)
{
clear_links();
track_container.push_back(gs);
}
void GlSeqBrowser::copySelectedTracksAsSeqLocation(
- std::list<GlSeqBrowser::SequenceLocation>& result)
+ std::list<SequenceLocation>& result)
{
struct AsSeqLocation {
- static GlSeqBrowser::SequenceLocation
- formatter(const Sequence& seq, int left, int right)
+ static SequenceLocation formatter(const Sequence& seq, int left, int right)
{
return SequenceLocation(seq, left, right);
}