finish inheritance work between EditingContext & Editor

this completes the initial phase of defining what an EditingContext must offer,
though the may expand or shrink as we being work on editing outside the Editor
This commit is contained in:
Paul Davis 2023-11-17 10:52:13 -07:00
parent 3341184f8c
commit 7d5f575d61
4 changed files with 19 additions and 16 deletions

View file

@ -63,7 +63,8 @@ static const gchar *_grid_type_strings[] = {
};
EditingContext::EditingContext ()
: pre_internal_grid_type (GridTypeBeat)
: rubberband_rect (0)
, pre_internal_grid_type (GridTypeBeat)
, pre_internal_snap_mode (SnapOff)
, internal_grid_type (GridTypeBeat)
, internal_snap_mode (SnapOff)
@ -73,7 +74,7 @@ EditingContext::EditingContext ()
, _draw_velocity (DRAW_VEL_AUTO)
, _draw_channel (DRAW_CHAN_AUTO)
, _drags (new DragManager (this))
, rubberband_rect (0)
, _leftmost_sample (0)
{
grid_type_strings = I18N (_grid_type_strings);
}
@ -770,8 +771,7 @@ EditingContext::set_grid_to (GridType gt)
}
if (grid_type_changed && UIConfiguration::instance().get_show_grids_ruler()) {
#warning paul heirarchy warning
// show_rulers_for_grid ();
show_rulers_for_grid ();
}
instant_save ();
@ -779,9 +779,8 @@ EditingContext::set_grid_to (GridType gt)
const bool grid_is_musical = grid_musical ();
if (grid_is_musical) {
#warning paul fix location of this in heirarchy
// compute_bbt_ruler_scale (_leftmost_sample, _leftmost_sample + current_page_samples());
// update_tempo_based_rulers ();
compute_bbt_ruler_scale (_leftmost_sample, _leftmost_sample + current_page_samples());
update_tempo_based_rulers ();
} else if (current_mouse_mode () == Editing::MouseGrid) {
Glib::RefPtr<RadioAction> ract = ActionManager::get_radio_action (X_("MouseMode"), X_("set-mouse-mode-object"));
ract->set_active (true);
@ -789,8 +788,7 @@ EditingContext::set_grid_to (GridType gt)
ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-grid"))->set_sensitive (grid_is_musical);
#warning paul heirarchy warning
// mark_region_boundary_cache_dirty ();
mark_region_boundary_cache_dirty ();
redisplay_grid (false);
@ -808,14 +806,11 @@ EditingContext::set_snap_mode (SnapMode mode)
_snap_mode = mode;
#warning paul heirarchy warning
#if 0
if (_snap_mode == SnapOff) {
snap_mode_button.set_active_state (Gtkmm2ext::Off);
} else {
snap_mode_button.set_active_state (Gtkmm2ext::ExplicitActive);
}
#endif
instant_save ();
}

View file

@ -233,6 +233,9 @@ public:
void register_midi_actions (Gtkmm2ext::Bindings*);
ArdourCanvas::Rectangle* rubberband_rect;
protected:
Glib::RefPtr<Gtk::ActionGroup> _midi_actions;
/* Cursor stuff. Do not use directly, use via CursorContext. */
@ -288,7 +291,15 @@ public:
DragManager* _drags;
ArdourCanvas::Rectangle* rubberband_rect;
ArdourWidgets::ArdourButton snap_mode_button;
virtual void mark_region_boundary_cache_dirty () {}
virtual void compute_bbt_ruler_scale (samplepos_t, samplepos_t) {}
virtual void update_tempo_based_rulers () {};
virtual void show_rulers_for_grid () {};
virtual samplecnt_t current_page_samples() const = 0;
samplepos_t _leftmost_sample;
};
#endif /* __ardour_midi_editing_context_h__ */

View file

@ -234,7 +234,6 @@ Editor::Editor ()
, constructed (false)
, _properties_box (0)
, no_save_visual (false)
, _leftmost_sample (0)
, samples_per_pixel (2048)
, zoom_focus (ZoomFocusPlayhead)
, mouse_mode (MouseObject)

View file

@ -639,7 +639,6 @@ private:
void start_visual_state_op (uint32_t n);
void cancel_visual_state_op (uint32_t n);
samplepos_t _leftmost_sample;
samplecnt_t samples_per_pixel;
Editing::ZoomFocus zoom_focus;
@ -1984,7 +1983,6 @@ private:
return stretch_marker_cb.get_active ();
}
ArdourWidgets::ArdourButton snap_mode_button;
bool snap_mode_button_clicked (GdkEventButton*);
Gtk::HBox snap_box;