PoDoFo  1.0.0-dev
PdfTextBox.h
1 
7 #ifndef PDF_TEXTBOX_H
8 #define PDF_TEXTBOX_H
9 
10 #include "PdfField.h"
11 
12 namespace PoDoFo
13 {
21  class PODOFO_API PdfTextBox final : public PdfField
22  {
23  friend class PdfField;
24  private:
25  enum
26  {
27  PdfTextBox_MultiLine = 0x0001000,
28  PdfTextBox_Password = 0x0002000,
29  PdfTextBox_FileSelect = 0x0100000,
30  PdfTextBox_NoSpellcheck = 0x0400000,
31  PdfTextBox_NoScroll = 0x0800000,
32  PdfTextBox_Comb = 0x1000000,
33  PdfTextBox_RichText = 0x2000000
34  };
35 
36  private:
37  PdfTextBox(PdfAcroForm& acroform, const std::shared_ptr<PdfField>& parent);
38 
39  PdfTextBox(PdfAnnotationWidget& widget, const std::shared_ptr<PdfField>& parent);
40 
41  PdfTextBox(PdfObject& obj, PdfAcroForm* acroform);
42 
43  public:
48  void SetText(nullable<const PdfString&> text);
49 
53  nullable<const PdfString&> GetText() const;
54 
58  void SetMaxLen(int64_t maxLen);
59 
64  int64_t GetMaxLen() const;
65 
73  void SetMultiLine(bool multiLine);
74 
78  bool IsMultiLine() const;
79 
88  void SetPasswordField(bool password);
89 
94  bool IsPasswordField() const;
95 
104  void SetFileField(bool file);
105 
109  bool IsFileField() const;
110 
118  void SetSpellCheckingEnabled(bool spellcheck);
119 
123  bool IsSpellCheckingEnabled() const;
124 
132  void SetScrollBarsEnabled(bool scroll);
133 
137  bool IsScrollBarsEnabled() const;
138 
150  void SetCombs(bool combs);
151 
155  bool IsCombs() const;
156 
164  void SetRichText(bool richText);
165 
169  bool IsRichText() const;
170 
171  PdfTextBox* GetParent();
172  const PdfTextBox* GetParent() const;
173 
174  private:
175  void init();
176  };
177 }
178 
179 #endif // PDF_TEXTBOX_H
This class represents a PDF indirect Object in memory.
Definition: PdfObject.h:35
A text field in a PDF file.
Definition: PdfTextBox.h:22
Alternative to std::optional that supports reference (but not pointer) types.
Definition: nullable.h:29
SPDX-FileCopyrightText: (C) 2022 Francesco Pretto ceztko@gmail.com SPDX-License-Identifier: LGPL-2....
Definition: basetypes.h:16