X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Feditor_group_tabs.h;h=e2ed6055aa99f06b7da55cf52aca061c5f1f8c37;hb=149085ba160cf58cda46ada78f11fd5a3b4f6221;hp=7ca75e44aea94226930bc4138799a97d22c36d74;hpb=596463e0eb0acad0eb29d93dc848ac9eee8eeed4;p=ardour.git diff --git a/gtk2_ardour/editor_group_tabs.h b/gtk2_ardour/editor_group_tabs.h index 7ca75e44ae..e2ed6055aa 100644 --- a/gtk2_ardour/editor_group_tabs.h +++ b/gtk2_ardour/editor_group_tabs.h @@ -1,19 +1,43 @@ -#include "cairo_widget.h" +/* + 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 + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#include +#include "group_tabs.h" class Editor; -class EditorGroupTabs : public CairoWidget +class EditorGroupTabs : public GroupTabs, public EditorComponent { public: EditorGroupTabs (Editor *); - 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 &); - - Editor* _editor; + std::list compute_tabs () const; + void draw_tab (cairo_t *, Tab const &) const; + double primary_coordinate (double, double) const; + ARDOUR::RouteList routes_for_tab (Tab const *) const; + double extent () const { + return get_height(); + } + void add_menu_items (Gtk::Menu *, ARDOUR::RouteGroup *); + PBD::PropertyList default_properties () const; + std::string order_key () const; + ARDOUR::RouteList selected_routes () const; + void sync_order_keys (); };