diff options
Diffstat (limited to 'vcl/source/edit/textdoc.hxx')
-rw-r--r-- | vcl/source/edit/textdoc.hxx | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/vcl/source/edit/textdoc.hxx b/vcl/source/edit/textdoc.hxx index 739de18040c6..8fa194b07447 100644 --- a/vcl/source/edit/textdoc.hxx +++ b/vcl/source/edit/textdoc.hxx @@ -85,12 +85,15 @@ public: TextNode* Split( sal_uInt16 nPos, bool bKeepEndigAttribs ); void Append( const TextNode& rNode ); + + bool operator ==(TextNode const& other) const; }; class TextDoc { private: - ToolsList<TextNode*> maTextNodes; + typedef boost::ptr_vector<TextNode> TextNodes; + TextNodes maTextNodes; sal_uInt16 mnLeftMargin; protected: @@ -98,19 +101,22 @@ protected: public: TextDoc(); - ~TextDoc(); + ~TextDoc() {}; void Clear(); - ToolsList<TextNode*>& GetNodes() { return maTextNodes; } - const ToolsList<TextNode*>& GetNodes() const { return maTextNodes; } + const TextNode& GetNode(sal_uInt16 pos) const { return maTextNodes[pos]; } + TextNode* GetNode(sal_uInt16 pos) { return &maTextNodes[pos]; } + size_t CountNodes() { return maTextNodes.size(); } + void InsertNode( TextNode* node, size_t nPos ) { maTextNodes.insert( maTextNodes.begin() + nPos, node ); } + void RemoveNode( size_t nPos ) { maTextNodes.erase( maTextNodes.begin()+nPos ); } TextPaM RemoveChars( const TextPaM& rPaM, sal_uInt16 nChars ); TextPaM InsertText( const TextPaM& rPaM, sal_Unicode c ); TextPaM InsertText( const TextPaM& rPaM, const OUString& rStr ); TextPaM InsertParaBreak( const TextPaM& rPaM, bool bKeepEndingAttribs ); - TextPaM ConnectParagraphs( TextNode* pLeft, TextNode* pRight ); + TextPaM ConnectParagraphs( TextNode& pLeft, const TextNode& pRight ); sal_uLong GetTextLen( const sal_Unicode* pSep, const TextSelection* pSel = NULL ) const; OUString GetText( const sal_Unicode* pSep ) const; |