Scribus API for plugins
A stable, high level and documented interface to the Scribus core that plugin developers can use to access the Scribus features.
scribusAPIDocumentItemText.h
1 
5 /*
6  * This file is part of the ScribusAPIDocument plugin
7  * (c) GPL 2, Ale Rimoldi <ale@graphicslab.org>
8  * For the full copyright and license information, please view the LICENSE
9  */
10 #ifndef SCRIBUSAPIDOCUMENTITEMTEXT_H
11 #define SCRIBUSAPIDOCUMENTITEMTEXT_H
12 
13 #include <QDebug>
14 #include <QObject>
15 #include <QVector>
16 #include <QDomDocument>
17 
18 class QString;
19 
20 #include "scribusAPIDocumentItem.h"
22 
24 {
25  int position;
26  int length;
27  char type; // p=paragraph, f=formatting
28  QVector< QVector<QString> > content;
29  bool isParagraph() {return type == 'p';}
30 };
31 
32 class ScribusAPIDocumentItemText : public QObject
33 {
34  Q_OBJECT
35 public:
38 
39  bool isFirstInChain() { return documentItem->getItem()->prevInChain() == NULL; }
40  bool isEmpty() { return documentItem->getItem()->itemText.length() == 0; }
41 
42  QVector<ScribusAPIDocumentItemTextRuns> getStoryRuns();
43  QVector<ScribusAPIDocumentItemTextRuns> getRuns();
44  QVector<ScribusAPIDocumentItemTextRuns> getRuns(int start, int end);
45  QList<QDomElement> getDom(QDomDocument xhtmlDocument);
46 
47  ScribusAPIDocumentItemTextFormatting getFormattingAtPosition(int position);
48 
49  int getLength();
50  int getStoryLength();
51  void setCursorPosition(int position);
52  void insert(const QString text, const QString paragraphStyle = "", const QString characterStyle = "");
53  void append(const QString text, const QString paragraphStyle = "", const QString characterStyle = "");
54  void appendParagraph(const QString text, const QString paragraphStyle = "");
55  void applyParagraphStyle(const QString styleName);
56  void applyParagraphStyle(int position, const QString styleName);
57  void applyCharacterStyle(const QString styleName);
58 
59 private:
60  ScribusAPIDocumentItem* documentItem;
61  QString getStylenameSanitized(QString stylename);
62 };
63 
64 QDebug operator<<(QDebug dbg, const ScribusAPIDocumentItemText &item);
65 QDebug operator<<(QDebug dbg, const ScribusAPIDocumentItemTextRuns run);
66 QDebug operator<<(QDebug dbg, const QVector<ScribusAPIDocumentItemTextRuns> &runs);
67 
68 #endif //SCRIBUSAPIDOCUMENTITEMTEXT_H
Definition: scribusAPIDocumentItemText.h:23
Definition: scribusAPIDocumentItem.h:39
Definition: scribusAPIDocumentItemText.h:32
Read and store the text formatting at the current cursor position.
Definition: scribusAPIDocumentItemTextFormatting.h:45