Add "Source interact" action

This commit is contained in:
WarmUpTill
2026-04-02 12:07:03 +02:00
committed by WarmUpTill
parent 2b6bd9fb51
commit b02259e926
14 changed files with 1622 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
#pragma once
#include "list-editor.hpp"
#include "source-interaction-step.hpp"
#include <vector>
namespace advss {
class SourceInteractionStepList : public ListEditor {
Q_OBJECT
public:
SourceInteractionStepList(QWidget *parent = nullptr);
void SetSteps(const std::vector<SourceInteractionStep> &steps);
void UpdateStep(int row, const SourceInteractionStep &step);
int CurrentRow() const { return _list->currentRow(); }
void SetCurrentRow(int row) { _list->setCurrentRow(row); }
void Clear() const { _list->clear(); }
void HideControls() const { _controls->hide(); }
void Insert(const QString &value) const { _list->addItem(value); }
void ScrollToBottom() const { _list->scrollToBottom(); }
void AddControlWidget(QWidget *widget) { _controls->AddWidget(widget); }
signals:
void StepsChanged(const std::vector<SourceInteractionStep> &);
void RowSelected(int row);
private slots:
void Add() override;
void Remove() override;
void Up() override;
void Down() override;
private:
std::vector<SourceInteractionStep> _steps;
};
} // namespace advss