new trim cursors from chrisg, fix up hotspots for said cursors, make Editor cursors...
[ardour.git] / gtk2_ardour / editor_route_groups.h
index 02d5bac59c88262921b100648e99bbe9aeb2092f..bbc238e3af2c778c36d468392244cfb8031b2f59 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2000-2009 Paul Davis 
+    Copyright (C) 2000-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
@@ -24,7 +24,7 @@ class EditorRouteGroups : public EditorComponent
 public:
        EditorRouteGroups (Editor *);
 
-       void connect_to_session (ARDOUR::Session *);
+       void set_session (ARDOUR::Session *);
 
        Gtk::Widget& widget () {
                return *_display_packer;
@@ -33,9 +33,10 @@ public:
        Gtk::Menu* menu (ARDOUR::RouteGroup *);
 
        void clear ();
-       
+       ARDOUR::RouteGroup* new_route_group () const;
+
 private:
-       
+
         struct Columns : public Gtk::TreeModel::ColumnRecord {
 
                 Columns () {
@@ -65,12 +66,12 @@ private:
 
        void activate_all ();
        void disable_all ();
-       void subgroup (ARDOUR::RouteGroup*);
-       void unsubgroup (ARDOUR::RouteGroup*);
+       void subgroup (ARDOUR::RouteGroup *);
+       void unsubgroup (ARDOUR::RouteGroup *);
+       void collect (ARDOUR::RouteGroup *);
 
        void row_change (const Gtk::TreeModel::Path&,const Gtk::TreeModel::iterator&);
        void name_edit (const Glib::ustring&, const Glib::ustring&);
-       void new_route_group ();
        void new_from_selection ();
        void new_from_rec_enabled ();
        void new_from_soloed ();
@@ -80,9 +81,10 @@ private:
        void add (ARDOUR::RouteGroup* group);
        void remove_route_group ();
        void groups_changed ();
-       void flags_changed (void*, ARDOUR::RouteGroup*);
+       void property_changed (ARDOUR::RouteGroup*, const PBD::PropertyChange &);
        void set_activation (ARDOUR::RouteGroup *, bool);
        void remove_selected ();
+       void run_new_group_dialog (const ARDOUR::RouteList&);
 
        Gtk::Menu* _menu;
        Glib::RefPtr<Gtk::ListStore> _model;
@@ -91,6 +93,7 @@ private:
        Gtk::ScrolledWindow _scroller;
        Gtk::VBox* _display_packer;
        bool _in_row_change;
+       PBD::ScopedConnection property_changed_connection;
 };