33 #define ShellClass_SwListShell
35 #include <swslots.hxx>
43 GetStaticInterface()->RegisterObjectBar(
SFX_OBJECTBAR_OBJECT, SfxVisibilityFlags::Invisible, ToolbarId::Num_Toolbox);
70 while ( nActEndPos < pIDoc->getOutlineNodesCount() &&
71 (!pIDoc->isOutlineInLayout(nActEndPos, *rSh.
GetLayout())
72 || nActLevel < pIDoc->getOutlineLevel(nActEndPos)))
77 if ( nActEndPos < pIDoc->getOutlineNodesCount() )
83 while ( nDest < pIDoc->getOutlineNodesCount() &&
84 (!pIDoc->isOutlineInLayout(nDest, *rSh.
GetLayout())
85 || nActLevel < pIDoc->getOutlineLevel(nDest)))
90 nDir = nDest - 1 - nActEndPos;
100 (!pIDoc->isOutlineInLayout(nDest, *rSh.
GetLayout())
101 || nActLevel < pIDoc->getOutlineLevel(nDest)))
106 nDir = nDest - nActPos;
129 const sal_uInt16 nSlot = rReq.
GetSlot();
134 OSL_ENSURE( pCurRule,
"SwListShell::Execute without NumRule" );
209 bool bApi = rReq.
IsAPI();
210 bool bDelete = !rSh.
IsNoNum(!bApi);
219 OSL_ENSURE(
false,
"wrong dispatcher");
239 if(!nCurrentNumLevel)
252 if(nCurrentNumLevel == (
MAXLEVEL - 1))
SfxViewFrame * GetViewFrame() const
#define SFX_IMPL_INTERFACE(Class, SuperClass)
void GetCurrentOutlineLevels(sal_uInt8 &rUpper, sal_uInt8 &rLower)
Detect highest and lowest level to check moving of outline levels.
const SwNumRule * GetNumRuleAtCurrCursorPos() const
std::vector< SwNode * >::difference_type difference_type
const IDocumentOutlineNodes * getIDocumentOutlineNodesAccess() const
bool Pop(SwCursorShell::PopMode=SwCursorShell::PopMode::DeleteStack)
#define FN_NUM_BULLET_OUTLINE_DOWN
#define FN_NUM_BULLET_DOWN
void Done(bool bRemove=false)
#define FN_NUM_BULLET_OUTLINE_MOVEUP
#define FN_NUM_BULLET_NEXT
const SfxItemSet * GetArgs() const
void Invalidate(sal_uInt16 nId)
sal_uInt8 GetNumLevel() const
bool MakeOutlineSel(SwOutlineNodes::size_type nSttPos, SwOutlineNodes::size_type nEndPos, bool bWithChildren, bool bKillPams=true)
Used by the UI to modify the document model.
SwListShell(SwView &rView)
#define FN_NUM_BULLET_OFF
#define FN_NUM_BULLET_PREV
bool IsOutlineMovable(SwOutlineNodes::size_type nIdx) const
May an outline be moved or copied? Check whether it's in text body, not in table, and not read-only (...
void Execute(SfxRequest &)
void DelNumRules()
Delete, split enumeration list.
static void lcl_OutlineUpDownWithSubPoints(SwWrtShell &rSh, bool bMove, bool bUp)
static constexpr auto npos
void Push()
store a copy of the current cursor on the cursor stack
SfxBindings & GetBindings()
virtual int getOutlineLevel(const tSortedOutlineNodeList::size_type nIdx) const =0
void SetName(const OUString &rName)
SwOutlineNodes::size_type GetOutlinePos(sal_uInt8 nLevel=UCHAR_MAX, SwPaM *pPaM=nullptr)
search "outline position" before previous outline node at given level
#define SFX_OBJECTBAR_OBJECT
bool NumOrNoNum(bool bDelete=false, bool bChkStart=true)
Switch on/off of numbering via Delete/Backspace.
bool OutlineUpDown(short nOffset=1)
#define FN_NUM_BULLET_OUTLINE_MOVEDOWN
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
sal_uInt16 GetSlot() const
void DisableItem(sal_uInt16 nWhich)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
#define FN_NUM_BULLET_OUTLINE_UP
Provides outline nodes of a document.
void GotoOutline(SwOutlineNodes::size_type nIdx)
bool IsNoNum(bool bChkStart=true) const
void NumUpDown(bool bDown=true)
void NoNum()
Paragraphs without enumeration but with indents.
void AppendItem(const SfxPoolItem &)
bool MoveOutlinePara(SwOutlineNodes::difference_type nOffset)
std::vector< SwNode * >::size_type size_type
SwRootFrame * GetLayout() const
void GotoNextNum()
go to next/previous point on the same level
#define FN_NUM_BULLET_NONUM
void GetState(SfxItemSet &)
bool IsOutlineRule() const
bool MoveNumParas(bool bUpperLower, bool bUpperLeft)
bool CursorInsideInputField() const