File indexing completed on 2024-04-28 04:32:43

0001 /*
0002     SPDX-FileCopyrightText: 2007 Pino Toscano <pino@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef OKULAR_FORM_P_H
0008 #define OKULAR_FORM_P_H
0009 
0010 #include "form.h"
0011 
0012 #include <QString>
0013 
0014 namespace Okular
0015 {
0016 class Action;
0017 class FormField;
0018 
0019 class FormFieldPrivate
0020 {
0021 public:
0022     explicit FormFieldPrivate(FormField::FieldType type);
0023     virtual ~FormFieldPrivate();
0024 
0025     FormFieldPrivate(const FormFieldPrivate &) = delete;
0026     FormFieldPrivate &operator=(const FormFieldPrivate &) = delete;
0027 
0028     void setDefault();
0029 
0030     virtual void setValue(const QString &) = 0;
0031     virtual QString value() const = 0;
0032 
0033     FormField::FieldType m_type;
0034     QString m_default;
0035     Action *m_activateAction;
0036     QHash<int, Action *> m_additionalActions;
0037     QHash<int, Action *> m_additionalAnnotActions;
0038     Page *m_page = nullptr;
0039 
0040     Q_DECLARE_PUBLIC(FormField)
0041     FormField *q_ptr;
0042 };
0043 
0044 }
0045 
0046 #endif