mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-03-22 09:54:54 -05:00
38 lines
795 B
C++
38 lines
795 B
C++
#pragma once
|
|
#include "variable-spinbox.hpp"
|
|
|
|
namespace advss {
|
|
|
|
class Macro;
|
|
|
|
class MacroSegmentSelection : public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
enum class Type { CONDITION, ACTION, ELSE_ACTION };
|
|
|
|
MacroSegmentSelection(QWidget *parent, Type type,
|
|
bool allowVariables = true);
|
|
void SetMacro(const std::shared_ptr<Macro> ¯o);
|
|
void SetMacro(Macro *macro);
|
|
void SetValue(const IntVariable &value);
|
|
void SetType(const Type &value);
|
|
|
|
private slots:
|
|
void IndexChanged(const NumberVariable<int> &value);
|
|
void MacroSegmentOrderChanged();
|
|
signals:
|
|
void SelectionChanged(const IntVariable &value);
|
|
|
|
private:
|
|
void SetupDescription() const;
|
|
void MarkSelectedSegment();
|
|
|
|
VariableSpinBox *_index;
|
|
QLabel *_description;
|
|
|
|
Type _type;
|
|
Macro *_macro = nullptr;
|
|
};
|
|
|
|
} // namespace advss
|