From 6bfef606a0ec2281583bfe72d57e8e0d867ced3a Mon Sep 17 00:00:00 2001 From: Joel Holdsworth Date: Fri, 2 Jan 2009 16:21:52 +0000 Subject: [PATCH] Transition TimelineRuler to have a reference to TimelineWidget not a pointer --- src/gui/widgets/timeline-widget.cpp | 2 +- src/gui/widgets/timeline/timeline-ruler.cpp | 47 ++++++++------------- src/gui/widgets/timeline/timeline-ruler.hpp | 7 +-- 3 files changed, 23 insertions(+), 33 deletions(-) diff --git a/src/gui/widgets/timeline-widget.cpp b/src/gui/widgets/timeline-widget.cpp index 4f1fac3eb..a71e94b7a 100644 --- a/src/gui/widgets/timeline-widget.cpp +++ b/src/gui/widgets/timeline-widget.cpp @@ -62,7 +62,7 @@ TimelineWidget::TimelineWidget( ENSURE(body != NULL); headerContainer = new TimelineHeaderContainer(*this); ENSURE(headerContainer != NULL); - ruler = new TimelineRuler(this); + ruler = new TimelineRuler(*this); ENSURE(ruler != NULL); horizontalAdjustment.signal_value_changed().connect( sigc::mem_fun( diff --git a/src/gui/widgets/timeline/timeline-ruler.cpp b/src/gui/widgets/timeline/timeline-ruler.cpp index e2b826955..47b47ecef 100644 --- a/src/gui/widgets/timeline/timeline-ruler.cpp +++ b/src/gui/widgets/timeline/timeline-ruler.cpp @@ -42,7 +42,7 @@ namespace widgets { namespace timeline { TimelineRuler::TimelineRuler( - gui::widgets::TimelineWidget *timeline_widget) : + gui::widgets::TimelineWidget &timeline_widget) : Glib::ObjectBase("TimelineRuler"), isDragging(false), pinnedDragTime(0), @@ -61,11 +61,9 @@ TimelineRuler::TimelineRuler( playbackPeriodArrowSize(10), playbackPeriodArrowStemSize(3), timelineWidget(timeline_widget) -{ - REQUIRE(timelineWidget != NULL); - +{ // Connect event handlers - timelineWidget->get_view_window().changed_signal().connect( + timelineWidget.get_view_window().changed_signal().connect( sigc::mem_fun(this, &TimelineRuler::on_update_view) ); // Install style properties @@ -157,7 +155,7 @@ TimelineRuler::on_button_press_event(GdkEventButton* event) if(event->button == 1) { pinnedDragTime = - timelineWidget->get_view_window().x_to_time(event->x); + timelineWidget.get_view_window().x_to_time(event->x); isDragging = true; } @@ -168,12 +166,11 @@ bool TimelineRuler::on_button_release_event(GdkEventButton* event) { REQUIRE(event != NULL); - REQUIRE(timelineWidget != NULL); if(event->button == 1) { isDragging = false; - timelineWidget->on_playback_period_drag_released(); + timelineWidget.on_playback_period_drag_released(); } return true; @@ -214,14 +211,12 @@ TimelineRuler::on_size_allocate(Gtk::Allocation& allocation) void TimelineRuler::set_leading_x(const int x) { - REQUIRE(timelineWidget != NULL); - const gavl_time_t time = - timelineWidget->get_view_window().x_to_time(x); + timelineWidget.get_view_window().x_to_time(x); if(time > pinnedDragTime) - timelineWidget->set_playback_period(pinnedDragTime, time); + timelineWidget.set_playback_period(pinnedDragTime, time); else - timelineWidget->set_playback_period(time, pinnedDragTime); + timelineWidget.set_playback_period(time, pinnedDragTime); } void @@ -231,9 +226,8 @@ TimelineRuler::draw_ruler(Cairo::RefPtr cr, REQUIRE(cr); REQUIRE(ruler_rect.get_width() > 0); REQUIRE(ruler_rect.get_height() > 0); - REQUIRE(timelineWidget != NULL); - const TimelineViewWindow &window = timelineWidget->get_view_window(); + const TimelineViewWindow &window = timelineWidget.get_view_window(); const gavl_time_t left_offset = window.get_time_offset(); const int64_t time_scale = window.get_time_scale(); @@ -334,15 +328,14 @@ TimelineRuler::draw_selection(Cairo::RefPtr cr, REQUIRE(cr); REQUIRE(ruler_rect.get_width() > 0); REQUIRE(ruler_rect.get_height() > 0); - REQUIRE(timelineWidget != NULL); - const TimelineViewWindow &window = timelineWidget->get_view_window(); + const TimelineViewWindow &window = timelineWidget.get_view_window(); Glib::RefPtr