LibreOffice Module sw (master) 1
unosett.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 <editeng/editids.hrc>
21#include <swtypes.hxx>
22#include <unomid.h>
23#include <hintids.hxx>
24#include <strings.hrc>
25#include <poolfmt.hxx>
26#include <fmtcol.hxx>
27#include <unomap.hxx>
28#include <unosett.hxx>
29#include <unoprnms.hxx>
30#include <ftninfo.hxx>
31#include <doc.hxx>
32#include <pagedesc.hxx>
34#include <charfmt.hxx>
35#include <lineinfo.hxx>
36#include <docsh.hxx>
37#include <docary.hxx>
38#include <docstyle.hxx>
39#include <editeng/brushitem.hxx>
40#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
41#include <com/sun/star/text/FootnoteNumbering.hpp>
42#include <com/sun/star/text/HoriOrientation.hpp>
43#include <com/sun/star/style/LineNumberPosition.hpp>
44#include <com/sun/star/awt/FontDescriptor.hpp>
45#include <com/sun/star/awt/XBitmap.hpp>
46#include <com/sun/star/graphic/XGraphic.hpp>
47#include <com/sun/star/beans/PropertyAttribute.hpp>
48#include <o3tl/any.hxx>
49#include <o3tl/enumarray.hxx>
51#include <vcl/font.hxx>
52#include <editeng/flstitem.hxx>
53#include <vcl/metric.hxx>
54#include <vcl/graph.hxx>
55#include <vcl/GraphicLoader.hxx>
56#include <sfx2/docfile.hxx>
57#include <svtools/ctrltool.hxx>
58#include <vcl/svapp.hxx>
59#include <editeng/unofdesc.hxx>
60#include <fmtornt.hxx>
61#include <SwStyleNameMapper.hxx>
62#include <com/sun/star/text/PositionAndSpaceMode.hpp>
63#include <com/sun/star/text/LabelFollow.hpp>
64#include <numrule.hxx>
69#include <svl/itemprop.hxx>
70#include <svl/listener.hxx>
71#include <paratr.hxx>
72#include <sal/log.hxx>
73
74using namespace ::com::sun::star;
75using namespace ::com::sun::star::uno;
76using namespace ::com::sun::star::lang;
77using namespace ::com::sun::star::beans;
78using namespace ::com::sun::star::text;
79using namespace ::com::sun::star::style;
80
81
82namespace
83{
84 SvtBroadcaster& GetPageDescNotifier(SwDoc* pDoc)
85 {
87 }
88}
89
90#define WID_PREFIX 0
91#define WID_SUFFIX 1
92#define WID_NUMBERING_TYPE 2
93#define WID_START_AT 3
94#define WID_FOOTNOTE_COUNTING 4
95#define WID_PARAGRAPH_STYLE 5
96#define WID_PAGE_STYLE 6
97#define WID_CHARACTER_STYLE 7
98#define WID_POSITION_END_OF_DOC 8
99#define WID_END_NOTICE 9
100#define WID_BEGIN_NOTICE 10
101#define WID_ANCHOR_CHARACTER_STYLE 11
102#define WID_NUM_ON 12
103#define WID_SEPARATOR_INTERVAL 13
104#define WID_NUMBER_POSITION 14
105#define WID_DISTANCE 15
106#define WID_INTERVAL 16
107#define WID_SEPARATOR_TEXT 17
108#define WID_COUNT_EMPTY_LINES 18
109#define WID_COUNT_LINES_IN_FRAMES 19
110#define WID_RESTART_AT_EACH_PAGE 20
111
112
114{
115 static const SfxItemPropertyMapEntry aFootnoteMap_Impl[] =
116 {
129 };
130 static const SfxItemPropertySet aFootnoteSet_Impl(aFootnoteMap_Impl);
131 return &aFootnoteSet_Impl;
132}
133
135{
136 static const SfxItemPropertyMapEntry aEndnoteMap_Impl[] =
137 {
146 };
147 static const SfxItemPropertySet aEndnoteSet_Impl(aEndnoteMap_Impl);
148 return &aEndnoteSet_Impl;
149}
150
152{
153 static const SfxItemPropertyMapEntry aNumberingRulesMap_Impl[] =
154 {
158 { UNO_NAME_NAME, WID_RULE_NAME , ::cppu::UnoType<OUString>::get(), PropertyAttribute::READONLY, 0},
161 };
162 static const SfxItemPropertySet aNumberingRulesSet_Impl( aNumberingRulesMap_Impl );
163 return &aNumberingRulesSet_Impl;
164}
165
167{
168 static const SfxItemPropertyMapEntry aLineNumberingMap_Impl[] =
169 {
181 };
182 static const SfxItemPropertySet aLineNumberingSet_Impl(aLineNumberingMap_Impl);
183 return &aLineNumberingSet_Impl;
184}
185
186static SwCharFormat* lcl_getCharFormat(SwDoc* pDoc, const uno::Any& aValue)
187{
188 SwCharFormat* pRet = nullptr;
189 OUString uTmp;
190 aValue >>= uTmp;
191 OUString sCharFormat;
193 if (sCharFormat != SwResId(STR_POOLCHR_STANDARD))
194 {
195 pRet = pDoc->FindCharFormatByName( sCharFormat );
196 }
197 if(!pRet)
198 {
200 if(USHRT_MAX != nId)
202 }
203 return pRet;
204}
205
206static SwTextFormatColl* lcl_GetParaStyle(SwDoc* pDoc, const uno::Any& aValue)
207{
208 OUString uTmp;
209 aValue >>= uTmp;
210 OUString sParaStyle;
212 SwTextFormatColl* pRet = pDoc->FindTextFormatCollByName( sParaStyle );
213 if( !pRet )
214 {
216 if( USHRT_MAX != nId )
218 }
219 return pRet;
220}
221
222static SwPageDesc* lcl_GetPageDesc(SwDoc* pDoc, const uno::Any& aValue)
223{
224 OUString uTmp;
225 aValue >>= uTmp;
226 OUString sPageDesc;
228 SwPageDesc* pRet = pDoc->FindPageDesc( sPageDesc );
229 if(!pRet)
230 {
232 if(USHRT_MAX != nId)
234 }
235 return pRet;
236}
237
238// Numbering
240{
241 text::HoriOrientation::LEFT, //3
242 text::HoriOrientation::RIGHT, //1
243 sal_Int16(-1),
244 text::HoriOrientation::CENTER, //2
245 sal_Int16(-1),
246 sal_Int16(-1)
247};
248
250{
251 return "SwXFootnoteProperties";
252}
253
255{
256 return cppu::supportsService(this, rServiceName);
257}
258
260{
261 Sequence<OUString> aRet { "com.sun.star.text.FootnoteSettings" };
262 return aRet;
263}
264
266 m_pDoc(pDc),
267 m_pPropertySet(GetFootnoteSet())
268{
269}
270
272{
273
274}
275
276uno::Reference< beans::XPropertySetInfo > SwXFootnoteProperties::getPropertySetInfo()
277{
278 static uno::Reference< beans::XPropertySetInfo > aRef = m_pPropertySet->getPropertySetInfo();
279 return aRef;
280}
281
282void SwXFootnoteProperties::setPropertyValue(const OUString& rPropertyName, const uno::Any& aValue)
283{
284 SolarMutexGuard aGuard;
285 if(!m_pDoc)
286 throw uno::RuntimeException();
287
288 const SfxItemPropertyMapEntry* pEntry = m_pPropertySet->getPropertyMap().getByName( rPropertyName );
289 if(!pEntry)
290 throw beans::UnknownPropertyException("Unknown property: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
291
292 if ( pEntry->nFlags & PropertyAttribute::READONLY)
293 throw PropertyVetoException("Property is read-only: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
294 SwFootnoteInfo aFootnoteInfo(m_pDoc->GetFootnoteInfo());
295 switch(pEntry->nWID)
296 {
297 case WID_PREFIX:
298 {
299 OUString uTmp;
300 aValue >>= uTmp;
301 aFootnoteInfo.SetPrefix(uTmp);
302 }
303 break;
304 case WID_SUFFIX:
305 {
306 OUString uTmp;
307 aValue >>= uTmp;
308 aFootnoteInfo.SetSuffix(uTmp);
309 }
310 break;
312 {
313 sal_Int16 nTmp = 0;
314 aValue >>= nTmp;
315 if(!(nTmp >= 0 &&
316 (nTmp <= SVX_NUM_ARABIC ||
317 nTmp > SVX_NUM_BITMAP)))
318 throw lang::IllegalArgumentException();
319
320 aFootnoteInfo.m_aFormat.SetNumberingType(static_cast<SvxNumType>(nTmp));
321
322 }
323 break;
324 case WID_START_AT:
325 {
326 sal_Int16 nTmp = 0;
327 aValue >>= nTmp;
328 aFootnoteInfo.m_nFootnoteOffset = nTmp;
329 }
330 break;
332 {
333 sal_Int16 nTmp = 0;
334 aValue >>= nTmp;
335 switch(nTmp)
336 {
337 case FootnoteNumbering::PER_PAGE:
338 aFootnoteInfo.m_eNum = FTNNUM_PAGE;
339 break;
340 case FootnoteNumbering::PER_CHAPTER:
341 aFootnoteInfo.m_eNum = FTNNUM_CHAPTER;
342 break;
343 case FootnoteNumbering::PER_DOCUMENT:
344 aFootnoteInfo.m_eNum = FTNNUM_DOC;
345 break;
346 }
347 }
348 break;
350 {
351 SwTextFormatColl* pColl = lcl_GetParaStyle(m_pDoc, aValue);
352 if(pColl)
353 aFootnoteInfo.SetFootnoteTextColl(*pColl);
354 }
355 break;
356 case WID_PAGE_STYLE:
357 {
358 SwPageDesc* pDesc = lcl_GetPageDesc(m_pDoc, aValue);
359 if(pDesc)
360 aFootnoteInfo.ChgPageDesc( pDesc );
361 }
362 break;
365 {
366 SwCharFormat* pFormat = lcl_getCharFormat(m_pDoc, aValue);
367 if(pFormat)
368 {
369 if(pEntry->nWID == WID_ANCHOR_CHARACTER_STYLE)
370 aFootnoteInfo.SetAnchorCharFormat(pFormat);
371 else
372 aFootnoteInfo.SetCharFormat(pFormat);
373 }
374 }
375 break;
377 {
378 bool bVal = *o3tl::doAccess<bool>(aValue);
379 aFootnoteInfo.m_ePos = bVal ? FTNPOS_CHAPTER : FTNPOS_PAGE;
380 }
381 break;
382 case WID_END_NOTICE:
383 {
384 OUString uTmp;
385 aValue >>= uTmp;
386 aFootnoteInfo.m_aQuoVadis = uTmp;
387 }
388 break;
389 case WID_BEGIN_NOTICE:
390 {
391 OUString uTmp;
392 aValue >>= uTmp;
393 aFootnoteInfo.m_aErgoSum = uTmp;
394 }
395 break;
396 }
397 m_pDoc->SetFootnoteInfo(aFootnoteInfo);
398
399
400}
401
403{
404 SolarMutexGuard aGuard;
405 uno::Any aRet;
406 if(!m_pDoc)
407 throw uno::RuntimeException();
408
409 const SfxItemPropertyMapEntry* pEntry = m_pPropertySet->getPropertyMap().getByName( rPropertyName );
410 if(!pEntry)
411 throw UnknownPropertyException("Unknown property: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
412
413 const SwFootnoteInfo& rFootnoteInfo = m_pDoc->GetFootnoteInfo();
414 switch(pEntry->nWID)
415 {
416 case WID_PREFIX:
417 {
418 aRet <<= rFootnoteInfo.GetPrefix();
419 }
420 break;
421 case WID_SUFFIX:
422 {
423 aRet <<= rFootnoteInfo.GetSuffix();
424 }
425 break;
426 case WID_NUMBERING_TYPE :
427 {
428 aRet <<= static_cast<sal_Int16>(rFootnoteInfo.m_aFormat.GetNumberingType());
429 }
430 break;
431 case WID_START_AT:
432 aRet <<= static_cast<sal_Int16>(rFootnoteInfo.m_nFootnoteOffset);
433 break;
435 {
436 sal_Int16 nRet = 0;
437 switch(rFootnoteInfo.m_eNum)
438 {
439 case FTNNUM_PAGE:
440 nRet = FootnoteNumbering::PER_PAGE;
441 break;
442 case FTNNUM_CHAPTER:
443 nRet = FootnoteNumbering::PER_CHAPTER;
444 break;
445 case FTNNUM_DOC:
446 nRet = FootnoteNumbering::PER_DOCUMENT;
447 break;
448 }
449 aRet <<= nRet;
450 }
451 break;
453 {
454 SwTextFormatColl* pColl = rFootnoteInfo.GetFootnoteTextColl();
455 OUString aString;
456 if(pColl)
457 aString = pColl->GetName();
459 aRet <<= aString;
460 }
461 break;
462 case WID_PAGE_STYLE :
463 {
464 OUString aString;
465 if( rFootnoteInfo.KnowsPageDesc() )
466 {
468 rFootnoteInfo.GetPageDesc( *m_pDoc )->GetName(),
469 aString,
471 }
472 aRet <<= aString;
473 }
474 break;
477 {
478 OUString aString;
479 const SwCharFormat* pCharFormat = rFootnoteInfo.GetCurrentCharFormat(pEntry->nWID == WID_ANCHOR_CHARACTER_STYLE);
480 if( pCharFormat )
481 {
483 pCharFormat->GetName(),
484 aString,
486 }
487 aRet <<= aString;
488 }
489 break;
491 aRet <<= FTNPOS_CHAPTER == rFootnoteInfo.m_ePos;
492 break;
493 case WID_END_NOTICE :
494 aRet <<= rFootnoteInfo.m_aQuoVadis;
495 break;
496 case WID_BEGIN_NOTICE :
497 aRet <<= rFootnoteInfo.m_aErgoSum;
498 break;
499 }
500
501
502 return aRet;
503}
504
506 const OUString& /*rPropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*xListener*/)
507{
508 OSL_FAIL("not implemented");
509}
510
512 const OUString& /*rPropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*xListener*/)
513{
514 OSL_FAIL("not implemented");
515}
516
518 const OUString& /*rPropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*xListener*/)
519{
520 OSL_FAIL("not implemented");
521}
522
524 const OUString& /*rPropertyName*/, const uno::Reference< beans::XVetoableChangeListener > & /*xListener*/)
525{
526 OSL_FAIL("not implemented");
527}
528
530{
531 return "SwXEndnoteProperties";
532}
533
535{
536 return cppu::supportsService(this, rServiceName);
537}
538
540{
541 Sequence<OUString> aRet { "com.sun.star.text.FootnoteSettings" };
542 return aRet;
543}
544
546 m_pDoc(pDc),
547 m_pPropertySet(GetEndnoteSet())
548{
549}
550
552{
553}
554
555uno::Reference< beans::XPropertySetInfo > SwXEndnoteProperties::getPropertySetInfo()
556{
557 static uno::Reference< beans::XPropertySetInfo > aRef = m_pPropertySet->getPropertySetInfo();
558 return aRef;
559}
560
561void SwXEndnoteProperties::setPropertyValue(const OUString& rPropertyName, const uno::Any& aValue)
562{
563 SolarMutexGuard aGuard;
564 if(!m_pDoc)
565 return;
566
567 const SfxItemPropertyMapEntry* pEntry = m_pPropertySet->getPropertyMap().getByName( rPropertyName );
568 if(!pEntry)
569 throw UnknownPropertyException("Unknown property: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
570
571 if ( pEntry->nFlags & PropertyAttribute::READONLY)
572 throw PropertyVetoException("Property is read-only: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
574 switch(pEntry->nWID)
575 {
576 case WID_PREFIX:
577 {
578 OUString uTmp;
579 aValue >>= uTmp;
580 aEndInfo.SetPrefix(uTmp);
581 }
582 break;
583 case WID_SUFFIX:
584 {
585 OUString uTmp;
586 aValue >>= uTmp;
587 aEndInfo.SetSuffix(uTmp);
588 }
589 break;
590 case WID_NUMBERING_TYPE :
591 {
592 sal_Int16 nTmp = 0;
593 aValue >>= nTmp;
594 aEndInfo.m_aFormat.SetNumberingType(static_cast<SvxNumType>(nTmp));
595 }
596 break;
597 case WID_START_AT:
598 {
599 sal_Int16 nTmp = 0;
600 aValue >>= nTmp;
601 aEndInfo.m_nFootnoteOffset = nTmp;
602 }
603 break;
605 {
606 SwTextFormatColl* pColl = lcl_GetParaStyle(m_pDoc, aValue);
607 if(pColl)
608 aEndInfo.SetFootnoteTextColl(*pColl);
609 }
610 break;
611 case WID_PAGE_STYLE :
612 {
613 SwPageDesc* pDesc = lcl_GetPageDesc(m_pDoc, aValue);
614 if(pDesc)
615 aEndInfo.ChgPageDesc( pDesc );
616 }
617 break;
620 {
621 SwCharFormat* pFormat = lcl_getCharFormat(m_pDoc, aValue);
622 if(pFormat)
623 {
624 if(pEntry->nWID == WID_ANCHOR_CHARACTER_STYLE)
625 aEndInfo.SetAnchorCharFormat(pFormat);
626 else
627 aEndInfo.SetCharFormat(pFormat);
628 }
629 }
630 break;
631 }
632 m_pDoc->SetEndNoteInfo(aEndInfo);
633}
634
636{
637 SolarMutexGuard aGuard;
638 uno::Any aRet;
639 if(m_pDoc)
640 {
641 const SfxItemPropertyMapEntry* pEntry = m_pPropertySet->getPropertyMap().getByName( rPropertyName );
642 if(!pEntry)
643 throw UnknownPropertyException("Unknown property: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
644
645 const SwEndNoteInfo& rEndInfo = m_pDoc->GetEndNoteInfo();
646 switch(pEntry->nWID)
647 {
648 case WID_PREFIX:
649 aRet <<= rEndInfo.GetPrefix();
650 break;
651 case WID_SUFFIX:
652 aRet <<= rEndInfo.GetSuffix();
653 break;
654 case WID_NUMBERING_TYPE :
655 aRet <<= static_cast<sal_Int16>(rEndInfo.m_aFormat.GetNumberingType());
656 break;
657 case WID_START_AT:
658 aRet <<= static_cast<sal_Int16>(rEndInfo.m_nFootnoteOffset);
659 break;
661 {
662 SwTextFormatColl* pColl = rEndInfo.GetFootnoteTextColl();
663 OUString aString;
664 if(pColl)
665 aString = pColl->GetName();
667 aString,
668 aString,
670 aRet <<= aString;
671
672 }
673 break;
674 case WID_PAGE_STYLE :
675 {
676 OUString aString;
677 if( rEndInfo.KnowsPageDesc() )
678 {
680 rEndInfo.GetPageDesc( *m_pDoc )->GetName(),
681 aString,
683 }
684 aRet <<= aString;
685 }
686 break;
689 {
690 OUString aString;
691 const SwCharFormat* pCharFormat = rEndInfo.GetCurrentCharFormat( pEntry->nWID == WID_ANCHOR_CHARACTER_STYLE );
692 if( pCharFormat )
693 {
695 pCharFormat->GetName(),
696 aString,
698 }
699 aRet <<= aString;
700 }
701 break;
702 }
703
704 }
705 return aRet;
706}
707
709 const OUString& /*PropertyName*/, const uno::Reference< beans::XPropertyChangeListener > & /*xListener*/)
710{
711 OSL_FAIL("not implemented");
712}
713
714void SwXEndnoteProperties::removePropertyChangeListener(const OUString& /*PropertyName*/,
715 const uno:: Reference< beans::XPropertyChangeListener > & /*xListener*/)
716{
717 OSL_FAIL("not implemented");
718}
719
720void SwXEndnoteProperties::addVetoableChangeListener(const OUString& /*PropertyName*/,
721 const uno:: Reference< beans::XVetoableChangeListener > & /*xListener*/)
722{
723 OSL_FAIL("not implemented");
724}
725
726void SwXEndnoteProperties::removeVetoableChangeListener(const OUString& /*PropertyName*/, const uno:: Reference< beans::XVetoableChangeListener > & /*xListener*/)
727{
728 OSL_FAIL("not implemented");
729}
730
732{
733 return "SwXLineNumberingProperties";
734}
735
737{
738 return cppu::supportsService(this, rServiceName);
739}
740
742{
743 Sequence<OUString> aRet { "com.sun.star.text.LineNumberingProperties" };
744 return aRet;
745}
746
748 m_pDoc(pDc),
749 m_pPropertySet(GetLineNumberingSet())
750{
751}
752
754{
755}
756
757uno::Reference< beans::XPropertySetInfo > SwXLineNumberingProperties::getPropertySetInfo()
758{
759 static uno::Reference< beans::XPropertySetInfo > aRef = m_pPropertySet->getPropertySetInfo();
760 return aRef;
761}
762
764 const OUString& rPropertyName, const Any& aValue)
765{
766 SolarMutexGuard aGuard;
767 if(!m_pDoc)
768 throw uno::RuntimeException();
769
770 const SfxItemPropertyMapEntry* pEntry = m_pPropertySet->getPropertyMap().getByName( rPropertyName );
771 if(!pEntry)
772 throw UnknownPropertyException("Unknown property: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
773
774 if ( pEntry->nFlags & PropertyAttribute::READONLY)
775 throw PropertyVetoException("Property is read-only: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
777 switch(pEntry->nWID)
778 {
779 case WID_NUM_ON:
780 {
781 bool bVal = *o3tl::doAccess<bool>(aValue);
782 aFontMetric.SetPaintLineNumbers(bVal);
783 }
784 break;
786 {
787 SwCharFormat* pFormat = lcl_getCharFormat(m_pDoc, aValue);
788 if(pFormat)
789 aFontMetric.SetCharFormat(pFormat);
790 }
791 break;
792 case WID_NUMBERING_TYPE :
793 {
794 SvxNumberType aNumType(aFontMetric.GetNumType());
795 sal_Int16 nTmp = 0;
796 aValue >>= nTmp;
797 aNumType.SetNumberingType(static_cast<SvxNumType>(nTmp));
798 aFontMetric.SetNumType(aNumType);
799 }
800 break;
802 {
803 sal_Int16 nTmp = 0;
804 aValue >>= nTmp;
805 switch(nTmp)
806 {
807 case style::LineNumberPosition::LEFT:
808 aFontMetric.SetPos(LINENUMBER_POS_LEFT);
809 break;
810 case style::LineNumberPosition::RIGHT :
811 aFontMetric.SetPos(LINENUMBER_POS_RIGHT);
812 break;
813 case style::LineNumberPosition::INSIDE:
814 aFontMetric.SetPos(LINENUMBER_POS_INSIDE);
815 break;
816 case style::LineNumberPosition::OUTSIDE:
817 aFontMetric.SetPos(LINENUMBER_POS_OUTSIDE);
818 break;
819 }
820 }
821 break;
822 case WID_DISTANCE :
823 {
824 sal_Int32 nVal = 0;
825 aValue >>= nVal;
826 sal_Int32 nTmp = o3tl::toTwips(nVal, o3tl::Length::mm100);
827 if (nTmp > SAL_MAX_UINT16)
828 nTmp = SAL_MAX_UINT16;
829 aFontMetric.SetPosFromLeft(nTmp);
830 }
831 break;
832 case WID_INTERVAL :
833 {
834 sal_Int16 nTmp = 0;
835 aValue >>= nTmp;
836 if( nTmp > 0)
837 aFontMetric.SetCountBy(nTmp);
838 }
839 break;
840 case WID_SEPARATOR_TEXT :
841 {
842 OUString uTmp;
843 aValue >>= uTmp;
844 aFontMetric.SetDivider(uTmp);
845 }
846 break;
848 {
849 sal_Int16 nTmp = 0;
850 aValue >>= nTmp;
851 if( nTmp >= 0)
852 aFontMetric.SetDividerCountBy(nTmp);
853 }
854 break;
856 {
857 bool bVal = *o3tl::doAccess<bool>(aValue);
858 aFontMetric.SetCountBlankLines(bVal);
859 }
860 break;
862 {
863 bool bVal = *o3tl::doAccess<bool>(aValue);
864 aFontMetric.SetCountInFlys(bVal);
865 }
866 break;
868 {
869 bool bVal = *o3tl::doAccess<bool>(aValue);
870 aFontMetric.SetRestartEachPage(bVal);
871 }
872 break;
873 }
874 m_pDoc->SetLineNumberInfo(aFontMetric);
875}
876
878{
879 SolarMutexGuard aGuard;
880 Any aRet;
881 if(!m_pDoc)
882 throw uno::RuntimeException();
883
884 const SfxItemPropertyMapEntry* pEntry = m_pPropertySet->getPropertyMap().getByName( rPropertyName );
885 if(!pEntry)
886 throw UnknownPropertyException("Unknown property: " + rPropertyName, static_cast < cppu::OWeakObject * > ( this ) );
887
888 const SwLineNumberInfo& rInfo = m_pDoc->GetLineNumberInfo();
889 switch(pEntry->nWID)
890 {
891 case WID_NUM_ON:
892 aRet <<= rInfo.IsPaintLineNumbers();
893 break;
895 {
896 OUString aString;
897 // return empty string if no char format is set
898 // otherwise it would be created here
899 if(rInfo.HasCharFormat())
900 {
903 aString,
905 }
906 aRet <<= aString;
907 }
908 break;
909 case WID_NUMBERING_TYPE :
910 aRet <<= static_cast<sal_Int16>(rInfo.GetNumType().GetNumberingType());
911 break;
913 {
914 sal_Int16 nRet = 0;
915 switch(rInfo.GetPos())
916 {
918 nRet = style::LineNumberPosition::LEFT;
919 break;
921 nRet = style::LineNumberPosition::RIGHT ;
922 break;
924 nRet = style::LineNumberPosition::INSIDE ;
925 break;
927 nRet = style::LineNumberPosition::OUTSIDE ;
928 break;
929 }
930 aRet <<= nRet;
931 }
932 break;
933 case WID_DISTANCE :
934 {
935 sal_uInt32 nPos = rInfo.GetPosFromLeft();
936 if(USHRT_MAX == nPos)
937 nPos = 0;
938 aRet <<= static_cast < sal_Int32 >(convertTwipToMm100(nPos));
939 }
940 break;
941 case WID_INTERVAL :
942 aRet <<= static_cast<sal_Int16>(rInfo.GetCountBy());
943 break;
944 case WID_SEPARATOR_TEXT :
945 aRet <<= rInfo.GetDivider();
946 break;
948 aRet <<= static_cast<sal_Int16>(rInfo.GetDividerCountBy());
949 break;
951 aRet <<= rInfo.IsCountBlankLines();
952 break;
954 aRet <<= rInfo.IsCountInFlys();
955 break;
957 aRet <<= rInfo.IsRestartEachPage();
958 break;
959 }
960 return aRet;
961}
962
963void SwXLineNumberingProperties::addPropertyChangeListener(const OUString& /*rPropertyName*/, const uno:: Reference< beans::XPropertyChangeListener > & /*xListener*/)
964{
965OSL_FAIL("not implemented");
966}
967
968void SwXLineNumberingProperties::removePropertyChangeListener(const OUString& /*rPropertyName*/, const uno:: Reference< beans::XPropertyChangeListener > & /*xListener*/)
969{
970OSL_FAIL("not implemented");
971}
972
973void SwXLineNumberingProperties::addVetoableChangeListener(const OUString& /*rPropertyName*/, const uno:: Reference< beans::XVetoableChangeListener > & /*xListener*/)
974{
975OSL_FAIL("not implemented");
976}
977
978void SwXLineNumberingProperties::removeVetoableChangeListener(const OUString& /*rPropertyName*/, const uno:: Reference< beans::XVetoableChangeListener > & /*xListener*/)
979{
980OSL_FAIL("not implemented");
981}
982
983constexpr OUStringLiteral aInvalidStyle = u"__XXX___invalid";
984
986 : public SvtListener
987{
989 virtual void Notify(const SfxHint&) override;
990 public:
991 explicit Impl(SwXNumberingRules& rParent) : m_rParent(rParent) {}
992};
993
994bool SwXNumberingRules::isInvalidStyle(std::u16string_view rName)
995{
996 return rName == aInvalidStyle;
997}
998
1000{
1001 return "SwXNumberingRules";
1002}
1003
1005{
1006 return cppu::supportsService(this, rServiceName);
1007}
1008
1010{
1011 Sequence<OUString> aRet { "com.sun.star.text.NumberingRules" };
1012 return aRet;
1013}
1014
1016 m_pImpl(new SwXNumberingRules::Impl(*this)),
1017 m_pDoc(doc),
1018 m_pDocShell(nullptr),
1019 m_pNumRule(new SwNumRule(rRule)),
1020 m_pPropertySet(GetNumberingRulesSet()),
1021 m_bOwnNumRuleCreated(true)
1022{
1023 // first organize the document - it is dependent on the set character formats
1024 // if no format is set, it should work as well
1025 for( sal_uInt16 i = 0; i < MAXLEVEL; ++i)
1026 {
1027 SwNumFormat rFormat(m_pNumRule->Get(i));
1028 SwCharFormat* pCharFormat = rFormat.GetCharFormat();
1029 if(pCharFormat)
1030 {
1031 m_pDoc = pCharFormat->GetDoc();
1032 break;
1033 }
1034 }
1035 if(m_pDoc)
1036 m_pImpl->StartListening(GetPageDescNotifier(m_pDoc));
1037 for(sal_uInt16 i = 0; i < MAXLEVEL; ++i)
1038 {
1041 }
1042}
1043
1045 m_pImpl(new SwXNumberingRules::Impl(*this)),
1046 m_pDoc(nullptr),
1047 m_pDocShell(&rDocSh),
1048 m_pNumRule(nullptr),
1049 m_pPropertySet(GetNumberingRulesSet()),
1050 m_bOwnNumRuleCreated(false)
1051{
1052 m_pImpl->StartListening(GetPageDescNotifier(m_pDocShell->GetDoc()));
1053}
1054
1056 m_pImpl(new SwXNumberingRules::Impl(*this)),
1057 m_pDoc(&rDoc),
1058 m_pDocShell(nullptr),
1059 m_pNumRule(nullptr),
1060 m_pPropertySet(GetNumberingRulesSet()),
1061 m_bOwnNumRuleCreated(false)
1062{
1063 m_pImpl->StartListening(GetPageDescNotifier(&rDoc));
1065 rDoc.MakeNumRule( m_sCreatedNumRuleName, nullptr, false,
1066 // #i89178#
1068}
1069
1071{
1072 SolarMutexGuard aGuard;
1073 if(m_pDoc && !m_sCreatedNumRuleName.isEmpty())
1076 delete m_pNumRule;
1077}
1078
1079void SwXNumberingRules::replaceByIndex(sal_Int32 nIndex, const uno::Any& rElement)
1080{
1081 SolarMutexGuard aGuard;
1082 if(nIndex < 0 || MAXLEVEL <= nIndex)
1083 throw lang::IndexOutOfBoundsException();
1084
1085 auto rProperties = o3tl::tryAccess<uno::Sequence<beans::PropertyValue>>(
1086 rElement);
1087 if(!rProperties)
1088 throw lang::IllegalArgumentException();
1089 SwNumRule* pRule = nullptr;
1090 if(m_pNumRule)
1092 *rProperties, nIndex);
1093 else if(m_pDocShell)
1094 {
1095 // #i87650# - correction of cws warnings:
1096 SwNumRule aNumRule( *(m_pDocShell->GetDoc()->GetOutlineNumRule()) );
1098 *rProperties, nIndex);
1099 // set character format if needed
1100 // this code appears to be dead - except when a style is assigned for BITMAP numbering?
1101 const SwCharFormats* pFormats = m_pDocShell->GetDoc()->GetCharFormats();
1102 const size_t nChCount = pFormats->size();
1103 for(sal_uInt16 i = 0; i < MAXLEVEL;i++)
1104 {
1105 SwNumFormat aFormat(aNumRule.Get( i ));
1106 if (!m_sNewCharStyleNames[i].isEmpty() &&
1107 (!aFormat.GetCharFormat() || aFormat.GetCharFormat()->GetName()!= m_sNewCharStyleNames[i]))
1108 {
1109 SwCharFormat* pCharFormat = nullptr;
1110 for(size_t j = 0; j< nChCount; ++j)
1111 {
1112 SwCharFormat* pTmp = (*pFormats)[j];
1113 if(pTmp->GetName() == m_sNewCharStyleNames[i])
1114 {
1115 pCharFormat = pTmp;
1116 break;
1117 }
1118 }
1119 if(!pCharFormat)
1120 {
1121 SfxStyleSheetBase* pBase;
1123 SfxStyleFamily::Char);
1124 if(!pBase)
1125 pBase = &m_pDocShell->GetStyleSheetPool()->Make(m_sNewCharStyleNames[i], SfxStyleFamily::Char);
1126 pCharFormat = static_cast<SwDocStyleSheet*>(pBase)->GetCharFormat();
1127
1128 }
1129 aFormat.SetCharFormat( pCharFormat );
1130 aNumRule.Set( i, aFormat );
1131 }
1132 }
1133 m_pDocShell->GetDoc()->SetOutlineNumRule( aNumRule );
1134 }
1135 else if(m_pDoc && !m_sCreatedNumRuleName.isEmpty() &&
1136 nullptr != (pRule = m_pDoc->FindNumRulePtr( m_sCreatedNumRuleName )))
1137 {
1139 *rProperties, nIndex);
1140
1141 pRule->Validate(*m_pDoc);
1142 }
1143 else
1144 throw uno::RuntimeException();
1145}
1146
1148{
1149 return MAXLEVEL;
1150}
1151
1153{
1154 SolarMutexGuard aGuard;
1155 if(nIndex < 0 || MAXLEVEL <= nIndex)
1156 throw lang::IndexOutOfBoundsException();
1157
1158 uno::Any aVal;
1159 const SwNumRule* pRule = m_pNumRule;
1160 if(!pRule && m_pDoc && !m_sCreatedNumRuleName.isEmpty())
1162 if(pRule)
1163 {
1164 uno::Sequence<beans::PropertyValue> aRet = GetNumberingRuleByIndex(
1165 *pRule, nIndex);
1166 aVal <<= aRet;
1167
1168 }
1169 else if(m_pDocShell)
1170 {
1171 uno::Sequence<beans::PropertyValue> aRet = GetNumberingRuleByIndex(
1173 aVal <<= aRet;
1174 }
1175 else
1176 throw uno::RuntimeException();
1177 return aVal;
1178}
1179
1181{
1183}
1184
1186{
1187 return true;
1188}
1189
1191{
1192 STR_POOLCOLL_HEADLINE1,
1193 STR_POOLCOLL_HEADLINE2,
1194 STR_POOLCOLL_HEADLINE3,
1195 STR_POOLCOLL_HEADLINE4,
1196 STR_POOLCOLL_HEADLINE5,
1197 STR_POOLCOLL_HEADLINE6,
1198 STR_POOLCOLL_HEADLINE7,
1199 STR_POOLCOLL_HEADLINE8,
1200 STR_POOLCOLL_HEADLINE9,
1201 STR_POOLCOLL_HEADLINE10
1202};
1203
1204uno::Sequence<beans::PropertyValue> SwXNumberingRules::GetNumberingRuleByIndex(
1205 const SwNumRule& rNumRule, sal_Int32 nIndex) const
1206{
1207 SolarMutexGuard aGuard;
1208 OSL_ENSURE( 0 <= nIndex && nIndex < MAXLEVEL, "index out of range" );
1209
1210 const SwNumFormat& rFormat = rNumRule.Get( o3tl::narrowing<sal_uInt16>(nIndex) );
1211
1212 SwCharFormat* pCharFormat = rFormat.GetCharFormat();
1213 OUString CharStyleName;
1214 if (pCharFormat)
1215 CharStyleName = pCharFormat->GetName();
1216
1217 // Whether or not a style is present: the array entry overwrites this string
1218 if (!m_sNewCharStyleNames[nIndex].isEmpty() &&
1220 {
1221 CharStyleName = m_sNewCharStyleNames[nIndex];
1222 }
1223
1224 OUString aUString;
1225 if (m_pDocShell) // -> Chapter Numbering
1226 {
1227 // template name
1228 OUString sValue(SwResId(STR_POOLCOLL_HEADLINE_ARY[nIndex]));
1230 const size_t nCount = pColls->size();
1231 for(size_t i = 0; i < nCount; ++i)
1232 {
1233 SwTextFormatColl &rTextColl = *pColls->operator[](i);
1234 if(rTextColl.IsDefault())
1235 continue;
1236
1237 const sal_Int16 nOutLevel = rTextColl.IsAssignedToListLevelOfOutlineStyle()
1238 ? static_cast<sal_Int16>(rTextColl.GetAssignedOutlineStyleLevel())
1239 : MAXLEVEL;
1240 if ( nOutLevel == nIndex )
1241 {
1242 sValue = rTextColl.GetName();
1243 break; // the style for the level in question has been found
1244 }
1245 else if( sValue==rTextColl.GetName() )
1246 {
1247 // if the default for the level is existing, but its
1248 // level is different, then it cannot be the default.
1249 sValue.clear();
1250 }
1251 }
1253 }
1254
1255 OUString referer;
1256 if (m_pDoc != nullptr) {
1257 auto const sh = m_pDoc->GetPersist();
1258 if (sh != nullptr && sh->HasName()) {
1259 referer = sh->GetMedium()->GetName();
1260 }
1261 }
1263 rFormat, CharStyleName, m_pDocShell ? & aUString : nullptr, referer);
1264
1265}
1266
1267uno::Sequence<beans::PropertyValue> SwXNumberingRules::GetPropertiesForNumFormat(
1268 const SwNumFormat& rFormat, OUString const& rCharFormatName,
1269 OUString const*const pHeadingStyleName, OUString const & referer)
1270{
1271 bool bChapterNum = pHeadingStyleName != nullptr;
1272
1273 std::vector<PropertyValue> aPropertyValues;
1274 aPropertyValues.reserve(32);
1275 //fill all properties into the array
1276
1277 //adjust
1278 SvxAdjust eAdj = rFormat.GetNumAdjust();
1279 sal_Int16 nINT16 = aSvxToUnoAdjust[eAdj];
1280 aPropertyValues.push_back(comphelper::makePropertyValue("Adjust", nINT16));
1281
1282 //parentnumbering
1283 nINT16 = rFormat.GetIncludeUpperLevels();
1284 aPropertyValues.push_back(comphelper::makePropertyValue("ParentNumbering", nINT16));
1285
1286 //prefix
1287 OUString aUString = rFormat.GetPrefix();
1288 aPropertyValues.push_back(comphelper::makePropertyValue("Prefix", aUString));
1289
1290 //suffix
1291 aUString = rFormat.GetSuffix();
1292 aPropertyValues.push_back(comphelper::makePropertyValue("Suffix", aUString));
1293
1294 //listformat
1295 if (rFormat.HasListFormat())
1296 {
1297 aPropertyValues.push_back(comphelper::makePropertyValue("ListFormat", rFormat.GetListFormat()));
1298 }
1299
1300 if (rFormat.GetIsLegal())
1302
1303 //char style name
1304 aUString.clear();
1306 aPropertyValues.push_back(comphelper::makePropertyValue("CharStyleName", aUString));
1307
1308 //startvalue
1309 nINT16 = rFormat.GetStart();
1310 aPropertyValues.push_back(comphelper::makePropertyValue("StartWith", nINT16));
1311
1313 {
1314 //leftmargin
1315 sal_Int32 nINT32 = convertTwipToMm100(rFormat.GetAbsLSpace());
1317
1318 //chartextoffset
1319 nINT32 = convertTwipToMm100(rFormat.GetCharTextDistance());
1321
1322 //firstlineoffset
1323 nINT32 = convertTwipToMm100(rFormat.GetFirstLineOffset());
1325 }
1326
1327 // PositionAndSpaceMode
1328 nINT16 = PositionAndSpaceMode::LABEL_WIDTH_AND_POSITION;
1330 {
1331 nINT16 = PositionAndSpaceMode::LABEL_ALIGNMENT;
1332 }
1334
1336 {
1337 // LabelFollowedBy
1338 nINT16 = LabelFollow::LISTTAB;
1339 if ( rFormat.GetLabelFollowedBy() == SvxNumberFormat::SPACE )
1340 {
1341 nINT16 = LabelFollow::SPACE;
1342 }
1343 else if ( rFormat.GetLabelFollowedBy() == SvxNumberFormat::NOTHING )
1344 {
1345 nINT16 = LabelFollow::NOTHING;
1346 }
1347 else if ( rFormat.GetLabelFollowedBy() == SvxNumberFormat::NEWLINE )
1348 {
1349 nINT16 = LabelFollow::NEWLINE;
1350 }
1352
1353 // ListtabStopPosition
1354 sal_Int32 nINT32 = convertTwipToMm100(rFormat.GetListtabPos());
1356
1357 // FirstLineIndent
1358 nINT32 = convertTwipToMm100(rFormat.GetFirstLineIndent());
1360
1361 // IndentAt
1362 nINT32 = convertTwipToMm100(rFormat.GetIndentAt());
1364 }
1365
1366 //numberingtype
1367 nINT16 = rFormat.GetNumberingType();
1368 aPropertyValues.push_back(comphelper::makePropertyValue("NumberingType", nINT16));
1369
1370 if(!bChapterNum)
1371 {
1372 if(SVX_NUM_CHAR_SPECIAL == rFormat.GetNumberingType())
1373 {
1374 sal_UCS4 cBullet = rFormat.GetBulletChar();
1375
1376 //BulletId
1377 nINT16 = cBullet;
1378 aPropertyValues.push_back(comphelper::makePropertyValue("BulletId", nINT16));
1379
1380 std::optional<vcl::Font> pFont = rFormat.GetBulletFont();
1381
1382 //BulletChar
1383 aUString = OUString(&cBullet, 1);
1384 aPropertyValues.push_back(comphelper::makePropertyValue("BulletChar", aUString));
1385
1386 //BulletFontName
1387 aUString = pFont ? pFont->GetStyleName() : OUString();
1388 aPropertyValues.push_back(comphelper::makePropertyValue("BulletFontName", aUString));
1389
1390 //BulletFont
1391 if(pFont)
1392 {
1393 awt::FontDescriptor aDesc;
1396 }
1397 }
1398 if (SVX_NUM_BITMAP == rFormat.GetNumberingType())
1399 {
1400 const SvxBrushItem* pBrush = rFormat.GetBrush();
1401 const Graphic* pGraphic = pBrush ? pBrush->GetGraphic(referer) : nullptr;
1402 if (pGraphic)
1403 {
1404 //GraphicBitmap
1405 uno::Reference<awt::XBitmap> xBitmap(pGraphic->GetXGraphic(), uno::UNO_QUERY);
1407 }
1408
1409 Size aSize = rFormat.GetGraphicSize();
1410 // #i101131#
1411 // adjust conversion due to type mismatch between <Size> and <awt::Size>
1412 awt::Size aAwtSize(convertTwipToMm100(aSize.Width()), convertTwipToMm100(aSize.Height()));
1414
1415 const SwFormatVertOrient* pOrient = rFormat.GetGraphicOrientation();
1416 if(pOrient)
1417 {
1418 uno::Any any;
1419 pOrient->QueryValue(any);
1420 aPropertyValues.emplace_back(
1421 UNO_NAME_VERT_ORIENT, -1, any, PropertyState_DIRECT_VALUE);
1422 }
1423 }
1424 }
1425 else
1426 {
1427 aUString = *pHeadingStyleName;
1429 }
1430
1431 return ::comphelper::containerToSequence(aPropertyValues);
1432}
1433
1435 SwNumRule& rNumRule,
1436 const uno::Sequence<beans::PropertyValue>& rProperties, sal_Int32 nIndex)
1437{
1438 SolarMutexGuard aGuard;
1439 OSL_ENSURE( 0 <= nIndex && nIndex < MAXLEVEL, "index out of range" );
1440
1441 SwNumFormat aFormat(rNumRule.Get( o3tl::narrowing<sal_uInt16>(nIndex) ));
1442
1443 OUString sHeadingStyleName;
1444 OUString sParagraphStyleName;
1445
1448 &sHeadingStyleName, &sParagraphStyleName,
1449 m_pDoc, m_pDocShell, rProperties);
1450
1451
1452 if (m_pDoc && !sParagraphStyleName.isEmpty())
1453 {
1454 const SwTextFormatColls* pColls = m_pDoc->GetTextFormatColls();
1455 const size_t nCount = pColls->size();
1456 for (size_t k = 0; k < nCount; ++k)
1457 {
1458 SwTextFormatColl &rTextColl = *((*pColls)[k]);
1459 if (rTextColl.GetName() == sParagraphStyleName)
1460 rTextColl.SetFormatAttr( SwNumRuleItem( rNumRule.GetName()));
1461 }
1462 }
1463
1464 if (!sHeadingStyleName.isEmpty())
1465 {
1466 assert(m_pDocShell);
1468 const size_t nCount = pColls->size();
1469 for (size_t k = 0; k < nCount; ++k)
1470 {
1471 SwTextFormatColl &rTextColl = *((*pColls)[k]);
1472 if (rTextColl.IsDefault())
1473 continue;
1474 if (rTextColl.IsAssignedToListLevelOfOutlineStyle() &&
1475 rTextColl.GetAssignedOutlineStyleLevel() == nIndex &&
1476 rTextColl.GetName() != sHeadingStyleName)
1477 {
1479 }
1480 else if (rTextColl.GetName() == sHeadingStyleName)
1481 {
1483 }
1484 }
1485 }
1486
1487 rNumRule.Set(o3tl::narrowing<sal_uInt16>(nIndex), aFormat);
1488}
1489
1491 SwNumFormat & aFormat,
1492 OUString & rCharStyleName, OUString *const pBulletFontName,
1493 OUString *const pHeadingStyleName,
1494 OUString *const pParagraphStyleName,
1495 SwDoc *const pDoc,
1496 SwDocShell *const pDocShell,
1497 const uno::Sequence<beans::PropertyValue>& rProperties)
1498{
1499 assert(pDoc == nullptr || pDocShell == nullptr); // can't be both ordinary and chapter numbering
1500
1501 bool bWrongArg = false;
1502 std::unique_ptr<SvxBrushItem> pSetBrush;
1503 std::unique_ptr<Size> pSetSize;
1504 std::unique_ptr<SwFormatVertOrient> pSetVOrient;
1505 bool bCharStyleNameSet = false;
1506
1507 for (const beans::PropertyValue& rProp : rProperties)
1508 {
1509 if (rProp.Name == UNO_NAME_ADJUST)
1510 {
1512 rProp.Value >>= nValue;
1513 switch (nValue) {
1514 case text::HoriOrientation::RIGHT:
1515 aFormat.SetNumAdjust(SvxAdjust::Right);
1516 break;
1517 case text::HoriOrientation::CENTER:
1518 aFormat.SetNumAdjust(SvxAdjust::Center);
1519 break;
1520 case text::HoriOrientation::LEFT:
1521 aFormat.SetNumAdjust(SvxAdjust::Left);
1522 break;
1523 default:
1524 bWrongArg = true;
1525 break;
1526 }
1527 }
1528 else if (rProp.Name == UNO_NAME_PARENT_NUMBERING)
1529 {
1530 sal_Int16 nSet = 0;
1531 rProp.Value >>= nSet;
1532 if(nSet >= 0 && MAXLEVEL >= nSet)
1533 aFormat.SetIncludeUpperLevels( static_cast< sal_uInt8 >(nSet) );
1534 }
1535 else if (rProp.Name == UNO_NAME_PREFIX)
1536 {
1537 OUString uTmp;
1538 rProp.Value >>= uTmp;
1539 aFormat.SetPrefix(uTmp);
1540 }
1541 else if (rProp.Name == UNO_NAME_SUFFIX)
1542 {
1543 OUString uTmp;
1544 rProp.Value >>= uTmp;
1545 aFormat.SetSuffix(uTmp);
1546 }
1547 else if (rProp.Name == UNO_NAME_CHAR_STYLE_NAME)
1548 {
1549 bCharStyleNameSet = true;
1550 OUString uTmp;
1551 rProp.Value >>= uTmp;
1552 OUString sCharFormatName;
1554 SwDoc *const pLocalDoc = pDocShell ? pDocShell->GetDoc() : pDoc;
1555 if (sCharFormatName.isEmpty())
1556 {
1557 rCharStyleName.clear();
1558 aFormat.SetCharFormat(nullptr);
1559 aFormat.SetCharFormatName("");
1560 }
1561 else if (pLocalDoc)
1562 {
1563 SwCharFormat* pCharFormat = nullptr;
1564 if (!sCharFormatName.isEmpty())
1565 {
1566 pCharFormat = pLocalDoc->FindCharFormatByName(sCharFormatName);
1567 if(!pCharFormat)
1568 {
1569
1570 SfxStyleSheetBase* pBase;
1571 SfxStyleSheetBasePool* pPool = pLocalDoc->GetDocShell()->GetStyleSheetPool();
1572 pBase = pPool->Find(sCharFormatName, SfxStyleFamily::Char);
1573 if(!pBase)
1574 pBase = &pPool->Make(sCharFormatName, SfxStyleFamily::Char);
1575 pCharFormat = static_cast<SwDocStyleSheet*>(pBase)->GetCharFormat();
1576 }
1577 }
1578 aFormat.SetCharFormat( pCharFormat );
1579 // #i51842#
1580 // If the character format has been found its name should not be in the
1581 // char style names array
1582 rCharStyleName.clear();
1583 }
1584 else
1585 rCharStyleName = sCharFormatName;
1586 }
1587 else if (rProp.Name == UNO_NAME_START_WITH)
1588 {
1589 sal_Int16 nVal = 0;
1590 rProp.Value >>= nVal;
1591 aFormat.SetStart(nVal);
1592 }
1593 else if (rProp.Name == UNO_NAME_LEFT_MARGIN)
1594 {
1595 sal_Int32 nValue = 0;
1596 rProp.Value >>= nValue;
1597 // #i23727# nValue can be negative
1599 }
1600 else if (rProp.Name == UNO_NAME_SYMBOL_TEXT_DISTANCE)
1601 {
1602 sal_Int32 nValue = 0;
1603 rProp.Value >>= nValue;
1604 if (nValue >= 0)
1606 else
1607 bWrongArg = true;
1608 }
1609 else if (rProp.Name == UNO_NAME_FIRST_LINE_OFFSET)
1610 {
1611 sal_Int32 nValue = 0;
1612 rProp.Value >>= nValue;
1613 // #i23727# nValue can be positive
1615 aFormat.SetFirstLineOffset(nValue);
1616 }
1617 else if (rProp.Name == UNO_NAME_POSITION_AND_SPACE_MODE)
1618 {
1619 sal_Int16 nValue = 0;
1620 rProp.Value >>= nValue;
1621 if ( nValue == 0 )
1622 {
1624 }
1625 else if ( nValue == 1 )
1626 {
1628 }
1629 else
1630 {
1631 bWrongArg = true;
1632 }
1633 }
1634 else if (rProp.Name == UNO_NAME_LABEL_FOLLOWED_BY)
1635 {
1636 sal_Int16 nValue = 0;
1637 rProp.Value >>= nValue;
1638 if ( nValue == LabelFollow::LISTTAB )
1639 {
1641 }
1642 else if ( nValue == LabelFollow::SPACE )
1643 {
1645 }
1646 else if ( nValue == LabelFollow::NOTHING )
1647 {
1649 }
1650 else if ( nValue == LabelFollow::NEWLINE )
1651 {
1653 }
1654 else
1655 {
1656 bWrongArg = true;
1657 }
1658 }
1659 else if (rProp.Name == UNO_NAME_LISTTAB_STOP_POSITION)
1660 {
1661 sal_Int32 nValue = 0;
1662 rProp.Value >>= nValue;
1664 if ( nValue >= 0 )
1665 {
1666 aFormat.SetListtabPos( nValue );
1667 }
1668 else
1669 {
1670 bWrongArg = true;
1671 }
1672 }
1673 else if (rProp.Name == UNO_NAME_FIRST_LINE_INDENT)
1674 {
1675 sal_Int32 nValue = 0;
1676 rProp.Value >>= nValue;
1678 aFormat.SetFirstLineIndent( nValue );
1679 }
1680 else if (rProp.Name == UNO_NAME_INDENT_AT)
1681 {
1682 sal_Int32 nValue = 0;
1683 rProp.Value >>= nValue;
1685 aFormat.SetIndentAt( nValue );
1686 }
1687 else if (rProp.Name == UNO_NAME_NUMBERING_TYPE)
1688 {
1689 sal_Int16 nSet = 0;
1690 rProp.Value >>= nSet;
1691 if(nSet >= 0)
1692 aFormat.SetNumberingType(static_cast<SvxNumType>(nSet));
1693 else
1694 bWrongArg = true;
1695 }
1696 else if (rProp.Name == UNO_NAME_PARAGRAPH_STYLE_NAME)
1697 {
1698 if (pParagraphStyleName)
1699 {
1700 OUString uTmp;
1701 rProp.Value >>= uTmp;
1702 OUString sStyleName;
1704 *pParagraphStyleName = sStyleName;
1705 }
1706 }
1707 else if (rProp.Name == UNO_NAME_BULLET_ID)
1708 {
1709 sal_Int16 nSet = 0;
1710 if( rProp.Value >>= nSet )
1711 aFormat.SetBulletChar(nSet);
1712 else
1713 bWrongArg = true;
1714 }
1715 else if (rProp.Name == UNO_NAME_BULLET_FONT)
1716 {
1717 awt::FontDescriptor desc;
1718 if (rProp.Value >>= desc)
1719 {
1720 // #i93725#
1721 // do not accept "empty" font
1722 if (!desc.Name.isEmpty())
1723 {
1724 vcl::Font aFont;
1726 aFormat.SetBulletFont(&aFont);
1727 }
1728 }
1729 else
1730 bWrongArg = true;
1731 }
1732 else if (rProp.Name == UNO_NAME_BULLET_FONT_NAME)
1733 {
1734 OUString sBulletFontName;
1735 rProp.Value >>= sBulletFontName;
1736 SwDocShell *const pLclDocShell = pDocShell ? pDocShell : pDoc ? pDoc->GetDocShell() : nullptr;
1737 if (!sBulletFontName.isEmpty() && pLclDocShell)
1738 {
1739 const SvxFontListItem* pFontListItem =
1740 static_cast<const SvxFontListItem* >(pLclDocShell
1741 ->GetItem( SID_ATTR_CHAR_FONTLIST ));
1742 const FontList* pList = pFontListItem->GetFontList();
1743 FontMetric aFontMetric = pList->Get(
1745 vcl::Font aFont(aFontMetric);
1746 aFormat.SetBulletFont(&aFont);
1747 }
1748 else if (pBulletFontName)
1749 *pBulletFontName = sBulletFontName;
1750 }
1751 else if (rProp.Name == UNO_NAME_BULLET_CHAR)
1752 {
1753 OUString aChar;
1754 rProp.Value >>= aChar;
1755 if (aChar.isEmpty())
1756 {
1757 // If w:lvlText's value is null - set bullet char to zero
1758 aFormat.SetBulletChar(u'\0');
1759 }
1760 else
1761 {
1762 sal_Int32 nIndexUtf16 = 0;
1763 sal_UCS4 cBullet = aChar.iterateCodePoints(&nIndexUtf16);
1764 if (aChar.getLength() == nIndexUtf16)
1765 aFormat.SetBulletChar(cBullet);
1766 else
1767 bWrongArg = true;
1768 }
1769 }
1770 else if (rProp.Name == UNO_NAME_GRAPHIC)
1771 {
1772 uno::Reference<graphic::XGraphic> xGraphic;
1773 if (rProp.Value >>= xGraphic)
1774 {
1775 if (!pSetBrush)
1776 {
1777 const SvxBrushItem* pOrigBrush = aFormat.GetBrush();
1778 if(pOrigBrush)
1779 pSetBrush.reset(new SvxBrushItem(*pOrigBrush));
1780 else
1781 pSetBrush.reset(new SvxBrushItem(OUString(), OUString(), GPOS_AREA, RES_BACKGROUND));
1782 }
1783 Graphic aGraphic(xGraphic);
1784 pSetBrush->SetGraphic(aGraphic);
1785 }
1786 else
1787 bWrongArg = true;
1788 }
1789 else if (rProp.Name == UNO_NAME_GRAPHIC_BITMAP)
1790 {
1791 uno::Reference<awt::XBitmap> xBitmap;
1792 if (rProp.Value >>= xBitmap)
1793 {
1794 if(!pSetBrush)
1795 {
1796 const SvxBrushItem* pOrigBrush = aFormat.GetBrush();
1797 if(pOrigBrush)
1798 pSetBrush.reset(new SvxBrushItem(*pOrigBrush));
1799 else
1800 pSetBrush.reset(new SvxBrushItem(OUString(), OUString(), GPOS_AREA, RES_BACKGROUND));
1801 }
1802
1803 uno::Reference<graphic::XGraphic> xGraphic(xBitmap, uno::UNO_QUERY);
1804 Graphic aGraphic(xGraphic);
1805 pSetBrush->SetGraphic(aGraphic);
1806 }
1807 else
1808 bWrongArg = true;
1809 }
1810 else if (rProp.Name == UNO_NAME_GRAPHIC_SIZE)
1811 {
1812 if(!pSetSize)
1813 pSetSize.reset(new Size);
1814 awt::Size size;
1815 if (rProp.Value >>= size)
1816 {
1817 pSetSize->setWidth(o3tl::toTwips(size.Width, o3tl::Length::mm100));
1818 pSetSize->setHeight(o3tl::toTwips(size.Height, o3tl::Length::mm100));
1819 }
1820 else
1821 bWrongArg = true;
1822 }
1823 else if (rProp.Name == UNO_NAME_VERT_ORIENT)
1824 {
1825 if(!pSetVOrient)
1826 {
1827 if(aFormat.GetGraphicOrientation())
1828 pSetVOrient.reset(aFormat.GetGraphicOrientation()->Clone());
1829 else
1830 pSetVOrient.reset(new SwFormatVertOrient);
1831 }
1832 pSetVOrient->PutValue(rProp.Value, MID_VERTORIENT_ORIENT);
1833 }
1834 else if (rProp.Name == UNO_NAME_HEADING_STYLE_NAME
1835 && pDocShell) // only on chapter numbering
1836 {
1837 if (pHeadingStyleName)
1838 {
1839 OUString uTmp;
1840 rProp.Value >>= uTmp;
1841 OUString sStyleName;
1843 *pHeadingStyleName = sStyleName;
1844 }
1845 }
1846 else if (rProp.Name == UNO_NAME_BULLET_REL_SIZE)
1847 {
1848 // BulletRelSize - unsupported - only available in Impress
1849 }
1850 else if (rProp.Name == UNO_NAME_BULLET_COLOR)
1851 {
1852 // BulletColor - ignored too
1853 }
1854 else if (rProp.Name == UNO_NAME_GRAPHIC_URL)
1855 {
1856 OUString aURL;
1857 if (rProp.Value >>= aURL)
1858 {
1859 if(!pSetBrush)
1860 {
1861 const SvxBrushItem* pOrigBrush = aFormat.GetBrush();
1862 if(pOrigBrush)
1863 pSetBrush.reset(new SvxBrushItem(*pOrigBrush));
1864 else
1865 pSetBrush.reset(new SvxBrushItem(OUString(), OUString(), GPOS_AREA, RES_BACKGROUND));
1866 }
1867
1869 if (!aGraphic.IsNone())
1870 pSetBrush->SetGraphic(aGraphic);
1871 }
1872 else
1873 bWrongArg = true;
1874 }
1875 else if (rProp.Name == UNO_NAME_LIST_FORMAT)
1876 {
1877 OUString uTmp;
1878 rProp.Value >>= uTmp;
1879 aFormat.SetListFormat(uTmp);
1880 }
1881 else if (rProp.Name == UNO_NAME_LEVEL_IS_LEGAL)
1882 {
1883 if (bool bVal; rProp.Value >>= bVal)
1884 aFormat.SetIsLegal(bVal);
1885 }
1886 else
1887 {
1888 // Invalid property name
1889 throw beans::UnknownPropertyException("Unknown property " + rProp.Name);
1890 }
1891 }
1892 if(!bWrongArg && (pSetBrush || pSetSize || pSetVOrient))
1893 {
1894 if(!pSetBrush && aFormat.GetBrush())
1895 pSetBrush.reset(new SvxBrushItem(*aFormat.GetBrush()));
1896
1897 if(pSetBrush)
1898 {
1899 if(!pSetVOrient && aFormat.GetGraphicOrientation())
1900 pSetVOrient.reset( new SwFormatVertOrient(*aFormat.GetGraphicOrientation()) );
1901
1902 if(!pSetSize)
1903 {
1904 pSetSize.reset(new Size(aFormat.GetGraphicSize()));
1905 if(!pSetSize->Width() || !pSetSize->Height())
1906 {
1907 const Graphic* pGraphic = pSetBrush->GetGraphic();
1908 if(pGraphic)
1909 *pSetSize = ::GetGraphicSizeTwip(*pGraphic, nullptr);
1910 }
1911 }
1912 sal_Int16 eOrient = pSetVOrient ?
1913 pSetVOrient->GetVertOrient() : text::VertOrientation::NONE;
1914 aFormat.SetGraphicBrush( pSetBrush.get(), pSetSize.get(), text::VertOrientation::NONE == eOrient ? nullptr : &eOrient );
1915 }
1916 }
1917 if ((!bCharStyleNameSet || rCharStyleName.isEmpty())
1918 && aFormat.GetNumberingType() == NumberingType::BITMAP
1919 && !aFormat.GetCharFormat()
1920 && !SwXNumberingRules::isInvalidStyle(rCharStyleName))
1921 {
1922 OUString tmp;
1924 rCharStyleName = tmp;
1925 }
1926
1927 if(bWrongArg)
1928 throw lang::IllegalArgumentException();
1929}
1930
1931uno::Reference< XPropertySetInfo > SwXNumberingRules::getPropertySetInfo()
1932{
1933 static uno::Reference< beans::XPropertySetInfo > aRef = m_pPropertySet->getPropertySetInfo();
1934 return aRef;
1935}
1936
1937void SwXNumberingRules::setPropertyValue( const OUString& rPropertyName, const Any& rValue )
1938{
1939 SolarMutexGuard aGuard;
1940 std::unique_ptr<SwNumRule> pDocRule;
1941 SwNumRule* pCreatedRule = nullptr;
1942 if(!m_pNumRule)
1943 {
1944 if(m_pDocShell)
1945 {
1946 pDocRule.reset(new SwNumRule(*m_pDocShell->GetDoc()->GetOutlineNumRule()));
1947 }
1948 else if(m_pDoc && !m_sCreatedNumRuleName.isEmpty())
1949 {
1951 }
1952
1953 }
1954 if(!m_pNumRule && !pDocRule && !pCreatedRule)
1955 throw RuntimeException();
1956
1957 if(rPropertyName == UNO_NAME_IS_AUTOMATIC)
1958 {
1959 bool bVal = *o3tl::doAccess<bool>(rValue);
1960 if(!pCreatedRule)
1961 pDocRule ? pDocRule->SetAutoRule(bVal) : m_pNumRule->SetAutoRule(bVal);
1962 }
1963 else if(rPropertyName == UNO_NAME_IS_CONTINUOUS_NUMBERING)
1964 {
1965 bool bVal = *o3tl::doAccess<bool>(rValue);
1966 pDocRule ? pDocRule->SetContinusNum(bVal) :
1967 pCreatedRule ? pCreatedRule->SetContinusNum(bVal) : m_pNumRule->SetContinusNum(bVal);
1968 }
1969 else if(rPropertyName == UNO_NAME_NAME)
1970 {
1971 throw IllegalArgumentException();
1972 }
1973 else if(rPropertyName == UNO_NAME_IS_ABSOLUTE_MARGINS)
1974 {
1975 bool bVal = *o3tl::doAccess<bool>(rValue);
1976 pDocRule ? pDocRule->SetAbsSpaces(bVal) :
1977 pCreatedRule ? pCreatedRule->SetAbsSpaces(bVal) : m_pNumRule->SetAbsSpaces(bVal);
1978 }
1979 else if(rPropertyName == UNO_NAME_NUMBERING_IS_OUTLINE)
1980 {
1981 bool bVal = *o3tl::doAccess<bool>(rValue);
1982 SwNumRuleType eNumRuleType = bVal ? OUTLINE_RULE : NUM_RULE;
1983 pDocRule ? pDocRule->SetRuleType(eNumRuleType) :
1984 pCreatedRule ? pCreatedRule->SetRuleType(eNumRuleType) : m_pNumRule->SetRuleType(eNumRuleType);
1985 }
1986 else if(rPropertyName == UNO_NAME_DEFAULT_LIST_ID)
1987 {
1988 throw IllegalArgumentException();
1989 }
1990 else
1991 throw UnknownPropertyException(rPropertyName);
1992
1993 if(pDocRule)
1994 {
1995 assert(m_pDocShell);
1996 m_pDocShell->GetDoc()->SetOutlineNumRule(*pDocRule);
1997 pDocRule.reset();
1998 }
1999 else if(pCreatedRule)
2000 {
2001 pCreatedRule->Validate(*m_pDoc);
2002 }
2003}
2004
2005Any SwXNumberingRules::getPropertyValue( const OUString& rPropertyName )
2006{
2007 Any aRet;
2008 const SwNumRule* pRule = m_pNumRule;
2009 if(!pRule && m_pDocShell)
2010 pRule = m_pDocShell->GetDoc()->GetOutlineNumRule();
2011 else if(m_pDoc && !m_sCreatedNumRuleName.isEmpty())
2013 if(!pRule)
2014 throw RuntimeException();
2015
2016 if(rPropertyName == UNO_NAME_IS_AUTOMATIC)
2017 {
2018 aRet <<= pRule->IsAutoRule();
2019 }
2020 else if(rPropertyName == UNO_NAME_IS_CONTINUOUS_NUMBERING)
2021 {
2022 aRet <<= pRule->IsContinusNum();
2023 }
2024 else if(rPropertyName == UNO_NAME_NAME)
2025 aRet <<= pRule->GetName();
2026 else if(rPropertyName == UNO_NAME_IS_ABSOLUTE_MARGINS)
2027 {
2028 aRet <<= pRule->IsAbsSpaces();
2029 }
2030 else if(rPropertyName == UNO_NAME_NUMBERING_IS_OUTLINE)
2031 {
2032 aRet <<= pRule->IsOutlineRule();
2033 }
2034 else if(rPropertyName == UNO_NAME_DEFAULT_LIST_ID)
2035 {
2036 OSL_ENSURE( !pRule->GetDefaultListId().isEmpty(),
2037 "<SwXNumberingRules::getPropertyValue(..)> - no default list id found. Serious defect." );
2038 aRet <<= pRule->GetDefaultListId();
2039 }
2040 else
2041 throw UnknownPropertyException(rPropertyName);
2042 return aRet;
2043}
2044
2046 const OUString& /*rPropertyName*/, const uno::Reference< XPropertyChangeListener >& /*xListener*/ )
2047{
2048}
2049
2051 const OUString& /*rPropertyName*/, const uno::Reference< XPropertyChangeListener >& /*xListener*/ )
2052{
2053}
2054
2056 const OUString& /*rPropertyName*/, const uno::Reference< XVetoableChangeListener >& /*xListener*/ )
2057{
2058}
2059
2061 const OUString& /*rPropertyName*/, const uno::Reference< XVetoableChangeListener >& /*xListener*/ )
2062{
2063}
2064
2066{
2067 if(m_pNumRule)
2068 {
2069 OUString aString;
2071 return aString;
2072 }
2073 // consider chapter numbering <SwXNumberingRules>
2074 if ( m_pDocShell )
2075 {
2076 OUString aString;
2079 return aString;
2080 }
2081 return m_sCreatedNumRuleName;
2082}
2083
2084void SwXNumberingRules::setName(const OUString& /*rName*/)
2085{
2086 RuntimeException aExcept;
2087 aExcept.Message = "readonly";
2088 throw aExcept;
2089}
2090
2092{
2093 if(rHint.GetId() == SfxHintId::Dying)
2094 {
2096 delete m_rParent.m_pNumRule;
2097 m_rParent.m_pNumRule = nullptr;
2098 m_rParent.m_pDoc = nullptr;
2099 }
2100}
2101
2103{
2104 return "SwXChapterNumbering";
2105}
2106
2108{
2109 return cppu::supportsService(this, rServiceName);
2110}
2111
2113{
2114 return { "com.sun.star.text.ChapterNumbering", "com.sun.star.text.NumberingRules" };
2115}
2116
2118 SwXNumberingRules(rDocSh)
2119{
2120}
2121
2123{
2124}
2125
2126/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
::std::unique_ptr< XmlIdRegistry_Impl > m_pImpl
PropertyValueVector_t aPropertyValues
constexpr auto convertTwipToMm100(N n)
const Any & any
GPOS_AREA
FontMetric Get(const OUString &rName, const OUString &rStyleName) const
css::uno::Reference< css::graphic::XGraphic > GetXGraphic() const
bool IsNone() const
virtual SwPageDesc * GetPageDescFromPool(sal_uInt16 nId, bool bRegardLanguage=true)=0
Return required automatic page style.
virtual SwCharFormat * GetCharFormatFromPool(sal_uInt16 nId)=0
virtual SwTextFormatColl * GetTextCollFromPool(sal_uInt16 nId, bool bRegardLanguage=true)=0
Return "Auto-Collection with ID.
SfxHintId GetId() const
const SfxItemPropertyMapEntry * getByName(std::u16string_view rName) const
const SfxItemPropertyMap & getPropertyMap() const
css::uno::Reference< css::beans::XPropertySetInfo > const & getPropertySetInfo() const
const OUString & GetName() const
SfxMedium * GetMedium() const
const SfxPoolItem * GetItem(sal_uInt16 nSlotId) const
virtual SfxStyleSheetBase & Make(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits nMask=SfxStyleSearchBits::All)
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
constexpr tools::Long Height() const
constexpr tools::Long Width() const
const Graphic * GetGraphic(OUString const &referer=OUString()) const
const FontList * GetFontList() const
void SetStart(sal_uInt16 nSet)
tools::Long GetIndentAt() const
void SetAbsLSpace(sal_Int32 nSet)
void SetPositionAndSpaceMode(SvxNumPositionAndSpaceMode ePositionAndSpaceMode)
void SetFirstLineIndent(const tools::Long nFirstLineIndent)
sal_uInt8 GetIncludeUpperLevels() const
const SvxBrushItem * GetBrush() const
void SetBulletFont(const vcl::Font *pFont)
OUString GetListFormat(bool bIncludePrefixSuffix=true) const
sal_Int32 GetFirstLineOffset() const
tools::Long GetFirstLineIndent() const
const std::optional< vcl::Font > & GetBulletFont() const
void SetSuffix(const OUString &rSet)
sal_UCS4 GetBulletChar() const
void SetCharTextDistance(short nSet)
const Size & GetGraphicSize() const
sal_uInt16 GetStart() const
sal_Int32 GetAbsLSpace() const
LabelFollowedBy GetLabelFollowedBy() const
void SetListFormat(const OUString &rPrefix, const OUString &rSuffix, int nLevel)
bool GetIsLegal() const
tools::Long GetListtabPos() const
void SetNumAdjust(SvxAdjust eSet)
void SetIsLegal(bool val)
SvxAdjust GetNumAdjust() const
void SetIncludeUpperLevels(sal_uInt8 nSet)
void SetIndentAt(const tools::Long nIndentAt)
bool HasListFormat() const
void SetFirstLineOffset(sal_Int32 nSet)
SvxNumPositionAndSpaceMode GetPositionAndSpaceMode() const
void SetPrefix(const OUString &rSet)
void SetBulletChar(sal_UCS4 cSet)
const OUString & GetPrefix() const
void SetLabelFollowedBy(const LabelFollowedBy eLabelFollowedBy)
void SetListtabPos(const tools::Long nListtabPos)
const OUString & GetSuffix() const
short GetCharTextDistance() const
void SetNumberingType(SvxNumType nSet)
SvxNumType GetNumberingType() const
static void ConvertFromFont(const vcl::Font &rFont, css::awt::FontDescriptor &rDesc)
static void ConvertToFont(const css::awt::FontDescriptor &rDesc, vcl::Font &rFont)
Represents the style of a text portion.
Definition: charfmt.hxx:27
size_t size() const
Definition: charformats.hxx:71
virtual SfxStyleSheetBasePool * GetStyleSheetPool() override
For Style PI.
Definition: docsh.cxx:1152
SwDoc * GetDoc()
returns Doc. But be careful!
Definition: docsh.hxx:204
Definition: doc.hxx:197
SwPageDesc * FindPageDesc(const OUString &rName, size_t *pPos=nullptr) const
Definition: docdesc.cxx:947
const SwFootnoteInfo & GetFootnoteInfo() const
Definition: doc.hxx:645
OUString GetUniqueNumRuleName(const OUString *pChkStr=nullptr, bool bAutoNum=true) const
Definition: docnum.cxx:2532
SwNumRule * FindNumRulePtr(const OUString &rName) const
Definition: docnum.cxx:2454
SwNumRule * GetOutlineNumRule() const
Definition: doc.hxx:1039
SwCharFormat * FindCharFormatByName(const OUString &rName) const
Definition: doc.hxx:786
const SwCharFormats * GetCharFormats() const
Definition: doc.hxx:755
const SwLineNumberInfo & GetLineNumberInfo() const
Definition: lineinfo.cxx:49
void SetFootnoteInfo(const SwFootnoteInfo &rInfo)
Definition: docftn.cxx:294
SfxObjectShell * GetPersist() const
Definition: docnew.cxx:653
const SwTextFormatColls * GetTextFormatColls() const
Definition: doc.hxx:793
const SwEndNoteInfo & GetEndNoteInfo() const
Definition: doc.hxx:647
IDocumentStylePoolAccess const & getIDocumentStylePoolAccess() const
Definition: doc.cxx:440
void SetEndNoteInfo(const SwEndNoteInfo &rInfo)
Definition: docftn.cxx:365
SwTextFormatColl * FindTextFormatCollByName(const OUString &rName) const
Definition: doc.hxx:814
void SetLineNumberInfo(const SwLineNumberInfo &rInfo)
Definition: lineinfo.cxx:30
bool DelNumRule(const OUString &rName, bool bBroadCast=false)
Definition: docnum.cxx:1055
SwDocShell * GetDocShell()
Definition: doc.hxx:1370
sal_uInt16 MakeNumRule(const OUString &rName, const SwNumRule *pCpy=nullptr, bool bBroadcast=false, const SvxNumberFormat::SvxNumPositionAndSpaceMode eDefaultNumberFormatPositionAndSpaceMode=SvxNumberFormat::LABEL_WIDTH_AND_POSITION)
Definition: docnum.cxx:2488
void SetOutlineNumRule(const SwNumRule &rRule)
Definition: docnum.cxx:112
void SetPrefix(const OUString &rSet)
Definition: ftninfo.hxx:73
void SetCharFormat(SwCharFormat *)
Definition: docftn.cxx:172
SwCharFormat * GetCurrentCharFormat(const bool bAnchor) const
Definition: docftn.cxx:205
SwPageDesc * GetPageDesc(SwDoc &rDoc) const
Definition: docftn.cxx:105
const OUString & GetPrefix() const
Definition: ftninfo.hxx:70
void ChgPageDesc(SwPageDesc *pDesc)
Definition: docftn.cxx:126
void SetSuffix(const OUString &rSet)
Definition: ftninfo.hxx:74
sal_uInt16 m_nFootnoteOffset
Definition: ftninfo.hxx:47
bool KnowsPageDesc() const
Definition: docftn.cxx:116
const OUString & GetSuffix() const
Definition: ftninfo.hxx:71
SvxNumberType m_aFormat
Definition: ftninfo.hxx:46
void SetFootnoteTextColl(SwTextFormatColl &rColl)
Definition: docftn.cxx:133
SwTextFormatColl * GetFootnoteTextColl() const
Definition: ftninfo.hxx:55
void SetAnchorCharFormat(SwCharFormat *)
Definition: docftn.cxx:195
OUString m_aErgoSum
Definition: ftninfo.hxx:96
SwFootnoteNum m_eNum
Definition: ftninfo.hxx:98
SwFootnotePos m_ePos
Definition: ftninfo.hxx:97
OUString m_aQuoVadis
Definition: ftninfo.hxx:95
Defines the vertical position of a fly frame.
Definition: fmtornt.hxx:37
virtual bool QueryValue(css::uno::Any &rVal, sal_uInt8 nMemberId=0) const override
Definition: atrfrm.cxx:1391
virtual SwFormatVertOrient * Clone(SfxItemPool *pPool=nullptr) const override
Definition: atrfrm.cxx:1386
bool IsDefault() const
Definition: format.hxx:129
const SwDoc * GetDoc() const
The document is set in SwAttrPool now, therefore you always can access it.
Definition: format.hxx:139
const OUString & GetName() const
Definition: format.hxx:131
< purpose of derivation from SwClient: character style for displaying the numbers.
Definition: lineinfo.hxx:39
void SetPaintLineNumbers(bool b)
Definition: lineinfo.hxx:81
void SetPos(LineNumberPosition eP)
Definition: lineinfo.hxx:78
const OUString & GetDivider() const
Definition: lineinfo.hxx:66
void SetDividerCountBy(sal_uInt16 n)
Definition: lineinfo.hxx:69
sal_uInt16 GetCountBy() const
Definition: lineinfo.hxx:74
const SvxNumberType & GetNumType() const
Definition: lineinfo.hxx:63
void SetDivider(const OUString &r)
Definition: lineinfo.hxx:67
bool IsRestartEachPage() const
Definition: lineinfo.hxx:89
void SetCharFormat(SwCharFormat *)
Definition: lineinfo.cxx:109
void SetCountBlankLines(bool b)
Definition: lineinfo.hxx:84
SwCharFormat * GetCharFormat(IDocumentStylePoolAccess &rIDSPA) const
Definition: lineinfo.cxx:99
void SetRestartEachPage(bool b)
Definition: lineinfo.hxx:90
bool IsPaintLineNumbers() const
Definition: lineinfo.hxx:80
bool HasCharFormat() const
Definition: lineinfo.hxx:92
void SetNumType(SvxNumberType aNew)
Definition: lineinfo.hxx:64
void SetCountBy(sal_uInt16 n)
Definition: lineinfo.hxx:75
bool IsCountBlankLines() const
Definition: lineinfo.hxx:83
void SetPosFromLeft(sal_uInt16 n)
Definition: lineinfo.hxx:72
sal_uInt16 GetPosFromLeft() const
Definition: lineinfo.hxx:71
bool IsCountInFlys() const
Definition: lineinfo.hxx:86
sal_uInt16 GetDividerCountBy() const
Definition: lineinfo.hxx:68
void SetCountInFlys(bool b)
Definition: lineinfo.hxx:87
LineNumberPosition GetPos() const
Definition: lineinfo.hxx:77
SwCharFormat * GetCharFormat() const
Definition: numrule.hxx:74
void SetCharFormat(SwCharFormat *)
Definition: number.cxx:281
const SwFormatVertOrient * GetGraphicOrientation() const
Definition: number.cxx:352
virtual void SetGraphicBrush(const SvxBrushItem *pBrushItem, const Size *pSize=nullptr, const sal_Int16 *pOrient=nullptr) override
Definition: number.cxx:319
void SetCharFormatName(const OUString &rSet)
void SetAutoRule(bool bFlag)
Definition: numrule.hxx:230
bool IsAutoRule() const
Definition: numrule.hxx:229
void SetRuleType(SwNumRuleType eNew)
Definition: numrule.hxx:212
void SetAbsSpaces(bool bFlag)
Definition: numrule.hxx:239
bool IsOutlineRule() const
Definition: numrule.hxx:241
bool IsContinusNum() const
Definition: numrule.hxx:235
const OUString & GetDefaultListId() const
Definition: numrule.hxx:194
const SwNumFormat & Get(sal_uInt16 i) const
Definition: number.cxx:87
void Set(sal_uInt16 i, const SwNumFormat *)
Definition: number.cxx:618
const OUString & GetName() const
Definition: numrule.hxx:224
void SetContinusNum(bool bFlag)
Definition: numrule.hxx:236
void Validate(const SwDoc &rDoc)
Definition: number.cxx:1075
bool IsAbsSpaces() const
Definition: numrule.hxx:238
const OUString & GetName() const
Definition: pagedesc.hxx:196
static SW_DLLPUBLIC sal_uInt16 GetPoolIdFromUIName(const OUString &rName, SwGetPoolIdFromName)
static void FillProgName(const OUString &rName, OUString &rFillName, SwGetPoolIdFromName)
static void FillUIName(const OUString &rName, OUString &rFillName, SwGetPoolIdFromName)
Represents the style of a paragraph.
Definition: fmtcol.hxx:61
bool IsAssignedToListLevelOfOutlineStyle() const
Definition: fmtcol.hxx:122
void DeleteAssignmentToListLevelOfOutlineStyle()
Definition: fmtcol.cxx:712
virtual bool SetFormatAttr(const SfxPoolItem &rAttr) override
Override to recognize changes on the <SwNumRuleItem> and register/unregister the paragragh style at t...
Definition: fmtcol.cxx:395
void AssignToListLevelOfOutlineStyle(const int nAssignedListLevel)
Definition: fmtcol.cxx:685
int GetAssignedOutlineStyleLevel() const
Definition: fmtcol.cxx:678
size_t size() const
Definition: docary.hxx:88
virtual OUString SAL_CALL getImplementationName() override
Definition: unosett.cxx:2102
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unosett.cxx:2107
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unosett.cxx:2112
SwXChapterNumbering(SwDocShell &rDocSh)
Definition: unosett.cxx:2117
virtual ~SwXChapterNumbering() override
Definition: unosett.cxx:2122
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unosett.cxx:726
virtual ~SwXEndnoteProperties() override
Definition: unosett.cxx:551
const SfxItemPropertySet * m_pPropertySet
Definition: unosett.hxx:81
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unosett.cxx:720
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
Definition: unosett.cxx:561
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
Definition: unosett.cxx:708
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
Definition: unosett.cxx:714
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unosett.cxx:534
virtual OUString SAL_CALL getImplementationName() override
Definition: unosett.cxx:529
SwXEndnoteProperties(SwDoc *pDoc)
Definition: unosett.cxx:545
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: unosett.cxx:555
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
Definition: unosett.cxx:635
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unosett.cxx:539
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
Definition: unosett.cxx:282
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unosett.cxx:517
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unosett.cxx:523
const SfxItemPropertySet * m_pPropertySet
Definition: unosett.hxx:51
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: unosett.cxx:276
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unosett.cxx:254
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
Definition: unosett.cxx:402
virtual ~SwXFootnoteProperties() override
Definition: unosett.cxx:271
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
Definition: unosett.cxx:505
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
Definition: unosett.cxx:511
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unosett.cxx:259
virtual OUString SAL_CALL getImplementationName() override
Definition: unosett.cxx:249
SwXFootnoteProperties(SwDoc *pDoc)
Definition: unosett.cxx:265
virtual ~SwXLineNumberingProperties() override
Definition: unosett.cxx:753
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
Definition: unosett.cxx:963
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unosett.cxx:741
SwXLineNumberingProperties(SwDoc *pDoc)
Definition: unosett.cxx:747
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unosett.cxx:973
virtual OUString SAL_CALL getImplementationName() override
Definition: unosett.cxx:731
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
Definition: unosett.cxx:877
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
Definition: unosett.cxx:968
const SfxItemPropertySet * m_pPropertySet
Definition: unosett.hxx:111
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unosett.cxx:736
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
Definition: unosett.cxx:763
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unosett.cxx:978
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: unosett.cxx:757
virtual void Notify(const SfxHint &) override
Definition: unosett.cxx:2091
Impl(SwXNumberingRules &rParent)
Definition: unosett.cxx:991
SwXNumberingRules & m_rParent
Definition: unosett.cxx:988
bool m_bOwnNumRuleCreated
Definition: unosett.hxx:153
virtual OUString SAL_CALL getImplementationName() override
Definition: unosett.cxx:999
virtual OUString SAL_CALL getName() override
Definition: unosett.cxx:2065
virtual void SAL_CALL removePropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) override
Definition: unosett.cxx:2050
virtual void SAL_CALL addVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unosett.cxx:2055
virtual ~SwXNumberingRules() override
Definition: unosett.cxx:1070
virtual void SAL_CALL removeVetoableChangeListener(const OUString &PropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) override
Definition: unosett.cxx:2060
virtual sal_Bool SAL_CALL hasElements() override
Definition: unosett.cxx:1185
virtual css::uno::Type SAL_CALL getElementType() override
Definition: unosett.cxx:1180
virtual void SAL_CALL addPropertyChangeListener(const OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &xListener) override
Definition: unosett.cxx:2045
virtual css::uno::Any SAL_CALL getByIndex(sal_Int32 nIndex) override
Definition: unosett.cxx:1152
const SfxItemPropertySet * m_pPropertySet
Definition: unosett.hxx:152
void SetNumberingRuleByIndex(SwNumRule &rNumRule, const css::uno::Sequence< css::beans::PropertyValue > &rProperties, sal_Int32 nIndex)
Definition: unosett.cxx:1434
SwDocShell * m_pDocShell
Definition: unosett.hxx:150
virtual void SAL_CALL setPropertyValue(const OUString &aPropertyName, const css::uno::Any &aValue) override
Definition: unosett.cxx:1937
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Definition: unosett.cxx:1009
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
Definition: unosett.cxx:1004
SwNumRule * m_pNumRule
Definition: unosett.hxx:151
virtual void SAL_CALL setName(const OUString &Name_) override
Definition: unosett.cxx:2084
css::uno::Sequence< css::beans::PropertyValue > GetNumberingRuleByIndex(const SwNumRule &rNumRule, sal_Int32 nIndex) const
Definition: unosett.cxx:1204
static bool isInvalidStyle(std::u16string_view rName)
Definition: unosett.cxx:994
OUString m_sNewBulletFontNames[MAXLEVEL]
Definition: unosett.hxx:147
static css::uno::Sequence< css::beans::PropertyValue > GetPropertiesForNumFormat(const SwNumFormat &rFormat, OUString const &rCharFormatName, OUString const *pHeadingStyleName, OUString const &referer)
Definition: unosett.cxx:1267
static void SetPropertiesToNumFormat(SwNumFormat &aFormat, OUString &rCharStyleName, OUString *const pBulletFontName, OUString *const pHeadingStyleName, OUString *const pParagraphStyleName, SwDoc *const pDoc, SwDocShell *const pDocShell, css::uno::Sequence< css::beans::PropertyValue > const &rProperties)
Definition: unosett.cxx:1490
virtual sal_Int32 SAL_CALL getCount() override
Definition: unosett.cxx:1147
OUString m_sNewCharStyleNames[MAXLEVEL]
Definition: unosett.hxx:146
::sw::UnoImplPtr< Impl > m_pImpl
Definition: unosett.hxx:143
OUString m_sCreatedNumRuleName
Definition: unosett.hxx:148
virtual void SAL_CALL replaceByIndex(sal_Int32 Index, const css::uno::Any &Element) override
Definition: unosett.cxx:1079
SwXNumberingRules(SwDocShell &rDocSh)
Definition: unosett.cxx:1044
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &PropertyName) override
Definition: unosett.cxx:2005
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
Definition: unosett.cxx:1931
css::uno::Type const & get()
int nCount
URL aURL
float u
sal_Int16 nValue
ITALIC_NONE
WEIGHT_NORMAL
@ FTNNUM_PAGE
Definition: ftninfo.hxx:87
@ FTNNUM_DOC
Definition: ftninfo.hxx:87
@ FTNNUM_CHAPTER
Definition: ftninfo.hxx:87
@ FTNPOS_CHAPTER
Definition: ftninfo.hxx:82
@ FTNPOS_PAGE
Definition: ftninfo.hxx:81
constexpr TypedWhichId< SvxBrushItem > RES_BACKGROUND(111)
sal_Int32 nIndex
#define PROPERTY_NONE
@ LINENUMBER_POS_LEFT
Definition: lineinfo.hxx:31
@ LINENUMBER_POS_RIGHT
Definition: lineinfo.hxx:32
@ LINENUMBER_POS_INSIDE
Definition: lineinfo.hxx:33
@ LINENUMBER_POS_OUTSIDE
Definition: lineinfo.hxx:34
sal_uInt16 nPos
OUString sBulletFontName
size
css::beans::PropertyValue makePropertyValue(const OUString &rName, T &&rValue)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
int i
SvxNumberFormat::SvxNumPositionAndSpaceMode GetDefaultPositionAndSpaceMode()
Definition: number.cxx:1538
constexpr auto toTwips(N number, Length from)
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
Graphic loadFromURL(OUString const &rURL, weld::Window *pParentWin)
SwNumRuleType
Definition: numrule.hxx:92
@ OUTLINE_RULE
Definition: numrule.hxx:92
@ NUM_RULE
Definition: numrule.hxx:92
sal_Int16 nId
@ RES_POOLPAGE_STANDARD
Standard page.
Definition: poolfmt.hxx:170
@ RES_POOLCHR_BULLET_LEVEL
Bullets.
Definition: poolfmt.hxx:118
SvxNumType
SVX_NUM_ARABIC
SVX_NUM_BITMAP
SVX_NUM_CHAR_SPECIAL
SvxAdjust
OUString SwResId(TranslateId aId)
Definition: swmodule.cxx:168
Size GetGraphicSizeTwip(const Graphic &rGraphic, vcl::RenderContext *pOutDev)
Definition: swtypes.cxx:28
constexpr sal_uInt8 MAXLEVEL
Definition: swtypes.hxx:92
unsigned char sal_uInt8
#define SAL_MAX_UINT16
unsigned char sal_Bool
#define WID_DEFAULT_LIST_ID
Definition: unomap.hxx:309
#define WID_CONTINUOUS
Definition: unomap.hxx:305
#define WID_RULE_NAME
Definition: unomap.hxx:306
#define WID_IS_AUTOMATIC
Definition: unomap.hxx:304
#define WID_IS_OUTLINE
Definition: unomap.hxx:308
#define WID_IS_ABS_MARGINS
Definition: unomap.hxx:307
#define MID_VERTORIENT_ORIENT
Definition: unomid.h:34
constexpr OUStringLiteral UNO_NAME_BULLET_ID
Definition: unoprnms.hxx:49
constexpr OUStringLiteral UNO_NAME_POSITION_AND_SPACE_MODE
Definition: unoprnms.hxx:827
constexpr OUStringLiteral UNO_NAME_INDENT_AT
Definition: unoprnms.hxx:831
constexpr OUStringLiteral UNO_NAME_HEADING_STYLE_NAME
Definition: unoprnms.hxx:490
constexpr OUStringLiteral UNO_NAME_BULLET_REL_SIZE
Definition: unoprnms.hxx:51
constexpr OUStringLiteral UNO_NAME_INTERVAL
Definition: unoprnms.hxx:297
constexpr OUStringLiteral UNO_NAME_COUNT_LINES_IN_FRAMES
Definition: unoprnms.hxx:170
constexpr OUStringLiteral UNO_NAME_IS_ABSOLUTE_MARGINS
Definition: unoprnms.hxx:503
constexpr OUStringLiteral UNO_NAME_NUMBER_POSITION
Definition: unoprnms.hxx:188
constexpr OUStringLiteral UNO_NAME_IS_ON
Definition: unoprnms.hxx:574
constexpr OUStringLiteral UNO_NAME_FOOTNOTE_COUNTING
Definition: unoprnms.hxx:278
constexpr OUStringLiteral UNO_NAME_LIST_FORMAT
Definition: unoprnms.hxx:95
constexpr OUStringLiteral UNO_NAME_LEFT_MARGIN
Definition: unoprnms.hxx:80
constexpr OUStringLiteral UNO_NAME_NUMBERING_IS_OUTLINE
Definition: unoprnms.hxx:785
constexpr OUStringLiteral UNO_NAME_SEPARATOR_TEXT
Definition: unoprnms.hxx:187
constexpr OUStringLiteral UNO_NAME_POSITION_END_OF_DOC
Definition: unoprnms.hxx:206
constexpr OUStringLiteral UNO_NAME_COUNT_EMPTY_LINES
Definition: unoprnms.hxx:265
constexpr OUStringLiteral UNO_NAME_VERT_ORIENT
Definition: unoprnms.hxx:352
constexpr OUStringLiteral UNO_NAME_BULLET_FONT_NAME
Definition: unoprnms.hxx:53
constexpr OUStringLiteral UNO_NAME_IS_AUTOMATIC
Definition: unoprnms.hxx:502
constexpr OUStringLiteral UNO_NAME_FIRST_LINE_INDENT
Definition: unoprnms.hxx:830
constexpr OUStringLiteral UNO_NAME_LEVEL_IS_LEGAL
Definition: unoprnms.hxx:901
constexpr OUStringLiteral UNO_NAME_NAME
Definition: unoprnms.hxx:90
constexpr OUStringLiteral UNO_NAME_PARA_STYLE_NAME
Definition: unoprnms.hxx:193
constexpr OUStringLiteral UNO_NAME_GRAPHIC_BITMAP
Definition: unoprnms.hxx:47
constexpr OUStringLiteral UNO_NAME_SYMBOL_TEXT_DISTANCE
Definition: unoprnms.hxx:439
constexpr OUStringLiteral UNO_NAME_BULLET_COLOR
Definition: unoprnms.hxx:54
constexpr OUStringLiteral UNO_NAME_BULLET_FONT
Definition: unoprnms.hxx:52
constexpr OUStringLiteral UNO_NAME_DISTANCE
Definition: unoprnms.hxx:175
constexpr OUStringLiteral UNO_NAME_FIRST_LINE_OFFSET
Definition: unoprnms.hxx:438
constexpr OUStringLiteral UNO_NAME_PAGE_STYLE_NAME
Definition: unoprnms.hxx:189
constexpr OUStringLiteral UNO_NAME_LABEL_FOLLOWED_BY
Definition: unoprnms.hxx:828
constexpr OUStringLiteral UNO_NAME_ANCHOR_CHAR_STYLE_NAME
Definition: unoprnms.hxx:92
constexpr OUStringLiteral UNO_NAME_GRAPHIC_URL
Definition: unoprnms.hxx:48
constexpr OUStringLiteral UNO_NAME_RESTART_AT_EACH_PAGE
Definition: unoprnms.hxx:266
constexpr OUStringLiteral UNO_NAME_GRAPHIC_SIZE
Definition: unoprnms.hxx:46
constexpr OUStringLiteral UNO_NAME_BEGIN_NOTICE
Definition: unoprnms.hxx:165
constexpr OUStringLiteral UNO_NAME_PARAGRAPH_STYLE_NAME
Definition: unoprnms.hxx:867
constexpr OUStringLiteral UNO_NAME_DEFAULT_LIST_ID
Definition: unoprnms.hxx:837
constexpr OUStringLiteral UNO_NAME_START_AT
Definition: unoprnms.hxx:330
constexpr OUStringLiteral UNO_NAME_GRAPHIC
Definition: unoprnms.hxx:180
constexpr OUStringLiteral UNO_NAME_LISTTAB_STOP_POSITION
Definition: unoprnms.hxx:829
constexpr OUStringLiteral UNO_NAME_END_NOTICE
Definition: unoprnms.hxx:164
constexpr OUStringLiteral UNO_NAME_IS_CONTINUOUS_NUMBERING
Definition: unoprnms.hxx:501
constexpr OUStringLiteral UNO_NAME_SEPARATOR_INTERVAL
Definition: unoprnms.hxx:226
constexpr OUStringLiteral UNO_NAME_ADJUST
Definition: unoprnms.hxx:507
constexpr OUStringLiteral UNO_NAME_START_WITH
Definition: unoprnms.hxx:331
#define WID_END_NOTICE
Definition: unosett.cxx:99
static SwTextFormatColl * lcl_GetParaStyle(SwDoc *pDoc, const uno::Any &aValue)
Definition: unosett.cxx:206
#define WID_SEPARATOR_TEXT
Definition: unosett.cxx:107
#define WID_PREFIX
Definition: unosett.cxx:90
static const SfxItemPropertySet * GetLineNumberingSet()
Definition: unosett.cxx:166
#define WID_SUFFIX
Definition: unosett.cxx:91
#define WID_NUMBERING_TYPE
Definition: unosett.cxx:92
#define WID_PAGE_STYLE
Definition: unosett.cxx:96
#define WID_CHARACTER_STYLE
Definition: unosett.cxx:97
#define WID_RESTART_AT_EACH_PAGE
Definition: unosett.cxx:110
#define WID_START_AT
Definition: unosett.cxx:93
const TranslateId STR_POOLCOLL_HEADLINE_ARY[]
Definition: unosett.cxx:1191
static const SfxItemPropertySet * GetNumberingRulesSet()
Definition: unosett.cxx:151
#define WID_FOOTNOTE_COUNTING
Definition: unosett.cxx:94
#define WID_DISTANCE
Definition: unosett.cxx:105
static SwCharFormat * lcl_getCharFormat(SwDoc *pDoc, const uno::Any &aValue)
Definition: unosett.cxx:186
#define WID_POSITION_END_OF_DOC
Definition: unosett.cxx:98
#define WID_NUMBER_POSITION
Definition: unosett.cxx:104
#define WID_ANCHOR_CHARACTER_STYLE
Definition: unosett.cxx:101
#define WID_COUNT_LINES_IN_FRAMES
Definition: unosett.cxx:109
static const SfxItemPropertySet * GetEndnoteSet()
Definition: unosett.cxx:134
static const SfxItemPropertySet * GetFootnoteSet()
Definition: unosett.cxx:113
#define WID_BEGIN_NOTICE
Definition: unosett.cxx:100
const o3tl::enumarray< SvxAdjust, sal_Int16 > aSvxToUnoAdjust
Definition: unosett.cxx:240
#define WID_NUM_ON
Definition: unosett.cxx:102
#define WID_PARAGRAPH_STYLE
Definition: unosett.cxx:95
#define WID_SEPARATOR_INTERVAL
Definition: unosett.cxx:103
#define WID_INTERVAL
Definition: unosett.cxx:106
#define WID_COUNT_EMPTY_LINES
Definition: unosett.cxx:108
static SwPageDesc * lcl_GetPageDesc(SwDoc *pDoc, const uno::Any &aValue)
Definition: unosett.cxx:222
constexpr OUStringLiteral aInvalidStyle
Definition: unosett.cxx:983
constexpr OUStringLiteral UNO_NAME_NUMBERING_TYPE
constexpr OUStringLiteral UNO_NAME_SUFFIX
constexpr OUStringLiteral UNO_NAME_CHAR_STYLE_NAME
constexpr OUStringLiteral UNO_NAME_PARENT_NUMBERING
constexpr OUStringLiteral UNO_NAME_BULLET_CHAR
constexpr OUStringLiteral UNO_NAME_PREFIX
sal_uInt32 sal_UCS4