#ifndef NODEMETAREADER_H #define NODEMETAREADER_H #include #include #include #include "input.h" class NodeMetaReader { public: NodeMetaReader(const QString& xml_meta_filename); QString Name() const; const QString& id() const; QString Category() const; QString Description() const; const QString& filename() const; const QString& frag_code() const; const QString& vert_code() const; const int& iterations() const; NodeInput* iteration_input() const; const QList& inputs() const; void Retranslate(); private: void XMLReadLanguageString(QXmlStreamReader* reader, QMap* map); void XMLReadEffect(QXmlStreamReader *reader); void XMLReadIterations(QXmlStreamReader* reader); void XMLReadParam(QXmlStreamReader* reader); void XMLReadShader(QXmlStreamReader* reader, QString& destination); static QString GetStringForCurrentLanguage(const QMap *language_map); NodeInput* GetInputWithID(const QString& id) const; QString xml_filename_; QMap names_; QMap descriptions_; QMap categories_; QMap > param_names_; QString id_; QString frag_code_; QString vert_code_; int iterations_; NodeInput* iteration_input_; QList inputs_; }; #endif // NODEMETAREADER_H