/*
- 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__