28#include <com/sun/star/sheet/DataPilotFieldOrientation.hpp>
37 struct MisspellRanges;
41 class SpellCheckContext;
63#define SC_GM_TABDOWN 1
64#define SC_GM_DBLDOWN 2
67#define SC_GM_WATERUNDO 5
68#define SC_GM_URLDOWN 6
73#define SC_PD_RANGE_L 1
74#define SC_PD_RANGE_R 2
75#define SC_PD_RANGE_T 4
76#define SC_PD_RANGE_B 8
77#define SC_PD_RANGE_TL (SC_PD_RANGE_T|SC_PD_RANGE_L)
78#define SC_PD_RANGE_TR (SC_PD_RANGE_T|SC_PD_RANGE_R)
79#define SC_PD_RANGE_BL (SC_PD_RANGE_B|SC_PD_RANGE_L)
80#define SC_PD_RANGE_BR (SC_PD_RANGE_B|SC_PD_RANGE_R)
81#define SC_PD_BREAK_H 16
82#define SC_PD_BREAK_V 32
158 std::unique_ptr<ScNoteMarker, o3tl::default_delete<ScNoteMarker>>
mpNoteMarker;
226 bool TestMouse(
const MouseEvent& rMEvt,
bool bAction );
228 bool DoPageFieldSelection(
SCCOL nCol,
SCROW nRow );
230 void DoPushPivotButton(
SCCOL nCol,
SCROW nRow,
const MouseEvent& rMEvt,
bool bButton,
bool bPopup,
bool bMultiField );
234 void DPMouseButtonUp(
const MouseEvent& rMEvt );
235 void DPTestMouse(
const MouseEvent& rMEvt,
bool bMove );
246 void DPPopulateFieldMembers(
const ScDPLabelData& rLabelData);
247 void DPSetupFieldPopup(std::unique_ptr<ScCheckListMenuControl::ExtendedData> pDPData,
bool bDimOrientNotPage,
248 ScDPObject* pDPObj,
bool bMultiField =
false);
249 void DPConfigFieldPopup();
251 void DPLaunchMultiFieldPopupMenu(
const Point& rScrPos,
const Size& rScrSize,
ScDPObject* pDPObj,
252 css::sheet::DataPilotFieldOrientation nOrient);
254 void RFMouseMove(
const MouseEvent& rMEvt,
bool bUp );
256 void PagebreakMove(
const MouseEvent& rMEvt,
bool bUp );
263 void ExecDataSelect(
SCCOL nCol,
SCROW nRow,
const OUString& rStr );
265 bool HasScenarioButton(
const Point& rPosPixel,
ScRange& rScenRange );
267 void DropScroll(
const Point& rMousePos );
276 bool DrawMouseButtonDown(
const MouseEvent& rMEvt);
277 bool DrawMouseButtonUp(
const MouseEvent& rMEvt);
281 bool DrawHasMarkedObj();
282 void DrawEndAction();
288 void DrawAfterScroll();
294 bool GetEditUrl(
const Point& rPos,
295 OUString* pName=
nullptr, OUString* pUrl=
nullptr, OUString* pTarget=
nullptr );
297 bool HitRangeFinder(
const Point& rMouse,
RfCorner& rCorner, sal_uInt16* pIndex,
300 sal_uInt16 HitPageBreak(
const Point& rMouse,
ScRange* pSource,
305 void SelectForContextMenu(
const Point& rPosPixel,
SCCOL nCellX,
SCROW nCellY );
307 void GetSelectionRects( ::std::vector< tools::Rectangle >& rPixelRects )
const;
308 void GetSelectionRectsPrintTwips(::std::vector< tools::Rectangle >& rRects)
const;
309 void GetPixelRectsFor(
const ScMarkData &rMarkData,
310 ::std::vector< tools::Rectangle >& rPixelRects )
const;
311 void GetRectsAnyFor(
const ScMarkData &rMarkData,
312 ::std::vector< tools::Rectangle >& rRects,
bool bInPrintTwips)
const;
313 void UpdateKitSelection(
const std::vector<tools::Rectangle>& rRectangles,
314 std::vector<tools::Rectangle>* pLogicRects =
nullptr);
353 virtual void dispose()
override;
358 void flushOverlayManager();
374 int nOutputWidth,
int nOutputHeight,
375 int nTilePosX,
int nTilePosY,
377 SCCOL nTiledRenderingAreaEndCol,
SCROW nTiledRenderingAreaEndRow );
385 void SetCellSelectionPixel(
int nType,
int nPixelX,
int nPixelY);
387 void GetCellSelection(std::vector<tools::Rectangle>& rLogicRects);
389 virtual css::uno::Reference< css::accessibility::XAccessible >
CreateAccessible()
override;
394 void UpdateStatusPosSize();
403 void UpdateEditViewPos();
409 void LaunchDataSelectMenu(
SCCOL nCol,
SCROW nRow );
410 void DoScenarioMenu(
const ScRange& rScenRange );
412 void LaunchAutoFilterMenu(
SCCOL nCol,
SCROW nRow);
413 void RefreshAutoFilterButton(
const ScAddress& rPos);
414 void UpdateAutoFilterFromMenu(AutoFilterMode eMode);
416 void LaunchPageFieldMenu(
SCCOL nCol,
SCROW nRow );
417 void LaunchDPFieldMenu(
SCCOL nCol,
SCROW nRow );
419 css::sheet::DataPilotFieldOrientation GetDPFieldOrientation(
SCCOL nCol,
SCROW nRow )
const;
421 void DPLaunchFieldPopupMenu(
const Point& rScrPos,
const Size& rScrSize,
438 void UpdateAutoFillMark(
bool bMarked,
const ScRange& rMarkRange);
440 void UpdateListValPos(
bool bVisible,
const ScAddress& rPos );
442 bool ShowNoteMarker(
SCCOL nPosX,
SCROW nPosY,
bool bKeyboard );
443 void HideNoteMarker();
446 MapMode GetDrawMapMode(
bool bForce =
false );
449 void UpdateInputContext();
455 void CheckNeedsRepaint();
457 void UpdateDPPopupMenuForFieldChange();
458 void UpdateDPFromFieldPopupMenu();
459 bool UpdateVisibleRange();
461 void CursorChanged();
462 void DrawLayerCreated();
463 void SetAutoSpellContext(
const std::shared_ptr<sc::SpellCheckContext> &ctx );
464 void ResetAutoSpell();
465 void ResetAutoSpellForContentChange();
466 void SetAutoSpellData(
SCCOL nPosX,
SCROW nPosY,
const std::vector<editeng::MisspellRanges>* pRanges );
467 const std::vector<editeng::MisspellRanges>* GetAutoSpellData(
SCCOL nPosX,
SCROW nPosY );
468 bool InsideVisibleRange(
SCCOL nPosX,
SCROW nPosY );
470 void UpdateSparklineGroupOverlay();
471 void DeleteSparklineGroupOverlay();
472 void DeleteCopySourceOverlay();
473 void UpdateCopySourceOverlay();
474 void DeleteCursorOverlay();
475 void UpdateCursorOverlay();
476 void DeleteSelectionOverlay();
477 void UpdateSelectionOverlay();
478 void DeleteAutoFillOverlay();
479 void UpdateAutoFillOverlay();
480 void DeleteDragRectOverlay();
481 void UpdateDragRectOverlay();
482 void DeleteHeaderOverlay();
483 void UpdateHeaderOverlay();
484 void DeleteShrinkOverlay();
485 void UpdateShrinkOverlay();
486 void UpdateAllOverlays();
489 OString getCellCursor()
const;
490 void notifyKitCellCursor()
const;
491 void notifyKitCellViewCursor(
const SfxViewShell* pForShell)
const;
492 void updateKitCellCursor(
const SfxViewShell* pOtherShell)
const;
494 void updateKitOtherCursors()
const;
495 void updateOtherKitSelections()
const;
497 void notifyKitCellFollowJump()
const;
502 void updateLOKValListButton(
bool bVisible,
const ScAddress& rPos)
const;
503 void updateLOKInputHelp(
const OUString& title,
const OUString& content)
const;
505 void initiatePageBreaks();
508 void ImpCreateOverlayObjects();
509 void ImpDestroyOverlayObjects();
514 void dumpCellProperties();
515 void dumpColumnInformationPixel();
516 void dumpColumnInformationHmm();
517 void dumpGraphicInformation();
518 void dumpColumnCellStorage();
tools::Rectangle aInvertRect
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOODragRect
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOSelectionBorder
ScCheckListMenuControl::ResultType aSaveAutoFilterResult
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOSparklineGroup
SvtScriptType nPageScript
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOShrink
std::unique_ptr< ScDPFieldButton > mpFilterButton
ScDDComboBoxButton aComboButton
std::optional< tools::Rectangle > mpAutoFillRect
DECL_DLLPRIVATE_LINK(PopupModeEndHdl, weld::Popover &, void)
InsCellCmd meDragInsertMode
RfCorner aRFSelectedCorned
DECL_DLLPRIVATE_LINK(PopupSpellingHdl, SpellCallbackInfo &, void)
tools::Rectangle aRepaintPixel
std::shared_ptr< sc::SpellCheckContext > mpSpellCheckCxt
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOAutoFill
sal_uInt16 nCursorHideCount
const Point & GetMousePosPixel() const
bool NeedsRepaint() const
DECL_DLLPRIVATE_LINK(InitiatePageBreaksTimer, Timer *, void)
std::vector< LOKCursorEntry > maLOKLastCursor
std::unique_ptr< ScNoteMarker, o3tl::default_delete< ScNoteMarker > > mpNoteMarker
std::unique_ptr< ScCheckListMenuControl > mpDPFieldPopup
std::unique_ptr< ScCheckListMenuControl > mpAutoFilterPopup
sal_uInt16 nPagebreakMouse
ScNestedButtonState nNestedButtonState
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOSelection
std::shared_ptr< ScFilterListBox > mpFilterBox
Timer maShowPageBreaksTimer
VisibleRange maVisibleRange
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOCursors
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOHeader
std::unique_ptr< FmFormView > mpLOKDrawView
LibreOfficeKit needs a persistent FmFormView for tiled rendering, otherwise the invalidations from dr...
Used to store the necessary information about the (combined-)tile area relevant to coordinate transfo...
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
virtual void dispose() override
virtual void PrePaint(vcl::RenderContext &rRenderContext)
virtual void RequestHelp(const HelpEvent &rHEvt)
virtual Selection GetSurroundingTextSelection() const
virtual void Tracking(const TrackingEvent &rTEvt)
virtual void Command(const CommandEvent &rCEvt)
virtual void MouseButtonDown(const MouseEvent &rMEvt)
virtual void MouseButtonUp(const MouseEvent &rMEvt)
virtual void KeyInput(const KeyEvent &rKEvt)
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
virtual OUString GetSurroundingText() const
virtual bool PreNotify(NotifyEvent &rNEvt)
virtual void LogicInvalidate(const tools::Rectangle *pRectangle)
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible()
virtual bool DeleteSurroundingText(const Selection &rSelection)
virtual void MouseMove(const MouseEvent &rMEvt)
virtual void Draw(::OutputDevice *pDev, const Point &rPos, SystemTextColorFlags nFlags)
virtual void DataChanged(const DataChangedEvent &rDCEvt)
virtual void SetPointer(PointerStyle)
virtual FactoryFunction GetUITestFactory() const
std::function< std::unique_ptr< UIObject >(vcl::Window *)> FactoryFunction
void Clear(EHistoryType eHistory)
bool isInside(const B2DPolygon &rCandidate, const B2DPoint &rPoint, bool bWithBorder)
void set(css::uno::UnoInterfaceReference const &value)
CAUTION! The following defines must be in the same namespace as the respective type.
Stores current visible column and row ranges, used to avoid expensive operations on objects that are ...
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW