LibreOffice Module editeng (master) 1
unonrule.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 <sal/config.h>
21
22#include <com/sun/star/awt/FontDescriptor.hpp>
23#include <com/sun/star/beans/PropertyValue.hpp>
24#include <com/sun/star/lang/IllegalArgumentException.hpp>
25#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
26#include <com/sun/star/text/HoriOrientation.hpp>
27#include <com/sun/star/awt/XBitmap.hpp>
28#include <com/sun/star/graphic/XGraphic.hpp>
31#include <utility>
32#include <vcl/font.hxx>
33#include <vcl/svapp.hxx>
34#include <vcl/graph.hxx>
35#include <vcl/GraphicObject.hxx>
36#include <vcl/GraphicLoader.hxx>
37#include <tools/debug.hxx>
38
39#include <editeng/brushitem.hxx>
40#include <editeng/unoprnms.hxx>
41#include <editeng/numitem.hxx>
42#include <editeng/unofdesc.hxx>
43#include <editeng/unonrule.hxx>
44#include <editeng/editids.hrc>
45#include <o3tl/enumarray.hxx>
46#include <o3tl/temporary.hxx>
47#include <memory>
48
49using ::com::sun::star::util::XCloneable;
50using ::com::sun::star::ucb::XAnyCompare;
51
52
53using namespace ::com::sun::star;
54using namespace ::com::sun::star::uno;
55using namespace ::com::sun::star::lang;
56using namespace ::com::sun::star::container;
57
59{
67};
68
70{
71 text::HoriOrientation::LEFT,
72 text::HoriOrientation::RIGHT,
73 text::HoriOrientation::FULL,
74 text::HoriOrientation::CENTER,
75 text::HoriOrientation::FULL,
76 text::HoriOrientation::LEFT
77};
78
79static SvxAdjust ConvertUnoAdjust( unsigned short nAdjust )
80{
81 DBG_ASSERT( nAdjust <= 7, "Enum has changed! [CL]" );
83}
84
85static unsigned short ConvertUnoAdjust( SvxAdjust eAdjust )
86{
87 DBG_ASSERT( static_cast<int>(eAdjust) <= 6, "Enum has changed! [CL]" );
88 return aSvxToUnoAdjust[eAdjust];
89}
90
92: maRule(std::move( aRule ))
93{
94}
95
97{
98}
99
100//XIndexReplace
101void SAL_CALL SvxUnoNumberingRules::replaceByIndex( sal_Int32 Index, const uno::Any& Element )
102{
103 SolarMutexGuard aGuard;
104
106 throw IndexOutOfBoundsException();
107
108 Sequence< beans::PropertyValue > aSeq;
109
110 if( !( Element >>= aSeq) )
111 throw IllegalArgumentException();
113}
114
115// XIndexAccess
117{
118 SolarMutexGuard aGuard;
119
120 return maRule.GetLevelCount();
121}
122
124{
125 SolarMutexGuard aGuard;
126
128 throw IndexOutOfBoundsException();
129
131}
132
133//XElementAccess
135{
137}
138
140{
141 return true;
142}
143
144// XAnyCompare
145sal_Int16 SAL_CALL SvxUnoNumberingRules::compare( const Any& rAny1, const Any& rAny2 )
146{
147 return SvxUnoNumberingRules::Compare( rAny1, rAny2 );
148}
149
150// XCloneable
151Reference< XCloneable > SAL_CALL SvxUnoNumberingRules::createClone( )
152{
153 return new SvxUnoNumberingRules(maRule);
154}
155
157{
158 return "SvxUnoNumberingRules";
159}
160
161sal_Bool SAL_CALL SvxUnoNumberingRules::supportsService( const OUString& ServiceName )
162{
164}
165
167{
168 return { "com.sun.star.text.NumberingRules" };
169}
170
171Sequence<beans::PropertyValue> SvxUnoNumberingRules::getNumberingRuleByIndex(sal_Int32 nIndex) const
172{
173 // NumberingRule aRule;
174 const SvxNumberFormat& rFmt = maRule.GetLevel(static_cast<sal_uInt16>(nIndex));
175 sal_uInt16 nIdx = 0;
176
177 const int nProps = 15;
178 std::unique_ptr<beans::PropertyValue[]> pArray(new beans::PropertyValue[nProps]);
179
180 Any aVal;
181 {
182 aVal <<= static_cast<sal_uInt16>(rFmt.GetNumberingType());
183 beans::PropertyValue aAlignProp( UNO_NAME_NRULE_NUMBERINGTYPE, -1, aVal, beans::PropertyState_DIRECT_VALUE);
184 pArray[nIdx++] = aAlignProp;
185 }
186
187 {
188 SvxAdjust eAdj = rFmt.GetNumAdjust();
189 aVal <<= ConvertUnoAdjust(eAdj);
190 pArray[nIdx++] = beans::PropertyValue( UNO_NAME_NRULE_ADJUST, -1, aVal, beans::PropertyState_DIRECT_VALUE);
191 }
192
193 {
194 aVal <<= rFmt.GetPrefix();
195 beans::PropertyValue aPrefixProp( UNO_NAME_NRULE_PREFIX, -1, aVal, beans::PropertyState_DIRECT_VALUE);
196 pArray[nIdx++] = aPrefixProp;
197 }
198
199 {
200 aVal <<= rFmt.GetSuffix();
201 beans::PropertyValue aSuffixProp( UNO_NAME_NRULE_SUFFIX, -1, aVal, beans::PropertyState_DIRECT_VALUE);
202 pArray[nIdx++] = aSuffixProp;
203 }
204
206 {
207 sal_UCS4 nCode = rFmt.GetBulletChar();
208 OUString aStr( &nCode, 1 );
209 aVal <<= aStr;
210 beans::PropertyValue aBulletProp( "BulletChar", -1, aVal, beans::PropertyState_DIRECT_VALUE);
211 pArray[nIdx++] = aBulletProp;
212 }
213
214 if( rFmt.GetBulletFont() )
215 {
216 awt::FontDescriptor aDesc;
218 aVal <<= aDesc;
219 pArray[nIdx++] = beans::PropertyValue( UNO_NAME_NRULE_BULLET_FONT, -1, aVal, beans::PropertyState_DIRECT_VALUE);
220 }
221
222 {
223 const SvxBrushItem* pBrush = rFmt.GetBrush();
224 const Graphic* pGraphic = nullptr;
225 if (pBrush)
226 pGraphic = pBrush->GetGraphic();
227 if (pGraphic)
228 {
229 uno::Reference<awt::XBitmap> xBitmap(pGraphic->GetXGraphic(), uno::UNO_QUERY);
230 aVal <<= xBitmap;
231
232 const beans::PropertyValue aGraphicProp("GraphicBitmap", -1, aVal, beans::PropertyState_DIRECT_VALUE);
233 pArray[nIdx++] = aGraphicProp;
234 }
235 }
236
237 {
238 const Size aSize( rFmt.GetGraphicSize() );
239 const awt::Size aUnoSize( aSize.Width(), aSize.Height() );
240 aVal <<= aUnoSize;
241 const beans::PropertyValue aGraphicSizeProp("GraphicSize", -1, aVal, beans::PropertyState_DIRECT_VALUE );
242 pArray[nIdx++] = aGraphicSizeProp;
243 }
244
245 aVal <<= static_cast<sal_Int16>(rFmt.GetStart());
246 pArray[nIdx++] = beans::PropertyValue(UNO_NAME_NRULE_START_WITH, -1, aVal, beans::PropertyState_DIRECT_VALUE);
247
248 aVal <<= rFmt.GetAbsLSpace();
249 pArray[nIdx++] = beans::PropertyValue(UNO_NAME_NRULE_LEFT_MARGIN, -1, aVal, beans::PropertyState_DIRECT_VALUE);
250
251 aVal <<= rFmt.GetFirstLineOffset();
252 pArray[nIdx++] = beans::PropertyValue(UNO_NAME_NRULE_FIRST_LINE_OFFSET, -1, aVal, beans::PropertyState_DIRECT_VALUE);
253
254 pArray[nIdx++] = beans::PropertyValue("SymbolTextDistance", -1, aVal, beans::PropertyState_DIRECT_VALUE);
255
256 aVal <<= rFmt.GetBulletColor();
257 pArray[nIdx++] = beans::PropertyValue(UNO_NAME_NRULE_BULLET_COLOR, -1, aVal, beans::PropertyState_DIRECT_VALUE);
258
259 aVal <<= static_cast<sal_Int16>(rFmt.GetBulletRelSize());
260 pArray[nIdx++] = beans::PropertyValue(UNO_NAME_NRULE_BULLET_RELSIZE, -1, aVal, beans::PropertyState_DIRECT_VALUE);
261
262 DBG_ASSERT( nIdx <= nProps, "FixMe: overflow in Array!!! [CL]" );
263 Sequence< beans::PropertyValue> aSeq(pArray.get(), nIdx);
264
265 return aSeq;
266}
267
268void SvxUnoNumberingRules::setNumberingRuleByIndex(const Sequence<beans::PropertyValue >& rProperties, sal_Int32 nIndex)
269{
270 SvxNumberFormat aFmt(maRule.GetLevel( static_cast<sal_uInt16>(nIndex) ));
271 for(const beans::PropertyValue& rProp : rProperties)
272 {
273 const OUString& rPropName = rProp.Name;
274 const Any& aVal = rProp.Value;
275
276 if ( rPropName == UNO_NAME_NRULE_NUMBERINGTYPE )
277 {
278 sal_Int16 nSet = sal_Int16();
279 aVal >>= nSet;
280
281 // There is no reason to limit numbering types.
282 if ( nSet>=0 )
283 {
284 aFmt.SetNumberingType(static_cast<SvxNumType>(nSet));
285 continue;
286 }
287 }
288 else if ( rPropName == UNO_NAME_NRULE_PREFIX )
289 {
290 OUString aPrefix;
291 if( aVal >>= aPrefix )
292 {
293 aFmt.SetPrefix(aPrefix);
294 continue;
295 }
296 }
297 else if ( rPropName == UNO_NAME_NRULE_SUFFIX )
298 {
299 OUString aSuffix;
300 if( aVal >>= aSuffix )
301 {
302 aFmt.SetSuffix(aSuffix);
303 continue;
304 }
305 }
306 else if ( rPropName == UNO_NAME_NRULE_BULLETID )
307 {
308 sal_Int16 nSet = sal_Int16();
309 if( aVal >>= nSet )
310 {
311 if(nSet < 0x100)
312 {
313 aFmt.SetBulletChar(nSet);
314 continue;
315 }
316 }
317 }
318 else if ( rPropName == "BulletChar" )
319 {
320 OUString aStr;
321 if( aVal >>= aStr )
322 {
323 if(!aStr.isEmpty())
324 {
325 aFmt.SetBulletChar(aStr.iterateCodePoints(&o3tl::temporary(sal_Int32(0))));
326 }
327 else
328 {
329 aFmt.SetBulletChar(0);
330 }
331 continue;
332 }
333 }
334 else if ( rPropName == UNO_NAME_NRULE_ADJUST )
335 {
336 sal_Int16 nAdjust = sal_Int16();
337 if( aVal >>= nAdjust )
338 {
339 aFmt.SetNumAdjust(ConvertUnoAdjust( static_cast<unsigned short>(nAdjust) ));
340 continue;
341 }
342 }
343 else if ( rPropName == UNO_NAME_NRULE_BULLET_FONT )
344 {
345 awt::FontDescriptor aDesc;
346 if( aVal >>= aDesc )
347 {
348 vcl::Font aFont;
350 aFmt.SetBulletFont(&aFont);
351 continue;
352 }
353 }
354 else if ( rPropName == "GraphicURL" )
355 {
356 OUString aURL;
357 if (aVal >>= aURL)
358 {
360 if (!aGraphic.IsNone())
361 {
362 SvxBrushItem aBrushItem(aGraphic, GPOS_AREA, SID_ATTR_BRUSH);
363 aFmt.SetGraphicBrush(&aBrushItem);
364 }
365 continue;
366 }
367 }
368 else if ( rPropName == "GraphicBitmap" )
369 {
370 uno::Reference<awt::XBitmap> xBitmap;
371 if (aVal >>= xBitmap)
372 {
373 uno::Reference<graphic::XGraphic> xGraphic(xBitmap, uno::UNO_QUERY);
374 Graphic aGraphic(xGraphic);
375 SvxBrushItem aBrushItem(aGraphic, GPOS_AREA, SID_ATTR_BRUSH);
376 aFmt.SetGraphicBrush( &aBrushItem );
377 continue;
378 }
379 }
380 else if ( rPropName == "GraphicSize" )
381 {
382 awt::Size aUnoSize;
383 if( aVal >>= aUnoSize )
384 {
385 aFmt.SetGraphicSize( Size( aUnoSize.Width, aUnoSize.Height ) );
386 continue;
387 }
388 }
389 else if ( rPropName == UNO_NAME_NRULE_START_WITH )
390 {
391 sal_Int16 nStart = sal_Int16();
392 if( aVal >>= nStart )
393 {
394 aFmt.SetStart( nStart );
395 continue;
396 }
397 }
398 else if ( rPropName == UNO_NAME_NRULE_LEFT_MARGIN )
399 {
400 sal_Int32 nMargin = 0;
401 if( aVal >>= nMargin )
402 {
403 aFmt.SetAbsLSpace(nMargin);
404 continue;
405 }
406 }
407 else if ( rPropName == UNO_NAME_NRULE_FIRST_LINE_OFFSET )
408 {
409 sal_Int32 nMargin = 0;
410 if( aVal >>= nMargin )
411 {
412 aFmt.SetFirstLineOffset(nMargin);
413 continue;
414 }
415 }
416 else if ( rPropName == "SymbolTextDistance" )
417 {
418 sal_Int32 nTextDistance = 0;
419 if( aVal >>= nTextDistance )
420 {
421 aFmt.SetCharTextDistance(static_cast<sal_uInt16>(nTextDistance));
422 continue;
423 }
424 }
425 else if ( rPropName == UNO_NAME_NRULE_BULLET_COLOR )
426 {
427 Color aColor;
428 if( aVal >>= aColor )
429 {
430 aFmt.SetBulletColor( aColor );
431 continue;
432 }
433 }
434 else if ( rPropName == UNO_NAME_NRULE_BULLET_RELSIZE )
435 {
436 sal_Int16 nSize = sal_Int16();
437 if( aVal >>= nSize )
438 {
439 // [AOO Bug 120650] the slide content corrupt when open in Aoo
440 // [TDF# 126234] when MS Office document being imported, the value of the relative size
441 // of the bullet could be as high as 400%
442 if ((nSize>400)||(nSize<=0))
443 {
444 nSize = 100;
445 }
446
447 aFmt.SetBulletRelSize( static_cast<short>(nSize) );
448 continue;
449 }
450 }
451 else
452 {
453 continue;
454 }
455
456 throw IllegalArgumentException();
457 }
458
459 // check that we always have a brush item for bitmap numbering
460 if( aFmt.GetNumberingType() == SVX_NUM_BITMAP )
461 {
462 if( nullptr == aFmt.GetBrush() )
463 {
464 GraphicObject aGrafObj;
465 SvxBrushItem aBrushItem( aGrafObj, GPOS_AREA, SID_ATTR_BRUSH );
466 aFmt.SetGraphicBrush( &aBrushItem );
467 }
468 }
469 maRule.SetLevel( static_cast<sal_uInt16>(nIndex), aFmt );
470}
471
472const SvxNumRule& SvxGetNumRule( Reference< XIndexReplace > const & xRule )
473{
474 SvxUnoNumberingRules* pRule = dynamic_cast<SvxUnoNumberingRules*>( xRule.get() );
475 if( pRule == nullptr )
476 throw IllegalArgumentException();
477
478 return pRule->getNumRule();
479}
480
481css::uno::Reference< css::container::XIndexReplace > SvxCreateNumRule(const SvxNumRule& rRule)
482{
483 return new SvxUnoNumberingRules( rRule );
484}
485
486namespace {
487
488class SvxUnoNumberingRulesCompare : public ::cppu::WeakAggImplHelper1< XAnyCompare >
489{
490public:
491 virtual sal_Int16 SAL_CALL compare( const Any& Any1, const Any& Any2 ) override;
492};
493
494}
495
496sal_Int16 SAL_CALL SvxUnoNumberingRulesCompare::compare( const Any& Any1, const Any& Any2 )
497{
498 return SvxUnoNumberingRules::Compare( Any1, Any2 );
499}
500
501sal_Int16 SvxUnoNumberingRules::Compare( const Any& Any1, const Any& Any2 )
502{
503 Reference< XIndexReplace > x1( Any1, UNO_QUERY ), x2( Any2, UNO_QUERY );
504 if( !x1 || !x2 )
505 return -1;
506
507 if( x1.get() == x2.get() )
508 return 0;
509
510 SvxUnoNumberingRules* pRule1 = dynamic_cast<SvxUnoNumberingRules*>( x1.get() );
511 if( !pRule1 )
512 return -1;
513 SvxUnoNumberingRules* pRule2 = dynamic_cast<SvxUnoNumberingRules*>( x2.get() );
514 if( !pRule2 )
515 return -1;
516
517 const SvxNumRule& rRule1 = pRule1->getNumRule();
518 const SvxNumRule& rRule2 = pRule2->getNumRule();
519
520 const sal_uInt16 nLevelCount1 = rRule1.GetLevelCount();
521 const sal_uInt16 nLevelCount2 = rRule2.GetLevelCount();
522
523 if( nLevelCount1 == 0 || nLevelCount2 == 0 )
524 return -1;
525
526 for( sal_uInt16 i = 0; (i < nLevelCount1) && (i < nLevelCount2); i++ )
527 {
528 if( rRule1.GetLevel(i) != rRule2.GetLevel(i) )
529 return -1;
530 }
531 return 0;
532}
533
534Reference< XAnyCompare > SvxCreateNumRuleCompare() noexcept
535{
536 return new SvxUnoNumberingRulesCompare;
537}
538
539css::uno::Reference< css::container::XIndexReplace > SvxCreateNumRule()
540{
541 SvxNumRule aTempRule( SvxNumRuleFlags::NONE, 10, false );
542 return SvxCreateNumRule( aTempRule );
543}
544
545/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
struct _ADOIndex Index
@ GPOS_AREA
Definition: brushitem.hxx:38
css::uno::Reference< css::graphic::XGraphic > GetXGraphic() const
bool IsNone() const
constexpr tools::Long Height() const
constexpr tools::Long Width() const
const Graphic * GetGraphic(OUString const &referer=OUString()) const
Definition: frmitems.cxx:4465
sal_uInt16 GetLevelCount() const
Definition: numitem.hxx:298
const SvxNumberFormat & GetLevel(sal_uInt16 nLevel) const
Definition: numitem.cxx:928
void SetLevel(sal_uInt16 nLevel, const SvxNumberFormat &rFmt, bool bIsValid=true)
Definition: numitem.cxx:943
void SetStart(sal_uInt16 nSet)
Definition: numitem.hxx:196
void SetAbsLSpace(sal_Int32 nSet)
Definition: numitem.hxx:209
virtual void SetGraphicBrush(const SvxBrushItem *pBrushItem, const Size *pSize=nullptr, const sal_Int16 *pOrient=nullptr)
Definition: numitem.cxx:426
const SvxBrushItem * GetBrush() const
Definition: numitem.hxx:200
void SetBulletFont(const vcl::Font *pFont)
Definition: numitem.cxx:465
const Color & GetBulletColor() const
Definition: numitem.hxx:192
sal_uInt16 GetBulletRelSize() const
Definition: numitem.hxx:190
void SetGraphicSize(const Size &rSet)
Definition: numitem.hxx:203
sal_Int32 GetFirstLineOffset() const
Definition: numitem.cxx:484
const std::optional< vcl::Font > & GetBulletFont() const
Definition: numitem.hxx:186
void SetSuffix(const OUString &rSet)
Definition: numitem.cxx:580
sal_UCS4 GetBulletChar() const
Definition: numitem.hxx:188
void SetCharTextDistance(short nSet)
Definition: numitem.hxx:213
const Size & GetGraphicSize() const
Definition: numitem.hxx:204
sal_uInt16 GetStart() const
Definition: numitem.hxx:197
sal_Int32 GetAbsLSpace() const
Definition: numitem.cxx:478
void SetBulletColor(Color nSet)
Definition: numitem.hxx:191
void SetNumAdjust(SvxAdjust eSet)
Definition: numitem.hxx:170
void SetBulletRelSize(sal_uInt16 nSet)
Definition: numitem.hxx:189
SvxAdjust GetNumAdjust() const
Definition: numitem.hxx:171
void SetFirstLineOffset(sal_Int32 nSet)
Definition: numitem.hxx:211
void SetPrefix(const OUString &rSet)
Definition: numitem.cxx:571
void SetBulletChar(sal_UCS4 cSet)
Definition: numitem.hxx:187
const OUString & GetPrefix() const
Definition: numitem.hxx:173
const OUString & GetSuffix() const
Definition: numitem.hxx:175
void SetNumberingType(SvxNumType nSet)
Definition: numitem.hxx:72
SvxNumType GetNumberingType() const
Definition: numitem.hxx:73
static void ConvertFromFont(const vcl::Font &rFont, css::awt::FontDescriptor &rDesc)
Definition: unofdesc.cxx:60
static void ConvertToFont(const css::awt::FontDescriptor &rDesc, vcl::Font &rFont)
Definition: unofdesc.cxx:43
virtual ~SvxUnoNumberingRules() noexcept override
Definition: unonrule.cxx:96
SvxUnoNumberingRules(SvxNumRule aRule)
Definition: unonrule.cxx:91
virtual sal_Int16 SAL_CALL compare(const css::uno::Any &Any1, const css::uno::Any &Any2) override
Definition: unonrule.cxx:145
static sal_Int16 Compare(const css::uno::Any &rAny1, const css::uno::Any &rAny2)
Definition: unonrule.cxx:501
virtual css::uno::Type SAL_CALL getElementType() override
Definition: unonrule.cxx:134
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unonrule.cxx:166
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 Index) override
Definition: unonrule.cxx:123
css::uno::Sequence< css::beans::PropertyValue > getNumberingRuleByIndex(sal_Int32 nIndex) const
Definition: unonrule.cxx:171
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unonrule.cxx:161
virtual sal_Bool SAL_CALL hasElements() override
Definition: unonrule.cxx:139
virtual void SAL_CALL replaceByIndex(sal_Int32 Index, const css::uno::Any &Element) override
Definition: unonrule.cxx:101
virtual sal_Int32 SAL_CALL getCount() override
Definition: unonrule.cxx:116
SvxNumRule maRule
Definition: unonrule.hxx:43
const SvxNumRule & getNumRule() const
Definition: unonrule.hxx:79
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override
Definition: unonrule.cxx:151
void setNumberingRuleByIndex(const css::uno::Sequence< css::beans::PropertyValue > &rProperties, sal_Int32 nIndex)
Definition: unonrule.cxx:268
virtual OUString SAL_CALL getImplementationName() override
Definition: unonrule.cxx:156
#define DBG_ASSERT(sCon, aError)
URL aURL
sal_Int32 nIndex
Sequence< sal_Int8 > aSeq
sal_Int16 nAdjust
aStr
Type
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
int i
constexpr T & temporary(T &&x)
Graphic loadFromURL(OUString const &rURL, weld::Window *pParentWin)
SbxDecimal::CmpResult compare(SAL_UNUSED_PARAMETER const SbxDecimal &, SAL_UNUSED_PARAMETER const SbxDecimal &)
SvxNumType
these must match the values in css::style::NumberingType
Definition: svxenum.hxx:144
@ SVX_NUM_BITMAP
Definition: svxenum.hxx:153
@ SVX_NUM_CHAR_SPECIAL
Definition: svxenum.hxx:151
SvxAdjust
Definition: svxenum.hxx:77
unsigned char sal_Bool
const SvxAdjust aUnoToSvxAdjust[]
Definition: unonrule.cxx:58
static SvxAdjust ConvertUnoAdjust(unsigned short nAdjust)
Definition: unonrule.cxx:79
css::uno::Reference< css::container::XIndexReplace > SvxCreateNumRule(const SvxNumRule &rRule)
Definition: unonrule.cxx:481
Reference< XAnyCompare > SvxCreateNumRuleCompare() noexcept
Definition: unonrule.cxx:534
const o3tl::enumarray< SvxAdjust, sal_Int16 > aSvxToUnoAdjust
Definition: unonrule.cxx:70
const SvxNumRule & SvxGetNumRule(Reference< XIndexReplace > const &xRule)
Definition: unonrule.cxx:472
constexpr OUStringLiteral UNO_NAME_NRULE_BULLET_COLOR
Definition: unoprnms.hxx:283
constexpr OUStringLiteral UNO_NAME_NRULE_START_WITH
Definition: unoprnms.hxx:286
constexpr OUStringLiteral UNO_NAME_NRULE_FIRST_LINE_OFFSET
Definition: unoprnms.hxx:288
constexpr OUStringLiteral UNO_NAME_NRULE_BULLET_FONT
Definition: unoprnms.hxx:285
constexpr OUStringLiteral UNO_NAME_NRULE_NUMBERINGTYPE
Definition: unoprnms.hxx:279
constexpr OUStringLiteral UNO_NAME_NRULE_BULLET_RELSIZE
Definition: unoprnms.hxx:284
constexpr OUStringLiteral UNO_NAME_NRULE_PREFIX
Definition: unoprnms.hxx:280
constexpr OUStringLiteral UNO_NAME_NRULE_SUFFIX
Definition: unoprnms.hxx:281
constexpr OUStringLiteral UNO_NAME_NRULE_ADJUST
Definition: unoprnms.hxx:289
#define UNO_NAME_NRULE_BULLETID
Definition: unoprnms.hxx:282
constexpr OUStringLiteral UNO_NAME_NRULE_LEFT_MARGIN
Definition: unoprnms.hxx:287
sal_uInt32 sal_UCS4