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);
54 template<
typename T,
typename... Args>
57 return std::make_unique<T>(std::forward<Args>(args)...);
90 explicit TrackAction(std::string trackID) : mTrackID(std::move(trackID))
112 :
TrackAction(std::move(trackId)), mSegmentID(std::move(segmentID)), mNewDuration(newDuration)
135 :
TrackAction(std::move(trackId)), mSegmentID(std::move(segmentID)), mStartDuration(startDuration)
158 :
TrackAction(std::move(trackID)), mTime(time), mTrackType(trackType)
161 bool mOpened =
false;
181 EditSegmentPopup(std::string trackID, std::string segmentID,
const rttr::type &segmentType)
182 :
TrackAction(std::move(trackID)), mSegmentID(std::move(segmentID)), mSegmentType(segmentType)
185 bool mOpened =
false;
204 :
TrackAction(std::move(trackID)), mSegmentID(std::move(segmentID))
234 : mWasPlaying(wasPlaying), mWasPaused(wasPaused)
251 bool mOpened =
false;
274 int mSelectedShowIndex = 0;
307 bool mOpened =
false;
325 : mID(std::move(id)), mMessage(std::move(message)), mTime(time)
331 bool mOpened =
false;
335 std::string mMessage =
"Message";
355 bool mOpened =
false;
359 std::string mMessage =
"Message";
395 :
TrackAction(trackID), mOutputID(std::move(outputID))
412 bool mOpened =
false;
DraggingSegment(std::string trackId, std::string segmentID, double newDuration)
Definition: sequenceeditorguiactions.h:111
Definition: sequenceeditorguiactions.h:450
Definition: sequenceeditorguiactions.h:194
std::string mSegmentID
Definition: sequenceeditorguiactions.h:208
Definition: sequenceeditorguiactions.h:76
DraggingPlayerTime(bool wasPlaying, bool wasPaused)
Definition: sequenceeditorguiactions.h:233
Definition: sequenceeditorguiactions.h:385
Definition: sequenceeditorguiactions.h:465
float mHorizontalResolution
Definition: sequenceeditorguiactions.h:430
StartDraggingSegment(std::string trackId, std::string segmentID, double startDuration)
Definition: sequenceeditorguiactions.h:134
Definition: sequenceeditorguiactions.h:224
std::string mSegmentID
Definition: sequenceeditorguiactions.h:139
Definition: sequenceeditorguiactions.h:101
Definition: sequenceeditorguiactions.h:418
bool mWasPlaying
Definition: sequenceeditorguiactions.h:238
Definition: sequenceeditorguiactions.h:282
double mNewDuration
Definition: sequenceeditorguiactions.h:117
DragSequenceMarker(std::string id)
Definition: sequenceeditorguiactions.h:374
std::string mNewTrackName
Definition: sequenceeditorguiactions.h:444
std::unique_ptr< Action > SequenceActionPtr
Definition: sequenceeditorguiactions.h:50
Definition: sequenceeditorguiactions.h:436
HoveringSegment(std::string trackID, std::string segmentID)
Definition: sequenceeditorguiactions.h:203
bool mWasPaused
Definition: sequenceeditorguiactions.h:239
Definition: sequenceeditorguiactions.h:215
double mStartDuration
Definition: sequenceeditorguiactions.h:140
std::string mTrackID
Definition: sequenceeditorguiactions.h:94
AssignOutputIDToTrack(const std::string &trackID, std::string outputID)
Definition: sequenceeditorguiactions.h:394
Definition: sequenceeditorguiactions.h:26
std::string mOutputID
Definition: sequenceeditorguiactions.h:399
Definition: sequenceeditorguiactions.h:86
bool isAction()
Definition: sequenceeditorguiactions.h:36
Definition: templateapp.h:17
Definition: sequenceeditorguiactions.h:366
HoveringTrackExtensionHandler(std::string trackId)
Definition: sequenceeditorguiactions.h:458
Definition: sequenceeditorguiactions.h:292
ChangeHorizontalResolution(float newResolution)
Definition: sequenceeditorguiactions.h:426
T * getDerived()
Definition: sequenceeditorguiactions.h:42
std::string mSegmentID
Definition: sequenceeditorguiactions.h:116
Definition: sequenceeditorguiactions.h:124
rttr::type TypeInfo
Definition: typeinfo.h:140
std::string mID
Definition: sequenceeditorguiactions.h:378
TrackAction(std::string trackID)
Definition: sequenceeditorguiactions.h:90
Definition: sequenceeditorguiactions.h:65
ChangeTrackName(const std::string &id, const std::string &newName)
Definition: sequenceeditorguiactions.h:440
DraggingTrackExtensionHandler(std::string trackId)
Definition: sequenceeditorguiactions.h:473