andre@3: #ifndef CONVERTER_H andre@3: #define CONVERTER_H andre@3: /* Copyright (C) 2016 by ETH Zürich andre@3: * Software engineering by Intevation GmbH andre@3: * andre@3: * This file is Free Software under the GNU GPL (v>=2) andre@3: * and comes with ABSOLUTELY NO WARRANTY! andre@3: * See LICENSE.txt for details. andre@3: */ andre@3: andre@3: #include andre@3: #include andre@3: #include andre@3: #include andre@3: #include andre@38: #include andre@3: andre@3: #include "xlsxformat.h" andre@3: andre@3: /** @file Declaration of the Converter class. andre@3: */ andre@3: andre@3: /** @brief Base class of Convert operations. andre@3: * andre@3: * Set up an instance of this using the ctor and according setters and andre@3: * start it. andre@3: */ andre@3: class Converter : public QThread andre@3: { andre@3: Q_OBJECT andre@3: andre@3: public: andre@3: /** Construct a new Converter object. andre@3: * andre@3: * If input is empty stdin is used. If output andre@3: * is empty stdout is used. andre@3: * andre@3: * @param input input filename. andre@38: * @param outputs the files to create. andre@3: */ andre@38: Converter(const QString &input, const QStringList &outputs, andre@3: const QString &title = QString()); andre@3: andre@3: /** Check for errors andre@3: * andre@3: * @returns Empty stringlist on success. Translated errors otherwise.*/ andre@3: const QStringList & errors() {return mErrors;} andre@3: andre@3: protected: andre@38: void convertToXSLX(QTextStream &instream, QList outputs); andre@3: void run(); andre@3: andre@38: QString mInput; andre@38: QStringList mOutputs; andre@3: QStringList mErrors; andre@3: QString mTitle; andre@3: andre@3: QXlsx::Format mTitleFmt, andre@3: mQuestionFmt, andre@3: mAnswerChoiceFmt, andre@3: mAnswerTextFmt, andre@3: mFreeTextFmt, andre@3: mChoiceTextFmt, andre@3: mChoiceVotesFmt; andre@23: QString mTitleStyle, andre@23: mQuestionStyle, andre@23: mAnswerChoiceStyle, andre@23: mAnswerTextStyle, andre@23: mFreeTextStyle, andre@23: mChoiceTextStyle, andre@25: mChoiceVotesStyle, andre@25: mEmptyRow; andre@3: }; andre@3: andre@3: #endif // CONVERTER_H