1 #ifndef SCTEXT_SHARED_H 2 #define SCTEXT_SHARED_H 3 4 #include <QList> 5 #include <QObject> 6 #include <QString> 7 #include <cassert> 8 9 //#include "text/paragraphlayout.h" 10 #include "text/frect.h" 11 #include "style.h" 12 #include "styles/charstyle.h" 13 #include "styles/paragraphstyle.h" 14 #include "styles/stylecontextproxy.h" 15 16 17 class SCRIBUS_API ScText_Shared : public QList<ScText*> 18 { 19 public: 20 ScText_Shared(const StyleContext* pstyles); 21 ScText_Shared(const ScText_Shared& other); 22 ~ScText_Shared(); 23 24 ScText_Shared& operator= (const ScText_Shared& other); 25 26 ParagraphStyle defaultStyle; 27 StyleContextProxy pstyleContext; 28 uint refs { 1 }; 29 uint len { 0 }; 30 uint cursorPosition { 0 }; 31 int selFirst { 0 }; 32 int selLast { -1 }; 33 uint marksCount { 0 }; 34 bool marksCountChanged { false }; 35 ParagraphStyle trailingStyle; 36 CharStyle orphanedCharStyle; 37 38 void clear(); 39 40 /** 41 A char's stylecontext is the containing paragraph's style, 42 This routines makes sure that all charstyles look for defaults 43 in the parstyle first. 44 */ 45 void replaceCharStyleContextInParagraph(int pos, const StyleContext* newContext); 46 }; 47 48 #endif /*SCTEXT_SHARED_H*/ 49