Refactoring - prepare for undo/redo and document modification

This commit is contained in:
Jakub Melka
2020-04-25 14:21:06 +02:00
parent 76af397b07
commit 57b3711210
28 changed files with 318 additions and 114 deletions

View File

@ -25,9 +25,9 @@
namespace pdf
{
class PDFObjectStorage;
class PDFFormField;
class PDFObjectStorage;
class PDFModifiedDocument;
using PDFFormFieldPointer = QSharedPointer<PDFFormField>;
using PDFFormFields = std::vector<PDFFormFieldPointer>;
@ -187,6 +187,9 @@ public:
/// \param mapping Form field mapping
void fillWidgetToFormFieldMapping(PDFWidgetToFormFieldMapping& mapping);
/// Reloads value from object storage. Actually stored value is lost.
void reloadValue(const PDFObjectStorage* storage, PDFObject parentValue);
/// Parses form field from the object reference. If some error occurs
/// then null pointer is returned, no exception is thrown.
/// \param storage Storage
@ -378,7 +381,7 @@ public:
void setAnnotationManager(PDFAnnotationManager* annotationManager);
const PDFDocument* getDocument() const;
void setDocument(const PDFDocument* document);
void setDocument(const PDFModifiedDocument& document);
/// Returns default form apperance flags
static constexpr FormAppearanceFlags getDefaultApperanceFlags() { return HighlightFields | HighlightRequiredFields; }
@ -387,6 +390,7 @@ public:
void setAppearanceFlags(FormAppearanceFlags flags);
private:
void updateFieldValues();
void updateWidgetToFormFieldMapping();
PDFDrawWidgetProxy* m_proxy;