25#include <osl/diagnose.h>
49 case FN_NUM_NUMBERING_ON:
59 if ( bMode != (
GetShell().SelectionHasNumber()) )
68 if (bNewResult!=bMode) {
72 SfxBoolItem aNewItem(FN_NUM_NUMBERING_ON,bNewResult);
78 case FN_NUM_BULLET_ON:
88 if ( bMode != (
GetShell().SelectionHasBullet()) )
97 if (bNewResult!=bMode) {
121 case SID_OUTLINE_BULLET:
124 SID_ATTR_NUMBERING_RULE, SID_PARAM_CUR_NUM_LEVEL> aSet(
GetPool() );
126 const bool bHtml =
dynamic_cast<SwWebDocShell*
>( pDocSh ) !=
nullptr;
128 if ( pNumRuleAtCurrentSelection !=
nullptr )
145 aRule.
SetFeatureFlag(SvxNumRuleFlags::ENABLE_EMBEDDED_BMP,
false);
149 "<SwTextShell::ExecEnterNum()> - numbered node without valid list level. Serious defect." );
153 nLevel = 1 << nLevel;
154 aSet.Put(
SfxUInt16Item( SID_PARAM_CUR_NUM_LEVEL, nLevel ) );
165 if ( bHtml || bRightToLeft )
183 aSvxRule.
SetFeatureFlag(SvxNumRuleFlags::ENABLE_EMBEDDED_BMP,
false);
188 aSet.Put(
SfxBoolItem( SID_PARAM_NUM_PRESET,
false ));
198 pDlg->SetCurPageId( pPageItem->
GetValue() );
200 auto pRequest = std::make_shared<SfxRequest>(rReq);
203 pDlg->StartExecuteAsync([aSet, pDlg, pNumRuleAtCurrentSelection, pRequest,
this](sal_Int32 nResult){
206 const SvxNumBulletItem* pBulletItem = pDlg->GetOutputItemSet()->GetItemIfSet(SID_ATTR_NUMBERING_RULE,
false);
209 pRequest->AppendItem(*pBulletItem);
213 SwNumRule aSetRule(pNumRuleAtCurrentSelection !=
nullptr
214 ? pNumRuleAtCurrentSelection->
GetName()
215 :
GetShell().GetUniqueNumRuleName(),
221 const bool bCreateList = (pNumRuleAtCurrentSelection ==
nullptr);
226 else if (pNumRuleAtCurrentSelection ==
nullptr
227 && (pBulletItem = aSet.GetItemIfSet(SID_ATTR_NUMBERING_RULE,
false)))
229 pRequest->AppendItem(*pBulletItem);
249 OSL_FAIL(
"wrong dispatcher");
257 const sal_uInt16 nSlot = rReq.
GetSlot();
260 case FN_SVX_SET_NUMBER:
261 case FN_SVX_SET_BULLET:
262 case FN_SVX_SET_OUTLINE:
265 if ( pItem !=
nullptr )
267 const sal_uInt16 nChosenItemIdx = pItem->
GetValue();
269 if ( nSlot == FN_SVX_SET_NUMBER )
271 else if ( nSlot == FN_SVX_SET_OUTLINE )
276 if ( pNBOTypeMgr !=
nullptr )
279 sal_uInt16 nActNumLvl = USHRT_MAX;
280 if ( pNumRuleAtCurrentSelection !=
nullptr )
285 nActNumLvl = 1 << nLevel;
289 pNumRuleAtCurrentSelection !=
nullptr ? pNumRuleAtCurrentSelection->
GetName() :
GetShell().GetUniqueNumRuleName(),
291 SvxNumRule aNewSvxNumRule = pNumRuleAtCurrentSelection !=
nullptr
295 OUString aNumCharFormat, aBulletCharFormat;
305 pNBOTypeMgr->
ApplyNumRule( aNewSvxNumRule, nChosenItemIdx - 1, nActNumLvl );
309 const bool bCreateNewList = ( pNumRuleAtCurrentSelection == nullptr );
317 OSL_ENSURE(
false,
"wrong Dispatcher");
sal_uInt16 GetValue() const
const OUString & GetValue() const
void SetState(const SfxItemSet &rSet)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
sal_uInt16 GetSlot() const
const T * GetArg(sal_uInt16 nSlotId) const
void AppendItem(const SfxPoolItem &)
weld::Window * GetFrameWeld() const
void Done(bool bRemove=false)
void PutItem(const SfxPoolItem &rItem)
SfxItemPool & GetPool() const
SfxBindings & GetBindings()
SfxViewFrame & GetViewFrame() const
const OUString & GetGraphicLink() const
const SvxNumRule & GetNumRule() const
sal_uInt16 GetLevelCount() const
const SvxNumberFormat * Get(sal_uInt16 nLevel) const
const SvxNumberFormat & GetLevel(sal_uInt16 nLevel) const
void SetLevel(sal_uInt16 nLevel, const SvxNumberFormat &rFmt, bool bIsValid=true)
void SetFeatureFlag(SvxNumRuleFlags nFlag, bool bSet=true)
void SetNumberingType(SvxNumType nSet)
SvxNumType GetNumberingType() const
virtual VclPtr< SfxAbstractTabDialog > CreateSvxNumBulletTabDialog(weld::Window *pParent, const SfxItemSet *pSwItemSet, SwWrtShell &)=0
static SwAbstractDialogFactory * Create()
bool IsInRightToLeftText() const
void StartAllAction()
For all views of this document.
bool SelectionHasNumber() const
void SetCurNumRule(const SwNumRule &, const bool bCreateNewList, const OUString &sContinuedListId=OUString(), const bool bResetIndentAttrs=false)
Optional parameter <bResetIndentAttrs> (default value false).
bool SelectionHasBullet() const
sal_uInt8 GetNumLevel() const
const SwNumRule * GetNumRuleAtCurrentSelection() const
Returns the numbering rule found at the paragraphs of the current selection, if all paragraphs of the...
void DelNumRules()
Delete, split enumeration list.
void SetAutoRule(bool bFlag)
void SetSvxRule(const SvxNumRule &, SwDoc *pDoc)
const OUString & GetName() const
SvxNumRule MakeSvxNumRule() const
static void FillUIName(const OUString &rName, OUString &rFillName, SwGetPoolIdFromName)
void ExecSetNumber(SfxRequest const &)
void ExecEnterNum(SfxRequest &)
SwDocShell * GetDocShell()
#define FN_NUM_BULLET_OFF
#define FN_NUMBER_BULLETS
SvxNumberFormat::SvxNumPositionAndSpaceMode GetDefaultPositionAndSpaceMode()
@ RES_POOLCHR_BULLET_LEVEL
Bullets.
@ RES_POOLCHR_NUM_LEVEL
Numbering symbols.
constexpr sal_uInt8 MAXLEVEL
sal_uInt16 GetHtmlMode(const SwDocShell *pShell)