Another stab at the logic for selecting regions for operations, to ensure that edit...
[ardour.git] / gtk2_ardour / export_channel_selector.h
index 56ce5c95019ddf3c2a6e26c7bc1275acfad31d39..cfb71b34f532d884bd6b2735fb6d3be00c7ca1ed 100644 (file)
@@ -43,19 +43,18 @@ namespace ARDOUR {
 
 class XMLNode;
 
-class ExportChannelSelector : public Gtk::HBox
+class ExportChannelSelector : public Gtk::HBox, public ARDOUR::SessionHandlePtr
 {
   protected:
        typedef boost::shared_ptr<ARDOUR::ExportChannelConfiguration> ChannelConfigPtr;
        typedef boost::shared_ptr<ARDOUR::ExportProfileManager> ProfileManagerPtr;
 
-       ARDOUR::Session * session;
        ProfileManagerPtr manager;
 
   public:
        ExportChannelSelector (ARDOUR::Session * session, ProfileManagerPtr manager)
-         : session (session)
-         , manager (manager)
+               : SessionHandlePtr (session)
+               , manager (manager)
        {}
 
        virtual ~ExportChannelSelector () {}
@@ -115,7 +114,7 @@ class PortExportChannelSelector : public ExportChannelSelector
                /* Static columns */
 
                Gtk::TreeModelColumn<bool>           selected;
-               Gtk::TreeModelColumn<Glib::ustring>  name;
+               Gtk::TreeModelColumn<std::string>  name;
                Gtk::TreeModelColumn<ARDOUR::IO *>   io;
 
                /* Combo list column (shared by all channels) */
@@ -130,7 +129,7 @@ class PortExportChannelSelector : public ExportChannelSelector
                        Channel (RouteCols & cols) { cols.add (port); cols.add (label); }
 
                        Gtk::TreeModelColumn<ARDOUR::AudioPort *>  port;
-                       Gtk::TreeModelColumn<Glib::ustring>        label;
+                       Gtk::TreeModelColumn<std::string>        label;
                };
                std::list<Channel> channels;
 
@@ -148,7 +147,7 @@ class PortExportChannelSelector : public ExportChannelSelector
 
                        Gtk::TreeModelColumn<bool>                  selected;  // not used ATM
                        Gtk::TreeModelColumn<ARDOUR::AudioPort *>   port;
-                       Gtk::TreeModelColumn<Glib::ustring>         label;
+                       Gtk::TreeModelColumn<std::string>         label;
                };
                PortCols port_cols;
        };
@@ -176,8 +175,8 @@ class PortExportChannelSelector : public ExportChannelSelector
 
                /* Signal handlers for selections changes in the view */
 
-               void update_toggle_selection (Glib::ustring const & path);
-               void update_selection_text (Glib::ustring const & path, Glib::ustring const & new_text, uint32_t channel);
+               void update_toggle_selection (std::string const & path);
+               void update_selection_text (std::string const & path, std::string const & new_text, uint32_t channel);
 
                RouteCols                     route_cols;
                Glib::RefPtr<Gtk::ListStore>  route_list;