LibreOffice Module sw (master) 1
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
27class SwTextNode;
28class SwTextAttr;
29class SfxPoolItem;
30
32{
33 const OUString& m_rText;
34 sal_Int32 m_nChgPos;
35 sal_uInt16 m_nCurScript;
37
38public:
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
50{
52 std::deque<const SwTextAttr*>
57 size_t m_nAttrPos;
58 sal_Int32 m_nChgPos;
59
60 void AddToStack( const SwTextAttr& rAttr );
61 void SearchNextChg();
62
63public:
64 SwLanguageIterator( const SwTextNode& rTextNd, sal_Int32 nStart );
65
66 bool Next();
67 sal_Int32 GetChgPos() const { return m_nChgPos; }
69 { return static_cast<const SvxLanguageItem&>(*m_pCurrentItem).GetValue(); }
70};
71
72#endif
73
74/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::deque< const SwTextAttr * > m_aStack
Definition: txatritr.hxx:53
SwScriptIterator m_aScriptIter
Definition: txatritr.hxx:51
SwLanguageIterator(const SwTextNode &rTextNd, sal_Int32 nStart)
Definition: txatritr.cxx:87
const SwTextNode & m_rTextNode
Definition: txatritr.hxx:54
sal_Int32 m_nChgPos
Definition: txatritr.hxx:58
LanguageType GetLanguage() const
Definition: txatritr.hxx:68
sal_Int32 GetChgPos() const
Definition: txatritr.hxx:67
const SfxPoolItem * m_pCurrentItem
Definition: txatritr.hxx:56
void AddToStack(const SwTextAttr &rAttr)
Definition: txatritr.cxx:147
const SfxPoolItem * m_pParaItem
Definition: txatritr.hxx:55
sal_uInt16 GetCurrScript() const
Definition: txatritr.hxx:44
sal_uInt16 m_nCurScript
Definition: txatritr.hxx:35
SwScriptIterator(const OUString &rStr, sal_Int32 nStart, bool bFrwrd=true)
Definition: txatritr.cxx:32
sal_Int32 GetScriptChgPos() const
Definition: txatritr.hxx:45
const OUString & GetText() const
Definition: txatritr.hxx:46
sal_Int32 m_nChgPos
Definition: txatritr.hxx:34
const OUString & m_rText
Definition: txatritr.hxx:33
A wrapper around SfxPoolItem to store the start position of (usually) a text portion,...
Definition: txatbase.hxx:44
SwTextNode is a paragraph in the document model.
Definition: ndtxt.hxx:112
constexpr sal_Int32 COMPLETE_STRING
Definition: swtypes.hxx:57