Mercurial > clickerconvert
diff src/constants.h @ 3:8b4c49c92451
Add initial implementation that handles choices
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Tue, 22 Mar 2016 10:39:19 +0100 |
parents | |
children | 2559010c1202 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/constants.h Tue Mar 22 10:39:19 2016 +0100 @@ -0,0 +1,78 @@ +#ifndef CONSTANTS_H +#define CONSTANTS_H +/* Copyright (C) 2016 by ETH Zürich + * Software engineering by Intevation GmbH + * + * This file is Free Software under the GNU GPL (v>=2) + * and comes with ABSOLUTELY NO WARRANTY! + * See LICENSE.txt for details. + */ + +/** @file constants.h + * @brief Common definitions for this project. + * + * @details This file can be included to pull in common + * definitions in the application. */ + +/** + * @brief The version of the software package. + * + * Usually defined as Build parameter. + */ +#ifndef VERSION +#define VERSION "0.0.1" +#endif + +/** +* @brief The user visible application name. + * + * Usually defined as Build parameter. + **/ +#ifndef APPNAME +#define APPNAME "unknown" +#endif + +/** +* @brief Short command line description. */ +#define DESCRIPTION "Convert output of clicker questionaires to different formats" + +/** +* @brief Short copyright notice to show users. */ +#define COPYRIGHT "Copyright (C) 2016 ETH Zürich \n\n" \ + "This file is Free Software under the GNU GPL (v>=2)\n" \ + "and comes with ABSOLUTELY NO WARRANTY!\n" + +/** + * @brief The number of columns the document uses. */ +#define COLUMN_CNT 3 +/** + * @brief The width of the columns in characters. */ +#define COLUMN_WIDTHS { 45, 30, 30 } + +/** + * @brief Regular expression to define a question. + * + * A new question is the first unquoted string after the position + * that is followed after a newline by the word "Answer" + */ +#define QUESTION_PATTERN "([^\"]+)^(Answer.*$)", QRegularExpression::MultilineOption + +/** + * @brief Identifiying line that shows a question is a choice question. */ +#define CHOICE_IDENTIFIER "Answer,Votes,Percent" + +/** + * @brief The pattern used to match a multiple choice answer. */ +#define CHOICE_PATTERN "\"(.*)\",(\\d+),(\\d+\\.\\d+)" + +/** + * @brief The pattern used to match a free text answer. */ +#define FREETXT_PATTERN "\"([^\"]*)\"", QRegularExpression::MultilineOption + +#define TITLE_ROW_HEIGHT 30 + +#define CHOICE_ROW_HEIGHT 30 + +#define TEXT_IDENTIFIER "Answer" + +#endif // CONSTANTS_H