20 #include <com/sun/star/text/HoriOrientation.hpp>
21 #include <com/sun/star/text/VertOrientation.hpp>
24 #include <dialmgr.hxx>
46 #include <com/sun/star/style/NumberingType.hpp>
47 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
48 #include <com/sun/star/container/XIndexAccess.hpp>
49 #include <com/sun/star/text/XDefaultNumberingProvider.hpp>
50 #include <com/sun/star/text/XNumberingFormatter.hpp>
51 #include <com/sun/star/beans/PropertyValue.hpp>
53 #include <svx/svxids.hrc>
60 #include <strings.hrc>
65 #include <com/sun/star/ucb/SimpleFileAccess.hpp>
72 #include <osl/diagnose.h>
82 #define SHOW_NUMBERING 0
86 #define MAX_BMP_WIDTH 16
87 #define MAX_BMP_HEIGHT 16
88 #define SEARCHPATH_DELIMITER u';'
89 #define SEARCHFILENAME_DELIMITER u'/'
95 const PropertyValue*
pValues = rLevelProps.getConstArray();
97 for(sal_Int32 j = 0; j < rLevelProps.getLength(); j++)
99 if ( pValues[j].
Name ==
"NumberingType" )
102 if (pValues[j].
Value >>= nTmp)
105 else if ( pValues[j].
Name ==
"Prefix" )
106 pValues[j].Value >>= pNew->
sPrefix;
107 else if ( pValues[j].
Name ==
"Suffix" )
108 pValues[j].Value >>= pNew->
sSuffix;
109 else if ( pValues[j].
Name ==
"ParentNumbering" )
111 else if ( pValues[j].
Name ==
"BulletChar" )
113 else if ( pValues[j].
Name ==
"BulletFontName" )
136 sal_uInt16 nMask = 1;
139 if(nLevelMask & nMask)
140 bRet |=
nullptr != pNum->
Get(
i );
158 return aDefBulletFont;
162 :
SfxTabPage(pPage, pController,
"cui/ui/picknumberingpage.ui",
"PickNumberingPage", &rSet)
166 , nNumItemId(SID_ATTR_NUMBERING_RULE)
167 , m_xExamplesVS(new
SvxNumValueSet(m_xBuilder->weld_scrolled_window(
"valuesetwin", true)))
168 , m_xExamplesVSWin(new
weld::CustomWeld(*m_xBuilder,
"valueset", *m_xExamplesVS))
179 Sequence< Sequence< PropertyValue > > aNumberings;
184 xDefNum->getDefaultContinuousNumberingLevels( rLocale );
189 const Sequence<PropertyValue>* pValuesArr = aNumberings.getConstArray();
190 for(sal_Int32
i = 0;
i < nLength;
i++)
199 Reference<XNumberingFormatter> xFormat(xDefNum, UNO_QUERY);
200 m_xExamplesVS->SetNumberingSettings(aNumberings, xFormat, rLocale);
212 return std::make_unique<SvxSingleNumPickTabPage>(pPage, pController, *rAttrSet);
231 bool bIsPreset =
false;
235 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_NUM_PRESET,
false, &pItem))
236 bIsPreset = static_cast<const SfxBoolItem*>(pItem)->GetValue();
237 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_CUR_NUM_LEVEL,
false, &pItem))
238 nActNumLvl = static_cast<const SfxUInt16Item*>(pItem)->GetValue();
265 return DeactivateRC::LeavePage;
274 if(eState != SfxItemState::SET)
279 if( eState != SfxItemState::SET )
282 eState = SfxItemState::SET;
285 DBG_ASSERT(eState == SfxItemState::SET,
"no item found!");
301 sal_uInt16 nIdx = m_xExamplesVS->GetSelectedItemId() - 1;
302 DBG_ASSERT(aNumSettingsArr.size() > nIdx,
"wrong index");
303 if(aNumSettingsArr.size() <= nIdx)
310 sal_uInt16 nMask = 1;
311 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
313 if(nActNumLvl & nMask)
317 if(cLocalPrefix ==
' ')
318 aFmt.SetPrefix(
"" );
320 aFmt.SetPrefix(_pSet->
sPrefix);
321 if(cLocalSuffix ==
' ')
322 aFmt.SetSuffix(
"" );
324 aFmt.SetSuffix(_pSet->
sSuffix);
325 aFmt.SetCharFormatName(
"");
326 aFmt.SetBulletRelSize(100);
327 pActNum->SetLevel(
i, aFmt);
335 NumSelectHdl_Impl(m_xExamplesVS.get());
336 weld::Button& rOk = GetDialogController()->GetOKButton();
341 :
SfxTabPage(pPage, pController,
"cui/ui/pickbulletpage.ui",
"PickBulletPage", &rSet)
345 , nNumItemId(SID_ATTR_NUMBERING_RULE)
346 , m_xExamplesVS(new
SvxNumValueSet(m_xBuilder->weld_scrolled_window(
"valuesetwin", true)))
347 , m_xExamplesVSWin(new
weld::CustomWeld(*m_xBuilder,
"valueset", *m_xExamplesVS))
364 return std::make_unique<SvxBulletPickTabPage>(pPage, pController, *rAttrSet);
382 bool bIsPreset =
false;
386 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_NUM_PRESET,
false, &pItem))
387 bIsPreset = static_cast<const SfxBoolItem*>(pItem)->GetValue();
388 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_CUR_NUM_LEVEL,
false, &pItem))
389 nActNumLvl = static_cast<const SfxUInt16Item*>(pItem)->GetValue();
415 return DeactivateRC::LeavePage;
423 if(eState != SfxItemState::SET)
428 if( eState != SfxItemState::SET )
431 eState = SfxItemState::SET;
435 DBG_ASSERT(eState == SfxItemState::SET,
"no item found!");
454 sal_uInt16 nMask = 1;
455 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
457 if(nActNumLvl & nMask)
462 aFmt.SetPrefix( OUString() );
463 aFmt.SetSuffix( OUString() );
464 aFmt.SetBulletFont(&rActBulletFont);
465 aFmt.SetBulletChar(cChar );
466 aFmt.SetCharFormatName(sBulletCharFormatName);
467 aFmt.SetBulletRelSize(45);
468 pActNum->SetLevel(
i, aFmt);
476 NumSelectHdl_Impl(m_xExamplesVS.get());
477 weld::Button& rOk = GetDialogController()->GetOKButton();
490 :
SfxTabPage(pPage, pController,
"cui/ui/pickoutlinepage.ui",
"PickOutlinePage", &rSet)
492 , nNumItemId(SID_ATTR_NUMBERING_RULE)
495 , m_xExamplesVS(new
SvxNumValueSet(m_xBuilder->weld_scrolled_window(
"valuesetwin", true)))
496 , m_xExamplesVSWin(new
weld::CustomWeld(*m_xBuilder,
"valueset", *m_xExamplesVS))
508 Sequence<Reference<XIndexAccess> > aOutlineAccess;
512 aOutlineAccess = xDefNum->getDefaultOutlineNumberings( rLocale );
514 for(sal_Int32 nItem = 0;
520 Reference<XIndexAccess> xLevel = aOutlineAccess.getConstArray()[nItem];
521 for(sal_Int32 nLevel = 0; nLevel < xLevel->getCount() && nLevel < 5; nLevel++)
523 Any aValueAny = xLevel->getByIndex(nLevel);
524 Sequence<PropertyValue> aLevelProps;
525 aValueAny >>= aLevelProps;
527 rItemArr.push_back( std::unique_ptr<SvxNumSettings_Impl>(pNew) );
534 Reference<XNumberingFormatter> xFormat(xDefNum, UNO_QUERY);
535 m_xExamplesVS->SetOutlineNumberingSettings(aOutlineAccess, xFormat, rLocale);
547 return std::make_unique<SvxNumPickTabPage>(pPage, pController, *rAttrSet);
565 bool bIsPreset =
false;
569 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_NUM_PRESET,
false, &pItem))
570 bIsPreset = static_cast<const SfxBoolItem*>(pItem)->GetValue();
571 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_CUR_NUM_LEVEL,
false, &pItem))
572 nActNumLvl = static_cast<const SfxUInt16Item*>(pItem)->GetValue();
598 return DeactivateRC::LeavePage;
606 if(eState != SfxItemState::SET)
611 if( eState != SfxItemState::SET )
614 eState = SfxItemState::SET;
618 DBG_ASSERT(eState == SfxItemState::SET,
"no item found!");
643 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
645 if(rItemArr.size() >
i)
646 pLevelSettings = rItemArr[
i].
get();
651 sal_uInt16 nUpperLevelOrChar =
static_cast<sal_uInt16
>(pLevelSettings->
nParentNumbering);
655 aFmt.SetPrefix(OUString());
656 aFmt.SetSuffix(OUString());
666 ->
GetItem( SID_ATTR_CHAR_FONTLIST ));
667 pList = pFontListItem ? pFontListItem->
GetFontList() :
nullptr;
674 aFmt.SetBulletFont(&aFont);
680 OUString(),
Size( 0, 14 ) );
681 aCreateFont.
SetCharSet( RTL_TEXTENCODING_DONTKNOW );
686 aFmt.SetBulletFont( &aCreateFont );
690 aFmt.SetBulletFont( &rActBulletFont );
692 aFmt.SetBulletChar( !pLevelSettings->
sBulletChar.isEmpty()
696 aFmt.SetCharFormatName( sBulletCharFormatName );
697 aFmt.SetBulletRelSize(45);
701 aFmt.SetIncludeUpperLevels(sal::static_int_cast< sal_uInt8 >(0 != nUpperLevelOrChar ? pActNum->GetLevelCount() : 0));
702 aFmt.SetCharFormatName(sNumCharFmtName);
703 aFmt.SetBulletRelSize(100);
705 aFmt.SetPrefix(pLevelSettings->
sPrefix);
706 aFmt.SetSuffix(pLevelSettings->
sSuffix);
708 pActNum->SetLevel(
i, aFmt);
714 NumSelectHdl_Impl(m_xExamplesVS.get());
715 weld::Button& rOk = GetDialogController()->GetOKButton();
725 if (pNumCharFmt &&pBulletCharFmt)
730 :
SfxTabPage(pPage, pController,
"cui/ui/pickgraphicpage.ui",
"PickGraphicPage", &rSet)
732 , nNumItemId(SID_ATTR_NUMBERING_RULE)
735 , m_xErrorText(m_xBuilder->weld_label(
"errorft"))
736 , m_xBtBrowseFile(m_xBuilder->weld_button(
"browseBtn"))
737 , m_xExamplesVS(new
SvxBmpNumValueSet(m_xBuilder->weld_scrolled_window(
"valuesetwin", true)))
738 , m_xExamplesVSWin(new
weld::CustomWeld(*m_xBuilder,
"valueset", *m_xExamplesVS))
765 if(aGrfNames.empty())
786 return std::make_unique<SvxBitmapPickTabPage>(pPage, pController, *rAttrSet);
793 bool bIsPreset =
false;
797 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_NUM_PRESET,
false, &pItem))
798 bIsPreset = static_cast<const SfxBoolItem*>(pItem)->GetValue();
799 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_CUR_NUM_LEVEL,
false, &pItem))
800 nActNumLvl = static_cast<const SfxUInt16Item*>(pItem)->GetValue();
827 return DeactivateRC::LeavePage;
851 if(eState != SfxItemState::SET)
856 if( eState != SfxItemState::SET )
859 eState = SfxItemState::SET;
863 DBG_ASSERT(eState == SfxItemState::SET,
"no item found!");
879 sal_uInt16 nIdx = m_xExamplesVS->GetSelectedItemId() - 1;
881 sal_uInt16 nMask = 1;
882 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
884 if(nActNumLvl & nMask)
888 aFmt.SetPrefix(
"" );
889 aFmt.SetSuffix(
"" );
890 aFmt.SetCharFormatName(
"" );
896 sal_Int16 eOrient = text::VertOrientation::LINE_CENTER;
899 aFmt.SetGraphicBrush( &aBrush, &aSize, &eOrient );
901 else if(aGrfNames.size() > nIdx)
902 aFmt.SetGraphic( aGrfNames[nIdx] );
903 pActNum->SetLevel(
i, aFmt);
911 NumSelectHdl_Impl(m_xExamplesVS.get());
912 weld::Button& rOk = GetDialogController()->GetOKButton();
926 OUString aUserImageURL = aFileDialog.
GetPath();
931 aFileName = aUserImageURL;
932 else if (
nPos<aUserImageURL.getLength())
933 aFileName = aUserImageURL.copy(
nPos);
935 OUString aUserGalleryURL = aPathToken +
"/" + aFileName;
940 if (!aDescriptor.Detect())
943 uno::Reference< lang::XMultiServiceFactory >
xFactory = ::comphelper::getProcessServiceFactory();
944 uno::Reference<ucb::XSimpleFileAccess3> xSimpleFileAccess(
946 if ( !xSimpleFileAccess->exists( aUserImageURL ))
949 xSimpleFileAccess->copy( aUserImageURL, aUserGalleryURL );
962 double ratio = nPixelY/
static_cast<double>(nPixelX);
974 aBitmap.
Scale(
Size( nPixelX, nPixelY ), BmpScaleFlag::Fast );
975 Graphic aScaledGraphic( aBitmap );
978 Sequence< PropertyValue > aFilterData( 2 );
979 aFilterData[ 0 ].Name =
"Compression";
980 aFilterData[ 0 ].Value <<= sal_Int32(-1) ;
981 aFilterData[ 1 ].Name =
"Quality";
982 aFilterData[ 1 ].Value <<= sal_Int32(1);
985 rFilter.
ExportGraphic( aScaledGraphic, gURL , nFilterFormat, &aFilterData );
988 aGrfNames.push_back(aUserGalleryURL);
990 for (
auto & grfName : aGrfNames)
992 m_xExamplesVS->InsertItem( i + 1, i);
996 m_xExamplesVS->SetItemText( i + 1, grfName );
1000 if(aGrfNames.empty())
1002 m_xErrorText->show();
1006 m_xExamplesVS->Show();
1007 m_xExamplesVS->SetFormat();
1014 :
SfxTabPage(pPage, pController,
"cui/ui/numberingoptionspage.ui",
"NumberingOptionsPage", &rSet)
1015 , m_pLevelHdlEvent(nullptr)
1016 , bLastWidthModified(false)
1019 , bAutomaticCharStyles(true)
1023 , nNumItemId(SID_ATTR_NUMBERING_RULE)
1024 , m_xGrid(m_xBuilder->weld_widget(
"grid2"))
1025 , m_xLevelLB(m_xBuilder->weld_tree_view(
"levellb"))
1026 , m_xFmtLB(m_xBuilder->weld_combo_box(
"numfmtlb"))
1027 , m_xSeparatorFT(m_xBuilder->weld_label(
"separator"))
1028 , m_xPrefixFT(m_xBuilder->weld_label(
"prefixft"))
1029 , m_xPrefixED(m_xBuilder->weld_entry(
"prefix"))
1030 , m_xSuffixFT(m_xBuilder->weld_label(
"suffixft"))
1031 , m_xSuffixED(m_xBuilder->weld_entry(
"suffix"))
1032 , m_xCharFmtFT(m_xBuilder->weld_label(
"charstyleft"))
1033 , m_xCharFmtLB(m_xBuilder->weld_combo_box(
"charstyle"))
1034 , m_xBulColorFT(m_xBuilder->weld_label(
"colorft"))
1035 , m_xBulColLB(new
ColorListBox(m_xBuilder->weld_menu_button(
"color"), pController->getDialog()))
1036 , m_xBulRelSizeFT(m_xBuilder->weld_label(
"relsizeft"))
1037 , m_xBulRelSizeMF(m_xBuilder->weld_metric_spin_button(
"relsize",
FieldUnit::
PERCENT))
1038 , m_xAllLevelFT(m_xBuilder->weld_label(
"sublevelsft"))
1039 , m_xAllLevelNF(m_xBuilder->weld_spin_button(
"sublevels"))
1040 , m_xStartFT(m_xBuilder->weld_label(
"startatft"))
1041 , m_xStartED(m_xBuilder->weld_spin_button(
"startat"))
1042 , m_xBulletFT(m_xBuilder->weld_label(
"bulletft"))
1043 , m_xBulletPB(m_xBuilder->weld_button(
"bullet"))
1044 , m_xBitmapFT(m_xBuilder->weld_label(
"bitmapft"))
1045 , m_xBitmapMB(m_xBuilder->weld_menu_button(
"bitmap"))
1046 , m_xWidthFT(m_xBuilder->weld_label(
"widthft"))
1047 , m_xWidthMF(m_xBuilder->weld_metric_spin_button(
"widthmf",
FieldUnit::
CM))
1048 , m_xHeightFT(m_xBuilder->weld_label(
"heightft"))
1049 , m_xHeightMF(m_xBuilder->weld_metric_spin_button(
"heightmf",
FieldUnit::
CM))
1050 , m_xRatioCB(m_xBuilder->weld_check_button(
"keepratio"))
1051 , m_xOrientFT(m_xBuilder->weld_label(
"orientft"))
1052 , m_xOrientLB(m_xBuilder->weld_combo_box(
"orientlb"))
1053 , m_xAllLevelsFrame(m_xBuilder->weld_widget(
"levelsframe"))
1054 , m_xSameLevelCB(m_xBuilder->weld_check_button(
"allsame"))
1055 , m_xPreviewWIN(new
weld::CustomWeld(*m_xBuilder,
"preview", m_aPreviewWIN))
1067 m_xLevelLB->set_selection_mode(SelectionMode::Multiple);
1088 for (sal_uInt32
i = 0;
i < nCount; ++
i)
1103 m_xGrid->set_size_request(aSize.Width(), -1);
1121 if(eMetric == FieldUnit::MM)
1133 return std::make_unique<SvxNumOptionsTabPage>(pPage, pController, *rAttrSet);
1140 sal_uInt16 nTmpNumLvl = 1;
1143 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_NUM_PRESET,
false, &pItem))
1144 bPreset = static_cast<const SfxBoolItem*>(pItem)->GetValue();
1145 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_CUR_NUM_LEVEL,
false, &pItem))
1146 nTmpNumLvl = static_cast<const SfxUInt16Item*>(pItem)->GetValue();
1158 sal_uInt16 nMask = 1;
1164 for(sal_uInt16
i = 0;
i <
pActNum->GetLevelCount();
i++)
1180 return DeactivateRC::LeavePage;
1200 if(eState != SfxItemState::SET)
1205 if( eState != SfxItemState::SET )
1208 eState = SfxItemState::SET;
1212 DBG_ASSERT(eState == SfxItemState::SET,
"no item found!");
1218 for(sal_uInt16
i = 1;
i <=
pSaveNum->GetLevelCount();
i++)
1222 OUString sEntry =
"1 - " + OUString::number(
pSaveNum->GetLevelCount() );
1232 sal_uInt16 nMask = 1;
1240 for(sal_uInt16
i = 0;
i <
pSaveNum->GetLevelCount();
i++)
1256 if ( SfxItemState::SET == rSet->
GetItemState( SID_HTML_MODE,
false, &pItem )
1258 nullptr != ( pItem = pShell->
GetItem( SID_HTML_MODE ) ) ) )
1264 bool bCharFmt =
pActNum->IsFeatureSupported(SvxNumRuleFlags::CHAR_STYLE);
1268 bool bContinuous =
pActNum->IsFeatureSupported(SvxNumRuleFlags::CONTINUOUS);
1270 bool bAllLevel = bContinuous && !
bHTMLMode;
1281 sal_Int32 nFmtCount =
m_xFmtLB->get_count();
1282 for(sal_Int32
i = nFmtCount;
i;
i--)
1284 sal_uInt16 nEntryData =
m_xFmtLB->get_id(
i - 1).toUInt32();
1291 if(!
pActNum->IsFeatureSupported(SvxNumRuleFlags::ENABLE_LINKED_BMP))
1297 else if(!
pActNum->IsFeatureSupported(SvxNumRuleFlags::ENABLE_EMBEDDED_BMP))
1306 if(
pActNum->IsFeatureSupported(SvxNumRuleFlags::NO_NUMBERS))
1308 sal_Int32 nFmtCount =
m_xFmtLB->get_count();
1309 for(sal_Int32
i = nFmtCount;
i;
i--)
1311 sal_uInt16 nEntryData =
m_xFmtLB->get_id(
i - 1).toUInt32();
1323 bool bShowBullet =
true;
1324 bool bShowBitmap =
true;
1325 bool bSameType =
true;
1326 bool bSameStart =
true;
1327 bool bSamePrefix =
true;
1328 bool bSameSuffix =
true;
1329 bool bAllLevel =
true;
1330 bool bSameCharFmt =
true;
1331 bool bSameVOrient =
true;
1332 bool bSameSize =
true;
1333 bool bSameBulColor =
true;
1334 bool bSameBulRelSize=
true;
1337 OUString sFirstCharFmt;
1338 sal_Int16 eFirstOrient = text::VertOrientation::NONE;
1339 Size aFirstSize(0,0);
1340 sal_uInt16 nMask = 1;
1342 sal_uInt16 nHighestLevel = 0;
1344 bool bBullColor =
pActNum->IsFeatureSupported(SvxNumRuleFlags::BULLET_COLOR);
1345 bool bBullRelSize =
pActNum->IsFeatureSupported(SvxNumRuleFlags::BULLET_REL_SIZE);
1346 for(sal_uInt16
i = 0;
i <
pActNum->GetLevelCount();
i++)
1371 if(bShowBitmap && bSameSize)
1379 aNumFmtArr[
i] =
nullptr;
1385 sal_uInt16 nNumberingType;
1392 bSameBulRelSize =
false;
1393 bSameBulColor =
false;
1395 bSamePrefix =
false;
1396 bSameSuffix =
false;
1403 if(!bSameVOrient || eFirstOrient == text::VertOrientation::NONE)
1407 sal::static_int_cast< sal_Int32 >(eFirstOrient - 1));
1424 sal_uInt16 nLBData = nNumberingType;
1425 m_xFmtLB->set_active_id(OUString::number(nLBData));
1434 m_xAllLevelNF->set_value(aNumFmtArr[nLvl]->GetIncludeUpperLevels());
1444 m_xBulRelSizeMF->set_value(aNumFmtArr[nLvl]->GetBulletRelSize(), FieldUnit::PERCENT);
1451 m_xBulColLB->SelectEntry(aNumFmtArr[nLvl]->GetBulletColor());
1460 m_xStartED->set_value(aNumFmtArr[nLvl]->GetStart());
1472 m_xPrefixED->set_text(aNumFmtArr[nLvl]->GetPrefix());
1476 m_xSuffixED->set_text(aNumFmtArr[nLvl]->GetSuffix());
1482 if (!sFirstCharFmt.isEmpty())
1503 bool bNumeric = !(bBitmap||bBullet);
1510 bool bCharFmt =
pActNum->IsFeatureSupported(SvxNumRuleFlags::CHAR_STYLE);
1516 bool bAllLevelFeature =
pActNum->IsFeatureSupported(SvxNumRuleFlags::CONTINUOUS);
1517 bool bAllLevel = bNumeric && bAllLevelFeature && !
bHTMLMode;
1521 m_xStartFT->set_visible(!(bBullet||bBitmap));
1522 m_xStartED->set_visible(!(bBullet||bBitmap));
1526 bool bBullColor =
pActNum->IsFeatureSupported(SvxNumRuleFlags::BULLET_COLOR);
1529 bool bBullResSize =
pActNum->IsFeatureSupported(SvxNumRuleFlags::BULLET_REL_SIZE);
1542 m_xOrientFT->set_visible(bBitmap && bAllLevelFeature);
1543 m_xOrientLB->set_visible(bBitmap && bAllLevelFeature);
1556 if (m_pLevelHdlEvent)
1566 m_pLevelHdlEvent =
nullptr;
1568 sal_uInt16 nSaveNumLvl = nActNumLvl;
1570 std::vector<int> aSelectedRows = m_xLevelLB->get_selected_rows();
1571 if (std::find(aSelectedRows.begin(), aSelectedRows.end(), pActNum->GetLevelCount()) != aSelectedRows.end() &&
1572 (aSelectedRows.size() == 1 || nSaveNumLvl != 0xffff))
1574 nActNumLvl = 0xFFFF;
1575 for( sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++ )
1576 m_xLevelLB->unselect(
i);
1578 else if (!aSelectedRows.empty())
1580 sal_uInt16 nMask = 1;
1581 for( sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++ )
1583 if (std::find(aSelectedRows.begin(), aSelectedRows.end(),
i) != aSelectedRows.end())
1584 nActNumLvl |= nMask;
1587 m_xLevelLB->unselect(pActNum->GetLevelCount());
1591 nActNumLvl = nSaveNumLvl;
1592 sal_uInt16 nMask = 1;
1593 for( sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++ )
1595 if(nActNumLvl & nMask)
1597 m_xLevelLB->select(
i);
1608 m_aPreviewWIN.Invalidate();
1613 sal_uInt16 nMask = 1;
1614 for(sal_uInt16 e = 0; e < pActNum->GetLevelCount(); e++)
1616 if(nActNumLvl & nMask)
1620 pActNum->SetLevel(e, aNumFmt);
1629 OUString sSelectStyle;
1630 bool bShowOrient =
false;
1632 sal_uInt16 nMask = 1;
1633 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
1635 if(nActNumLvl & nMask)
1640 aNumFmt.SetNumberingType(nNumType);
1641 sal_uInt16 nNumberingType = aNumFmt.GetNumberingType();
1644 bBmp |=
nullptr != aNumFmt.GetBrush();
1645 aNumFmt.SetIncludeUpperLevels( 0 );
1646 aNumFmt.SetSuffix(
"" );
1647 aNumFmt.SetPrefix(
"" );
1649 aNumFmt.SetGraphic(
"");
1650 pActNum->SetLevel(
i, aNumFmt);
1656 aNumFmt.SetIncludeUpperLevels( 0 );
1657 aNumFmt.SetSuffix(
"" );
1658 aNumFmt.SetPrefix(
"" );
1659 if( !aNumFmt.GetBulletFont() )
1660 aNumFmt.SetBulletFont(&aActBulletFont);
1661 if( !aNumFmt.GetBulletChar() )
1663 pActNum->SetLevel(
i, aNumFmt);
1666 if(bAutomaticCharStyles)
1668 sSelectStyle = m_sBulletCharFormatName;
1673 aNumFmt.SetPrefix( m_xPrefixED->get_text() );
1674 aNumFmt.SetSuffix( m_xSuffixED->get_text() );
1676 pActNum->SetLevel(
i, aNumFmt);
1677 CheckForStartValue_Impl(nNumberingType);
1680 if(bAutomaticCharStyles)
1682 sSelectStyle = m_sNumCharFmtName;
1688 bool bAllLevelFeature = pActNum->IsFeatureSupported(SvxNumRuleFlags::CONTINUOUS);
1689 if(bShowOrient && bAllLevelFeature)
1691 m_xOrientFT->show();
1692 m_xOrientLB->show();
1696 m_xOrientFT->hide();
1697 m_xOrientLB->hide();
1700 if(!sSelectStyle.isEmpty())
1702 m_xCharFmtLB->set_active_text(sSelectStyle);
1703 CharFmtHdl_Impl(*m_xCharFmtLB);
1704 bAutomaticCharStyles =
true;
1715 if (bIsNull && bNoZeroAllowed)
1721 sal_Int32
nPos = rBox.get_active();
1724 sal_uInt16 nMask = 1;
1725 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
1727 if(nActNumLvl & nMask)
1733 const Size& rSize = aNumFmt.GetGraphicSize();
1734 sal_Int16 eOrient =
static_cast<sal_Int16
>(nPos);
1735 aNumFmt.SetGraphicBrush( pBrushItem, &rSize, &eOrient );
1736 pActNum->SetLevel(
i, aNumFmt);
1746 bool bSet = rBox.get_active();
1747 pActNum->SetContinuousNumbering(bSet);
1748 bool bRepaint =
false;
1749 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
1758 SetModified(bRepaint);
1764 Color nSetColor = rColorBox.GetSelectEntryColor();
1766 sal_uInt16 nMask = 1;
1767 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
1769 if(nActNumLvl & nMask)
1773 pActNum->SetLevel(
i, aNumFmt);
1782 sal_uInt16 nRelSize = rField.get_value(FieldUnit::PERCENT);
1784 sal_uInt16 nMask = 1;
1785 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
1787 if(nActNumLvl & nMask)
1791 pActNum->SetLevel(
i, aNumFmt);
1806 if (rIdent.startsWith(
"gallery", &sNumber))
1808 auto idx = sNumber.toUInt32();
1809 if (
idx < aGrfNames.size())
1811 aGrfName = aGrfNames[
idx];
1820 else if (rIdent ==
"fromfile")
1842 sal_uInt16 nMask = 1;
1843 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
1845 if(nActNumLvl & nMask)
1849 aNumFmt.SetGraphic(aGrfName);
1854 sal_Int16 eOrient = aNumFmt.GetVertOrient();
1855 aNumFmt.SetGraphicBrush( pBrushItem, &aSize, &eOrient );
1856 aInitSize[
i] = aNumFmt.GetGraphicSize();
1858 pActNum->SetLevel(
i, aNumFmt);
1862 m_xRatioCB->set_sensitive(
true);
1863 m_xWidthFT->set_sensitive(
true);
1864 m_xHeightFT->set_sensitive(
true);
1865 m_xWidthMF->set_sensitive(
true);
1866 m_xHeightMF->set_sensitive(
true);
1869 m_xOrientFT->set_sensitive(
true);
1870 m_xOrientLB->set_sensitive(
true);
1873 aInvalidateTimer.Start();
1881 m_xGalleryMenu = m_xBuilder->weld_menu(
"gallerysubmenu");
1893 for (
const auto & grfName : aGrfNames)
1896 OUString sItemId =
"gallery" + OUString::number(i);
1903 Size aSize(aBitmap.GetSizePixel());
1907 bool bWidth = aSize.
Width() > aSize.Height();
1908 double nScale = bWidth ?
1911 aBitmap.Scale(nScale, nScale);
1913 pVD->SetOutputSizePixel(aBitmap.GetSizePixel(),
false);
1914 pVD->DrawBitmapEx(
Point(), aBitmap);
1915 m_xGalleryMenu->append(sItemId, sGrfName, *pVD);
1919 m_xGalleryMenu->append(sItemId, sGrfName);
1930 sal_uInt16 nMask = 1;
1932 bool bSameBullet =
true;
1935 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
1937 if(nActNumLvl & nMask)
1946 bSameBullet =
false;
1969 sal_uInt16 _nMask = 1;
1970 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
1972 if(nActNumLvl & _nMask)
1976 aNumFmt.SetBulletChar(aMap.
GetChar());
1977 pActNum->SetLevel(
i, aNumFmt);
1987 bool bWidth = &rField == m_xWidthMF.get();
1988 bLastWidthModified = bWidth;
1989 bool bRatio = m_xRatioCB->get_active();
1990 tools::Long nWidthVal =
static_cast<tools::Long>(m_xWidthMF->denormalize(m_xWidthMF->get_value(FieldUnit::MM_100TH)));
1991 tools::Long nHeightVal =
static_cast<tools::Long>(m_xHeightMF->denormalize(m_xHeightMF->get_value(FieldUnit::MM_100TH)));
1993 MapUnit::Map100thMM, eCoreUnit );
1995 MapUnit::Map100thMM, eCoreUnit);
1998 bool bRepaint =
false;
1999 sal_uInt16 nMask = 1;
2000 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
2002 if(nActNumLvl & nMask)
2007 Size aSize(aNumFmt.GetGraphicSize() );
2008 Size aSaveSize(aSize);
2011 fSizeRatio =
static_cast<double>(aInitSize[
i].Width()) / static_cast<double>(aInitSize[
i].
Height());
2013 fSizeRatio = double(1);
2018 aSize.setWidth( nWidthVal );
2021 aSize.setHeight( aInitSize[
i].
Height() + static_cast<tools::Long>(static_cast<double>(nDelta) / fSizeRatio) );
2022 m_xHeightMF->set_value(m_xHeightMF->normalize(
2024 FieldUnit::MM_100TH);
2029 tools::Long nDelta = nHeightVal - aInitSize[
i].Height();
2030 aSize.setHeight( nHeightVal );
2033 aSize.setWidth( aInitSize[
i].
Width() + static_cast<tools::Long>(static_cast<double>(nDelta) * fSizeRatio) );
2034 m_xWidthMF->set_value(m_xWidthMF->normalize(
2036 FieldUnit::MM_100TH);
2040 sal_Int16 eOrient = aNumFmt.GetVertOrient();
2041 if(aSize != aSaveSize)
2043 aNumFmt.SetGraphicBrush( pBrushItem, &aSize, &eOrient );
2044 pActNum->SetLevel(
i, aNumFmt);
2049 SetModified(bRepaint);
2054 if (rBox.get_active())
2056 if (bLastWidthModified)
2057 SizeHdl_Impl(*m_xWidthMF);
2059 SizeHdl_Impl(*m_xHeightMF);
2065 bAutomaticCharStyles =
false;
2066 sal_Int32 nEntryPos = m_xCharFmtLB->get_active();
2067 OUString sEntry = m_xCharFmtLB->get_active_text();
2068 sal_uInt16 nMask = 1;
2069 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
2071 if(nActNumLvl & nMask)
2074 if( 0 == nEntryPos )
2079 aNumFmt.SetCharFormatName(sEntry);
2081 pActNum->SetLevel(
i, aNumFmt);
2090 EditModifyHdl_Impl(&
rEdit);
2095 EditModifyHdl_Impl(&rSpinButton);
2103 sal_uInt16 nMask = 1;
2104 for(sal_uInt16
i = 0;
i <
pActNum->GetLevelCount();
i++)
2133 aGSize.
setWidth( aGSize.Width() / nDivision );
2134 nRet = aGSize.Width();
2135 aGSize.setHeight( aGSize.Height() / nDivision );
2136 pGrf->
Draw( pVDev,
Point(nXStart,nYMiddle - ( aGSize.Height() / 2) ),
2152 Size aTmpSize(rSize);
2154 aTmpSize.setWidth( aTmpSize.Width() / 100 ) ;
2156 aTmpSize.setHeight( aTmpSize.Height() / 100 ) ;
2158 if(!aTmpSize.Height())
2159 aTmpSize.setHeight( 1 );
2160 aFont.SetFontSize(aTmpSize);
2161 aFont.SetTransparent(
true);
2167 aFont.SetColor(aBulletColor);
2170 OUString aText(&cChar, 1);
2172 nY -= ((aTmpSize.Height() - rSize.
Height())/ 2);
2193 const Color aBackColor = rStyleSettings.GetFieldColor();
2194 const Color aTextColor = rStyleSettings.GetFieldTextColor();
2198 pVDev->SetMapMode(rRenderContext.
GetMapMode());
2199 pVDev->SetOutputSize(aSize);
2202 if (aLineColor == aBackColor)
2204 pVDev->SetLineColor(aLineColor);
2205 pVDev->SetFillColor(aBackColor);
2225 nFontHeight = nYStep * 15 / 10;
2242 for (
sal_uInt8 nLevel = nStart; nLevel < nEnd; ++nLevel)
2248 short nTextOffset( 0 );
2254 nNumberXPos = nXStart;
2257 if (nFirstLineOffset <= nNumberXPos)
2258 nNumberXPos = nNumberXPos - nFirstLineOffset;
2262 if (nTextOffset < 0)
2263 nNumberXPos = nNumberXPos + nTextOffset;
2268 if (nTmpNumberXPos < 0)
2274 nNumberXPos = nTmpNumberXPos;
2281 tools::Long nYMiddle = nYStart + ( nFontHeight / 2 );
2300 else if (aTmpBulletColor == aBackColor)
2301 aTmpBulletColor.
Invert();
2302 aColorFont.
SetColor(aTmpBulletColor);
2303 pVDev->SetFont(aColorFont);
2304 pVDev->DrawText(
Point(nNumberXPos, nYStart), aText);
2305 pVDev->SetFont(aSaveFont);
2306 nBulletWidth = pVDev->GetTextWidth(aText);
2313 OUString aText(
' ');
2314 pVDev->DrawText(
Point(nNumberXPos, nYStart), aText );
2315 nBulletWidth = nBulletWidth + pVDev->GetTextWidth(aText);
2321 nTextXPos = nXStart;
2322 if (nTextOffset < 0)
2323 nTextXPos = nTextXPos + nTextOffset;
2324 if (nNumberXPos + nBulletWidth + nTextOffset > nTextXPos)
2325 nTextXPos = nNumberXPos + nBulletWidth + nTextOffset;
2334 if (nTextXPos < nNumberXPos + nBulletWidth)
2336 nTextXPos = nNumberXPos + nBulletWidth;
2344 nTextXPos = nNumberXPos + nBulletWidth;
2353 pVDev->SetFillColor(aBackColor);
2354 pVDev->DrawRect(aRect1);
2357 pVDev->DrawRect(aRect2);
2358 nYStart += 2 * nLineHeight;
2364 tools::Long nWidth = pVDev->GetTextWidth(
"Preview");
2367 tools::Long nTopOffset = nTextHeight - nRectHeight;
2369 if (aBlackColor == aBackColor)
2372 for (sal_uInt16 nLevel = 0; nLevel <
pActNum->
GetLevelCount(); ++nLevel, nYStart = nYStart + nYStep)
2377 pVDev->SetFillColor( aBackColor );
2392 nXStart = nTmpXStart;
2402 tools::Long nYMiddle = nYStart + ( nFontHeight / 2 );
2404 nTextOffset = nTextOffset + nXStep;
2412 nTextOffset = nTextOffset + nXStep;
2422 aTmpSize.setWidth( aTmpSize.Width() / 100 ) ;
2424 aTmpSize.setHeight( aTmpSize.Height() / 100 ) ;
2426 if(!aTmpSize.Height())
2427 aTmpSize.setHeight( 1 );
2432 else if (aTmpBulletColor == aBackColor)
2433 aTmpBulletColor.
Invert();
2435 pVDev->SetFont(aFont);
2441 nY -= (pVDev->GetTextHeight() - nTextHeight - pVDev->GetFontMetric().GetDescent());
2442 pVDev->DrawText(
Point(nXStart, nY), aText);
2443 nTextOffset = pVDev->GetTextWidth(aText);
2444 nTextOffset = nTextOffset + nXStep;
2451 pVDev->SetFillColor( aBlackColor );
2452 pVDev->SetLineColor( aBlackColor );
2457 pVDev->SetFillColor( aLineColor );
2458 pVDev->SetLineColor( aLineColor );
2461 pVDev->DrawRect(aRect1);
2474 :
SfxTabPage(pPage, pController,
"cui/ui/numberingpositionpage.ui",
"NumberingPositionPage", &rSet)
2475 , m_pLevelHdlEvent(nullptr)
2477 , nNumItemId(SID_ATTR_NUMBERING_RULE)
2480 , bInInintControl(false)
2481 , bLabelAlignmentPosAndSpaceModeActive(false)
2482 , m_xLevelLB(m_xBuilder->weld_tree_view(
"levellb"))
2483 , m_xDistBorderFT(m_xBuilder->weld_label(
"indent"))
2484 , m_xDistBorderMF(m_xBuilder->weld_metric_spin_button(
"indentmf",
FieldUnit::
CM))
2485 , m_xRelativeCB(m_xBuilder->weld_check_button(
"relative"))
2486 , m_xIndentFT(m_xBuilder->weld_label(
"numberingwidth"))
2487 , m_xIndentMF(m_xBuilder->weld_metric_spin_button(
"numberingwidthmf",
FieldUnit::
CM))
2488 , m_xDistNumFT(m_xBuilder->weld_label(
"numdist"))
2489 , m_xDistNumMF(m_xBuilder->weld_metric_spin_button(
"numdistmf",
FieldUnit::
CM))
2490 , m_xAlignFT(m_xBuilder->weld_label(
"numalign"))
2491 , m_xAlignLB(m_xBuilder->weld_combo_box(
"numalignlb"))
2492 , m_xLabelFollowedByFT(m_xBuilder->weld_label(
"numfollowedby"))
2493 , m_xLabelFollowedByLB(m_xBuilder->weld_combo_box(
"numfollowedbylb"))
2494 , m_xListtabFT(m_xBuilder->weld_label(
"at"))
2495 , m_xListtabMF(m_xBuilder->weld_metric_spin_button(
"atmf",
FieldUnit::
CM))
2496 , m_xAlign2FT(m_xBuilder->weld_label(
"num2align"))
2497 , m_xAlign2LB(m_xBuilder->weld_combo_box(
"num2alignlb"))
2498 , m_xAlignedAtFT(m_xBuilder->weld_label(
"alignedat"))
2499 , m_xAlignedAtMF(m_xBuilder->weld_metric_spin_button(
"alignedatmf",
FieldUnit::
CM))
2500 , m_xIndentAtFT(m_xBuilder->weld_label(
"indentat"))
2501 , m_xIndentAtMF(m_xBuilder->weld_metric_spin_button(
"indentatmf",
FieldUnit::
CM))
2502 , m_xStandardPB(m_xBuilder->weld_button(
"standard"))
2503 , m_xPreviewWIN(new
weld::CustomWeld(*m_xBuilder,
"preview", m_aPreviewWIN))
2530 m_xLevelLB->set_selection_mode(SelectionMode::Multiple);
2557 const bool bSingleSelection =
m_xLevelLB->count_selected_rows() == 1 &&
2561 ( bSingleSelection || bRelative ) );
2563 ( bSingleSelection || bRelative ) );
2565 bool bSetDistEmpty =
false;
2569 bool bSameAdjust =
true;
2577 sal_uInt16 nMask = 1;
2580 for(sal_uInt16
i = 0;
i <
pActNum->GetLevelCount();
i++)
2595 if(nFirstBorderTextRelative == -1)
2596 nFirstBorderTextRelative =
2600 bSameDistBorderNum &= nFirstBorderTextRelative ==
2605 bSameDistBorderNum &=
2614 bSameLabelFollowedBy &=
2631 OSL_ENSURE(
false,
"cannot happen.");
2635 if(bSameDistBorderNum)
2640 nDistBorderNum =
static_cast<tools::Long>(aNumFmtArr[nLvl]->
GetAbsLSpace())+ aNumFmtArr[nLvl]->GetFirstLineOffset();
2642 nDistBorderNum -=
static_cast<tools::Long>(aNumFmtArr[nLvl - 1]->
GetAbsLSpace())+ aNumFmtArr[nLvl - 1]->GetFirstLineOffset();
2646 nDistBorderNum =
static_cast<tools::Long>(aNumFmtArr[nLvl]->
GetAbsLSpace())+ aNumFmtArr[nLvl]->GetFirstLineOffset();
2651 bSetDistEmpty =
true;
2665 if(aNumFmtArr[nLvl]->GetNumAdjust() == SvxAdjust::Left)
2667 else if(aNumFmtArr[nLvl]->GetNumAdjust() == SvxAdjust::Right)
2678 if ( bSameLabelFollowedBy )
2723 aNumFmtArr[nLvl]->GetIndentAt() + aNumFmtArr[nLvl]->GetFirstLineIndent(),
2731 if ( bSameIndentAt )
2740 if ( bSetDistEmpty )
2749 sal_uInt16 nTmpNumLvl = 1;
2753 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_NUM_PRESET,
false, &pItem))
2754 bPreset = static_cast<const SfxBoolItem*>(pItem)->GetValue();
2755 if(SfxItemState::SET == pExampleSet->
GetItemState(SID_PARAM_CUR_NUM_LEVEL,
false, &pItem))
2756 nTmpNumLvl = static_cast<const SfxUInt16Item*>(pItem)->GetValue();
2768 sal_uInt16 nMask = 1;
2773 for (sal_uInt16
i = 0;
i <
pActNum->GetLevelCount();
i++)
2799 return DeactivateRC::LeavePage;
2820 if(eState != SfxItemState::SET)
2825 if( eState != SfxItemState::SET )
2828 eState = SfxItemState::SET;
2832 DBG_ASSERT(eState == SfxItemState::SET,
"no item found!");
2838 for(sal_uInt16
i = 1;
i <=
pSaveNum->GetLevelCount();
i++)
2842 OUString sEntry =
"1 - " + OUString::number(
pSaveNum->GetLevelCount() );
2851 sal_uInt16 nMask = 1;
2859 for(sal_uInt16
i = 0;
i <
pSaveNum->GetLevelCount();
i++)
2885 "<SvxNumPositionTabPage::InitPosAndSpaceMode()> - misusage of method -> <pAktNum> has to be already set!" );
2891 sal_uInt16 nMask = 1;
2892 for( sal_uInt16
i = 0;
i <
pActNum->GetLevelCount(); ++
i )
2918 pActNum->IsFeatureSupported(SvxNumRuleFlags::CONTINUOUS) );
2920 pActNum->IsFeatureSupported(SvxNumRuleFlags::CONTINUOUS));
2939 return std::make_unique<SvxNumPositionTabPage>(pPage, pController, *rAttrSet);
2944 if (eMetric == FieldUnit::MM)
2963 sal_uInt16 nMask = 1;
2964 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
2966 if(nActNumLvl & nMask)
2970 const sal_Int32
nPos = m_xAlignLB->get_visible()
2971 ? m_xAlignLB->get_active()
2972 : m_xAlign2LB->get_active();
2975 eAdjust = SvxAdjust::Left;
2977 eAdjust = SvxAdjust::Right;
2978 aNumFmt.SetNumAdjust( eAdjust );
2979 pActNum->SetLevel(
i, aNumFmt);
2988 if (m_pLevelHdlEvent)
2998 m_pLevelHdlEvent =
nullptr;
3000 sal_uInt16 nSaveNumLvl = nActNumLvl;
3002 std::vector<int> aSelectedRows = m_xLevelLB->get_selected_rows();
3003 if (std::find(aSelectedRows.begin(), aSelectedRows.end(), pActNum->GetLevelCount()) != aSelectedRows.end() &&
3004 (aSelectedRows.size() == 1 || nSaveNumLvl != 0xffff))
3006 nActNumLvl = 0xFFFF;
3007 for( sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++ )
3008 m_xLevelLB->unselect(
i);
3010 else if (!aSelectedRows.empty())
3012 sal_uInt16 nMask = 1;
3013 for( sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++ )
3015 if (std::find(aSelectedRows.begin(), aSelectedRows.end(),
i) != aSelectedRows.end())
3016 nActNumLvl |= nMask;
3019 m_xLevelLB->unselect(pActNum->GetLevelCount());
3023 nActNumLvl = nSaveNumLvl;
3024 sal_uInt16 nMask = 1;
3025 for( sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++ )
3027 if(nActNumLvl & nMask)
3029 m_xLevelLB->select(
i);
3035 m_xRelativeCB->set_sensitive(nActNumLvl != 1);
3037 InitPosAndSpaceMode();
3038 ShowControlsDependingOnPosAndSpaceMode();
3047 sal_uInt16 nMask = 1;
3048 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
3050 if(nActNumLvl & nMask)
3053 if (&rFld == m_xDistBorderMF.get())
3056 if (m_xRelativeCB->get_active())
3061 aNumFmt.SetAbsLSpace( nValue - nTmp);
3065 tools::Long nTmp = pActNum->GetLevel(
i - 1 ).GetAbsLSpace() +
3066 pActNum->GetLevel(
i - 1 ).GetFirstLineOffset() -
3067 pActNum->GetLevel(
i ).GetFirstLineOffset();
3069 aNumFmt.SetAbsLSpace( nValue + nTmp);
3074 aNumFmt.SetAbsLSpace( nValue - aNumFmt.GetFirstLineOffset());
3077 else if (&rFld == m_xDistNumMF.get())
3079 aNumFmt.SetCharTextDistance( static_cast<short>(nValue) );
3081 else if (&rFld == m_xIndentMF.get())
3084 tools::Long nDiff = nValue + aNumFmt.GetFirstLineOffset();
3085 auto const nAbsLSpace = aNumFmt.GetAbsLSpace();
3086 aNumFmt.SetAbsLSpace(nAbsLSpace + nDiff);
3087 aNumFmt.SetFirstLineOffset( -nValue );
3090 pActNum->SetLevel(
i, aNumFmt );
3096 if (!m_xDistBorderMF->get_sensitive())
3098 m_xDistBorderMF->set_text(
"");
3104 bool bOn = rBox.get_active();
3105 bool bSingleSelection = m_xLevelLB->count_selected_rows() == 1 &&
SAL_MAX_UINT16 != nActNumLvl;
3106 bool bSetValue =
false;
3108 if(bOn || bSingleSelection)
3110 sal_uInt16 nMask = 1;
3113 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
3115 if(nActNumLvl & nMask)
3122 nValue -= (pActNum->GetLevel(
i - 1).GetAbsLSpace() + pActNum->GetLevel(
i - 1).GetFirstLineOffset());
3125 bSetValue = nValue ==
3127 (pActNum->GetLevel(
i - 1).GetAbsLSpace() + pActNum->GetLevel(
i - 1).GetFirstLineOffset());
3137 m_xDistBorderMF->set_text(
"");
3138 m_xDistBorderMF->set_sensitive(bOn || bSingleSelection);
3139 m_xDistBorderFT->set_sensitive(bOn || bSingleSelection);
3148 const auto nPos = m_xLabelFollowedByLB->get_active();
3153 else if (
nPos == 2 )
3157 else if (
nPos == 3 )
3164 bool bSameListtabPos =
true;
3166 sal_uInt16 nMask = 1;
3167 for( sal_uInt16
i = 0;
i < pActNum->GetLevelCount(); ++
i )
3169 if ( nActNumLvl & nMask )
3173 pActNum->SetLevel(
i, aNumFmt );
3181 bSameListtabPos &= aNumFmt.GetListtabPos() ==
3182 pActNum->GetLevel( nFirstLvl ).GetListtabPos();
3194 SetMetricValue(*m_xListtabMF, pActNum->GetLevel( nFirstLvl ).GetListtabPos(), eCoreUnit);
3198 m_xListtabMF->set_text(OUString());
3210 sal_uInt16 nMask = 1;
3211 for( sal_uInt16
i = 0;
i < pActNum->GetLevelCount(); ++
i )
3213 if ( nActNumLvl & nMask )
3217 pActNum->SetLevel(
i, aNumFmt );
3231 sal_uInt16 nMask = 1;
3232 for( sal_uInt16
i = 0;
i < pActNum->GetLevelCount(); ++
i )
3234 if ( nActNumLvl & nMask )
3238 aNumFmt.SetFirstLineIndent( nFirstLineIndent );
3239 pActNum->SetLevel(
i, aNumFmt );
3253 sal_uInt16 nMask = 1;
3254 for( sal_uInt16
i = 0;
i < pActNum->GetLevelCount(); ++
i )
3256 if ( nActNumLvl & nMask )
3260 aNumFmt.GetFirstLineIndent();
3261 aNumFmt.SetIndentAt( nValue );
3262 const tools::Long nNewFirstLineIndent = nAlignedAt - nValue;
3263 aNumFmt.SetFirstLineIndent( nNewFirstLineIndent );
3264 pActNum->SetLevel(
i, aNumFmt );
3274 sal_uInt16 nMask = 1;
3275 SvxNumRule aTmpNumRule( pActNum->GetFeatureFlags(),
3276 pActNum->GetLevelCount(),
3277 pActNum->IsContinuousNumbering(),
3278 SvxNumRuleType::NUMBERING,
3279 pActNum->GetLevel( 0 ).GetPositionAndSpaceMode() );
3280 for(sal_uInt16
i = 0;
i < pActNum->GetLevelCount();
i++)
3282 if(nActNumLvl & nMask)
3289 aNumFmt.SetAbsLSpace( aTempFmt.GetAbsLSpace() );
3290 aNumFmt.SetCharTextDistance( aTempFmt.GetCharTextDistance() );
3291 aNumFmt.SetFirstLineOffset( aTempFmt.GetFirstLineOffset() );
3295 aNumFmt.SetNumAdjust( aTempFmt.GetNumAdjust() );
3296 aNumFmt.SetLabelFollowedBy( aTempFmt.GetLabelFollowedBy() );
3297 aNumFmt.SetListtabPos( aTempFmt.GetListtabPos() );
3298 aNumFmt.SetFirstLineIndent( aTempFmt.GetFirstLineIndent() );
3299 aNumFmt.SetIndentAt( aTempFmt.GetIndentAt() );
3302 pActNum->SetLevel(
i, aNumFmt );
3335 if (pNumCharFmt &&pBulletCharFmt)
3336 SetCharFmts( pNumCharFmt->GetValue(),pBulletCharFmt->GetValue());
3340 const std::vector<OUString> &aList = pListItem->
GetList();
3341 sal_uInt32
nCount = aList.size();
3342 for(sal_uInt32
i = 0;
i < nCount;
i++)
3346 SetMetric(static_cast<FieldUnit>(pMetricItem->GetValue()));
void SetFamily(FontFamily)
std::unique_ptr< weld::Label > m_xErrorText
#define LINK(Instance, Class, Member)
std::unique_ptr< weld::Label > m_xDistNumFT
SvxNumType GetNumberingType() const
void DrawText(const Point &rStartPt, const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, MetricVector *pVector=nullptr, OUString *pDisplayText=nullptr, const SalLayoutGlyphs *pLayoutCache=nullptr)
void SetFillColor(const Color &)
static vcl::Font GetDefaultFont(DefaultFontType nType, LanguageType eLang, GetDefaultFontFlags nFlags, const OutputDevice *pOutDev=nullptr)
SVX_NUM_CHARS_UPPER_LETTER_N
virtual void ActivatePage(const SfxItemSet &rSet) override
std::unique_ptr< weld::Label > m_xBulColorFT
void SetFontSize(const Size &)
ErrCode GetGraphic(Graphic &) const
std::unique_ptr< weld::MenuButton > m_xBitmapMB
void SetCharFmts(const OUString &rNumName, const OUString &rBulletName)
#define SVX_NUM_REL_SIZE_MIN
virtual DeactivateRC DeactivatePage(SfxItemSet *pSet) override
const OUString & GetFamilyName() const
std::unique_ptr< SvxNumValueSet > m_xExamplesVS
std::unique_ptr< weld::CustomWeld > m_xExamplesVSWin
std::unique_ptr< weld::CustomWeld > m_xExamplesVSWin
void setWidth(tools::Long nWidth)
SvxBulletPickTabPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet)
std::unique_ptr< weld::Label > m_xAllLevelFT
virtual void ActivatePage(const SfxItemSet &rSet) override
#define GALLERY_THEME_BULLETS
Point LogicToLogic(const Point &rPtSource, const MapMode *pMapModeSource, const MapMode *pMapModeDest) const
virtual DeactivateRC DeactivatePage(SfxItemSet *pSet) override
#define NUM_VALUSET_COUNT
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *rAttrSet)
ImplSVEvent * m_pLevelHdlEvent
std::unique_ptr< weld::Label > m_xAlign2FT
SvxNumSettingsArr_Impl aNumSettingsArrays[NUM_VALUSET_COUNT]
std::unique_ptr< SvxNumValueSet > m_xExamplesVS
bool Scale(const Size &rNewSize, BmpScaleFlag nScaleFlag=BmpScaleFlag::Default)
const sal_uInt16 * GetLevelVal() const
std::unique_ptr< weld::Label > m_xDistBorderFT
void SetNumRule(const SvxNumRule *pNum)
std::unique_ptr< SvxNumRule > pActNum
const StyleSettings & GetStyleSettings() const
static const AllSettings & GetSettings()
std::unique_ptr< weld::Widget > m_xAllLevelsFrame
const wchar_t *typedef int(__stdcall *DllNativeUnregProc)(int
constexpr OUStringLiteral PERCENT(u"Percent")
const SvxNumberFormat * Get(sal_uInt16 nLevel) const
std::unique_ptr< SvxNumRule > pActNum
sal_uInt16 GetValue() const
void SetWeight(FontWeight)
std::unique_ptr< weld::CheckButton > m_xRelativeCB
std::unique_ptr< weld::ComboBox > m_xLabelFollowedByLB
std::unique_ptr< weld::MetricSpinButton > m_xHeightMF
std::unique_ptr< weld::Label > m_xBitmapFT
IMPL_LINK_NOARG(SvxSingleNumPickTabPage, NumSelectHdl_Impl, ValueSet *, void)
static ImplSVEvent * PostUserEvent(const Link< void *, void > &rLink, void *pCaller=nullptr, bool bReferenceLink=false)
const MapMode & GetMapMode() const
virtual ~SvxSingleNumPickTabPage() override
OUString sBulletCharFormatName
std::unique_ptr< weld::CustomWeld > m_xPreviewWIN
std::unique_ptr< weld::CustomWeld > m_xPreviewWIN
const vcl::Font & GetCharFont() const
void SetCharSet(rtl_TextEncoding)
virtual void ActivatePage(const SfxItemSet &rSet) override
static SfxObjectShell * Current()
const sal_Unicode aBulletTypes[]
constexpr::Color COL_LIGHTGRAY(0xC0, 0xC0, 0xC0)
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *rAttrSet)
sal_Int32 nFirstLineOffset
std::unique_ptr< SvxNumRule > pActNum
std::unique_ptr< SvxNumRule > pSaveNum
static int GetValue(sal_uInt32 i)
virtual ~SvxNumPickTabPage() override
bool IsAvailable(const OUString &rName) const
std::unique_ptr< weld::Label > m_xStartFT
const css::lang::Locale & getLocale(bool bResolveSystem=true) const
virtual void Reset(const SfxItemSet *rSet) override
static OUString GetString(sal_uInt32 i)
OUString PathToFileName() const
IMPL_LINK(SvxNumOptionsTabPage, AllLevelHdl_Impl, weld::SpinButton &, rBox, void)
std::unique_ptr< weld::CustomWeld > m_xExamplesVSWin
std::unique_ptr< weld::Button > m_xBulletPB
HashMap_OWString_Interface aMap
virtual MapUnit GetMetric(sal_uInt16 nWhich) const
constexpr::Color COL_AUTO(0xFF, 0xFF, 0xFF, 0xFF)
std::unique_ptr< SvxNumRule > pSaveNum
std::unique_ptr< weld::ComboBox > m_xAlign2LB
std::unique_ptr< weld::ComboBox > m_xAlignLB
std::unique_ptr< weld::MetricSpinButton > m_xListtabMF
static std::unique_ptr< SvStream > CreateStream(const OUString &rFileName, StreamMode eOpenMode, css::uno::Reference< css::awt::XWindow > xParentWin=nullptr)
std::unique_ptr< SvxBmpNumValueSet > m_xExamplesVS
virtual bool FillItemSet(SfxItemSet *rSet) override
const vcl::Font & GetFont() const
SvxNumberingPreview m_aPreviewWIN
std::unique_ptr< weld::Label > m_xBulRelSizeFT
std::unique_ptr< weld::Label > m_xHeightFT
std::unique_ptr< weld::Label > m_xBulletFT
std::unique_ptr< weld::TreeView > m_xLevelLB
void SetExchangeSupport()
virtual void Reset(const SfxItemSet *rSet) override
std::unique_ptr< weld::Label > m_xSuffixFT
FontMetric Get(const OUString &rName, const OUString &rStyleName) const
std::unique_ptr< SvxNumRule > pSaveNum
static tools::Long lcl_DrawGraphic(VirtualDevice *pVDev, const SvxNumberFormat &rFmt, tools::Long nXStart, tools::Long nYMiddle, tools::Long nDivision)
std::unique_ptr< weld::Button > m_xBtBrowseFile
std::unique_ptr< weld::MetricSpinButton > m_xDistBorderMF
virtual void Reset(const SfxItemSet *rSet) override
void CheckForStartValue_Impl(sal_uInt16 nNumberingType)
const Graphic * GetGraphic(OUString const &referer=OUString()) const
sal_uInt16 GetExportFormatNumberForShortName(std::u16string_view rShortName)
std::unique_ptr< weld::CustomWeld > m_xExamplesVSWin
std::unique_ptr< SvxNumValueSet > m_xExamplesVS
void SetPitch(FontPitch ePitch)
const LanguageTag & GetLanguageTag() const
std::unique_ptr< SvxNumRule > pActNum
std::unique_ptr< weld::Button > m_xStandardPB
virtual void PageCreated(const SfxAllItemSet &aSet) override
static void RemoveUserEvent(ImplSVEvent *nUserEvent)
const SfxPoolItem * GetItem(sal_uInt16 nSlotId) const
static LanguageType getSystemLanguage()
void SetLevel(sal_uInt16 nSet)
void SetModified(bool bRepaint=true)
bool IsFeatureSupported(SvxNumRuleFlags nFeature) const
#define SEARCHPATH_DELIMITER
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *rAttrSet)
bool IsRTLEnabled() const
static tools::Long lcl_DrawBullet(VirtualDevice *pVDev, const SvxNumberFormat &rFmt, tools::Long nXStart, tools::Long nYStart, const Size &rSize)
void Draw(OutputDevice *pOutDev, const Point &rDestPt) const
virtual DeactivateRC DeactivatePage(SfxItemSet *pSet) override
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
#define DBG_ASSERT(sCon, aError)
ImplSVEvent * m_pLevelHdlEvent
virtual void Paint(vcl::RenderContext &rRenderContext, const ::tools::Rectangle &rRect) override
virtual void ActivatePage(const SfxItemSet &rSet) override
void SetMetric(FieldUnit eSet)
std::unique_ptr< weld::Label > m_xCharFmtFT
#define SEARCHFILENAME_DELIMITER
SvxSingleNumPickTabPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet)
std::unique_ptr< SvxNumRule > pSaveNum
static bool BeginLocking(std::u16string_view rThemeName)
const OUString & GetValue() const
int GetCoreValue(const weld::MetricSpinButton &rField, MapUnit eUnit)
static SvxNumSettings_Impl * lcl_CreateNumSettingsPtr(const Sequence< PropertyValue > &rLevelProps)
std::unique_ptr< weld::ComboBox > m_xOrientLB
virtual bool FillItemSet(SfxItemSet *rSet) override
std::unique_ptr< weld::SpinButton > m_xStartED
std::unique_ptr< SvxNumRule > pSaveNum
virtual void PageCreated(const SfxAllItemSet &aSet) override
tools::Long Width() const
SvxNumberingPreview m_aPreviewWIN
OUString MakeNumString(const SvxNodeNum &) const
const SvxNumberFormat & GetLevel(sal_uInt16 nLevel) const
sal_uInt16 GetLevelCount() const
static sal_uInt32 Count()
static const vcl::Font & lcl_GetDefaultBulletFont()
SvxBitmapPickTabPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet)
virtual bool FillItemSet(SfxItemSet *rSet) override
virtual void Reset(const SfxItemSet *rSet) override
std::unique_ptr< weld::MetricSpinButton > m_xIndentAtMF
const Size & GetFontSize() const
std::unique_ptr< weld::Widget > m_xGrid
static Reference< XDefaultNumberingProvider > GetNumberingProvider()
std::unique_ptr< SvxNumRule > pActNum
std::unique_ptr< weld::Label > m_xIndentFT
void SetCharFormatNames(const OUString &rCharName, const OUString &rBulName)
std::unique_ptr< weld::Label > m_xPrefixFT
std::unique_ptr< weld::MetricSpinButton > m_xIndentMF
const AllSettings & GetSettings() const
void SwitchNumberType(sal_uInt8 nType)
To switch between the numbering type 0 - Number; 1 - Bullet; 2 - Bitmap;.
BitmapEx GetBitmapEx(const GraphicConversionParameters &rParameters=GraphicConversionParameters()) const
std::unique_ptr< weld::Entry > m_xSuffixED
void ShowControlsDependingOnPosAndSpaceMode()
Reference< XComponentContext > getComponentContext(Reference< XMultiServiceFactory > const &factory)
SvxNumSettingsArr_Impl aNumSettingsArr
void SetMetricValue(weld::MetricSpinButton &rField, int nCoreValue, MapUnit eUnit)
void SetTimeout(sal_uInt64 nTimeoutMs)
bool bLabelAlignmentPosAndSpaceModeActive
virtual void PageCreated(const SfxAllItemSet &aSet) override
static ErrCode Import(SvStream &rIStm, Graphic &rGraphic, ConvertDataFormat nFormat=ConvertDataFormat::Unknown)
SfxItemPool * GetPool() const
std::unique_ptr< weld::Label > m_xListtabFT
static bool EndLocking(std::u16string_view rThemeName)
SVX_NUM_CHARS_LOWER_LETTER_N
ErrCode ExportGraphic(const Graphic &rGraphic, const INetURLObject &rPath, sal_uInt16 nFormat, const css::uno::Sequence< css::beans::PropertyValue > *pFilterData=nullptr)
const SfxItemSet * GetDialogExampleSet() const
std::vector< OUString > & GetList()
OUString CuiResId(const char *pKey)
void EditModifyHdl_Impl(const weld::Entry *)
virtual ~SvxNumPositionTabPage() override
void SetTitle(const OUString &rNewTitle)
virtual bool FillItemSet(SfxItemSet *rSet) override
void SetColor(const Color &)
constexpr T & temporary(T &&x)
static bool bLastRelative
virtual short run() override
SvxNumPickTabPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet)
Point PixelToLogic(const Point &rDevicePt) const
std::unique_ptr< weld::Label > m_xLabelFollowedByFT
virtual void Reset(const SfxItemSet *rSet) override
std::unique_ptr< weld::Label > m_xIndentAtFT
OUString GetMainURL(DecodeMechanism eMechanism, rtl_TextEncoding eCharset=RTL_TEXTENCODING_UTF8) const
std::unique_ptr< weld::Label > m_xWidthFT
std::unique_ptr< SvxNumRule > pActNum
const PropertyValue * pValues
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
bool IsContinuousNumbering() const
std::unique_ptr< weld::Label > m_xOrientFT
TabPage for complete numeration.
std::unique_ptr< weld::Entry > m_xPrefixED
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *rAttrSet)
std::unique_ptr< weld::MetricSpinButton > m_xBulRelSizeMF
virtual void ActivatePage(const SfxItemSet &rSet) override
std::vector< std::unique_ptr< SvxNumSettings_Impl > > SvxNumSettingsArr_Impl
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
sal_uInt16 GetWhich(sal_uInt16 nSlot, bool bDeep=true) const
std::unique_ptr< weld::ComboBox > m_xCharFmtLB
static bool InsertURL(std::u16string_view rThemeName, const OUString &rURL)
virtual ~SvxBitmapPickTabPage() override
virtual bool FillItemSet(SfxItemSet *rSet) override
void SetFont(const vcl::Font &rNewFont)
SvxNumPositionTabPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet)
void SetTransparent(bool bTransparent)
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_WHITE
static bool lcl_IsNumFmtSet(SvxNumRule const *pNum, sal_uInt16 nLevelMask)
INetProtocol GetProtocol() const
std::unique_ptr< weld::CheckButton > m_xSameLevelCB
OUString GetFileExtension() const
tools::Long GetTextWidth(const OUString &rStr, sal_Int32 nIndex=0, sal_Int32 nLen=-1, vcl::TextLayoutCache const *=nullptr, SalLayoutGlyphs const *const pLayoutCache=nullptr) const
const OUString & GetGalleryPath() const
std::vector< OUString > aGrfNames
tools::Long Height() const
void SetMetric(FieldUnit eSet)
std::unique_ptr< weld::MetricSpinButton > m_xDistNumMF
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_BLACK
SvxNumOptionsTabPage(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet &rSet)
void SetInvokeHandler(const Link< Timer *, void > &rLink)
void SetCharFont(const vcl::Font &rFont)
void SetLevel(sal_uInt8 nVal)
std::unique_ptr< weld::ComboBox > m_xFmtLB
virtual ~SvxBulletPickTabPage() override
bool IsShowSymbol() const
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *rAttrSet)
std::unique_ptr< weld::SpinButton > m_xAllLevelNF
virtual DeactivateRC DeactivatePage(SfxItemSet *pSet) override
virtual bool FillItemSet(SfxItemSet *rSet) override
virtual ~SvxNumOptionsTabPage() override
static GraphicFilter & GetGraphicFilter()
virtual void PageCreated(const SfxAllItemSet &aSet) override
reference_type * get() const
void InitPosAndSpaceMode()
#define SAL_WARN(area, stream)
std::unique_ptr< weld::TreeView > m_xLevelLB
Reference< XSingleServiceFactory > xFactory
The main purpose of this dialog is to enable the use of characters that are not easily accessible fro...
std::unique_ptr< SvxNumRule > pSaveNum
std::unique_ptr< weld::Label > m_xAlignFT
std::unique_ptr< weld::Label > m_xAlignedAtFT
const FontList * GetFontList() const
static void GetI18nNumbering(weld::ComboBox &rFmtLB, sal_uInt16 nDoNotRemove)
std::unique_ptr< ColorListBox > m_xBulColLB
void SetNumberingType(SvxNumType nSet)
std::unique_ptr< weld::CheckButton > m_xRatioCB
const Size & GetSizePixel() const
virtual void ActivatePage(const SfxItemSet &rSet) override
std::unique_ptr< weld::MetricSpinButton > m_xAlignedAtMF
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
std::unique_ptr< weld::Label > m_xSeparatorFT
std::unique_ptr< weld::MetricSpinButton > m_xWidthMF
SwNumRule * GetNumRule(SwTextFormatColl &rTextFormatColl)
weld::Window * GetFrameWeld(const SfxFrame *pFrame)
virtual DeactivateRC DeactivatePage(SfxItemSet *pSet) override
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *rAttrSet)
virtual DeactivateRC DeactivatePage(SfxItemSet *pSet) override
static bool FillObjList(std::u16string_view rThemeName, std::vector< OUString > &rObjList)
SAL_DLLPRIVATE void DrawOutDev(const Point &, const Size &, const Point &, const Size &, const Printer &)=delete
const SvxNumRule * pActNum
const Color & GetFillColor() const
static bool GetGraphicObj(std::u16string_view rThemeName, sal_uInt32 nPos, Graphic *pGraphic)
virtual void Reset(const SfxItemSet *rSet) override