store default colors
[mussa.git] / alg / glseqbrowser.cpp
index 03afaf56c4fac3707735f9afa90752d96fea19ab..37fc0c0e31696ebedfe04f79561d5b48627589eb 100644 (file)
@@ -308,14 +308,14 @@ double GlSeqBrowser::zoom() const
   return zoom_level;
 }
 
-void GlSeqBrowser::setColorMapper(boost::shared_ptr<AnnotationColors> cm)
+void GlSeqBrowser::setColorMapper(AnnotationColorsRef cm)
 {
   color_mapper = cm;
 }
 
-const AnnotationColors& GlSeqBrowser::colorMapper()
+const AnnotationColorsRef GlSeqBrowser::colorMapper()
 {
-  return *color_mapper;
+  return color_mapper;
 }
 
 void GlSeqBrowser::clear()
@@ -354,7 +354,12 @@ void GlSeqBrowser::push_sequence(GlSequence gs)
 
 void GlSeqBrowser::push_sequence(GlSequenceRef gs)
 {
+  ColorRef default_color(GlSequence::default_gene_color());
   GlSequenceRef new_gs(new GlSequence(gs));
+  new_gs->update_annotation_draw_function("gene", draw_narrow_track, default_color);
+  // mark where the sequence is
+  new_gs->add_annotations_for_defined_sequence(draw_track);
+  
   clear_links();
   track_container.push_back(new_gs);
   update_layout();
@@ -362,7 +367,7 @@ void GlSeqBrowser::push_sequence(GlSequenceRef gs)
     path_segments.push_back(pair_segment_map());
 }
 
-const std::vector<boost::shared_ptr<GlSequence> >& GlSeqBrowser::sequences() const
+const std::vector<GlSequenceRef >& GlSeqBrowser::sequences() const
 {
   return track_container;
 }