LibreOffice Module sw (master)
1
sw
inc
txtftn.hxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*
9
* This file incorporates work covered by the following license notice:
10
*
11
* Licensed to the Apache Software Foundation (ASF) under one or more
12
* contributor license agreements. See the NOTICE file distributed
13
* with this work for additional information regarding copyright
14
* ownership. The ASF licenses this file to you under the Apache
15
* License, Version 2.0 (the "License"); you may not use this file
16
* except in compliance with the License. You may obtain a copy of
17
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
*/
19
#ifndef INCLUDED_SW_INC_TXTFTN_HXX
20
#define INCLUDED_SW_INC_TXTFTN_HXX
21
22
#include <rtl/ustring.hxx>
23
#include "
txatbase.hxx
"
24
#include "
ndindex.hxx
"
25
26
class
SwNodeIndex
;
27
class
SwNodes
;
28
class
SwDoc
;
29
class
SwRootFrame
;
30
33
class
SW_DLLPUBLIC
SwTextFootnote
final :
public
SwTextAttr
34
{
35
std::optional<SwNodeIndex>
m_oStartNode
;
36
SwTextNode
*
m_pTextNode
;
37
sal_uInt16
m_nSeqNo
;
38
39
public
:
40
SwTextFootnote
(
SwFormatFootnote
& rAttr, sal_Int32 nStart );
41
virtual
~SwTextFootnote
()
override
;
42
43
const
SwNodeIndex
*
GetStartNode
()
const
{
return
m_oStartNode ? &*m_oStartNode :
nullptr
; }
44
void
SetStartNode(
const
SwNodeIndex
*pNode,
bool
bDelNodes =
true
);
45
void
SetNumber(sal_uInt16 nNumber, sal_uInt16 nNumberRLHidden,
const
OUString &sNumStr);
46
void
CopyFootnote(
SwTextFootnote
& rDest,
SwTextNode
& rDestNode)
const
;
47
48
// Get and set TextNode pointer.
49
inline
const
SwTextNode
& GetTextNode()
const
;
50
void
ChgTextNode
(
SwTextNode
* pNew ) { m_pTextNode = pNew; }
51
52
// Create a new empty TextSection for this footnote.
53
void
MakeNewTextSection(
SwNodes
& rNodes );
54
55
// Delete the FootnoteFrame from page.
56
void
DelFrames(
const
SwRootFrame
*);
57
58
// Check conditional paragraph styles.
59
void
CheckCondColl();
60
61
void
InvalidateNumberInLayout();
62
63
// For references to footnotes.
64
void
SetSeqRefNo();
65
void
SetSeqNo
( sal_uInt16 n ) { m_nSeqNo =
n
; }
// For Readers.
66
sal_uInt16
GetSeqRefNo
()
const
{
return
m_nSeqNo; }
67
68
static
void
SetUniqueSeqRefNo(
SwDoc
& rDoc );
69
void
dumpAsXml
(
xmlTextWriterPtr
pWriter)
const override
;
70
};
71
72
inline
const
SwTextNode
&
SwTextFootnote::GetTextNode
()
const
73
{
74
assert(
m_pTextNode
);
75
return
*
m_pTextNode
;
76
}
77
78
#endif
79
80
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SwDoc
Definition:
doc.hxx:197
SwFormatFootnote
SfxPoolItem subclass for footnotes and endnotes, stored in the anchor text node.
Definition:
fmtftn.hxx:47
SwNodeIndex
Marks a node in the document model.
Definition:
ndindex.hxx:31
SwNodes
Definition:
ndarr.hxx:91
SwRootFrame
The root element of a Writer document layout.
Definition:
rootfrm.hxx:85
SwTextAttr
A wrapper around SfxPoolItem to store the start position of (usually) a text portion,...
Definition:
txatbase.hxx:44
SwTextAttr::dumpAsXml
virtual void dumpAsXml(xmlTextWriterPtr pWriter) const
Definition:
txatbase.cxx:89
SwTextFootnote
SwTextAttr subclass for footnotes and endnotes.
Definition:
txtftn.hxx:34
SwTextFootnote::SetSeqNo
void SetSeqNo(sal_uInt16 n)
Definition:
txtftn.hxx:65
SwTextFootnote::GetStartNode
const SwNodeIndex * GetStartNode() const
Definition:
txtftn.hxx:43
SwTextFootnote::m_oStartNode
std::optional< SwNodeIndex > m_oStartNode
Definition:
txtftn.hxx:35
SwTextFootnote::ChgTextNode
void ChgTextNode(SwTextNode *pNew)
Definition:
txtftn.hxx:50
SwTextFootnote::m_nSeqNo
sal_uInt16 m_nSeqNo
Definition:
txtftn.hxx:37
SwTextFootnote::GetTextNode
const SwTextNode & GetTextNode() const
Definition:
txtftn.hxx:72
SwTextFootnote::m_pTextNode
SwTextNode * m_pTextNode
Definition:
txtftn.hxx:36
SwTextFootnote::GetSeqRefNo
sal_uInt16 GetSeqRefNo() const
Definition:
txtftn.hxx:66
SwTextNode
SwTextNode is a paragraph in the document model.
Definition:
ndtxt.hxx:112
xmlTextWriterPtr
struct _xmlTextWriter * xmlTextWriterPtr
n
sal_Int64 n
ndindex.hxx
SW_DLLPUBLIC
#define SW_DLLPUBLIC
Definition:
swdllapi.h:28
txatbase.hxx
Generated on Sun Jul 30 2023 04:28:05 for LibreOffice Module sw (master) by
1.9.3