summaryrefslogtreecommitdiff
path: root/vcl/source/edit/textdoc.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/edit/textdoc.hxx')
-rw-r--r--vcl/source/edit/textdoc.hxx16
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;