first compiling, mostly working version of group controls changes
[ardour.git] / gtk2_ardour / marker.h
index b3a85294ea20e4cf56a4e5223ca1d9d36561d2c8..b769f8d1100fb630dc15319b3998cf7a1de6f892 100644 (file)
@@ -38,7 +38,7 @@ namespace ARDOUR {
 
 class PublicEditor;
 
-class Marker : public sigc::trackable
+class ArdourMarker : public sigc::trackable
 {
   public:
        enum Type {
@@ -56,12 +56,14 @@ class Marker : public sigc::trackable
        };
 
 
-       Marker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, Type,
+       ArdourMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, Type,
                framepos_t frame = 0, bool handle_events = true);
 
-       virtual ~Marker ();
+       virtual ~ArdourMarker ();
 
-       static PBD::Signal1<void,Marker*> CatchDeletion;
+       static PBD::Signal1<void,ArdourMarker*> CatchDeletion;
+
+       static void setup_sizes (const double timebar_height);
 
        ArdourCanvas::Item& the_item() const;
 
@@ -76,8 +78,8 @@ class Marker : public sigc::trackable
 
        framepos_t position() const { return frame_position; }
 
-       ArdourCanvas::Group * get_parent() { return _parent; }
-       void reparent (ArdourCanvas::Group & parent);
+       ArdourCanvas::Container * get_parent() { return _parent; }
+       void reparent (ArdourCanvas::Container & parent);
 
        void hide ();
        void show ();
@@ -98,12 +100,11 @@ class Marker : public sigc::trackable
 
        Pango::FontDescription name_font;
 
-       ArdourCanvas::Group* _parent;
-       ArdourCanvas::Group *group;
+       ArdourCanvas::Container* _parent;
+       ArdourCanvas::Container *group;
        ArdourCanvas::Polygon *mark;
         ArdourCanvas::Text *_name_item;
        ArdourCanvas::Points *points;
-       ArdourCanvas::Line* _time_bars_line;
        ArdourCanvas::Line* _track_canvas_line;
        ArdourCanvas::Rectangle* _name_background;
 
@@ -128,14 +129,14 @@ class Marker : public sigc::trackable
 
 private:
        /* disallow copy construction */
-       Marker (Marker const &);
-       Marker & operator= (Marker const &);
+       ArdourMarker (ArdourMarker const &);
+       ArdourMarker & operator= (ArdourMarker const &);
 };
 
-class TempoMarker : public Marker
+class TempoMarker : public ArdourMarker
 {
   public:
-        TempoMarker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, ARDOUR::TempoSection&);
+        TempoMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, ARDOUR::TempoSection&);
        ~TempoMarker ();
 
        ARDOUR::TempoSection& tempo() const { return _tempo; }
@@ -144,10 +145,10 @@ class TempoMarker : public Marker
        ARDOUR::TempoSection& _tempo;
 };
 
-class MeterMarker : public Marker
+class MeterMarker : public ArdourMarker
 {
   public:
-        MeterMarker (PublicEditor& editor, ArdourCanvas::Group &, guint32 rgba, const std::string& text, ARDOUR::MeterSection&);
+        MeterMarker (PublicEditor& editor, ArdourCanvas::Container &, guint32 rgba, const std::string& text, ARDOUR::MeterSection&);
        ~MeterMarker ();
 
        ARDOUR::MeterSection& meter() const { return _meter; }