LibreOffice Module sw (master)
1
sw
inc
txatritr.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_TXATRITR_HXX
20
#define INCLUDED_SW_INC_TXATRITR_HXX
21
22
#include <
sal/types.h
>
23
#include <
editeng/langitem.hxx
>
24
#include "
swtypes.hxx
"
25
#include <deque>
26
27
class
SwTextNode
;
28
class
SwTextAttr
;
29
class
SfxPoolItem
;
30
31
class
SwScriptIterator
32
{
33
const
OUString&
m_rText
;
34
sal_Int32
m_nChgPos
;
35
sal_uInt16
m_nCurScript
;
36
bool
m_bForward
;
37
38
public
:
39
SwScriptIterator
(
const
OUString& rStr, sal_Int32 nStart,
40
bool
bFrwrd =
true
);
41
42
void
Next
();
43
44
sal_uInt16
GetCurrScript
()
const
{
return
m_nCurScript
; }
45
sal_Int32
GetScriptChgPos
()
const
{
return
(
m_nChgPos
== -1) ?
COMPLETE_STRING
:
m_nChgPos
; }
46
const
OUString&
GetText
()
const
{
return
m_rText
; }
47
};
48
49
class
SwLanguageIterator
50
{
51
SwScriptIterator
m_aScriptIter
;
52
std::deque<const SwTextAttr*>
53
m_aStack
;
54
const
SwTextNode
&
m_rTextNode
;
55
const
SfxPoolItem
*
m_pParaItem
;
56
const
SfxPoolItem
*
m_pCurrentItem
;
57
size_t
m_nAttrPos
;
58
sal_Int32
m_nChgPos
;
59
60
void
AddToStack
(
const
SwTextAttr
& rAttr );
61
void
SearchNextChg
();
62
63
public
:
64
SwLanguageIterator
(
const
SwTextNode
& rTextNd, sal_Int32 nStart );
65
66
bool
Next
();
67
sal_Int32
GetChgPos
()
const
{
return
m_nChgPos
; }
68
LanguageType
GetLanguage
()
const
69
{
return
static_cast<
const
SvxLanguageItem
&
>
(*m_pCurrentItem).GetValue(); }
70
};
71
72
#endif
73
74
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SfxPoolItem
SvxLanguageItem
SwLanguageIterator
Definition:
txatritr.hxx:50
SwLanguageIterator::m_aStack
std::deque< const SwTextAttr * > m_aStack
Definition:
txatritr.hxx:53
SwLanguageIterator::SearchNextChg
void SearchNextChg()
Definition:
txatritr.cxx:158
SwLanguageIterator::m_aScriptIter
SwScriptIterator m_aScriptIter
Definition:
txatritr.hxx:51
SwLanguageIterator::SwLanguageIterator
SwLanguageIterator(const SwTextNode &rTextNd, sal_Int32 nStart)
Definition:
txatritr.cxx:87
SwLanguageIterator::m_rTextNode
const SwTextNode & m_rTextNode
Definition:
txatritr.hxx:54
SwLanguageIterator::Next
bool Next()
Definition:
txatritr.cxx:98
SwLanguageIterator::m_nChgPos
sal_Int32 m_nChgPos
Definition:
txatritr.hxx:58
SwLanguageIterator::m_nAttrPos
size_t m_nAttrPos
Definition:
txatritr.hxx:57
SwLanguageIterator::GetLanguage
LanguageType GetLanguage() const
Definition:
txatritr.hxx:68
SwLanguageIterator::GetChgPos
sal_Int32 GetChgPos() const
Definition:
txatritr.hxx:67
SwLanguageIterator::m_pCurrentItem
const SfxPoolItem * m_pCurrentItem
Definition:
txatritr.hxx:56
SwLanguageIterator::AddToStack
void AddToStack(const SwTextAttr &rAttr)
Definition:
txatritr.cxx:147
SwLanguageIterator::m_pParaItem
const SfxPoolItem * m_pParaItem
Definition:
txatritr.hxx:55
SwScriptIterator
Definition:
txatritr.hxx:32
SwScriptIterator::GetCurrScript
sal_uInt16 GetCurrScript() const
Definition:
txatritr.hxx:44
SwScriptIterator::m_nCurScript
sal_uInt16 m_nCurScript
Definition:
txatritr.hxx:35
SwScriptIterator::SwScriptIterator
SwScriptIterator(const OUString &rStr, sal_Int32 nStart, bool bFrwrd=true)
Definition:
txatritr.cxx:32
SwScriptIterator::GetScriptChgPos
sal_Int32 GetScriptChgPos() const
Definition:
txatritr.hxx:45
SwScriptIterator::GetText
const OUString & GetText() const
Definition:
txatritr.hxx:46
SwScriptIterator::m_nChgPos
sal_Int32 m_nChgPos
Definition:
txatritr.hxx:34
SwScriptIterator::Next
void Next()
Definition:
txatritr.cxx:67
SwScriptIterator::m_bForward
bool m_bForward
Definition:
txatritr.hxx:36
SwScriptIterator::m_rText
const OUString & m_rText
Definition:
txatritr.hxx:33
SwTextAttr
A wrapper around SfxPoolItem to store the start position of (usually) a text portion,...
Definition:
txatbase.hxx:44
SwTextNode
SwTextNode is a paragraph in the document model.
Definition:
ndtxt.hxx:112
langitem.hxx
o3tl::strong_int< sal_uInt16, struct LanguageTypeTag >
swtypes.hxx
COMPLETE_STRING
constexpr sal_Int32 COMPLETE_STRING
Definition:
swtypes.hxx:57
types.h
Generated on Sun Jul 30 2023 04:28:05 for LibreOffice Module sw (master) by
1.9.3