21 #include <osl/diagnose.h>
28 #include <inputwin.hxx>
29 #include <document.hxx>
37 sal_uInt16 nSlotId = rReq.
GetSlot();
42 if ( pReqArgs !=
nullptr )
45 if (pReqArgs->
HasItem(FN_PARAM_1, &pItem))
46 nRepeat = static_cast<SCCOLROW>(static_cast<const SfxInt16Item*>(pItem)->GetValue());
47 if (pReqArgs->
HasItem(FN_PARAM_2, &pItem))
48 bSel = static_cast<const SfxBoolItem*>(pItem)->GetValue();
69 rReq.
SetSlot(SID_CURSORDOWN_SEL);
75 rReq.
SetSlot(SID_CURSORRIGHT_SEL);
78 rReq.
SetSlot(SID_CURSORLEFT_SEL);
80 case SID_CURSORPAGEDOWN:
81 rReq.
SetSlot(SID_CURSORPAGEDOWN_SEL);
83 case SID_CURSORPAGEUP:
84 rReq.
SetSlot(SID_CURSORPAGEUP_SEL);
86 case SID_CURSORBLKDOWN:
87 rReq.
SetSlot(SID_CURSORBLKDOWN_SEL);
90 rReq.
SetSlot(SID_CURSORBLKUP_SEL);
92 case SID_CURSORBLKRIGHT:
93 rReq.
SetSlot(SID_CURSORBLKRIGHT_SEL);
95 case SID_CURSORBLKLEFT:
96 rReq.
SetSlot(SID_CURSORBLKLEFT_SEL);
123 bool bScrollLock =
false;
125 if (eState & KeyIndicatorState::SCROLLLOCK)
139 case SID_CURSORBLKDOWN:
150 case SID_CURSORBLKUP:
161 case SID_CURSORBLKLEFT:
165 case SID_CURSORRIGHT:
172 case SID_CURSORBLKRIGHT:
176 case SID_CURSORPAGEDOWN:
188 case SID_CURSORPAGEUP:
200 case SID_CURSORPAGERIGHT_:
212 case SID_CURSORPAGELEFT_:
225 OSL_FAIL(
"Unknown message in ViewShell (Cursor)");
242 sal_uInt16 nSlotId = rReq.
GetSlot();
255 if ( pReqArgs !=
nullptr )
258 if (pReqArgs->
HasItem(FN_PARAM_1, &pItem))
259 nRepeat = static_cast<SCCOLROW>(static_cast<const SfxInt16Item*>(pItem)->GetValue());
262 SCROW nMovY = nRepeat;
264 SCCOL nMovX = nRepeat;
273 case SID_CURSORDOWN_SEL:
276 case SID_CURSORUP_SEL:
279 case SID_CURSORRIGHT_SEL:
282 case SID_CURSORLEFT_SEL:
285 case SID_CURSORPAGEUP_SEL:
288 case SID_CURSORPAGEDOWN_SEL:
291 case SID_CURSORPAGERIGHT_SEL:
294 case SID_CURSORPAGELEFT_SEL:
297 case SID_CURSORBLKDOWN_SEL:
300 case SID_CURSORBLKUP_SEL:
303 case SID_CURSORBLKRIGHT_SEL:
306 case SID_CURSORBLKLEFT_SEL:
321 sal_uInt16 nSlotId = rReq.
GetSlot();
324 if(nSlotId != SID_CURSORTOPOFSCREEN && nSlotId != SID_CURSORENDOFSCREEN)
329 case SID_NEXT_TABLE_SEL:
330 pTabViewShell->
SelectNextTab( 1, (nSlotId == SID_NEXT_TABLE_SEL) );
334 case SID_PREV_TABLE_SEL:
335 pTabViewShell->
SelectNextTab( -1, (nSlotId == SID_PREV_TABLE_SEL) );
341 case SID_NEXT_UNPROTECT:
345 case SID_PREV_UNPROTECT:
349 case SID_CURSORENTERUP:
356 case SID_CURSORENTERDOWN:
367 if ( pReqArgs && pReqArgs->
HasItem( FN_PARAM_1, &pColItem ) &&
368 pReqArgs->
HasItem( FN_PARAM_2, &pModifierItem ) )
384 if ( pReqArgs && pReqArgs->
HasItem( FN_PARAM_1, &pRowItem ) &&
385 pReqArgs->
HasItem( FN_PARAM_2, &pModifierItem ) )
390 pTabViewShell->
MarkRows( nRow, nModifier );
397 case SID_SELECT_NONE:
401 case SID_ALIGNCURSOR:
405 case SID_MARKDATAAREA:
409 case SID_MARKARRAYFORMULA:
413 case SID_SETINPUTMODE:
417 case SID_FOCUS_INPUTLINE:
429 case SID_CURSORTOPOFSCREEN:
433 case SID_CURSORENDOFSCREEN:
438 OSL_FAIL(
"Unknown message in ViewShell (Cursor)");
447 sal_uInt16 nSlotId = rReq.
GetSlot();
450 case SID_CURSORHOME_SEL: rReq.
SetSlot( SID_CURSORHOME );
break;
451 case SID_CURSOREND_SEL: rReq.
SetSlot( SID_CURSOREND );
break;
452 case SID_CURSORTOPOFFILE_SEL: rReq.
SetSlot( SID_CURSORTOPOFFILE );
break;
453 case SID_CURSORENDOFFILE_SEL: rReq.
SetSlot( SID_CURSORENDOFFILE );
break;
455 OSL_FAIL(
"Unknown message in ViewShell (ExecutePageSel)");
466 sal_uInt16 nSlotId = rReq.
GetSlot();
470 if ( pReqArgs !=
nullptr )
473 if (pReqArgs->
HasItem(FN_PARAM_2, &pItem))
474 bSel = static_cast<const SfxBoolItem*>(pItem)->GetValue();
501 case SID_CURSORTOPOFFILE:
505 case SID_CURSORENDOFFILE:
510 OSL_FAIL(
"Unknown message in ViewShell (ExecutePage)");
const SfxPoolItem * ExecuteSlot(SfxRequest &rReq, const SfxInterface *pIF=nullptr)
void FindNextUnprot(bool bShift, bool bInSelection)
void MarkDataArea(bool bIncludeCursor=true)
constexpr sal_uInt16 KEY_MOD1
KeyIndicatorState GetIndicatorState() const
const ContentProperties & rData
sal_uInt16 GetLockedModifiers() const
void Done(bool bRemove=false)
ScDocument & GetDocument() const
const SfxItemSet * GetArgs() const
void ExecuteMove(SfxRequest &rReq)
void ScrollX(tools::Long nDeltaX, ScHSplitPos eWhich, bool bUpdBars=true)
void MoveCursorScreen(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, bool bShift)
VclPtr< vcl::Window > pFrameWin
void SetSlot(sal_uInt16 nNewSlot)
void MoveCursorEnd(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, bool bShift, bool bKeepSel=false)
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
void SetForceFocusOnCurCell(bool bFlag)
void ExecuteInputDirect()
ScTabViewShell * GetViewShell() const
void ExpandBlock(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode)
void ExecuteCursor(SfxRequest &rReq)
void ExpandBlockArea(SCCOL nMovX, SCROW nMovY)
void ExecutePage(SfxRequest &rReq)
sal_uInt16 GetSlot() const
void ExecutePageSel(SfxRequest &rReq)
void MoveCursorEnter(bool bShift)
void ExecuteCursorSel(SfxRequest &rReq)
void MoveCursorPage(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, bool bShift, bool bKeepSel=false)
void ScrollY(tools::Long nDeltaY, ScVSplitPos eWhich, bool bUpdBars=true)
void MoveCursorArea(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, bool bShift, bool bKeepSel=false)
void MoveCursorRel(SCCOL nMovX, SCROW nMovY, ScFollowMode eMode, bool bShift, bool bKeepSel=false)
bool HasItem(sal_uInt16 nWhich, const SfxPoolItem **ppItem=nullptr) const
void GetPageMoveEndPosition(SCCOL nMovX, SCROW nMovY, SCCOL &rPageX, SCROW &rPageY)
void AlignToCursor(SCCOL nCurX, SCROW nCurY, ScFollowMode eMode, const ScSplitPos *pWhich=nullptr)
SC_DLLPUBLIC bool IsLayoutRTL(SCTAB nTab) const
virtual SfxInterface * GetInterface() const
void SelectNextTab(short nDir, bool bExtendSelection)
ObjectSelectionType GetCurObjectSelectionType() const
void AppendItem(const SfxPoolItem &)
static void GetStateCursor(SfxItemSet &rSet)
constexpr sal_uInt16 KEY_SHIFT
const ScInputHandler * GetInputHandler() const
void ExpandBlockPage(SCCOL nMovX, SCROW nMovY)