LibreOffice Module sw (master)  1
hhcwrp.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_HHCWRP_HXX
20 #define INCLUDED_SW_INC_HHCWRP_HXX
21 
22 #include <editeng/hangulhanja.hxx>
23 #include <editeng/svxenum.hxx>
24 #include <vcl/vclptr.hxx>
25 #include <vcl/window.hxx>
26 #include "swdllapi.h"
27 
28 class SwView;
29 class SwWrtShell;
30 struct SwConversionArgs;
31 class SwPaM;
32 
34 {
38 
39  std::unique_ptr<SwConversionArgs> m_pConvArgs;
42  sal_Int32 m_nLastPos;
45  sal_Int32 m_nUnitOffset;
46 
47  sal_uInt16 m_nPageCount;
48  sal_uInt16 m_nPageStart;
49 
53  bool const m_bIsSelection;
55  bool m_bEndDone;
56 
58  bool ConvNext_impl();
59  void FindConvText_impl();
60 
61  void ConvStart_impl( SwConversionArgs *pConvArgs, SvxSpellArea eSpell );
62  void ConvEnd_impl( SwConversionArgs const *pConvArgs );
63  bool ConvContinue_impl( SwConversionArgs *pConvArgs );
64 
65  void SelectNewUnit_impl( const sal_Int32 nUnitStart,
66  const sal_Int32 nUnitEnd );
67  void ChangeText( const OUString &rNewText,
68  const OUString& rOrigText,
69  const css::uno::Sequence< sal_Int32 > *pOffsets,
70  SwPaM *pCursor );
71  void ChangeText_impl( const OUString &rNewText, bool bKeepAttributes );
72 
73 protected:
74  virtual void GetNextPortion( OUString& rNextPortion,
75  LanguageType& rLangOfPortion,
76  bool bAllowImplicitChangesForNotConvertibleText ) override;
77  virtual void HandleNewUnit( const sal_Int32 nUnitStart,
78  const sal_Int32 nUnitEnd ) override;
79  virtual void ReplaceUnit(
80  const sal_Int32 nUnitStart, const sal_Int32 nUnitEnd,
81  const OUString& rOrigText,
82  const OUString& rReplaceWith,
83  const css::uno::Sequence< sal_Int32 > &rOffsets,
84  ReplacementAction eAction,
85  LanguageType *pNewUnitLanguage ) override;
86 
87  virtual bool HasRubySupport() const override;
88 
89 public:
91  SwView* pView,
92  const css::uno::Reference< css::uno::XComponentContext >& rxContext,
93  LanguageType nSourceLanguage, LanguageType nTargetLanguage,
94  const vcl::Font *pTargetFont,
95  sal_Int32 nConvOptions, bool bIsInteractive,
96  bool bStart, bool bOther, bool bSelection );
97 
98  virtual ~SwHHCWrapper() override;
99 
100  void Convert();
101 };
102 
103 #endif
104 
105 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual void HandleNewUnit(const sal_Int32 _nUnitStart, const sal_Int32 _nUnitEnd)=0
SwWrtShell & m_rWrtShell
Definition: hhcwrp.hxx:37
bool const m_bIsSelection
true if only the selected text should be converted
Definition: hhcwrp.hxx:53
virtual void GetNextPortion(OUString &_rNextPortion, LanguageType &_rLangOfPortion, bool _bAllowImplicitChangesForNotConvertibleText)=0
Used by the UI to modify the document model.
Definition: wrtsh.hxx:88
sal_Int32 m_nLastPos
starting position of the last found text part (needs to be sth that gets not moved like SwPaM or SwPo...
Definition: hhcwrp.hxx:42
bool m_bStartDone
Definition: hhcwrp.hxx:54
PaM is Point and Mark: a selection of the document model.
Definition: pam.hxx:136
SwView * m_pView
Definition: hhcwrp.hxx:35
sal_uInt16 m_nPageStart
first checked page
Definition: hhcwrp.hxx:48
sal_Int32 m_nUnitOffset
Definition: hhcwrp.hxx:45
VclPtr< vcl::Window > m_pWin
Definition: hhcwrp.hxx:36
bool m_bEndDone
Definition: hhcwrp.hxx:55
#define SW_DLLPUBLIC
Definition: swdllapi.h:28
bool m_bStartChk
Definition: hhcwrp.hxx:52
bool m_bIsDrawObj
Definition: hhcwrp.hxx:50
SvxSpellArea
virtual void ReplaceUnit(const sal_Int32 _nUnitStart, const sal_Int32 _nUnitEnd, const OUString &_rOrigText, const OUString &_rReplaceWith, const css::uno::Sequence< sal_Int32 > &_rOffsets, ReplacementAction _eAction, LanguageType *pNewUnitLanguage)=0
sal_uInt16 m_nPageCount
page count for progress bar
Definition: hhcwrp.hxx:47
bool m_bIsOtherContent
Definition: hhcwrp.hxx:51
virtual bool HasRubySupport() const =0
std::unique_ptr< SwConversionArgs > m_pConvArgs
object for arguments (and results) needed to find of next convertible text portion ...
Definition: hhcwrp.hxx:39
Definition: view.hxx:146