8 #include "sequencecurveenums.h"
11 #include <rtti/rtti.h>
12 #include <imgui/imgui.h>
21 namespace sequenceguiactions
30 virtual ~
Action() =
default;
36 bool isAction(){
return this->get_type() == RTTI_OF(T); }
44 assert(isAction<T>());
45 return static_cast<T *
>(
this);
49 bool mTakeSnapshot =
true;
57 template<
typename T,
typename... Args>
60 return std::make_unique<T>(std::forward<Args>(args)...);
93 explicit TrackAction(std::string trackID) : mTrackID(std::move(trackID))
114 DraggingSegment(std::string trackId, std::string segmentID,
double newDuration,
bool moveNextSegments)
115 :
TrackAction(std::move(trackId)), mSegmentID(std::move(segmentID)), mNewDuration(newDuration), mMoveNextSegments(moveNextSegments)
121 bool mMoveNextSegments =
false;
140 :
TrackAction(std::move(trackId)), mSegmentID(std::move(segmentID)), mStartDuration(startDuration), mMoveNextSegments(moveNextSegments)
146 bool mMoveNextSegments =
false;
164 :
TrackAction(std::move(trackID)), mTime(time), mTrackType(trackType)
167 bool mOpened =
false;
187 EditSegmentPopup(std::string trackID, std::string segmentID,
const rttr::type &segmentType)
188 :
TrackAction(std::move(trackID)), mSegmentID(std::move(segmentID)), mSegmentType(segmentType)
191 bool mOpened =
false;
210 :
TrackAction(std::move(trackID)), mSegmentID(std::move(segmentID))
240 : mWasPlaying(wasPlaying), mWasPaused(wasPaused)
257 bool mOpened =
false;
280 int mSelectedShowIndex = 0;
313 bool mOpened =
false;
331 : mID(std::move(id)), mMessage(std::move(message)), mTime(time)
337 bool mOpened =
false;
341 std::string mMessage =
"Message";
361 bool mOpened =
false;
365 std::string mMessage =
"Message";
401 :
TrackAction(trackID), mOutputID(std::move(outputID))
418 bool mOpened =
false;
Definition: sequenceeditorguiactions.h:456
Definition: sequenceeditorguiactions.h:200
std::string mSegmentID
Definition: sequenceeditorguiactions.h:214
Definition: sequenceeditorguiactions.h:79
DraggingPlayerTime(bool wasPlaying, bool wasPaused)
Definition: sequenceeditorguiactions.h:239
Definition: sequenceeditorguiactions.h:391
Definition: sequenceeditorguiactions.h:471
float mHorizontalResolution
Definition: sequenceeditorguiactions.h:436
Definition: sequenceeditorguiactions.h:230
std::string mSegmentID
Definition: sequenceeditorguiactions.h:144
Definition: sequenceeditorguiactions.h:103
Definition: sequenceeditorguiactions.h:424
bool mWasPlaying
Definition: sequenceeditorguiactions.h:244
Definition: sequenceeditorguiactions.h:288
double mNewDuration
Definition: sequenceeditorguiactions.h:120
StartDraggingSegment(std::string trackId, std::string segmentID, double startDuration, bool moveNextSegments)
Definition: sequenceeditorguiactions.h:139
DragSequenceMarker(std::string id)
Definition: sequenceeditorguiactions.h:380
std::string mNewTrackName
Definition: sequenceeditorguiactions.h:450
std::unique_ptr< Action > SequenceActionPtr
Definition: sequenceeditorguiactions.h:53
Definition: sequenceeditorguiactions.h:442
HoveringSegment(std::string trackID, std::string segmentID)
Definition: sequenceeditorguiactions.h:209
bool mWasPaused
Definition: sequenceeditorguiactions.h:245
Definition: sequenceeditorguiactions.h:221
double mStartDuration
Definition: sequenceeditorguiactions.h:145
std::string mTrackID
Definition: sequenceeditorguiactions.h:96
AssignOutputIDToTrack(const std::string &trackID, std::string outputID)
Definition: sequenceeditorguiactions.h:400
Definition: sequenceeditorguiactions.h:26
std::string mOutputID
Definition: sequenceeditorguiactions.h:405
Definition: sequenceeditorguiactions.h:89
bool isAction()
Definition: sequenceeditorguiactions.h:36
Definition: templateapp.h:17
Definition: sequenceeditorguiactions.h:372
HoveringTrackExtensionHandler(std::string trackId)
Definition: sequenceeditorguiactions.h:464
Definition: sequenceeditorguiactions.h:298
DraggingSegment(std::string trackId, std::string segmentID, double newDuration, bool moveNextSegments)
Definition: sequenceeditorguiactions.h:114
ChangeHorizontalResolution(float newResolution)
Definition: sequenceeditorguiactions.h:432
T * getDerived()
Definition: sequenceeditorguiactions.h:42
std::string mSegmentID
Definition: sequenceeditorguiactions.h:119
Definition: sequenceeditorguiactions.h:128
rttr::type TypeInfo
Definition: typeinfo.h:140
std::string mID
Definition: sequenceeditorguiactions.h:384
TrackAction(std::string trackID)
Definition: sequenceeditorguiactions.h:93
Definition: sequenceeditorguiactions.h:68
ChangeTrackName(const std::string &id, const std::string &newName)
Definition: sequenceeditorguiactions.h:446
DraggingTrackExtensionHandler(std::string trackId)
Definition: sequenceeditorguiactions.h:479