a radically new approach to sizing the track header layout that now allows ardour...
[ardour.git] / gtk2_ardour / editor_routes.h
index 07ee8c262975b734b60b939188f3852d2f6e6b30..6297f906bbe806921364a36982e7b35fe89a4e2e 100644 (file)
@@ -59,15 +59,15 @@ public:
 private:
 
        void initial_display ();
-       void on_tv_rec_enable_toggled (Glib::ustring const &);
-       void on_tv_mute_enable_toggled (Glib::ustring const &);
-       void on_tv_solo_enable_toggled (Glib::ustring const &);
-       void on_tv_solo_isolate_toggled (Glib::ustring const &);
-       void on_tv_solo_safe_toggled (Glib::ustring const &);
+       void on_tv_rec_enable_changed (std::string const &);
+       void on_tv_mute_enable_toggled (std::string const &);
+       void on_tv_solo_enable_toggled (std::string const &);
+       void on_tv_solo_isolate_toggled (std::string const &);
+       void on_tv_solo_safe_toggled (std::string const &);
        void build_menu ();
        void show_menu ();
        void route_deleted (Gtk::TreeModel::Path const &);
-       void visible_changed (Glib::ustring const &);
+       void visible_changed (std::string const &);
        void reordered (Gtk::TreeModel::Path const &, Gtk::TreeModel::iterator const &, int *);
        bool button_press (GdkEventButton *);
        void route_property_changed (const PBD::PropertyChange&, boost::weak_ptr<ARDOUR::Route>);
@@ -95,14 +95,14 @@ private:
        
        void track_list_reorder (Gtk::TreeModel::Path const &, Gtk::TreeModel::iterator const & iter, int* new_order);
        bool selection_filter (Glib::RefPtr<Gtk::TreeModel> const &, Gtk::TreeModel::Path const &, bool);
-       void name_edit (Glib::ustring const &, Glib::ustring const &);
+       void name_edit (std::string const &, std::string const &);
        void solo_changed_so_update_mute ();
 
        struct ModelColumns : public Gtk::TreeModel::ColumnRecord {
                ModelColumns() {
                        add (text);
                        add (visible);
-                       add (rec_enabled);
+                       add (rec_state);
                        add (mute_state);
                        add (solo_state);
                        add (solo_isolate_state);
@@ -113,9 +113,9 @@ private:
                        add (name_editable);
                }
                
-               Gtk::TreeModelColumn<Glib::ustring>  text;
+               Gtk::TreeModelColumn<std::string>  text;
                Gtk::TreeModelColumn<bool>           visible;
-               Gtk::TreeModelColumn<bool>           rec_enabled;
+               Gtk::TreeModelColumn<uint32_t>       rec_state;
                Gtk::TreeModelColumn<uint32_t>       mute_state;
                Gtk::TreeModelColumn<uint32_t>       solo_state;
                Gtk::TreeModelColumn<uint32_t>       solo_isolate_state;
@@ -137,6 +137,18 @@ private:
        bool _redisplay_does_not_reset_order_keys;
        
        Gtk::Menu* _menu;
+        Gtk::Widget* old_focus; 
+        uint32_t selection_countdown;
+        Gtk::CellEditable* name_editable;
+
+        bool key_press (GdkEventKey* ev);
+        bool focus_in (GdkEventFocus*);
+        bool focus_out (GdkEventFocus*);
+        bool enter_notify (GdkEventCrossing*);
+        bool leave_notify (GdkEventCrossing*);
+        void name_edit_started (Gtk::CellEditable*, const Glib::ustring&);
+
+        bool get_relevant_routes (boost::shared_ptr<ARDOUR::RouteList> rl);
 };
 
 #endif /* __ardour_gtk_editor_route_h__ */