+ Gtkmm2ext::TearOff* mouse_mode_tearoff () const { return _mouse_mode_tearoff; }
+ Gtkmm2ext::TearOff* tools_tearoff () const { return _tools_tearoff; }
+
+ void snap_to (nframes64_t& first, int32_t direction = 0, bool for_mark = false);
+ void snap_to_with_modifier (nframes64_t& first, GdkEvent const *, int32_t direction = 0, bool for_mark = false);
+ void snap_to (nframes64_t& first, nframes64_t& last, int32_t direction = 0, bool for_mark = false);
+
+ void begin_reversible_command (std::string cmd_name);
+ void commit_reversible_command ();
+
+ DragManager* drags () const {
+ return _drags;
+ }
+
+ void maybe_autoscroll (bool, bool);
+
+ /* handy cursors for everyone to use */
+
+ static Gdk::Cursor* cross_hair_cursor;
+ static Gdk::Cursor* trimmer_cursor;
+ static Gdk::Cursor* right_side_trim_cursor;
+ static Gdk::Cursor* left_side_trim_cursor;
+ static Gdk::Cursor* fade_in_cursor;
+ static Gdk::Cursor* fade_out_cursor;
+ static Gdk::Cursor* selector_cursor;
+ static Gdk::Cursor* grabber_cursor;
+ static Gdk::Cursor* grabber_note_cursor;
+ static Gdk::Cursor* grabber_edit_point_cursor;
+ static Gdk::Cursor* zoom_cursor;
+ static Gdk::Cursor* time_fx_cursor;
+ static Gdk::Cursor* fader_cursor;
+ static Gdk::Cursor* speaker_cursor;
+ static Gdk::Cursor* midi_pencil_cursor;
+ static Gdk::Cursor* midi_select_cursor;
+ static Gdk::Cursor* midi_resize_cursor;
+ static Gdk::Cursor* midi_erase_cursor;
+ static Gdk::Cursor* wait_cursor;
+ static Gdk::Cursor* timebar_cursor;
+ static Gdk::Cursor* transparent_cursor;