37#include <QQuickTextDocument>
38#include <QtGui/QTextCharFormat>
45class QmlRichText :
public QObject
51 Q_PROPERTY(QQuickItem *target READ target WRITE setTarget NOTIFY targetChanged)
53 int cursorPosition READ cursorPosition WRITE setCursorPosition NOTIFY cursorPositionChanged)
55 int selectionStart READ selectionStart WRITE setSelectionStart NOTIFY selectionStartChanged)
56 Q_PROPERTY(
int selectionEnd READ selectionEnd WRITE setSelectionEnd NOTIFY selectionEndChanged)
57 Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor NOTIFY textColorChanged)
58 Q_PROPERTY(QString fontFamily READ fontFamily WRITE setFontFamily NOTIFY fontFamilyChanged)
60 QString fontStyleName READ fontStyleName WRITE setFontStyleName NOTIFY fontStyleNameChanged)
61 Q_PROPERTY(Qt::Alignment alignment READ alignment WRITE setAlignment NOTIFY alignmentChanged)
62 Q_PROPERTY(
bool bold READ bold WRITE setBold NOTIFY boldChanged)
63 Q_PROPERTY(
bool italic READ italic WRITE setItalic NOTIFY italicChanged)
64 Q_PROPERTY(
bool underline READ underline WRITE setUnderline NOTIFY underlineChanged)
65 Q_PROPERTY(
bool strikeout READ strikeout WRITE setStrikeout NOTIFY strikeoutChanged)
66 Q_PROPERTY(
int fontSize READ fontSize WRITE setFontSize NOTIFY fontSizeChanged)
67 Q_PROPERTY(QUrl fileUrl READ fileUrl WRITE setFileUrl NOTIFY fileUrlChanged)
68 Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged)
69 Q_PROPERTY(QSizeF size READ size NOTIFY sizeChanged)
74 QQuickItem *target() {
return m_target; }
75 void setTarget(QQuickItem *target);
76 void setCursorPosition(
int position);
77 void setSelectionStart(
int position);
78 void setSelectionEnd(
int position);
79 int cursorPosition()
const {
return m_cursorPosition; }
80 int selectionStart()
const {
return m_selectionStart; }
81 int selectionEnd()
const {
return m_selectionEnd; }
82 QString fontFamily()
const;
83 QString fontStyleName()
const;
84 QColor textColor()
const;
85 Qt::Alignment alignment()
const;
86 void setAlignment(Qt::Alignment a);
89 bool underline()
const;
90 bool strikeout()
const;
94 QSizeF size()
const {
return m_doc->size(); }
97 void setBold(
bool arg);
98 void setItalic(
bool arg);
99 void setUnderline(
bool arg);
100 void setStrikeout(
bool arg);
101 void setFontSize(
int arg);
102 void setTextColor(
const QColor &arg);
103 void setFontFamily(
const QString &arg);
104 void setFontStyleName(
const QString &arg);
105 void setFileUrl(
const QUrl &arg);
106 void setText(
const QString &arg);
107 void saveAs(
const QUrl &arg, QString fileType = QString());
108 void insertTable(
int rows = 1,
int columns = 2,
int border = 0);
115 void targetChanged();
116 void cursorPositionChanged();
117 void selectionStartChanged();
118 void selectionEndChanged();
119 void fontFamilyChanged();
120 void fontStyleNameChanged();
121 void textColorChanged();
122 void alignmentChanged();
124 void italicChanged();
125 void underlineChanged();
126 void fontSizeChanged();
127 void strikeoutChanged();
128 void fileUrlChanged();
130 void error(QString message);
134 QTextCursor textCursor()
const;
135 void mergeFormatOnWordOrSelection(
const QTextCharFormat &format);
136 QQuickItem *m_target;
137 QTextDocument *m_doc;
138 int m_cursorPosition;
139 int m_selectionStart;
145 QString m_documentTitle;