Files
oak-editor/app/node/inputarray.h
T
itsmattkc bb57884cac added save functions to various classes
Each class is responsible for its own saving and loading from the XML data
in order to reduce the complexity of the save code.
2020-01-12 18:36:31 +11:00

46 lines
897 B
C++

#ifndef INPUTARRAY_H
#define INPUTARRAY_H
#include "input.h"
class NodeInputArray : public NodeInput
{
Q_OBJECT
public:
NodeInputArray(const QString &id, const DataType& type, const QVariant& default_value = 0);
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, bool lock = true);
bool ContainsSubParameter(NodeInput* input) const;
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);
protected:
virtual void SaveInternal(QXmlStreamWriter* writer) const override;
private:
QVector<NodeInput*> sub_params_;
QVariant default_value_;
};
#endif // INPUTARRAY_H