LibreOffice Module sw (master)
1
sw
inc
ToxTabStopTokenHandler.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
10
11
#ifndef TOXTABSTOPTOKENHANDLER_HXX_
12
#define TOXTABSTOPTOKENHANDLER_HXX_
13
14
#include <rtl/ustring.hxx>
15
16
#include <
editeng/tstpitem.hxx
>
17
#include "
nodeoffset.hxx
"
18
19
struct
SwFormToken
;
20
class
SwPageDesc
;
21
class
SwRootFrame
;
22
class
SwTextNode
;
23
24
namespace
sw
{
25
31
class
ToxTabStopTokenHandler
32
{
33
public
:
34
virtual
~ToxTabStopTokenHandler
() {}
35
37
struct
HandledTabStopToken
{
38
OUString
text
;
39
SvxTabStop
tabStop
;
40
};
41
47
virtual
HandledTabStopToken
48
HandleTabStopToken
(
const
SwFormToken
& aToken,
const
SwTextNode
& targetNode,
49
const
SwRootFrame
*currentLayout)
const
= 0;
50
};
51
53
class
DefaultToxTabStopTokenHandler
final :
public
ToxTabStopTokenHandler
54
{
55
public
:
56
57
enum
TabStopReferencePolicy
{
TABSTOPS_RELATIVE_TO_INDENT
,
TABSTOPS_RELATIVE_TO_PAGE
};
58
74
DefaultToxTabStopTokenHandler
(
SwNodeOffset
indexOfSectionNode,
const
SwPageDesc
& defaultPageDescription,
75
bool
tabPositionIsRelativeToParagraphIndent,
76
TabStopReferencePolicy
referencePolicy);
77
85
ToxTabStopTokenHandler::HandledTabStopToken
86
HandleTabStopToken
(
const
SwFormToken
& aToken,
const
SwTextNode
& targetNode,
87
const
SwRootFrame
*currentLayout)
const override
;
88
89
private
:
94
static
bool
95
CanUseLayoutRectangle
(
const
SwTextNode
& targetNode,
const
SwRootFrame
*currentLayout);
96
101
tools::Long
102
CalculatePageMarginFromPageDescription
(
const
SwTextNode
& targetNode)
const
;
103
104
SwNodeOffset
mIndexOfSectionNode
;
105
const
SwPageDesc
&
mDefaultPageDescription
;
106
bool
mTabPositionIsRelativeToParagraphIndent
;
107
TabStopReferencePolicy
mTabStopReferencePolicy
;
108
};
109
110
}
111
112
#endif
/* TOXTABSTOPTOKENHANDLER_HXX_ */
113
114
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SvxTabStop
SwPageDesc
Definition:
pagedesc.hxx:140
SwRootFrame
The root element of a Writer document layout.
Definition:
rootfrm.hxx:85
SwTextNode
SwTextNode is a paragraph in the document model.
Definition:
ndtxt.hxx:112
sw::DefaultToxTabStopTokenHandler
The default implementation of ToxTabStopTokenHandler.
Definition:
ToxTabStopTokenHandler.hxx:54
sw::DefaultToxTabStopTokenHandler::TabStopReferencePolicy
TabStopReferencePolicy
Definition:
ToxTabStopTokenHandler.hxx:57
sw::DefaultToxTabStopTokenHandler::TABSTOPS_RELATIVE_TO_PAGE
@ TABSTOPS_RELATIVE_TO_PAGE
Definition:
ToxTabStopTokenHandler.hxx:57
sw::DefaultToxTabStopTokenHandler::TABSTOPS_RELATIVE_TO_INDENT
@ TABSTOPS_RELATIVE_TO_INDENT
Definition:
ToxTabStopTokenHandler.hxx:57
sw::DefaultToxTabStopTokenHandler::mTabPositionIsRelativeToParagraphIndent
bool mTabPositionIsRelativeToParagraphIndent
Definition:
ToxTabStopTokenHandler.hxx:106
sw::DefaultToxTabStopTokenHandler::CanUseLayoutRectangle
static bool CanUseLayoutRectangle(const SwTextNode &targetNode, const SwRootFrame *currentLayout)
Test whether the page layout can be obtained by a layout rectangle.
Definition:
ToxTabStopTokenHandler.cxx:110
sw::DefaultToxTabStopTokenHandler::mTabStopReferencePolicy
TabStopReferencePolicy mTabStopReferencePolicy
Definition:
ToxTabStopTokenHandler.hxx:107
sw::DefaultToxTabStopTokenHandler::DefaultToxTabStopTokenHandler
DefaultToxTabStopTokenHandler(SwNodeOffset indexOfSectionNode, const SwPageDesc &defaultPageDescription, bool tabPositionIsRelativeToParagraphIndent, TabStopReferencePolicy referencePolicy)
Definition:
ToxTabStopTokenHandler.cxx:29
sw::DefaultToxTabStopTokenHandler::mIndexOfSectionNode
SwNodeOffset mIndexOfSectionNode
Definition:
ToxTabStopTokenHandler.hxx:104
sw::DefaultToxTabStopTokenHandler::HandleTabStopToken
ToxTabStopTokenHandler::HandledTabStopToken HandleTabStopToken(const SwFormToken &aToken, const SwTextNode &targetNode, const SwRootFrame *currentLayout) const override
Handle a tab stop token.
Definition:
ToxTabStopTokenHandler.cxx:42
sw::DefaultToxTabStopTokenHandler::CalculatePageMarginFromPageDescription
tools::Long CalculatePageMarginFromPageDescription(const SwTextNode &targetNode) const
Calculate the page margin from the page description.
Definition:
ToxTabStopTokenHandler.cxx:90
sw::DefaultToxTabStopTokenHandler::mDefaultPageDescription
const SwPageDesc & mDefaultPageDescription
Definition:
ToxTabStopTokenHandler.hxx:105
sw::ToxTabStopTokenHandler
This class handles tab stop tokens in the pattern for tox entries.
Definition:
ToxTabStopTokenHandler.hxx:32
sw::ToxTabStopTokenHandler::~ToxTabStopTokenHandler
virtual ~ToxTabStopTokenHandler()
Definition:
ToxTabStopTokenHandler.hxx:34
sw::ToxTabStopTokenHandler::HandleTabStopToken
virtual HandledTabStopToken HandleTabStopToken(const SwFormToken &aToken, const SwTextNode &targetNode, const SwRootFrame *currentLayout) const =0
Handle a tab stop token.
sw
Dialog to specify the properties of date form field.
Definition:
AccessibilityCheck.cxx:48
tools::Long
long Long
nodeoffset.hxx
SwFormToken
Definition:
tox.hxx:244
o3tl::strong_int< sal_Int32, struct Tag_SwNodeOffset >
sw::ToxTabStopTokenHandler::HandledTabStopToken
Return value of HandleTabStopToken.
Definition:
ToxTabStopTokenHandler.hxx:37
sw::ToxTabStopTokenHandler::HandledTabStopToken::tabStop
SvxTabStop tabStop
Definition:
ToxTabStopTokenHandler.hxx:39
sw::ToxTabStopTokenHandler::HandledTabStopToken::text
OUString text
Definition:
ToxTabStopTokenHandler.hxx:38
tstpitem.hxx
Generated on Sun Jul 30 2023 04:28:05 for LibreOffice Module sw (master) by
1.9.3