Make layer menu items apply to the selection.
[ardour.git] / gtk2_ardour / editor.h
index 4ca814ce640c0c087ce17884204d8295ebb1cac6..6903cd20c9236abd6e3273cd26ba6b507d7e7830 100644 (file)
@@ -42,6 +42,7 @@
 #include "gtkmm2ext/selector.h"
 #include "gtkmm2ext/click_box.h"
 #include "gtkmm2ext/dndtreeview.h"
+#include "gtkmm2ext/stateful_button.h"
 
 #include "pbd/stateful.h"
 #include "pbd/signals.h"
@@ -639,6 +640,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void set_selected_track (TimeAxisView&, Selection::Operation op = Selection::Set, bool no_remove=false);
        void select_all_tracks ();
+        void select_all_internal_edit (Selection::Operation);
 
        bool set_selected_control_point_from_click (Selection::Operation op = Selection::Set, bool no_remove=false);
        void set_selected_track_from_click (bool press, Selection::Operation op = Selection::Set, bool no_remove=false);
@@ -933,11 +935,11 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::Table          edit_packer;
 
        Gtk::Adjustment     vertical_adjustment;
-
+        
        Gtk::Layout         controls_layout;
        bool control_layout_scroll (GdkEventScroll* ev);
-       void controls_layout_size_request (Gtk::Requisition*);
-       sigc::connection controls_layout_size_request_connection;
+        void reset_controls_layout_width ();
+        void reset_controls_layout_height (int32_t height);
 
        bool horizontal_scroll_left_press ();
        void horizontal_scroll_left_release ();
@@ -1383,6 +1385,9 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        bool canvas_markerview_item_view_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*);
        bool canvas_markerview_start_handle_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*);
        bool canvas_markerview_end_handle_event(GdkEvent* event, ArdourCanvas::Item*,MarkerView*);
+       
+       PBD::Signal0<void> EditorFreeze;
+       PBD::Signal0<void> EditorThaw;
 
   private:
         friend class DragManager;
@@ -1529,19 +1534,19 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::Label               toolbar_selection_cursor_label;
 
        Gtkmm2ext::TearOff*      _mouse_mode_tearoff;
-       Gtk::ToggleButton         mouse_select_button;
-       Gtk::ToggleButton         mouse_move_button;
-       Gtk::ToggleButton         mouse_gain_button;
-       Gtk::ToggleButton         mouse_zoom_button;
-       Gtk::ToggleButton         mouse_timefx_button;
-       Gtk::ToggleButton         mouse_audition_button;
-       Gtk::ToggleButton         join_object_range_button;
+       Gtkmm2ext::StatefulToggleButton mouse_select_button;
+       Gtkmm2ext::StatefulToggleButton mouse_move_button;
+       Gtkmm2ext::StatefulToggleButton mouse_gain_button;
+       Gtkmm2ext::StatefulToggleButton mouse_zoom_button;
+       Gtkmm2ext::StatefulToggleButton mouse_timefx_button;
+       Gtkmm2ext::StatefulToggleButton mouse_audition_button;
+       Gtkmm2ext::StatefulToggleButton join_object_range_button;
 
        void                     mouse_mode_toggled (Editing::MouseMode m);
        void                     mouse_mode_object_range_toggled () {}
        bool                     ignore_mouse_mode_toggle;
 
-       Gtk::ToggleButton        internal_edit_button;
+       Gtkmm2ext::StatefulToggleButton internal_edit_button;
        void                     toggle_internal_editing ();
 
        gint                     mouse_select_button_release (GdkEventButton*);
@@ -1658,7 +1663,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        /* object rubberband select process */
 
-       bool select_all_within (framepos_t, framepos_t, double, double, TrackViewList const &, Selection::Operation, bool);
+       void select_all_within (framepos_t, framepos_t, double, double, TrackViewList const &, Selection::Operation, bool);
 
        ArdourCanvas::SimpleRect   *rubberband_rect;
 
@@ -2023,6 +2028,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        EditorSummary* _summary;
 
        void region_view_added (RegionView *);
+       void region_view_removed ();
 
        void update_canvas_now ();