remove all trace of SAE from source code.
[ardour.git] / gtk2_ardour / editor.h
index 77156cbb4cafe4c173186007be78a5c7503f6def..a2b777e7bedbd44b36c584f05d63fc4fc5cea972 100644 (file)
@@ -62,7 +62,6 @@
 #include "selection_memento.h"
 
 namespace Gtkmm2ext {
-       class TearOff;
        class Bindings;
 }
 
@@ -143,6 +142,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void             set_session (ARDOUR::Session *);
        ARDOUR::Session* session() const { return _session; }
 
+       Gtk::Window* use_own_window (bool and_fill_it);
+
        void             first_idle ();
        virtual bool     have_idled () const { return _have_idled; }
 
@@ -286,15 +287,12 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        bool process_midi_export_dialog (MidiExportDialog& dialog, boost::shared_ptr<ARDOUR::MidiRegion> midi_region);
 
-       void add_transport_frame (Gtk::Container&);
-       void add_toplevel_menu (Gtk::Container&);
-       Gtk::HBox& get_status_bar_packer()  { return status_bar_hpacker; }
-
        void               set_zoom_focus (Editing::ZoomFocus);
        Editing::ZoomFocus get_zoom_focus () const { return zoom_focus; }
        framecnt_t         get_current_zoom () const { return samples_per_pixel; }
        void               cycle_zoom_focus ();
        void temporal_zoom_step (bool coarser);
+       void temporal_zoom_step_mouse_focus (bool coarser);
        void ensure_time_axis_view_is_visible (TimeAxisView const & tav, bool at_top);
        void tav_zoom_step (bool coarser);
        void tav_zoom_smooth (bool coarser, bool force_all);
@@ -351,7 +349,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void set_summary ();
        void set_group_tabs ();
        void toggle_measure_visibility ();
-       void toggle_logo_visibility ();
 
        /* fades */
 
@@ -366,23 +363,24 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void ensure_float (Gtk::Window&);
 
-       void show_window ();
-
        void scroll_tracks_down_line ();
        void scroll_tracks_up_line ();
 
        bool scroll_up_one_track (bool skip_child_views = false);
        bool scroll_down_one_track (bool skip_child_views = false);
 
+       void scroll_left_step ();
+       void scroll_right_step ();
+
+       void scroll_left_half_page ();
+       void scroll_right_half_page ();
+
        void prepare_for_cleanup ();
        void finish_cleanup ();
 
        void maximise_editing_space();
        void restore_editing_space();
 
-       void update_tearoff_visibility();
-       void reattach_all_tearoffs ();
-
        double get_y_origin () const;
        void reset_x_origin (framepos_t);
        void reset_x_origin_to_follow_playhead ();
@@ -438,9 +436,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        TrackViewList axis_views_from_routes (boost::shared_ptr<ARDOUR::RouteList>) const;
 
-       Gtkmm2ext::TearOff* mouse_mode_tearoff () const { return _mouse_mode_tearoff; }
-       Gtkmm2ext::TearOff* tools_tearoff () const { return _tools_tearoff; }
-
        void snap_to (framepos_t&       first,
                      ARDOUR::RoundMode direction = ARDOUR::RoundNearest,
                      bool              for_mark  = false,
@@ -775,9 +770,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void add_routes (ARDOUR::RouteList&);
        void timeaxisview_deleted (TimeAxisView *);
 
-       Gtk::HBox           global_hpacker;
-       Gtk::VBox           global_vpacker;
-       Gtk::VBox           vpacker;
+       Gtk::HBox global_hpacker;
+       Gtk::VBox global_vpacker;
 
        /* Cursor stuff.  Do not use directly, use via CursorContext. */
        friend class CursorContext;
@@ -812,15 +806,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::EventBox             time_bars_event_box;
        Gtk::VBox                 time_bars_vbox;
 
-       ArdourCanvas::Pixbuf     *logo_item;
-#if 0
-    /* these will be needed when we have canvas rulers */
-       ArdourCanvas::Container      *minsec_group;
-       ArdourCanvas::Container      *bbt_group;
-       ArdourCanvas::Container      *timecode_group;
-       ArdourCanvas::Container      *frame_group;
-#endif
-
        ArdourCanvas::Container      *tempo_group;
        ArdourCanvas::Container      *meter_group;
        ArdourCanvas::Container      *marker_group;
@@ -1185,8 +1170,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void register_region_actions ();
 
        void load_bindings ();
-       Gtkmm2ext::ActionMap editor_action_map;
-       Gtkmm2ext::Bindings  key_bindings;
 
        /* CUT/COPY/PASTE */
 
@@ -1490,8 +1473,8 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void set_loop_start_from_edit_point ();
        void set_loop_end_from_edit_point ();
 
-       void keyboard_selection_begin ();
-       void keyboard_selection_finish (bool add);
+       void keyboard_selection_begin ( Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE );
+       void keyboard_selection_finish (bool add, Editing::EditIgnoreOption = Editing::EDIT_IGNORE_NONE);
        bool have_pending_keyboard_selection;
        framepos_t pending_keyboard_selection_start;
 
@@ -1745,7 +1728,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Gtk::Table               toolbar_selection_clock_table;
        Gtk::Label               toolbar_selection_cursor_label;
 
-       Gtkmm2ext::TearOff*      _mouse_mode_tearoff;
        ArdourButton mouse_select_button;
        ArdourButton mouse_draw_button;
        ArdourButton mouse_move_button;
@@ -1804,23 +1786,17 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        Glib::RefPtr<Gtk::RadioAction> zoom_focus_action (Editing::ZoomFocus);
 
        Gtk::HBox           _zoom_box;
-       Gtkmm2ext::TearOff* _zoom_tearoff;
        void                zoom_adjustment_changed();
 
        void setup_toolbar ();
 
        void setup_tooltips ();
 
-       Gtkmm2ext::TearOff*     _tools_tearoff;
        Gtk::HBox                toolbar_hbox;
        Gtk::EventBox            toolbar_base;
        Gtk::Frame               toolbar_frame;
        Gtk::Viewport           _toolbar_viewport;
 
-       /* midi toolbar */
-
-       Gtk::HBox                panic_box;
-
        void setup_midi_toolbar ();
 
        /* selection process */
@@ -1860,10 +1836,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        ArdourCanvas::Rectangle*  cd_marker_bar_drag_rect;
        ArdourCanvas::Rectangle*  range_bar_drag_rect;
        ArdourCanvas::Rectangle*  transport_bar_drag_rect;
-
-#ifdef GTKOSX
-       ArdourCanvas::Rectangle     *bogus_background_rect;
-#endif
        ArdourCanvas::Rectangle     *transport_bar_range_rect;
        ArdourCanvas::Rectangle     *transport_bar_preroll_rect;
        ArdourCanvas::Rectangle     *transport_bar_postroll_rect;
@@ -2043,8 +2015,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void cms_new (boost::shared_ptr<ARDOUR::Route>);
        void current_mixer_strip_hidden ();
 
-       void detach_tearoff (Gtk::Box* b, Gtk::Window* w);
-       void reattach_tearoff (Gtk::Box* b, Gtk::Window* w, int32_t n);
 #ifdef GTKOSX
        void ensure_all_elements_drawn ();
 #endif
@@ -2107,9 +2077,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        void toggle_gain_envelope_active ();
        void reset_region_gain_envelopes ();
 
-       bool on_key_press_event (GdkEventKey*);
-       bool on_key_release_event (GdkEventKey*);
-
        void session_state_saved (std::string);
 
        Glib::RefPtr<Gtk::Action>              undo_action;
@@ -2121,8 +2088,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
 
        void history_changed ();
 
-       Gtk::HBox      status_bar_hpacker;
-
        Editing::EditPoint _edit_point;
 
        ArdourDropdown edit_point_selector;
@@ -2263,6 +2228,14 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
        QuantizeDialog* quantize_dialog;
        MainMenuDisabler* _main_menu_disabler;
 
+       /* private helper functions to help with registering axis */
+
+       Glib::RefPtr<Gtk::Action> reg_sens (Glib::RefPtr<Gtk::ActionGroup> group, char const * name, char const * label, sigc::slot<void> slot);
+       void toggle_reg_sens (Glib::RefPtr<Gtk::ActionGroup> group, char const * name, char const * label, sigc::slot<void> slot);
+       void radio_reg_sens (Glib::RefPtr<Gtk::ActionGroup> action_group, Gtk::RadioAction::Group& radio_group, char const * name, char const * label, sigc::slot<void> slot);
+
+       Gtkmm2ext::ActionMap myactions;
+
        friend class Drag;
        friend class RegionDrag;
        friend class RegionMoveDrag;