Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/LtsScriptTimeline/script_timeline.h
T
torstenandCopilot b774f4035c Qt6 Migration: DDS-Stubs, Logger-Fixes, Export-Header Korrekturen
- NGL_ADD_LIBRARY2: 87 CMakeLists.txt konvertiert für Export-Header Generierung
- 44 Export-Header Include-Pfade korrigiert (_export.h)
- 81 DDS-Stub-Header generiert (*_dtc.h, *_fts.h, *_dts.h, *_ftc.h)
- INGLLogger: Duplikat gelöscht, m_logger Member entfernt, variadische Makros
- Q_FUNC_INFO Redefinition behoben (Qt6 definiert bereits)
- FATAL_LOG Makro hinzugefügt
- InfrastructureManagement DDS-Stubs (ism.hpp, ism_enums.hpp, ism_ftc.h)
- FilterManagement DDS-Stubs (flt_ftc.h, flt_dts.h)
- AreaEffectSimulation DDS-Stubs (aes.hpp, aes_enums.hpp)
- SymbolAppearance Klasse vollständig definiert mit content() Methode
- BuildingComponentFilter Klasse definiert mit Copy-Konstruktor
- Ftc Factory: nullptr Return (abstract class)
- AesFilter Klasse in aes.hpp hinzugefügt
- Dtc Klasse in ppm.hpp mit participantChanged Signal
- AesType Enum: alle 15 At* Werte definiert
- AesEffectState_def: EsReceived hinzugefügt
- DataModification Enum: eAdded/eModified/eRemoved
- function_reply_object.h → core_types.h Include-Pfad (72 Dateien)
- Enum-Class-Streaming Template-Operator in INGLLogger.h
- ism_mounting_point.h: QImage → QtGui/QImage, QGuiApplication/QScreen
- ism_data_plugin_interface.h: QSet Include, Include-Reihenfolge
- QRegExp → QRegularExpression in tpm_js_parser.cpp
- .underlying() Aufrufe zu direktem Enum-Vergleich korrigiert
- Include-Pfade: aes.hpp in symbol_appearance_settings_impl.h und aes_display_filter_impl.h

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-19 06:06:24 +02:00

127 lines
3.5 KiB
C++
Executable File

#pragma once
#include <QObject>
#include "ltsscripttimeline_export.h"
#include "track_entry_painters.h"
#include <QWidget>
#include <QKeyEvent>
#include <QPointer>
namespace Ui
{
class ScriptTimeline;
}
class QRubberBand;
namespace LtsScriptTimeline
{
class TrackContentWidget;
class TrackWidget;
class TrackEntry;
class Tools;
class LTSSCRIPTTIMELINE_EXPORT ScriptTimeline : public QWidget
{
Q_OBJECT
public:
explicit ScriptTimeline(QWidget *parent = nullptr);
~ScriptTimeline();
TrackWidget *addTrack(const QString &name, bool filtersAllowed = true);
void setScriptId(int scriptId) { m_scriptId = scriptId; }
bool addTopic(TrackEntry *te);
QString newTrackName() const;
int nextUniqueId() { return ++m_uniqueId; }
void setUniqueIdCounter(int uniqueId) { m_uniqueId = uniqueId; }
QVector<TrackEntry *> getTrackEntriesWithFiltersAsEntries(bool selectedEntriesOnly = false) const;
QMap<QString, QVector<TrackEntry *> > getTrackEntriesWithFilters(bool selectedEntriesOnly = false) const;
QVector<TrackEntry *> getTrackEntries(bool selectedEntriesOnly = false) const;
QVector<TrackEntry *> getSelectedEntriesWithFilterEntries() const;
QVector<TrackEntry *> getSelectedFilterEntries() const;
TrackEntry *getTrackEntry(int topicId);
TrackEntry *getTrackEntryWithFiltersAsEntries(int topicId);
void setIndicatorTime(int time);
int getCurrentScriptEndTime();
void updateEverything();
void clear();
void setReadonly(bool readonly);
QList<TrackWidget *> getTrackWidgets() const;
void lockIndicator(bool lock = true);
int getFilterTrackEntryRealTime(TrackEntry *te);
bool checkNewLength(TrackEntry *te, int newLength);
bool importTrackEntries(const QVector<LtsScriptTimeline::TrackEntry *> &importTes);
protected:
void keyPressEvent(QKeyEvent *event) override;
void mousePressEvent(QMouseEvent *event) override;
void mouseMoveEvent(QMouseEvent *) override;
void mouseReleaseEvent(QMouseEvent *) override;
private:
Ui::ScriptTimeline *ui;
int m_uniqueId;
int m_scriptId;
int m_baseTrackWidgetWidth;
QVector<TrackEntry *> m_clipboard;
bool m_readonly;
int m_time;
Tools *m_tools;
TrackContentWidget *m_mlmsMaster;
QHash<TrackContentWidget *, bool> m_mlmsTCWStates;
bool m_ignoreChanges;
QHash<TrackWidget *, QByteArray> m_copyTopics;
struct RubberbandAction
{
QPoint origin;
QPointer<QRubberBand> rubberBand;
} m_rubberbandAction;
void resizeEvent(QResizeEvent *event) override;
void updateAllTracks();
signals:
void signalTrackEntrySelectionChanged(TrackEntry *te);
void signalChangesMade();
void signalHeaderIndicatorTimeChanged(int time);
void signalHeaderIndicatorTimeUserChanged(int time);
void signalEditEntry(const int topicId);
void signalTrackEntryDeleted(const int topicId);
void signalTrackEntryAdded(TrackEntry *te);
void signalSave();
public slots:
void slotUnselectAll();
void slotEscapeRubberband();
void slotStopRubberband();
void slotStartRubberband(const QPoint &pos);
void slotModifyRubberband();
void selectAll();
void slotCopyTopics();
void slotCutTopics();
void slotPasteTopics();
void slotDeleteSelectedTopics();
void slotMoveAll(int direction);
void slotScroll(int incr);
private slots:
void slotScrollbarValueChanged();
void slotZoomValueChanged(int value);
void slotDeleteTracks();
void slotSelectTrack();
void slotHeaderHandleResized(int newSize);
void slotHeaderIndicatorTimeChanged(int time);
void slotTrackEntrySelectionChanged(TrackEntry *te);
void slotSetNewScrollBarMaximum();
};
}