#pragma once #include "Paragraph.h" namespace ASCDocFileFormat { class Header: public ITextItem { struct HeaderItemWithOffset { TextItemPtr headerItem; unsigned int headerItemOffset; HeaderItemWithOffset(): headerItem(), headerItemOffset(0) { } HeaderItemWithOffset( const TextItemPtr& _headerItem, unsigned int _headerItemOffset ): headerItem(_headerItem), headerItemOffset(_headerItemOffset) { } }; private: list textItems; unsigned int headerItemsOffset; public: explicit Header(); Header( const Header& _header ); void AddTextItem( const ITextItem& _textItem ); virtual ~Header(); virtual wstring GetAllText() const; virtual operator wstring() const; virtual vector GetAllParagraphsCopy() const; virtual vector GetAllParagraphs(); virtual vector GetAllParagraphsProperties( vector* allParagraphsOffsets ) const; virtual vector GetAllRunProperties( vector* allRunsOffsets ) const; virtual vector GetAllRunsCopy( vector* allRunsOffsets ) const; virtual vector GetAllParagraphItemsCopy( vector* allParagraphItemsOffsets ) const; virtual IVirtualConstructor* New() const; virtual IVirtualConstructor* Clone() const; }; }