1// qtextedit.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 QTextEdit : QAbstractScrollArea
24{
25%TypeHeaderCode
26#include <qtextedit.h>
27%End
28
29public:
30    struct ExtraSelection
31    {
32%TypeHeaderCode
33#include <qtextedit.h>
34%End
35
36        QTextCursor cursor;
37        QTextCharFormat format;
38    };
39
40    enum LineWrapMode
41    {
42        NoWrap,
43        WidgetWidth,
44        FixedPixelWidth,
45        FixedColumnWidth,
46    };
47
48    enum AutoFormattingFlag
49    {
50        AutoNone,
51        AutoBulletList,
52        AutoAll,
53    };
54
55    typedef QFlags<QTextEdit::AutoFormattingFlag> AutoFormatting;
56    explicit QTextEdit(QWidget *parent /TransferThis/ = 0);
57    QTextEdit(const QString &text, QWidget *parent /TransferThis/ = 0);
58    virtual ~QTextEdit();
59    void setDocument(QTextDocument *document /KeepReference/);
60    QTextDocument *document() const;
61    void setTextCursor(const QTextCursor &cursor);
62    QTextCursor textCursor() const;
63    bool isReadOnly() const;
64    void setReadOnly(bool ro);
65    qreal fontPointSize() const;
66    QString fontFamily() const;
67    int fontWeight() const;
68    bool fontUnderline() const;
69    bool fontItalic() const;
70    QColor textColor() const;
71    QFont currentFont() const;
72    Qt::Alignment alignment() const;
73    void mergeCurrentCharFormat(const QTextCharFormat &modifier);
74    void setCurrentCharFormat(const QTextCharFormat &format);
75    QTextCharFormat currentCharFormat() const;
76    QTextEdit::AutoFormatting autoFormatting() const;
77    void setAutoFormatting(QTextEdit::AutoFormatting features);
78    bool tabChangesFocus() const;
79    void setTabChangesFocus(bool b);
80    void setDocumentTitle(const QString &title);
81    QString documentTitle() const;
82    bool isUndoRedoEnabled() const;
83    void setUndoRedoEnabled(bool enable);
84    QTextEdit::LineWrapMode lineWrapMode() const;
85    void setLineWrapMode(QTextEdit::LineWrapMode mode);
86    int lineWrapColumnOrWidth() const;
87    void setLineWrapColumnOrWidth(int w);
88    QTextOption::WrapMode wordWrapMode() const;
89    void setWordWrapMode(QTextOption::WrapMode policy);
90    bool find(const QString &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags());
91    QString toPlainText() const;
92    QString toHtml() const;
93    void append(const QString &text);
94    void ensureCursorVisible();
95    virtual QVariant loadResource(int type, const QUrl &name);
96    QMenu *createStandardContextMenu() /Factory/;
97    QMenu *createStandardContextMenu(const QPoint &position) /Factory/;
98    QTextCursor cursorForPosition(const QPoint &pos) const;
99    QRect cursorRect(const QTextCursor &cursor) const;
100    QRect cursorRect() const;
101    QString anchorAt(const QPoint &pos) const;
102    bool overwriteMode() const;
103    void setOverwriteMode(bool overwrite);
104    int tabStopWidth() const;
105    void setTabStopWidth(int width);
106    bool acceptRichText() const;
107    void setAcceptRichText(bool accept);
108    void setTextInteractionFlags(Qt::TextInteractionFlags flags);
109    Qt::TextInteractionFlags textInteractionFlags() const;
110    void setCursorWidth(int width);
111    int cursorWidth() const;
112    void setExtraSelections(const QList<QTextEdit::ExtraSelection> &selections);
113    QList<QTextEdit::ExtraSelection> extraSelections() const;
114    bool canPaste() const;
115    void moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor);
116%If (PyQt_Printer)
117    void print(QPagedPaintDevice *printer) const /PyName=print_/;
118%End
119%If (Py_v3)
120%If (PyQt_Printer)
121    void print(QPagedPaintDevice *printer) const;
122%End
123%End
124
125public slots:
126    void setFontPointSize(qreal s);
127    void setFontFamily(const QString &fontFamily);
128    void setFontWeight(int w);
129    void setFontUnderline(bool b);
130    void setFontItalic(bool b);
131    void setText(const QString &text);
132    void setTextColor(const QColor &c);
133    void setCurrentFont(const QFont &f);
134    void setAlignment(Qt::Alignment a);
135    void setPlainText(const QString &text);
136    void setHtml(const QString &text);
137    void cut();
138    void copy();
139    void paste();
140    void clear();
141    void selectAll();
142    void insertPlainText(const QString &text);
143    void insertHtml(const QString &text);
144    void scrollToAnchor(const QString &name);
145    void redo();
146    void undo();
147    void zoomIn(int range = 1);
148    void zoomOut(int range = 1);
149
150signals:
151    void textChanged();
152    void undoAvailable(bool b);
153    void redoAvailable(bool b);
154    void currentCharFormatChanged(const QTextCharFormat &format);
155    void copyAvailable(bool b);
156    void selectionChanged();
157    void cursorPositionChanged();
158
159protected:
160    virtual bool event(QEvent *e);
161    virtual void timerEvent(QTimerEvent *e);
162    virtual void keyPressEvent(QKeyEvent *e);
163    virtual void keyReleaseEvent(QKeyEvent *e);
164    virtual void resizeEvent(QResizeEvent *);
165    virtual void paintEvent(QPaintEvent *e);
166    virtual void mousePressEvent(QMouseEvent *e);
167    virtual void mouseMoveEvent(QMouseEvent *e);
168    virtual void mouseReleaseEvent(QMouseEvent *e);
169    virtual void mouseDoubleClickEvent(QMouseEvent *e);
170    virtual bool focusNextPrevChild(bool next);
171    virtual void contextMenuEvent(QContextMenuEvent *e);
172    virtual void dragEnterEvent(QDragEnterEvent *e);
173    virtual void dragLeaveEvent(QDragLeaveEvent *e);
174    virtual void dragMoveEvent(QDragMoveEvent *e);
175    virtual void dropEvent(QDropEvent *e);
176    virtual void focusInEvent(QFocusEvent *e);
177    virtual void focusOutEvent(QFocusEvent *e);
178    virtual void showEvent(QShowEvent *);
179    virtual void changeEvent(QEvent *e);
180    virtual void wheelEvent(QWheelEvent *e);
181    virtual QMimeData *createMimeDataFromSelection() const /Factory/;
182    virtual bool canInsertFromMimeData(const QMimeData *source) const;
183    virtual void insertFromMimeData(const QMimeData *source);
184    virtual void inputMethodEvent(QInputMethodEvent *);
185
186public:
187    virtual QVariant inputMethodQuery(Qt::InputMethodQuery property) const;
188
189protected:
190    virtual void scrollContentsBy(int dx, int dy);
191
192public:
193    QColor textBackgroundColor() const;
194
195public slots:
196    void setTextBackgroundColor(const QColor &c);
197
198public:
199%If (Qt_5_2_0 -)
200    void setPlaceholderText(const QString &placeholderText);
201%End
202%If (Qt_5_2_0 -)
203    QString placeholderText() const;
204%End
205%If (Qt_5_3_0 -)
206    bool find(const QRegExp &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags());
207%End
208%If (Qt_5_13_0 -)
209    bool find(const QRegularExpression &exp, QTextDocument::FindFlags options = QTextDocument::FindFlags());
210%End
211%If (Qt_5_3_0 -)
212    QVariant inputMethodQuery(Qt::InputMethodQuery query, QVariant argument) const;
213%End
214%If (Qt_5_10_0 -)
215    qreal tabStopDistance() const;
216%End
217%If (Qt_5_10_0 -)
218    void setTabStopDistance(qreal distance);
219%End
220%If (Qt_5_14_0 -)
221    QString toMarkdown(QTextDocument::MarkdownFeatures features = QTextDocument::MarkdownDialectGitHub) const;
222%End
223
224public slots:
225%If (Qt_5_14_0 -)
226    void setMarkdown(const QString &markdown);
227%End
228};
229
230QFlags<QTextEdit::AutoFormattingFlag> operator|(QTextEdit::AutoFormattingFlag f1, QFlags<QTextEdit::AutoFormattingFlag> f2);
231