more changes flowing from a persistent MonitorSection object
[ardour.git] / gtk2_ardour / mixer_group_tabs.h
index fc95b4b1f66a5dec1790c8edc025d8def333947e..ff9a9e45122a9446c07c6668bcf233a00ba267d3 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2009 Paul Davis 
+    Copyright (C) 2009 Paul Davis
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
 
 */
 
-#include "cairo_widget.h"
+#ifndef __gtk_ardour_mixer_group_tabs_h__
+#define __gtk_ardour_mixer_group_tabs_h__
+
+#include "group_tabs.h"
 
 class Mixer_UI;
 
-class MixerGroupTabs : public CairoWidget
+class MixerGroupTabs : public GroupTabs
 {
 public:
        MixerGroupTabs (Mixer_UI *);
 
-       void set_session (ARDOUR::Session *);
-
 private:
-       void on_size_request (Gtk::Requisition *);
-       bool on_button_press_event (GdkEventButton *);
-       void render (cairo_t *);
-       void draw_group (cairo_t *, int32_t, int32_t, ARDOUR::RouteGroup* , Gdk::Color const &);
-       
+       std::list<Tab> compute_tabs () const;
+       void draw_tab (cairo_t *, Tab const &);
+       double primary_coordinate (double, double) const;
+       ARDOUR::RouteList routes_for_tab (Tab const *) const;
+       double extent () const {
+               return get_width();
+       }
+
+       ARDOUR::RouteList selected_routes () const;
+
        Mixer_UI* _mixer;
 };
+
+#endif // __gtk_ardour_mixer_group_tabs_h__