some fixes/improvements for track selection; add upload target to manual makefile...
[ardour.git] / gtk2_ardour / axis_view.h
index 5fc6917b7497dffdbbffe1bfa8cb0028e66cb751..4ae8f8d46e597ce0e15818c0d615f96e06336834 100644 (file)
 #define __ardour_gtk_axis_view_h__
 
 #include <list>
-#include <gtk--.h>
+
+#include <gtkmm/label.h>
+#include <gdkmm/color.h>
+
 #include <pbd/xml++.h>
 #include "prompter.h"
+#include "selectable.h"
 
 namespace ARDOUR {
        class Session;
@@ -34,7 +38,7 @@ namespace ARDOUR {
  * AxisView defines the abstract base class for time-axis trackviews and routes.
  *
  */
-class AxisView : public SigC::Object
+class AxisView : public virtual Selectable
 {
   public:
        /**
@@ -42,18 +46,12 @@ class AxisView : public SigC::Object
         *
         * @return the current Track Color
         */
-       Gdk_Color color() const { return _color; }
+       Gdk::Color color() const { return _color; }
 
        ARDOUR::Session& session() const { return _session; }
 
        virtual string name() const = 0;
 
-       virtual void set_selected (bool yn) {
-               if (yn != _selected) {
-                       _selected = yn;
-               }
-       }
-       
        virtual bool marked_for_display() const { return _marked_for_display; }
 
        virtual void set_marked_for_display (bool yn) {
@@ -62,9 +60,8 @@ class AxisView : public SigC::Object
                }
        }
        
-       virtual bool selected() const { return _selected; }
-       SigC::Signal0<void> Hiding;
-       SigC::Signal0<void> GoingAway;
+       sigc::signal<void> Hiding;
+       sigc::signal<void> GoingAway;
 
   protected:
 
@@ -77,18 +74,16 @@ class AxisView : public SigC::Object
         *
         * @return the unique random color.
         */
-       static GdkColor unique_random_color();
+       static Gdk::Color unique_random_color();
 
 
        ARDOUR::Session& _session;
-       Gdk_Color _color;
+       Gdk::Color _color;
 
-       static list<GdkColor> used_colors;
+       static list<Gdk::Color> used_colors;
 
        Gtk::Label name_label;
 
-       bool _selected;
-
        bool _marked_for_display;
        
 }; /* class AxisView */