Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CDocumentPrinter.hpp
Go to the documentation of this file.
1#ifndef LIBS_DOCUMENTS_CDOCUMENTPRINTER_HPP_
2#define LIBS_DOCUMENTS_CDOCUMENTPRINTER_HPP_
3
5#include "core/memOps.hpp"
11#include "ui/gui/CDialog.hpp"
12#include "ui/gui/IDataPanel.hpp"
13
14#include <string>
15
17{
18public:
20 {
21 explicit SDataProcessPanel(std::vector<CEntChapter *> **chaptersForPanel)
22 {
23 m_chaptersForPanel = iv::assignPtrNoNull(chaptersForPanel);
24 }
25
27 {
28 delete m_chaptersForPanel;
29 m_chaptersForPanel = nullptr;
30 }
31
32 std::vector<CEntChapter *> *m_chaptersForPanel;
33 };
34
35 static CDocumentPrinter *createDocumentLandScapeDiamar(const std::string &nameDocument, uint64_t heightFontBodyText,
36 const std::string &imageFooterOpt,
37 bool hasNumerationChapters);
38 static CDocumentPrinter *createDocumentLandScape(const std::string &nameDocument, uint64_t heightFontBodyText,
39 const std::string &imageFooterOpt, bool hasNumerationChapters);
40 static CDocumentPrinter *createDocumentPortraitDiamar(std::string nameDocument, uint64_t heightFontBodyText,
41 std::string imageFooterOpt, bool hasNumerationChapters);
42 static CDocumentPrinter *createDocumentPortrait(std::string nameDocument, uint64_t heightFontBodyText,
43 std::string imageFooterOpt, bool hasNumerationChapters);
44 static CDocumentPrinter *createDocumentLandscapeWithoutTitleDiamar(std::string nameDocument,
45 uint64_t heightFontBodyText,
46 std::string imageFooterOpt);
47 static CDocumentPrinter *createDocumentLandscapeWithoutTitle(std::string nameDocument, uint64_t heightFontBodyText,
48 std::string imageFooterOpt);
51 CDocumentPrinter(const CDocumentPrinter &&other) = delete;
53
56
58 class IEntPrinter **entity) const;
59
60 void drawDocumentWithPage(IPrinter *printerDraw, IPrinter *printerCalNumPages);
61 void drawDocumentWithoutPage(IPrinter *printerDraw);
62 bool runDialogDocument(CDialog *dlgFather);
64
65 [[nodiscard]] SDataProcessPanel *processDocumentForPanel() const;
66
67 [[nodiscard]] std::string getPathDocumentWithExtension(const std::string &folderDocument,
68 const std::string &ext) const;
69
73
75
76 std::string getImageFooterOpt();
81 std::vector<CStyleNumeration *> &getStylesChapters();
86 void setIsActivatedChapter(bool activate);
88
97
98 void prvIntegrityDocumentPrinter() const;
99
100 bool hasTitlePage {true};
101
102private:
103 void prvCreateDocPrinterDiamar(const std::string &nameDocument, CStylePage::EOrientationPage orientation,
104 const std::string &imageFooterOpt, uint64_t heightFontBodyText,
105 bool hasNumerationChapters, bool withTitle);
106 void prvCreateDocPrinterDefault(const std::string &nameDocument, CStylePage::EOrientationPage orientation,
107 std::string imageFooterOpt, uint64_t heightFontBodyText, bool hasNumerationChapters,
108 bool withTitle);
110
112 void func_processEntity(CDocumentPrinter::SDataProcessDraw *dataProcess,
113 IEntPrinter *entity, uint64_t level));
114
115 std::string m_nameDocument;
116 std::string m_imageFooterOpt;
117
121
126 std::vector<CStyleNumeration *> m_stylesChapters;
127
129
133
135
137
139};
140
141#endif /* LIBS_DOCUMENTS_CDOCUMENTPRINTER_HPP_ */
Definition AbstractComponentGUI.hpp:30
Definition CDialog.hpp:21
Definition CDocumentPrinter.hpp:17
CDocumentPrinter(const CDocumentPrinter &&other)=delete
CDocumentPrinter & operator=(CDocumentPrinter &&other)=delete
void drawDocumentWithPage(IPrinter *printerDraw, IPrinter *printerCalNumPages)
Definition CDocumentPrinter.cpp:894
CTreeObjectsNode< IEntPrinter * > * getRootBodyDocument() const
Definition CDocumentPrinter.cpp:965
static CDocumentPrinter * createDocumentPortrait(std::string nameDocument, uint64_t heightFontBodyText, std::string imageFooterOpt, bool hasNumerationChapters)
Definition CDocumentPrinter.cpp:799
CStyleTable * m_styleTable
Definition CDocumentPrinter.hpp:128
CTreeObjectsNode< IEntPrinter * > * getRootCover() const
Definition CDocumentPrinter.cpp:971
bool runDialogDocument(CDialog *dlgFather)
Definition CDocumentPrinter.cpp:938
CStylePage * getStyleFirstPage()
Definition CDocumentPrinter.cpp:412
bool hasTitlePage
Definition CDocumentPrinter.hpp:100
CTreeObjectsNode< IEntPrinter * > * m_entitiesCoverRef
Definition CDocumentPrinter.hpp:119
CDocumentPrinter()
Definition CDocumentPrinter.cpp:838
CStyleImage * getStyleImage()
Definition CDocumentPrinter.cpp:422
CStyleNumeration * m_styleList
Definition CDocumentPrinter.hpp:125
void drawDocumentWithoutPage(IPrinter *printerDraw)
Definition CDocumentPrinter.cpp:918
CDocumentPrinter & operator=(const CDocumentPrinter &other)=delete
bool getIsActivatedChapter()
Definition CDocumentPrinter.cpp:432
CStyleImage * m_styleImage
Definition CDocumentPrinter.hpp:134
bool m_isActivatedChapter
Definition CDocumentPrinter.hpp:136
CTreeObjects< IEntPrinter * > * entities() const
Definition CDocumentPrinter.cpp:755
static CDocumentPrinter * createDocumentLandscapeWithoutTitleDiamar(std::string nameDocument, uint64_t heightFontBodyText, std::string imageFooterOpt)
Definition CDocumentPrinter.cpp:812
CStyleNumeration * m_styleTextBody
Definition CDocumentPrinter.hpp:124
std::string getPathDocumentWithExtension(const std::string &folderDocument, const std::string &ext) const
Definition CDocumentPrinter.cpp:957
CStyleNumeration * m_styleSubTitle
Definition CDocumentPrinter.hpp:123
~CDocumentPrinter()
Definition CDocumentPrinter.cpp:871
AbstractComponentGUI * prvPanelDocument() const
Definition CDocumentPrinter.cpp:362
CTreeObjectsNode< IEntPrinter * > * getRootIndex() const
Definition CDocumentPrinter.cpp:977
void prvIntegrityDocumentPrinter() const
Definition CDocumentPrinter.cpp:740
CStyleTable * getStyleTable()
Definition CDocumentPrinter.cpp:407
CTreeObjectsNode< IEntPrinter * > * addEntity(CTreeObjectsNode< IEntPrinter * > *father, class IEntPrinter **entity) const
Definition CDocumentPrinter.cpp:886
static CDocumentPrinter * createDocumentLandScapeDiamar(const std::string &nameDocument, uint64_t heightFontBodyText, const std::string &imageFooterOpt, bool hasNumerationChapters)
Definition CDocumentPrinter.cpp:760
void prvCreateDocPrinterDefault(const std::string &nameDocument, CStylePage::EOrientationPage orientation, std::string imageFooterOpt, uint64_t heightFontBodyText, bool hasNumerationChapters, bool withTitle)
Definition CDocumentPrinter.cpp:437
CStylePage * getStyleNormalPage()
Definition CDocumentPrinter.cpp:417
std::string m_nameDocument
Definition CDocumentPrinter.hpp:115
std::vector< CStyleNumeration * > & getStylesChapters()
Definition CDocumentPrinter.cpp:402
CStylePage * m_styleIndexPage
Definition CDocumentPrinter.hpp:132
CStyleNumeration * m_styleTitleDocument
Definition CDocumentPrinter.hpp:122
std::string getImageFooterOpt()
Definition CDocumentPrinter.cpp:377
SDataProcessPanel * processDocumentForPanel() const
Definition CDocumentPrinter.cpp:983
static CDocumentPrinter * createDocumentLandscapeWithoutTitle(std::string nameDocument, uint64_t heightFontBodyText, std::string imageFooterOpt)
Definition CDocumentPrinter.cpp:825
CStyleNumeration * getStyleList()
Definition CDocumentPrinter.cpp:397
void setIsActivatedChapter(bool activate)
Definition CDocumentPrinter.cpp:427
std::vector< CStyleNumeration * > m_stylesChapters
Definition CDocumentPrinter.hpp:126
CTreeObjects< IEntPrinter * > * m_entities
Definition CDocumentPrinter.hpp:118
void prvCreateDocPrinterDiamar(const std::string &nameDocument, CStylePage::EOrientationPage orientation, const std::string &imageFooterOpt, uint64_t heightFontBodyText, bool hasNumerationChapters, bool withTitle)
Definition CDocumentPrinter.cpp:579
CTreeObjectsNode< IEntPrinter * > * m_entitiesIndexRef
Definition CDocumentPrinter.hpp:120
CStylePage::EOrientationPage m_orientation
Definition CDocumentPrinter.hpp:138
static CDocumentPrinter * createDocumentPortraitDiamar(std::string nameDocument, uint64_t heightFontBodyText, std::string imageFooterOpt, bool hasNumerationChapters)
Definition CDocumentPrinter.cpp:786
CStylePage * m_styleFirstPage
Definition CDocumentPrinter.hpp:130
CStyleNumeration * getStyleSubTitle() const
Definition CDocumentPrinter.cpp:387
AbstractComponentGUI * panel() const
Definition CDocumentPrinter.cpp:952
CStyleNumeration * getStyleTextBody()
Definition CDocumentPrinter.cpp:392
void prvProcessDocument(IPrinter *printer, CDocumentPrinter::SDataProcessDraw *dataProcess, void func_processEntity(CDocumentPrinter::SDataProcessDraw *dataProcess, IEntPrinter *entity, uint64_t level))
Definition CDocumentPrinter.cpp:284
CStylePage * m_styleNormalPage
Definition CDocumentPrinter.hpp:131
CStyleNumeration * getStyleTitleDocument() const
Definition CDocumentPrinter.cpp:382
static CDocumentPrinter * createDocumentLandScape(const std::string &nameDocument, uint64_t heightFontBodyText, const std::string &imageFooterOpt, bool hasNumerationChapters)
Definition CDocumentPrinter.cpp:773
std::string m_imageFooterOpt
Definition CDocumentPrinter.hpp:116
Definition CStyleImage.hpp:7
Definition CStyleNumeration.hpp:10
Definition CStylePage.hpp:9
EOrientationPage
Definition CStylePage.hpp:12
Definition CStyleTable.hpp:7
Definition CTreeObjects.hpp:11
Definition CTreeObjects.hpp:49
Definition IDataPanel.hpp:5
Definition IEntPrinter.hpp:7
Definition IManagerPrinter.hpp:19
Definition IPrinter.hpp:9
T * assignPtrNoNull(T **ptr)
Definition memOps.hpp:31
Definition CDocumentPrinter.hpp:90
CDocumentPrinter * _documentPrinterRef
Definition CDocumentPrinter.hpp:95
IManagerPrinter * _managerPrinter
Definition CDocumentPrinter.hpp:94
~SDataProcessDraw()
Definition CDocumentPrinter.cpp:89
SDataProcessDraw(IManagerPrinter **managerPrinter, CDocumentPrinter *documentPrinterRef)
Definition CDocumentPrinter.cpp:82
Definition CDocumentPrinter.hpp:20
~SDataProcessPanel() override
Definition CDocumentPrinter.hpp:26
SDataProcessPanel(std::vector< CEntChapter * > **chaptersForPanel)
Definition CDocumentPrinter.hpp:21
std::vector< CEntChapter * > * m_chaptersForPanel
Definition CDocumentPrinter.hpp:32