00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef KOTEXTSHAPEDATA_H
00021 #define KOTEXTSHAPEDATA_H
00022
00023 #include <KoShapeUserData.h>
00024
00025 #include <koffice_export.h>
00026
00027 class QTextDocument;
00028 class QTextCursor;
00029
00038 class KOTEXT_EXPORT KoTextShapeData : public KoShapeUserData {
00039 Q_OBJECT
00040 public:
00042 KoTextShapeData();
00043 ~KoTextShapeData();
00044
00051 void setDocument(QTextDocument *document, bool transferOwnership = true);
00053 QTextDocument *document();
00054
00058 double documentOffset() const { return m_offset; }
00064 void setDocumentOffset(double offset) { m_offset = offset; }
00065
00066 int position() const { return m_position; }
00067 void setPosition(int position) { m_position = position; }
00068 int endPosition() const { return m_endPosition; }
00069 void setEndPosition(int position) { m_endPosition = position; }
00070
00072 void faul() { m_dirty = true; }
00074 void wipe() { m_dirty = false; }
00076 bool isDirty() const { return m_dirty; }
00077
00078 signals:
00085 void relayout();
00086
00087 private:
00088 friend class KoTextShape;
00089 void fireResizeEvent() { emit relayout(); }
00090
00091 private:
00092 QTextDocument *m_document;
00093 bool m_ownsDocument, m_dirty;
00094 double m_offset;
00095 int m_position, m_endPosition;
00096 };
00097
00098 #endif