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 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
/*
SPDX-FileCopyrightText: 2007 Pino Toscano <pino@kde.org>
SPDX-FileCopyrightText: 2019 Oliver Sander <oliver.sander@tu-dresden.de>
SPDX-License-Identifier: GPL-2.0-or-later
*/
#ifndef _OKULAR_GENERATOR_PDF_FORMFIELDS_H_
#define _OKULAR_GENERATOR_PDF_FORMFIELDS_H_
#include "core/form.h"
#include <poppler-form.h>
class PopplerFormFieldButton : public Okular::FormFieldButton
{
public:
explicit PopplerFormFieldButton(std::unique_ptr<Poppler::FormFieldButton> field);
// inherited from Okular::FormField
Okular::NormalizedRect rect() const override;
int id() const override;
QString name() const override;
QString uiName() const override;
QString fullyQualifiedName() const override;
bool isReadOnly() const override;
void setReadOnly(bool value) override;
bool isVisible() const override;
void setVisible(bool value) override;
bool isPrintable() const override;
void setPrintable(bool value) override;
// inherited from Okular::FormFieldButton
ButtonType buttonType() const override;
QString caption() const override;
bool state() const override;
void setState(bool state) override;
QList<int> siblings() const override;
void setIcon(Okular::FormField *field) override;
/*
* Supported only in newer versions of Poppler library.
*
* @since 1.9
*/
Poppler::FormFieldIcon icon() const;
private:
std::unique_ptr<Poppler::FormFieldButton> m_field;
Okular::NormalizedRect m_rect;
int m_id;
};
class PopplerFormFieldText : public Okular::FormFieldText
{
public:
explicit PopplerFormFieldText(std::unique_ptr<Poppler::FormFieldText> field);
// inherited from Okular::FormField
Okular::NormalizedRect rect() const override;
int id() const override;
QString name() const override;
QString uiName() const override;
QString fullyQualifiedName() const override;
bool isReadOnly() const override;
void setReadOnly(bool value) override;
bool isVisible() const override;
void setVisible(bool value) override;
bool isPrintable() const override;
void setPrintable(bool value) override;
// inherited from Okular::FormFieldText
Okular::FormFieldText::TextType textType() const override;
QString text() const override;
void setText(const QString &text) override;
void setAppearanceText(const QString &text) override;
bool isPassword() const override;
bool isRichText() const override;
int maximumLength() const override;
Qt::Alignment textAlignment() const override;
bool canBeSpellChecked() const override;
private:
std::unique_ptr<Poppler::FormFieldText> m_field;
Okular::NormalizedRect m_rect;
int m_id;
};
class PopplerFormFieldChoice : public Okular::FormFieldChoice
{
public:
explicit PopplerFormFieldChoice(std::unique_ptr<Poppler::FormFieldChoice> field);
// inherited from Okular::FormField
Okular::NormalizedRect rect() const override;
int id() const override;
QString name() const override;
QString uiName() const override;
QString fullyQualifiedName() const override;
bool isReadOnly() const override;
void setReadOnly(bool value) override;
bool isVisible() const override;
void setVisible(bool value) override;
bool isPrintable() const override;
void setPrintable(bool value) override;
// inherited from Okular::FormFieldChoice
ChoiceType choiceType() const override;
QStringList choices() const override;
bool isEditable() const override;
bool multiSelect() const override;
QList<int> currentChoices() const override;
void setCurrentChoices(const QList<int> &choices) override;
QString editChoice() const override;
void setEditChoice(const QString &text) override;
Qt::Alignment textAlignment() const override;
bool canBeSpellChecked() const override;
private:
std::unique_ptr<Poppler::FormFieldChoice> m_field;
Okular::NormalizedRect m_rect;
int m_id;
};
class PopplerFormFieldSignature : public Okular::FormFieldSignature
{
public:
explicit PopplerFormFieldSignature(std::unique_ptr<Poppler::FormFieldSignature> field);
~PopplerFormFieldSignature() override;
// inherited from Okular::FormField
Okular::NormalizedRect rect() const override;
int id() const override;
QString name() const override;
QString uiName() const override;
QString fullyQualifiedName() const override;
bool isReadOnly() const override;
bool isVisible() const override;
// inherited from Okular::FormFieldSignature
SignatureType signatureType() const override;
const Okular::SignatureInfo &signatureInfo() const override;
bool sign(const Okular::NewSignatureData &oData, const QString &newPath) const override;
private:
std::unique_ptr<Poppler::FormFieldSignature> m_field;
Okular::SignatureInfo *m_info;
Okular::NormalizedRect m_rect;
int m_id;
};
#endif
|