Files
qt5-legatus-legacy/Lts/Plugins/PresentationManagement/Gui/Common/toolz.cpp
T
2026-08-13 18:33:10 +02:00

50 lines
2.6 KiB
C++
Executable File

#include "toolz.h"
#include <LtsScriptTimeline/script_timeline.h>
#include <LtsScriptTimeline/track_widget.h>
#include <LtsScriptTimeline/track_content_widget.h>
#include <LtsScriptTimeline/track_entry_painters.h>
namespace PresentationManagement
{
void prepareScriptTimeline(LtsScriptTimeline::ScriptTimeline *scriptTimeline, const QString &screen1Text, const QString &screen2Text, const QString &replayText, const QString &audioText)
{
LtsScriptTimeline::TrackWidget *twScreen2 = scriptTimeline->addTrack(screen2Text);
twScreen2->setInternalName(QStringLiteral("Screen 2"));
twScreen2->getTrackContentWidget()->addDisallowedType(LtsScriptTimeline::TrackEntryType::SituationReplay);
twScreen2->getTrackContentWidget()->addDisallowedType(LtsScriptTimeline::TrackEntryType::Snapshot);
twScreen2->getTrackContentWidget()->addDisallowedType(LtsScriptTimeline::TrackEntryType::Audio);
LtsScriptTimeline::TrackWidget *twScreen1 = scriptTimeline->addTrack(screen1Text);
twScreen1->setInternalName(QStringLiteral("Screen 1"));
twScreen1->getTrackContentWidget()->addDisallowedType(LtsScriptTimeline::TrackEntryType::SituationReplay);
twScreen1->getTrackContentWidget()->addDisallowedType(LtsScriptTimeline::TrackEntryType::Snapshot);
twScreen1->getTrackContentWidget()->addDisallowedType(LtsScriptTimeline::TrackEntryType::Audio);
// Give both trackwidgets knowledge of each other which allows detecting collisions on both TrackEntryWidgets
twScreen1->addCorrespondingTrackWidget(twScreen2->getTrackContentWidget());
twScreen2->addCorrespondingTrackWidget(twScreen1->getTrackContentWidget());
LtsScriptTimeline::TrackWidget *twReplay = scriptTimeline->addTrack(replayText, false);
twReplay->setInternalName(QStringLiteral("Replay"));
twReplay->getTrackContentWidget()->addAllowedType(LtsScriptTimeline::TrackEntryType::SituationReplay);
twReplay->getTrackContentWidget()->addAllowedType(LtsScriptTimeline::TrackEntryType::Snapshot);
twReplay->getTrackContentWidget()->addDisallowedType(LtsScriptTimeline::TrackEntryType::Audio);
// add replay to screens and vice versa
twScreen1->addCorrespondingTrackWidget(twReplay->getTrackContentWidget());
twScreen2->addCorrespondingTrackWidget(twReplay->getTrackContentWidget());
twReplay->addCorrespondingTrackWidget(twScreen1->getTrackContentWidget());
twReplay->addCorrespondingTrackWidget(twScreen2->getTrackContentWidget());
LtsScriptTimeline::TrackWidget *twAudio = scriptTimeline->addTrack(audioText, false);
twAudio->setInternalName(QStringLiteral("Audio"));
twAudio->getTrackContentWidget()->addAllowedType(LtsScriptTimeline::TrackEntryType::Audio);
}
} // namespace PresentationManagement