1// qplaintextedit.sip generated by MetaSIP
2//
3// This file is part of the QtWidgets Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QPlainTextEdit : QAbstractScrollArea
24{
25%TypeHeaderCode
26#include <qplaintextedit.h>
27%End
28
29public:
30    enum LineWrapMode
31    {
32        NoWrap,
33        WidgetWidth,
34    };
35
36    explicit QPlainTextEdit(QWidget *parent /TransferThis/ = 0);
37    QPlainTextEdit(const QString &text, QWidget *parent /TransferThis/ = 0);
38    virtual ~QPlainTextEdit();
39    void setDocument(QTextDocument *document /KeepReference/);
40    QTextDocument *document() const;
41    void setTextCursor(const QTextCursor &cursor);
42    QTextCursor textCursor() const;
43    bool isReadOnly() const;
44    void setReadOnly(bool ro);
45    void setTextInteractionFlags(Qt::TextInteractionFlags flags);
46    Qt::TextInteractionFlags textInteractionFlags() const;
47    void mergeCurrentCharFormat(const QTextCharFormat &modifier);
48    void setCurrentCharFormat(const QTextCharFormat &format);
49    QTextCharFormat currentCharFormat() const;
50    bool tabChangesFocus() const;
51    void setTabChangesFocus(bool b);
52    void setDocumentTitle(const QString &title);
53    QString documentTitle() const;
54    bool isUndoRedoEnabled() const;
55    void setUndoRedoEnabled(bool enable);
56    void setMaximumBlockCount(int maximum);
57    int maximumBlockCount() const;
58    QPlainTextEdit::LineWrapMode lineWrapMode() const;
59    void setLineWrapMode(QPlainTextEdit::LineWrapMode mode);
60    QTextOption::WrapMode wordWrapMode() const;
61    void setWordWrapMode(QTextOption::WrapMode policy);
62    void setBackgroundVisible(bool visible);
63    bool backgroundVisible() const;
64    void setCenterOnScroll(bool enabled);
65    bool centerOnScroll() const;
66    bool find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags());
67    QString toPlainText() const;
68    void ensureCursorVisible();
69    virtual QVariant loadResource(int type, const QUrl &name);
70    QMenu *createStandardContextMenu() /Factory/;
71%If (Qt_5_5_0 -)
72    QMenu *createStandardContextMenu(const QPoint &position) /Factory/;
73%End
74    QTextCursor cursorForPosition(const QPoint &pos) const;
75    QRect cursorRect(const QTextCursor &cursor) const;
76    QRect cursorRect() const;
77    bool overwriteMode() const;
78    void setOverwriteMode(bool overwrite);
79    int tabStopWidth() const;
80    void setTabStopWidth(int width);
81    int cursorWidth() const;
82    void setCursorWidth(int width);
83    void setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections);
84    QList<QTextEdit::ExtraSelection> extraSelections() const;
85    void moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor);
86    bool canPaste() const;
87%If (PyQt_Printer)
88    void print(QPagedPaintDevice *printer) const /PyName=print_/;
89%End
90%If (Py_v3)
91%If (PyQt_Printer)
92    void print(QPagedPaintDevice *printer) const;
93%End
94%End
95    int blockCount() const;
96
97public slots:
98    void setPlainText(const QString &text);
99    void cut();
100    void copy();
101    void paste();
102    void undo();
103    void redo();
104    void clear();
105    void selectAll();
106    void insertPlainText(const QString &text);
107    void appendPlainText(const QString &text);
108    void appendHtml(const QString &html);
109    void centerCursor();
110
111signals:
112    void textChanged();
113    void undoAvailable(bool b);
114    void redoAvailable(bool b);
115    void copyAvailable(bool b);
116    void selectionChanged();
117    void cursorPositionChanged();
118    void updateRequest(const QRect &rect, int dy);
119    void blockCountChanged(int newBlockCount);
120    void modificationChanged(bool);
121
122protected:
123    virtual bool event(QEvent *e);
124    virtual void timerEvent(QTimerEvent *e);
125    virtual void keyPressEvent(QKeyEvent *e);
126    virtual void keyReleaseEvent(QKeyEvent *e);
127    virtual void resizeEvent(QResizeEvent *e);
128    virtual void paintEvent(QPaintEvent *e);
129    virtual void mousePressEvent(QMouseEvent *e);
130    virtual void mouseMoveEvent(QMouseEvent *e);
131    virtual void mouseReleaseEvent(QMouseEvent *e);
132    virtual void mouseDoubleClickEvent(QMouseEvent *e);
133    virtual bool focusNextPrevChild(bool next);
134    virtual void contextMenuEvent(QContextMenuEvent *e);
135    virtual void dragEnterEvent(QDragEnterEvent *e);
136    virtual void dragLeaveEvent(QDragLeaveEvent *e);
137    virtual void dragMoveEvent(QDragMoveEvent *e);
138    virtual void dropEvent(QDropEvent *e);
139    virtual void focusInEvent(QFocusEvent *e);
140    virtual void focusOutEvent(QFocusEvent *e);
141    virtual void showEvent(QShowEvent *);
142    virtual void changeEvent(QEvent *e);
143    virtual void wheelEvent(QWheelEvent *e);
144    virtual void inputMethodEvent(QInputMethodEvent *);
145
146public:
147    virtual QVariant inputMethodQuery(Qt::InputMethodQuery property) const;
148
149protected:
150    virtual QMimeData *createMimeDataFromSelection() const /Factory/;
151    virtual bool canInsertFromMimeData(const QMimeData *source) const;
152    virtual void insertFromMimeData(const QMimeData *source);
153    virtual void scrollContentsBy(int dx, int dy);
154    QTextBlock firstVisibleBlock() const;
155    QPointF contentOffset() const;
156    QRectF blockBoundingRect(const QTextBlock &block) const;
157    QRectF blockBoundingGeometry(const QTextBlock &block) const;
158    QAbstractTextDocumentLayout::PaintContext getPaintContext() const;
159
160public:
161    QString anchorAt(const QPoint &pos) const;
162
163public slots:
164%If (Qt_5_1_0 -)
165    void zoomIn(int range = 1);
166%End
167%If (Qt_5_1_0 -)
168    void zoomOut(int range = 1);
169%End
170
171public:
172%If (Qt_5_3_0 -)
173    void setPlaceholderText(const QString &placeholderText);
174%End
175%If (Qt_5_3_0 -)
176    QString placeholderText() const;
177%End
178%If (Qt_5_3_0 -)
179    bool find(const QRegExp &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags());
180%End
181%If (Qt_5_13_0 -)
182    bool find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags());
183%End
184%If (Qt_5_3_0 -)
185    QVariant inputMethodQuery(Qt::InputMethodQuery query, QVariant argument) const;
186%End
187%If (Qt_5_10_0 -)
188    qreal tabStopDistance() const;
189%End
190%If (Qt_5_10_0 -)
191    void setTabStopDistance(qreal distance);
192%End
193};
194
195class QPlainTextDocumentLayout : QAbstractTextDocumentLayout
196{
197%TypeHeaderCode
198#include <qplaintextedit.h>
199%End
200
201public:
202    QPlainTextDocumentLayout(QTextDocument *document);
203    virtual ~QPlainTextDocumentLayout();
204    virtual void draw(QPainter *, const QAbstractTextDocumentLayout::PaintContext &);
205    virtual int hitTest(const QPointF &, Qt::HitTestAccuracy) const;
206    virtual int pageCount() const;
207    virtual QSizeF documentSize() const;
208    virtual QRectF frameBoundingRect(QTextFrame *) const;
209    virtual QRectF blockBoundingRect(const QTextBlock &block) const;
210    void ensureBlockLayout(const QTextBlock &block) const;
211    void setCursorWidth(int width);
212    int cursorWidth() const;
213    void requestUpdate();
214
215protected:
216    virtual void documentChanged(int from, int, int charsAdded);
217};
218