Integrating time::Control into ibeam tool.
This commit is contained in:
parent
b39edad306
commit
6046749f19
6 changed files with 21 additions and 9 deletions
|
|
@ -62,7 +62,7 @@ TimelineWidget::TimelineWidget(shared_ptr<timeline::TimelineState> source_state)
|
||||||
ENSURE(headerContainer != NULL);
|
ENSURE(headerContainer != NULL);
|
||||||
ruler = manage(new TimelineRuler(*this));
|
ruler = manage(new TimelineRuler(*this));
|
||||||
ENSURE(ruler != NULL);
|
ENSURE(ruler != NULL);
|
||||||
|
|
||||||
horizontalAdjustment.signal_value_changed().connect( sigc::mem_fun(
|
horizontalAdjustment.signal_value_changed().connect( sigc::mem_fun(
|
||||||
this, &TimelineWidget::on_scroll) );
|
this, &TimelineWidget::on_scroll) );
|
||||||
verticalAdjustment.signal_value_changed().connect( sigc::mem_fun(
|
verticalAdjustment.signal_value_changed().connect( sigc::mem_fun(
|
||||||
|
|
@ -71,7 +71,7 @@ TimelineWidget::TimelineWidget(shared_ptr<timeline::TimelineState> source_state)
|
||||||
this, &TimelineWidget::on_motion_in_body_notify_event) );
|
this, &TimelineWidget::on_motion_in_body_notify_event) );
|
||||||
|
|
||||||
update_tracks();
|
update_tracks();
|
||||||
|
|
||||||
attach(*body, 1, 2, 1, 2, FILL|EXPAND, FILL|EXPAND);
|
attach(*body, 1, 2, 1, 2, FILL|EXPAND, FILL|EXPAND);
|
||||||
attach(*ruler, 1, 2, 0, 1, FILL|EXPAND, SHRINK);
|
attach(*ruler, 1, 2, 0, 1, FILL|EXPAND, SHRINK);
|
||||||
attach(*headerContainer, 0, 1, 1, 2, SHRINK, FILL|EXPAND);
|
attach(*headerContainer, 0, 1, 1, 2, SHRINK, FILL|EXPAND);
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,12 @@ TimelineBody::getTimelineWidget () const
|
||||||
return timelineWidget;
|
return timelineWidget;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TimeSpan
|
||||||
|
TimelineBody::get_selection()
|
||||||
|
{
|
||||||
|
return timelineWidget.get_state()->get_selection();
|
||||||
|
}
|
||||||
|
|
||||||
ToolType
|
ToolType
|
||||||
TimelineBody::get_tool() const
|
TimelineBody::get_tool() const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@ class TimelineWidget;
|
||||||
namespace timeline {
|
namespace timeline {
|
||||||
|
|
||||||
using lib::time::TimeVar;
|
using lib::time::TimeVar;
|
||||||
|
using lib::time::TimeSpan;
|
||||||
|
|
||||||
|
|
||||||
class Track;
|
class Track;
|
||||||
|
|
@ -73,6 +74,9 @@ public:
|
||||||
TimelineWidget&
|
TimelineWidget&
|
||||||
getTimelineWidget () const;
|
getTimelineWidget () const;
|
||||||
|
|
||||||
|
TimeSpan
|
||||||
|
get_selection();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the type of the currently selected timeline tool.
|
* Returns the type of the currently selected timeline tool.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,6 @@
|
||||||
#include "gui/widgets/timeline-widget.hpp"
|
#include "gui/widgets/timeline-widget.hpp"
|
||||||
#include "lib/time/mutation.hpp"
|
#include "lib/time/mutation.hpp"
|
||||||
|
|
||||||
#include <boost/shared_ptr.hpp>
|
|
||||||
|
|
||||||
using namespace gui::widgets;
|
using namespace gui::widgets;
|
||||||
|
|
||||||
using lib::time::Mutation;
|
using lib::time::Mutation;
|
||||||
|
|
@ -45,12 +43,11 @@ const int IBeamTool::ScrollSlideEventInterval = 40;
|
||||||
|
|
||||||
IBeamTool::IBeamTool(TimelineBody &timeline_body) :
|
IBeamTool::IBeamTool(TimelineBody &timeline_body) :
|
||||||
Tool(timeline_body),
|
Tool(timeline_body),
|
||||||
|
selectionControl(),
|
||||||
dragType(None),
|
dragType(None),
|
||||||
pinnedDragTime(),
|
pinnedDragTime(),
|
||||||
scrollSlideRate(0)
|
scrollSlideRate(0)
|
||||||
{
|
{ }
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
IBeamTool::~IBeamTool()
|
IBeamTool::~IBeamTool()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -30,14 +30,17 @@
|
||||||
|
|
||||||
#include "gui/widgets/timeline/timeline-tool.hpp"
|
#include "gui/widgets/timeline/timeline-tool.hpp"
|
||||||
#include "lib/time/timevalue.hpp"
|
#include "lib/time/timevalue.hpp"
|
||||||
|
#include "lib/time/timequant.hpp"
|
||||||
|
#include "lib/time/control.hpp"
|
||||||
|
|
||||||
#include <gtkmm.h>
|
|
||||||
|
|
||||||
namespace gui {
|
namespace gui {
|
||||||
namespace widgets {
|
namespace widgets {
|
||||||
namespace timeline {
|
namespace timeline {
|
||||||
|
|
||||||
using lib::time::TimeVar;
|
using lib::time::TimeVar;
|
||||||
|
using lib::time::TimeSpan;
|
||||||
|
using lib::time::Control;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A helper class to implement the timeline i-beam tool
|
* A helper class to implement the timeline i-beam tool
|
||||||
|
|
@ -159,6 +162,8 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
/* ==== Internals ===== */
|
/* ==== Internals ===== */
|
||||||
|
Control<TimeSpan> selectionControl;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Specifies the type of drag currently taking place.
|
* Specifies the type of drag currently taking place.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public:
|
||||||
*/
|
*/
|
||||||
timeline::TimelineViewWindow& get_view_window();
|
timeline::TimelineViewWindow& get_view_window();
|
||||||
|
|
||||||
|
TimeSpan get_selection() const { return selection_; }
|
||||||
Time getSelectionStart() const { return selection_.start();}
|
Time getSelectionStart() const { return selection_.start();}
|
||||||
Time getSelectionEnd() const { return selection_.end(); }
|
Time getSelectionEnd() const { return selection_.end(); }
|
||||||
Time getPlaybackPeriodStart() const { return selection_.start();}
|
Time getPlaybackPeriodStart() const { return selection_.start();}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue