21#ifndef KOTEXTBOOKMARK_H
22#define KOTEXTBOOKMARK_H
24#include <koffice_export.h>
26#include <tqvaluelist.h>
34class KOTEXT_EXPORT KoTextBookmark {
36 KoTextBookmark(
const TQString& name = TQString() );
37 KoTextBookmark(
const TQString& name,
38 KoTextParag* startParag, KoTextParag* endParag,
41 TQString bookmarkName()
const {
return m_name; }
42 void setBookmarkName(
const TQString &name ) { m_name =
name; }
45 KoTextDocument* textDocument()
const;
47 KoTextParag* startParag()
const {
return m_startParag; }
48 void setStartParag( KoTextParag* parag ) { m_startParag = parag; }
50 KoTextParag* endParag()
const {
return m_endParag; }
51 void setEndParag( KoTextParag* parag ) { m_endParag = parag; }
53 void setBookmarkStartIndex(
int pos ) { m_startIndex = pos; }
54 int bookmarkStartIndex()
const {
return m_startIndex; }
56 void setBookmarkEndIndex(
int end ) { m_endIndex = end; }
57 int bookmarkEndIndex()
const {
return m_endIndex; }
59 bool isSimple()
const {
return m_startParag == m_endParag && m_startIndex == m_endIndex; }
63 KoTextParag* m_startParag;
64 KoTextParag* m_endParag;
69class KOTEXT_EXPORT KoTextBookmarkList :
public TQValueList<KoTextBookmark>
72 const_iterator findByName(
const TQString& name )
const {
73 for ( const_iterator it = begin(), itend = end(); it != itend; ++it )
74 if ( (*it).bookmarkName() == name )
78 iterator findByName(
const TQString& name ) {
79 for ( iterator it = begin(), itend = end(); it != itend; ++it )
80 if ( (*it).bookmarkName() == name )
84 bool removeByName(
const TQString& name ) {
85 for ( iterator it = begin(), itend = end(); it != itend; ++it )
86 if ( (*it).bookmarkName() == name ) {
94 TQMap<const KoTextParag*, KoTextBookmarkList> bookmarksPerParagraph()
const {
95 TQMap<const KoTextParag*, KoTextBookmarkList> ret;
96 for ( const_iterator it = begin(), itend = end(); it != itend; ++it ) {
97 ret[ (*it).startParag() ].append( *it );
98 if ( (*it).startParag() != (*it).endParag() )
99 ret[ (*it).endParag() ].append( *it );
const char * name(StdAction id)