These were introduced for the new Block system and make just as much sense for the Track system. They've now been implemented for both.
40 lines
659 B
C++
40 lines
659 B
C++
#ifndef INPUTARRAY_H
|
|
#define INPUTARRAY_H
|
|
|
|
#include "input.h"
|
|
|
|
class NodeInputArray : public NodeInput
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
NodeInputArray(const QString &id);
|
|
|
|
virtual bool IsArray() override;
|
|
|
|
int GetSize() const;
|
|
|
|
void Prepend();
|
|
void Append();
|
|
void InsertAt(int index);
|
|
void RemoveLast();
|
|
void RemoveAt(int index);
|
|
void SetSize(int size);
|
|
|
|
int IndexOfSubParameter(NodeInput* input) const;
|
|
|
|
NodeInput* First() const;
|
|
NodeInput* Last() const;
|
|
NodeInput* At(int index) const;
|
|
|
|
const QVector<NodeInput*>& sub_params();
|
|
|
|
signals:
|
|
void SizeChanged(int size);
|
|
|
|
private:
|
|
QVector<NodeInput*> sub_params_;
|
|
|
|
};
|
|
|
|
#endif // INPUTARRAY_H
|