Make sure that tests are rebuilt even when only their headers change.
[ardour.git] / gtk2_ardour / editor_regions.h
index 885acca628efdd6b49abfdafc84df98cde8a8ca2..c9d5ddf6f592787b9aae7a0b30a8fc84e6c783b1 100644 (file)
@@ -16,6 +16,8 @@
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
 */
+#ifndef __gtk_ardour_editor_regions_h__
+#define __gtk_ardour_editor_regions_h__
 
 #include "editor_component.h"
 
@@ -24,7 +26,7 @@ class EditorRegions : public EditorComponent
 public:
        EditorRegions (Editor *);
 
-       void connect_to_session (ARDOUR::Session *);
+       void set_session (ARDOUR::Session *);
 
        Gtk::Widget& widget () {
                return _scroller;
@@ -37,7 +39,6 @@ public:
        void reset_sort_direction (bool);
        void reset_sort_type (Editing::RegionListSortType, bool);
        void set_selected (RegionSelection &);
-       void remove_region ();
        void selection_mapover (sigc::slot<void,boost::shared_ptr<ARDOUR::Region> >);
        boost::shared_ptr<ARDOUR::Region> get_dragged_region ();
        boost::shared_ptr<ARDOUR::Region> get_single_selection ();
@@ -102,7 +103,7 @@ private:
 
        Columns _columns;
 
-       void region_changed (ARDOUR::Change, boost::weak_ptr<ARDOUR::Region>);
+       void region_changed (boost::shared_ptr<ARDOUR::Region>, PBD::PropertyChange const &);
        void selection_changed ();
        sigc::connection _change_connection;
        bool set_selected_in_subrow (boost::shared_ptr<ARDOUR::Region>, Gtk::TreeModel::Row const &, int);
@@ -110,20 +111,14 @@ private:
        void name_edit (const Glib::ustring&, const Glib::ustring&);
 
        bool key_press (GdkEventKey *);
-       bool key_release (GdkEventKey *);
        bool button_press (GdkEventButton *);
-       bool button_release (GdkEventButton *);
        void build_menu ();
        void show_context_menu (int button, int time);
 
        int sorter (Gtk::TreeModel::iterator, Gtk::TreeModel::iterator);
 
-       void handle_new_region (boost::weak_ptr<ARDOUR::Region>);
-       void handle_new_regions (std::vector<boost::weak_ptr<ARDOUR::Region> >& );
-       void handle_region_removed (boost::weak_ptr<ARDOUR::Region>);
        void add_region (boost::shared_ptr<ARDOUR::Region>);
-       void add_regions (std::vector<boost::weak_ptr<ARDOUR::Region> > & );
-       void region_hidden (boost::shared_ptr<ARDOUR::Region>);
+       void add_regions (std::vector<boost::shared_ptr<ARDOUR::Region> > & );
        void populate_row (boost::shared_ptr<ARDOUR::Region>, Gtk::TreeModel::Row const &);
        void update_row (boost::shared_ptr<ARDOUR::Region>);
        bool update_subrows (boost::shared_ptr<ARDOUR::Region>, Gtk::TreeModel::Row const &, int);
@@ -140,12 +135,18 @@ private:
        Gtk::Frame _frame;
        Gtkmm2ext::DnDTreeView<boost::shared_ptr<ARDOUR::Region> > _display;
        Glib::RefPtr<Gtk::TreeStore> _model;
+       Glib::RefPtr<Gtk::Action> _hide_action; ///< the action for our Hide menu option
+       Glib::RefPtr<Gtk::Action> _show_action; ///< the action for our Show menu option
        Glib::RefPtr<Gtk::ToggleAction> _toggle_full_action;
        Glib::RefPtr<Gtk::ToggleAction> _toggle_show_auto_regions_action;
        bool _show_automatic_regions;
        Editing::RegionListSortType _sort_type;
        bool _no_redisplay;
        std::list<boost::shared_ptr<ARDOUR::Region> > tmp_region_list;
+       PBD::ScopedConnection region_property_connection;
+       PBD::ScopedConnection check_new_region_connection;
+       bool ignore_region_list_selection_change;
+       bool ignore_selected_region_change;
 };
 
-
+#endif /* __gtk_ardour_editor_regions_h__ */