1
/* This file is part of the wvWare 2 project
2
Copyright (C) 2002-2003 Werner Trobin <trobin@kde.org>
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Library General Public
6
License version 2 as published by the Free Software Foundation.
8
This library is distributed in the hope that it will be useful,
9
but WITHOUT ANY WARRANTY; without even the implied warranty of
10
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
Library General Public License for more details.
13
You should have received a copy of the GNU Library General Public License
14
along with this library; see the file COPYING.LIB. If not, write to
15
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16
Boston, MA 02111-1307, USA.
23
#include "functordata.h"
26
#include "wv2_export.h"
35
template<class T> class PLCF;
36
template<class T> class PLCFIterator;
37
class OLEStreamReader;
46
Footnotes97( OLEStreamReader* tableStream, const Word97::FIB& fib );
50
* Get the FootnoteData for the footnote/endnote at @param globalCP.
51
* The @param ok flag is true if a footnote/endnote has been found.
52
* If @param ok is false no footnote/endnote has been found and the
53
* returned FootnoteData structure is invalid.
55
FootnoteData footnote( U32 globalCP, bool& ok );
58
* Returns the global CP of the next footnote reference,
59
* 0xffffffff if none exists.
61
U32 nextFootnote() const;
63
* Returns the global CP of the next endnote reference,
64
* 0xffffffff if none exists.
66
U32 nextEndnote() const;
69
Footnotes97( const Footnotes97& rhs );
70
Footnotes97& operator=( const Footnotes97& rhs );
72
// Ugly, but helps to avoid code duplication
73
void init( U32 fcRef, U32 lcbRef, U32 fcTxt, U32 lcbTxt, OLEStreamReader* tableStream,
74
PLCF<Word97::FRD>** ref, PLCFIterator<Word97::FRD>** refIt,
75
std::vector<U32>& txt, std::vector<U32>::const_iterator& txtIt );
77
PLCF<Word97::FRD>* m_footnoteRef;
78
PLCFIterator<Word97::FRD>* m_footnoteRefIt;
79
std::vector<U32> m_footnoteTxt;
80
std::vector<U32>::const_iterator m_footnoteTxtIt;
82
PLCF<Word97::FRD>* m_endnoteRef;
83
PLCFIterator<Word97::FRD>* m_endnoteRefIt;
84
std::vector<U32> m_endnoteTxt;
85
std::vector<U32>::const_iterator m_endnoteTxtIt;
90
#endif // FOOTNOTES97_H