-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocas.h
More file actions
100 lines (69 loc) · 2.81 KB
/
docas.h
File metadata and controls
100 lines (69 loc) · 2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/* gSAFE - LIB
general Sql dAtabase FrontEnd
http://hyperprog.com/gsafe/
(C) 2005-2026 Péter Deák (hyper80@gmail.com)
License: Apache 2.0
docas.h
*/
#ifndef GSAFE__DOCASSEMBLER_H
#define GSAFE__DOCASSEMBLER_H
#include <QtCore>
#include <QtGui>
#include <QtWidgets>
#include "po.h"
/* @{ */
/** Helper class to generate gSafe HPageTileRenderer documents
* Manage some annotations, underlay pdf merging, data requesting, etc */
class DocAssembler : public QObject
{
Q_OBJECT
public:
DocAssembler(QString documentSource);
~DocAssembler();
int askRequestedData(QWidget *widgetParent, QSize dialogSize = QSize(500, 400));
void generatePdfDocument(QString outputFile);
void setTitleValues(QString selectedTitle);
void addValueMap(QString name,const QMap<QString,QString>& m);
void addValueList(QString name,const QList<QString>& l);
void addValueMapPtr(QString name,QMap<QString,QString>* m);
void clearValueMaps();
QMap<QString,QString> extractValuesFiltered(QString prefix);
void setMonthNames(QStringList customMonthNames);
void setWorkingDirectory(QString dir);
void setSourceDocDirectory(QString dir);
QString processLineByTextProcessor(QString line);
QString processTokenByTextProcessor(QString in);
QMap<QString,QStringList> getAnnotations();
static QMap<QString,QString> extractDate(QString isodate,QString keyprefix);
protected:
bool isMapKeyExists(QString fullname);
QString valueOfMapKey(QString fullname);
bool setValueOfMapKey(QString fullname,QString value);
QString rawDocumentSource;
HTextProcessor *textProcessor;
int minumimGenPageCount;
QString workingDirectory;
QString sourceDocDirectory;
QString preprocessedDoc;
QMap<QString,QString> filenames;
QMap<QString,QStringList> read_annotations;
static QStringList monthNames;
int preprocessDocument();
int generateFilenames();
int generateBasePdf();
int finishingPdf();
int getPageCountOfPdf(QString filename);
int deleteWorkfileIfExists(QString filename);
public:
bool enable_render_warnings;
QMap<QString,HPageTileRendererPosition> lastRenderStoredPositions;
};
QMap<QString,QString> getTitleFilenamePairsFromFolder(QString folder,QMap<QString,QString> restrict_annot_values = QMap<QString,QString>());
QMap<QString,QStringList> getAnnotationValuesFromText(QString documentSource);
QMap<QString,QStringList> getAnnotationValuesFromFile(QString filename);
QList<QString> getAnnotationLinesFromText(QString documentSource);
QMap<QString, QString> merge_maps(const QMap<QString, QString> &base, const QMap<QString, QString> &overrides);
QMap< QString, QMap<QString,QString> > split_stringmaps(QMap<QString,QString> input);
/* @} */
#endif // GSAFE__DOCASSEMBLER_H
//End of gSAFE docas.h