LibreOffice Module sw (master) 1
unosrch.cxx
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
20#include <hintids.hxx>
21#include <unosrch.hxx>
22#include <unomap.hxx>
23#include <swtypes.hxx>
24
25#include <osl/diagnose.h>
28#include <o3tl/any.hxx>
29#include <vcl/svapp.hxx>
30#include <com/sun/star/util/SearchAlgorithms2.hpp>
31#include <com/sun/star/util/SearchFlags.hpp>
32#include <com/sun/star/beans/PropertyAttribute.hpp>
35#include <svl/itemprop.hxx>
36#include <svl/itempool.hxx>
37#include <memory>
38#include <unordered_map>
39
40using namespace ::com::sun::star;
41
43{
44 std::unordered_map<OUString, beans::PropertyValue> maValues;
46
49
50public:
52
56 void SetProperties(const uno::Sequence< beans::PropertyValue >& aSearchAttribs);
57 uno::Sequence< beans::PropertyValue > GetProperties() const;
58
59 void FillItemSet(SfxItemSet& rSet, bool bIsValueSearch) const;
60 bool HasAttributes() const;
61};
62
64 mrMap( aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_CURSOR)->getPropertyMap() )
65{
66}
67
68void SwSearchProperties_Impl::SetProperties(const uno::Sequence< beans::PropertyValue >& aSearchAttribs)
69{
70 //delete all existing values
71 maValues.clear();
72
73 for(const beans::PropertyValue& rSearchAttrib : aSearchAttribs)
74 {
75 const OUString& sName = rSearchAttrib.Name;
77 throw beans::UnknownPropertyException(sName);
78 maValues[sName] = rSearchAttrib;
79 }
80}
81
82uno::Sequence< beans::PropertyValue > SwSearchProperties_Impl::GetProperties() const
83{
84 uno::Sequence< beans::PropertyValue > aRet(maValues.size());
85 beans::PropertyValue* pProps = aRet.getArray();
86 sal_Int32 nPropCount = 0;
87 for(auto const & rPair : maValues)
88 {
89 pProps[nPropCount++] = rPair.second;
90 }
91 return aRet;
92}
93
94void SwSearchProperties_Impl::FillItemSet(SfxItemSet& rSet, bool bIsValueSearch) const
95{
96
97 std::unique_ptr<SfxPoolItem> pBoxItem,
98 pCharBoxItem,
99 pBreakItem,
100 pAutoKernItem ,
101 pWLineItem ,
102 pTabItem ,
103 pSplitItem ,
104 pRegItem ,
105 pLineSpaceItem ,
106 pLineNumItem ,
107 pKeepItem ,
108 pFirstLineIndent,
109 pTextLeftMargin,
110 pRightMargin,
111 pLRItem ,
112 pULItem ,
113 pBackItem ,
114 pAdjItem ,
115 pDescItem ,
116 pInetItem ,
117 pDropItem ,
118 pWeightItem ,
119 pULineItem ,
120 pOLineItem ,
121 pCharFormatItem ,
122 pShadItem ,
123 pPostItem ,
124 pNHyphItem ,
125 pLangItem ,
126 pKernItem ,
127 pFontSizeItem ,
128 pFontItem ,
129 pBlinkItem ,
130 pEscItem ,
131 pCrossedOutItem ,
132 pContourItem ,
133 pCharColorItem ,
134 pCasemapItem ,
135 pBrushItem ,
136 pFontCJKItem,
137 pFontSizeCJKItem,
138 pCJKLangItem,
139 pCJKPostureItem,
140 pCJKWeightItem,
141 pFontCTLItem,
142 pFontSizeCTLItem,
143 pCTLLangItem,
144 pCTLPostureItem,
145 pCTLWeightItem,
146 pShadowItem,
147 pCharReliefItem,
148 pCharRotate,
149 pCharScaleWidth,
150 pParaVertAlign,
151 pParaOrphans,
152 pParaWidows;
153
154 auto funcClone = [&rSet](sal_uInt16 nWID, std::unique_ptr<SfxPoolItem> & rpPoolItem)
155 {
156 if(!rpPoolItem)
157 rpPoolItem.reset(rSet.GetPool()->GetDefaultItem(nWID).Clone());
158 return rpPoolItem.get();
159 };
160 for(auto const & rPair : maValues)
161 {
162 SfxPoolItem* pTempItem = nullptr;
163 const SfxItemPropertyMapEntry* pPropEntry = mrMap.getByName(rPair.first);
164 assert(pPropEntry && "SetProperties only enters values into maValues if mrMap.hasPropertyByName() was true");
165 const SfxItemPropertyMapEntry & rPropEntry = *pPropEntry;
166 sal_uInt16 nWID = rPropEntry.nWID;
167 switch(nWID)
168 {
169 case RES_BOX:
170 pTempItem = funcClone(nWID, pBoxItem);
171 break;
172 case RES_CHRATR_BOX:
173 pTempItem = funcClone(nWID, pCharBoxItem);
174 break;
175 case RES_BREAK:
176 pTempItem = funcClone(nWID, pBreakItem);
177 break;
179 pTempItem = funcClone(nWID, pAutoKernItem);
180 break;
182 pTempItem = funcClone(nWID, pBrushItem);
183 break;
185 pTempItem = funcClone(nWID, pCasemapItem);
186 break;
187 case RES_CHRATR_COLOR:
188 pTempItem = funcClone(nWID, pCharColorItem);
189 break;
191 pTempItem = funcClone(nWID, pContourItem);
192 break;
194 pTempItem = funcClone(nWID, pCrossedOutItem);
195 break;
197 pTempItem = funcClone(nWID, pEscItem);
198 break;
199 case RES_CHRATR_BLINK:
200 pTempItem = funcClone(nWID, pBlinkItem);
201 break;
202 case RES_CHRATR_FONT:
203 pTempItem = funcClone(nWID, pFontItem);
204 break;
206 pTempItem = funcClone(nWID, pFontSizeItem);
207 break;
209 pTempItem = funcClone(nWID, pKernItem);
210 break;
212 pTempItem = funcClone(nWID, pLangItem);
213 break;
215 pTempItem = funcClone(nWID, pNHyphItem);
216 break;
218 pTempItem = funcClone(nWID, pPostItem);
219 break;
221 pTempItem = funcClone(nWID, pShadItem);
222 break;
224 pTempItem = funcClone(nWID, pCharFormatItem);
225 break;
227 pTempItem = funcClone(nWID, pULineItem);
228 break;
230 pTempItem = funcClone(nWID, pOLineItem);
231 break;
233 pTempItem = funcClone(nWID, pWeightItem);
234 break;
235 case RES_PARATR_DROP:
236 pTempItem = funcClone(nWID, pDropItem);
237 break;
239 pTempItem = funcClone(nWID, pInetItem);
240 break;
241 case RES_PAGEDESC:
242 pTempItem = funcClone(nWID, pDescItem);
243 break;
245 pTempItem = funcClone(nWID, pAdjItem);
246 break;
247 case RES_BACKGROUND:
248 pTempItem = funcClone(nWID, pBackItem);
249 break;
250 case RES_UL_SPACE:
251 pTempItem = funcClone(nWID, pULItem);
252 break;
254 pTempItem = funcClone(nWID, pFirstLineIndent);
255 break;
257 pTempItem = funcClone(nWID, pTextLeftMargin);
258 break;
259 case RES_MARGIN_RIGHT:
260 pTempItem = funcClone(nWID, pRightMargin);
261 break;
262 case RES_LR_SPACE:
263 pTempItem = funcClone(nWID, pLRItem);
264 break;
265 case RES_KEEP:
266 pTempItem = funcClone(nWID, pKeepItem);
267 break;
268 case RES_LINENUMBER:
269 pTempItem = funcClone(nWID, pLineNumItem);
270 break;
272 pTempItem = funcClone(nWID, pLineSpaceItem);
273 break;
275 pTempItem = funcClone(nWID, pRegItem);
276 break;
277 case RES_PARATR_SPLIT:
278 pTempItem = funcClone(nWID, pSplitItem);
279 break;
281 pTempItem = funcClone(nWID, pTabItem);
282 break;
284 pTempItem = funcClone(nWID, pWLineItem);
285 break;
287 pTempItem = funcClone(nWID, pFontCJKItem);
288 break;
290 pTempItem = funcClone(nWID, pFontSizeCJKItem);
291 break;
293 pTempItem = funcClone(nWID, pCJKLangItem);
294 break;
296 pTempItem = funcClone(nWID, pCJKPostureItem);
297 break;
299 pTempItem = funcClone(nWID, pCJKWeightItem);
300 break;
302 pTempItem = funcClone(nWID, pFontCTLItem);
303 break;
305 pTempItem = funcClone(nWID, pFontSizeCTLItem);
306 break;
308 pTempItem = funcClone(nWID, pCTLLangItem);
309 break;
311 pTempItem = funcClone(nWID, pCTLPostureItem);
312 break;
314 pTempItem = funcClone(nWID, pCTLWeightItem);
315 break;
317 pTempItem = funcClone(nWID, pShadowItem);
318 break;
320 pTempItem = funcClone(nWID, pCharReliefItem);
321 break;
323 pTempItem = funcClone(nWID, pCharRotate);
324 break;
326 pTempItem = funcClone(nWID, pCharScaleWidth);
327 break;
329 pTempItem = funcClone(nWID, pParaVertAlign);
330 break;
332 pTempItem = funcClone(nWID, pParaOrphans);
333 break;
335 pTempItem = funcClone(nWID, pParaWidows);
336 break;
337 }
338 if(pTempItem)
339 {
340 if(bIsValueSearch)
341 {
342 pTempItem->PutValue(rPair.second.Value, rPropEntry.nMemberId);
343 rSet.Put(*pTempItem);
344 }
345 else
346 rSet.InvalidateItem( pTempItem->Which() );
347 }
348 }
349}
350
352{
353 return !maValues.empty();
354}
355
357 m_pSearchProperties( new SwSearchProperties_Impl),
358 m_pReplaceProperties( new SwSearchProperties_Impl),
359 m_pPropSet(aSwMapProvider.GetPropertySet(PROPERTY_MAP_TEXT_SEARCH)),
360 m_bAll(false),
361 m_bWord(false),
362 m_bBack(false),
363 m_bExpr(false),
364 m_bCase(false),
365 m_bStyles(false),
366 m_bSimilarity(false),
367 m_bLevRelax(false),
368 m_nLevExchange(2),
369 m_nLevAdd(2),
370 m_nLevRemove(2),
371 m_bIsValueSearch(true)
372{
373}
374
376{
377 m_pSearchProperties.reset();
378 m_pReplaceProperties.reset();
379}
380
381namespace
382{
383}
384
386{
387 SolarMutexGuard aGuard;
388 return m_sSearchText;
389}
390
391void SwXTextSearch::setSearchString(const OUString& rString)
392{
393 SolarMutexGuard aGuard;
394 m_sSearchText = rString;
395}
396
398{
399 SolarMutexGuard aGuard;
400 return m_sReplaceText;
401}
402
403void SwXTextSearch::setReplaceString(const OUString& rReplaceString)
404{
405 SolarMutexGuard aGuard;
406 m_sReplaceText = rReplaceString;
407}
408
409uno::Reference< beans::XPropertySetInfo > SwXTextSearch::getPropertySetInfo()
410{
411 static uno::Reference< beans::XPropertySetInfo > aRef = m_pPropSet->getPropertySetInfo();
412 return aRef;
413}
414
415void SwXTextSearch::setPropertyValue(const OUString& rPropertyName, const uno::Any& aValue)
416{
417 SolarMutexGuard aGuard;
418 const SfxItemPropertyMapEntry* pEntry = m_pPropSet->getPropertyMap().getByName(rPropertyName);
419 if(!pEntry)
420 throw beans::UnknownPropertyException("Unknown property: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
421
422 if ( pEntry->nFlags & beans::PropertyAttribute::READONLY)
423 throw beans::PropertyVetoException ("Property is read-only: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
424 bool bVal = false;
425 if(auto b = o3tl::tryAccess<bool>(aValue))
426 bVal = *b;
427 switch(pEntry->nWID)
428 {
429 case WID_SEARCH_ALL : m_bAll = bVal; break;
430 case WID_WORDS: m_bWord = bVal; break;
431 case WID_BACKWARDS : m_bBack = bVal; break;
432 case WID_REGULAR_EXPRESSION : m_bExpr = bVal; break;
433 case WID_CASE_SENSITIVE : m_bCase = bVal; break;
434 //case WID_IN_SELECTION : bInSel = bVal; break;
435 case WID_STYLES : m_bStyles = bVal; break;
436 case WID_SIMILARITY : m_bSimilarity = bVal; break;
437 case WID_SIMILARITY_RELAX: m_bLevRelax = bVal; break;
438 case WID_SIMILARITY_EXCHANGE: aValue >>= m_nLevExchange; break;
439 case WID_SIMILARITY_ADD: aValue >>= m_nLevAdd; break;
440 case WID_SIMILARITY_REMOVE : aValue >>= m_nLevRemove;break;
441 };
442
443}
444
445uno::Any SwXTextSearch::getPropertyValue(const OUString& rPropertyName)
446{
447 SolarMutexGuard aGuard;
448 uno::Any aRet;
449
450 const SfxItemPropertyMapEntry* pEntry = m_pPropSet->getPropertyMap().getByName(rPropertyName);
451 bool bSet = false;
452 if(!pEntry)
453 throw beans::UnknownPropertyException("Unknown property: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
454
455 sal_Int16 nSet = 0;
456 switch(pEntry->nWID)
457 {
458 case WID_SEARCH_ALL : bSet = m_bAll; goto SET_BOOL;
459 case WID_WORDS: bSet = m_bWord; goto SET_BOOL;
460 case WID_BACKWARDS : bSet = m_bBack; goto SET_BOOL;
461 case WID_REGULAR_EXPRESSION : bSet = m_bExpr; goto SET_BOOL;
462 case WID_CASE_SENSITIVE : bSet = m_bCase; goto SET_BOOL;
463 //case WID_IN_SELECTION : bSet = bInSel; goto SET_BOOL;
464 case WID_STYLES : bSet = m_bStyles; goto SET_BOOL;
465 case WID_SIMILARITY : bSet = m_bSimilarity; goto SET_BOOL;
467SET_BOOL:
468 aRet <<= bSet;
469 break;
470 case WID_SIMILARITY_EXCHANGE: nSet = m_nLevExchange; goto SET_UINT16;
471 case WID_SIMILARITY_ADD: nSet = m_nLevAdd; goto SET_UINT16;
473SET_UINT16:
474 aRet <<= nSet;
475 break;
476 }
477
478 return aRet;
479}
480
481void SwXTextSearch::addPropertyChangeListener(const OUString& /*rPropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*xListener*/)
482{
483 OSL_FAIL("not implemented");
484}
485
486void SwXTextSearch::removePropertyChangeListener(const OUString& /*rPropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*xListener*/)
487{
488 OSL_FAIL("not implemented");
489}
490
491void SwXTextSearch::addVetoableChangeListener(const OUString& /*rPropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*xListener*/)
492{
493 OSL_FAIL("not implemented");
494}
495
496void SwXTextSearch::removeVetoableChangeListener(const OUString& /*rPropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*xListener*/)
497{
498 OSL_FAIL("not implemented");
499}
500
502{
503 SolarMutexGuard aGuard;
504 return m_bIsValueSearch;
505}
506
508{
509 SolarMutexGuard aGuard;
510 m_bIsValueSearch = ValueSearch_;
511}
512
513uno::Sequence< beans::PropertyValue > SwXTextSearch::getSearchAttributes()
514{
515 return m_pSearchProperties->GetProperties();
516}
517
518void SwXTextSearch::setSearchAttributes(const uno::Sequence< beans::PropertyValue >& rSearchAttribs)
519{
520 m_pSearchProperties->SetProperties(rSearchAttribs);
521}
522
523uno::Sequence< beans::PropertyValue > SwXTextSearch::getReplaceAttributes()
524{
525 return m_pReplaceProperties->GetProperties();
526}
527
528void SwXTextSearch::setReplaceAttributes(const uno::Sequence< beans::PropertyValue >& rReplaceAttribs)
529{
530 m_pReplaceProperties->SetProperties(rReplaceAttribs);
531}
532
534{
536}
537
539{
541}
542
544{
545 return m_pSearchProperties->HasAttributes();
546}
547
549{
550 return m_pReplaceProperties->HasAttributes();
551}
552
554{
555 return "SwXTextSearch";
556}
557
558sal_Bool SwXTextSearch::supportsService(const OUString& rServiceName)
559{
560 return cppu::supportsService(this, rServiceName);
561}
562
564{
565 return { "com.sun.star.util.SearchDescriptor", "com.sun.star.util.ReplaceDescriptor" };
566}
567
569{
570 if( m_bSimilarity )
571 {
572 rSearchOpt.AlgorithmType2 = util::SearchAlgorithms2::APPROXIMATE;
573 rSearchOpt.changedChars = m_nLevExchange;
574 rSearchOpt.deletedChars = m_nLevRemove;
575 rSearchOpt.insertedChars = m_nLevAdd;
576 if( m_bLevRelax )
577 rSearchOpt.searchFlag |= util::SearchFlags::LEV_RELAXED;
578 }
579 else if( m_bExpr )
580 {
581 rSearchOpt.AlgorithmType2 = util::SearchAlgorithms2::REGEXP;
582 }
583 else
584 {
585 rSearchOpt.AlgorithmType2 = util::SearchAlgorithms2::ABSOLUTE;
586 }
587
588 rSearchOpt.Locale = GetAppLanguageTag().getLocale();
589 rSearchOpt.searchString = m_sSearchText;
590 rSearchOpt.replaceString = m_sReplaceText;
591
592 if( !m_bCase )
593 rSearchOpt.transliterateFlags |= TransliterationFlags::IGNORE_CASE;
594 if( m_bWord )
595 rSearchOpt.searchFlag |= util::SearchFlags::NORM_WORD_ONLY;
596
597// bInSel: 1; // How is that possible?
598// TODO: pSearch->bStyles!
599// inSelection??
600// aSrchParam.SetSrchInSelection(TypeConversion::toBOOL(aVal));
601}
602
603/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
const css::lang::Locale & getLocale(bool bResolveSystem=true) const
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
const SfxItemPropertyMapEntry * getByName(std::u16string_view rName) const
bool hasPropertyByName(std::u16string_view rName) const
const SfxItemPropertyMap & getPropertyMap() const
css::uno::Reference< css::beans::XPropertySetInfo > const & getPropertySetInfo() const
SfxItemPool * GetPool() const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void InvalidateItem(sal_uInt16 nWhich)
sal_uInt16 Which() const
virtual bool PutValue(const css::uno::Any &rVal, sal_uInt8 nMemberId)
virtual SfxPoolItem * Clone(SfxItemPool *pPool=nullptr) const=0
void SetProperties(const uno::Sequence< beans::PropertyValue > &aSearchAttribs)
Definition: unosrch.cxx:68
void FillItemSet(SfxItemSet &rSet, bool bIsValueSearch) const
Definition: unosrch.cxx:94
uno::Sequence< beans::PropertyValue > GetProperties() const
Definition: unosrch.cxx:82
SwSearchProperties_Impl & operator=(const SwSearchProperties_Impl &)=delete
SfxItemPropertyMap mrMap
Definition: unosrch.cxx:45
std::unordered_map< OUString, beans::PropertyValue > maValues
Definition: unosrch.cxx:44
SwSearchProperties_Impl(const SwSearchProperties_Impl &)=delete
bool HasAttributes() const
Definition: unosrch.cxx:351
bool m_bStyles
Definition: unosrch.hxx:56
sal_Int16 m_nLevAdd
Definition: unosrch.hxx:60
void FillSearchItemSet(SfxItemSet &rSet) const
Definition: unosrch.cxx:533
void FillSearchOptions(i18nutil::SearchOptions2 &rSearchOpt) const
Definition: unosrch.cxx:568
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unosrch.cxx:563
virtual OUString SAL_CALL getImplementationName() override
Definition: unosrch.cxx:553
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
Definition: unosrch.cxx:415
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unosrch.cxx:491
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
Definition: unosrch.cxx:481
bool m_bBack
Definition: unosrch.hxx:53
bool m_bSimilarity
Definition: unosrch.hxx:57
virtual OUString SAL_CALL getSearchString() override
Definition: unosrch.cxx:385
sal_Int16 m_nLevExchange
Definition: unosrch.hxx:59
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: unosrch.cxx:409
void FillReplaceItemSet(SfxItemSet &rSet) const
Definition: unosrch.cxx:538
virtual ~SwXTextSearch() override
Definition: unosrch.cxx:375
bool HasReplaceAttributes() const
Definition: unosrch.cxx:548
bool m_bExpr
Definition: unosrch.hxx:54
virtual sal_Bool SAL_CALL getValueSearch() override
Definition: unosrch.cxx:501
virtual void SAL_CALL setValueSearch(sal_Bool ValueSearch_) override
Definition: unosrch.cxx:507
OUString m_sReplaceText
Definition: unosrch.hxx:45
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unosrch.cxx:496
bool m_bCase
Definition: unosrch.hxx:55
bool HasSearchAttributes() const
Definition: unosrch.cxx:543
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getSearchAttributes() override
Definition: unosrch.cxx:513
bool m_bWord
Definition: unosrch.hxx:52
std::unique_ptr< SwSearchProperties_Impl > m_pSearchProperties
Definition: unosrch.hxx:47
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unosrch.cxx:558
virtual void SAL_CALL setSearchAttributes(const css::uno::Sequence< css::beans::PropertyValue > &aSearchAttribs) override
Definition: unosrch.cxx:518
virtual OUString SAL_CALL getReplaceString() override
Definition: unosrch.cxx:397
sal_Int16 m_nLevRemove
Definition: unosrch.hxx:61
bool m_bLevRelax
Definition: unosrch.hxx:58
std::unique_ptr< SwSearchProperties_Impl > m_pReplaceProperties
Definition: unosrch.hxx:48
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getReplaceAttributes() override
Definition: unosrch.cxx:523
const SfxItemPropertySet * m_pPropSet
Definition: unosrch.hxx:50
virtual void SAL_CALL setSearchString(const OUString &aString) override
Definition: unosrch.cxx:391
virtual void SAL_CALL setReplaceString(const OUString &aReplaceString) override
Definition: unosrch.cxx:403
bool m_bIsValueSearch
Definition: unosrch.hxx:63
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
Definition: unosrch.cxx:486
virtual void SAL_CALL setReplaceAttributes(const css::uno::Sequence< css::beans::PropertyValue > &aSearchAttribs) override
Definition: unosrch.cxx:528
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
Definition: unosrch.cxx:445
OUString m_sSearchText
Definition: unosrch.hxx:44
OUString sName
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CTL_FONTSIZE(28)
constexpr TypedWhichId< SvxCrossedOutItem > RES_CHRATR_CROSSEDOUT(5)
constexpr TypedWhichId< SvxFormatKeepItem > RES_KEEP(116)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_CJK_FONT(22)
constexpr TypedWhichId< SvxUnderlineItem > RES_CHRATR_UNDERLINE(14)
constexpr TypedWhichId< SvxAutoKernItem > RES_CHRATR_AUTOKERN(17)
constexpr TypedWhichId< SvxShadowItem > RES_CHRATR_SHADOW(41)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_FONTSIZE(8)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_LANGUAGE(10)
constexpr TypedWhichId< SvxFirstLineIndentItem > RES_MARGIN_FIRSTLINE(91)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_WEIGHT(15)
constexpr TypedWhichId< SvxShadowedItem > RES_CHRATR_SHADOWED(13)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CTL_LANGUAGE(29)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CJK_FONTSIZE(23)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_CTL_FONT(27)
constexpr TypedWhichId< SwFormatINetFormat > RES_TXTATR_INETFMT(51)
constexpr TypedWhichId< SwFormatPageDesc > RES_PAGEDESC(99)
constexpr TypedWhichId< SvxBrushItem > RES_BACKGROUND(111)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_CTL_WEIGHT(31)
constexpr TypedWhichId< SvxAdjustItem > RES_PARATR_ADJUST(64)
constexpr TypedWhichId< SvxContourItem > RES_CHRATR_CONTOUR(4)
constexpr TypedWhichId< SvxCharReliefItem > RES_CHRATR_RELIEF(36)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CJK_LANGUAGE(24)
constexpr TypedWhichId< SvxEscapementItem > RES_CHRATR_ESCAPEMENT(6)
constexpr TypedWhichId< SvxTabStopItem > RES_PARATR_TABSTOP(68)
constexpr TypedWhichId< SvxCharScaleWidthItem > RES_CHRATR_SCALEW(35)
constexpr TypedWhichId< SvxBrushItem > RES_CHRATR_BACKGROUND(21)
constexpr TypedWhichId< SvxCaseMapItem > RES_CHRATR_CASEMAP(RES_CHRATR_BEGIN)
constexpr TypedWhichId< SvxLineSpacingItem > RES_PARATR_LINESPACING(RES_PARATR_BEGIN)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_CTL_POSTURE(30)
constexpr TypedWhichId< SvxOrphansItem > RES_PARATR_ORPHANS(66)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_POSTURE(11)
constexpr TypedWhichId< SwFormatLineNumber > RES_LINENUMBER(122)
constexpr TypedWhichId< SwFormatCharFormat > RES_TXTATR_CHARFMT(52)
constexpr TypedWhichId< SvxBlinkItem > RES_CHRATR_BLINK(18)
constexpr TypedWhichId< SvxOverlineItem > RES_CHRATR_OVERLINE(38)
constexpr TypedWhichId< SvxParaVertAlignItem > RES_PARATR_VERTALIGN(76)
constexpr TypedWhichId< SvxWidowsItem > RES_PARATR_WIDOWS(67)
constexpr TypedWhichId< SvxCharRotateItem > RES_CHRATR_ROTATE(32)
constexpr TypedWhichId< SvxBoxItem > RES_BOX(112)
constexpr TypedWhichId< SvxFormatBreakItem > RES_BREAK(100)
constexpr TypedWhichId< SwFormatDrop > RES_PARATR_DROP(70)
constexpr TypedWhichId< SvxRightMarginItem > RES_MARGIN_RIGHT(93)
constexpr TypedWhichId< SvxTextLeftMarginItem > RES_MARGIN_TEXTLEFT(92)
constexpr TypedWhichId< SvxWordLineModeItem > RES_CHRATR_WORDLINEMODE(16)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_CJK_WEIGHT(26)
constexpr TypedWhichId< SvxKerningItem > RES_CHRATR_KERNING(9)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_FONT(7)
constexpr TypedWhichId< SvxFormatSplitItem > RES_PARATR_SPLIT(65)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_CJK_POSTURE(25)
constexpr TypedWhichId< SwRegisterItem > RES_PARATR_REGISTER(71)
constexpr TypedWhichId< SvxBoxItem > RES_CHRATR_BOX(40)
constexpr TypedWhichId< SvxColorItem > RES_CHRATR_COLOR(3)
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(97)
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(98)
constexpr TypedWhichId< SvxNoHyphenItem > RES_CHRATR_NOHYPHEN(19)
const LanguageTag & GetAppLanguageTag()
Definition: init.cxx:748
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
detail::Optional< bool >::type tryAccess< bool >(css::uno::Any const &any)
static SfxItemSet & rSet
TransliterationFlags transliterateFlags
css::lang::Locale Locale
unsigned char sal_Bool
SwUnoPropertyMapProvider aSwMapProvider
Definition: unomap1.cxx:88
#define PROPERTY_MAP_TEXT_CURSOR
Definition: unomap.hxx:28
#define WID_BACKWARDS
Definition: unomap.hxx:136
#define WID_SEARCH_ALL
Definition: unomap.hxx:146
#define WID_REGULAR_EXPRESSION
Definition: unomap.hxx:137
#define WID_STYLES
Definition: unomap.hxx:140
#define WID_SIMILARITY
Definition: unomap.hxx:141
#define WID_SIMILARITY_REMOVE
Definition: unomap.hxx:145
#define WID_SIMILARITY_RELAX
Definition: unomap.hxx:142
#define PROPERTY_MAP_TEXT_SEARCH
Definition: unomap.hxx:38
#define WID_SIMILARITY_ADD
Definition: unomap.hxx:144
#define WID_SIMILARITY_EXCHANGE
Definition: unomap.hxx:143
#define WID_CASE_SENSITIVE
Definition: unomap.hxx:138
#define WID_WORDS
Definition: unomap.hxx:135