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
157 std::unique_ptr<ScNoteMarker, o3tl::default_delete<ScNoteMarker>>
mpNoteMarker;
225 bool TestMouse(
const MouseEvent& rMEvt,
bool bAction );
227 bool DoPageFieldSelection(
SCCOL nCol,
SCROW nRow );
229 void DoPushPivotButton(
SCCOL nCol,
SCROW nRow,
const MouseEvent& rMEvt,
bool bButton,
bool bPopup );
232 void DPMouseButtonUp(
const MouseEvent& rMEvt );
233 void DPTestMouse(
const MouseEvent& rMEvt,
bool bMove );
243 void DPLaunchFieldPopupMenu(
const Point& rScrPos,
const Size& rScrSize,
const ScAddress& rPos,
ScDPObject* pDPObj);
245 void RFMouseMove(
const MouseEvent& rMEvt,
bool bUp );
247 void PagebreakMove(
const MouseEvent& rMEvt,
bool bUp );
254 void ExecDataSelect(
SCCOL nCol,
SCROW nRow,
const OUString& rStr );
256 bool HasScenarioButton(
const Point& rPosPixel,
ScRange& rScenRange );
258 void DropScroll(
const Point& rMousePos );
263 const Point& rLogicPos,
sal_Int8 nDndAction );
267 bool DrawMouseButtonDown(
const MouseEvent& rMEvt);
268 bool DrawMouseButtonUp(
const MouseEvent& rMEvt);
272 bool DrawHasMarkedObj();
273 void DrawEndAction();
279 void DrawAfterScroll();
285 bool GetEditUrl(
const Point& rPos,
286 OUString* pName=
nullptr, OUString* pUrl=
nullptr, OUString* pTarget=
nullptr );
288 bool HitRangeFinder(
const Point& rMouse,
RfCorner& rCorner, sal_uInt16* pIndex,
291 sal_uInt16 HitPageBreak(
const Point& rMouse,
ScRange* pSource,
296 void SelectForContextMenu(
const Point& rPosPixel,
SCCOL nCellX,
SCROW nCellY );
298 void GetSelectionRects( ::std::vector< tools::Rectangle >& rPixelRects )
const;
299 void GetSelectionRectsPrintTwips(::std::vector< tools::Rectangle >& rRects)
const;
300 void GetPixelRectsFor(
const ScMarkData &rMarkData,
301 ::std::vector< tools::Rectangle >& rPixelRects )
const;
302 void GetRectsAnyFor(
const ScMarkData &rMarkData,
303 ::std::vector< tools::Rectangle >& rRects,
bool bInPrintTwips)
const;
304 void UpdateKitSelection(
const std::vector<tools::Rectangle>& rRectangles,
305 std::vector<tools::Rectangle>* pLogicRects =
nullptr);
344 virtual void dispose()
override;
349 void flushOverlayManager();
365 int nOutputWidth,
int nOutputHeight,
366 int nTilePosX,
int nTilePosY,
375 void SetCellSelectionPixel(
int nType,
int nPixelX,
int nPixelY);
377 void GetCellSelection(std::vector<tools::Rectangle>& rLogicRects);
379 virtual css::uno::Reference< css::accessibility::XAccessible >
CreateAccessible()
override;
384 void UpdateStatusPosSize();
393 void UpdateEditViewPos();
399 void LaunchDataSelectMenu(
SCCOL nCol,
SCROW nRow );
400 void DoScenarioMenu(
const ScRange& rScenRange );
402 void LaunchAutoFilterMenu(
SCCOL nCol,
SCROW nRow);
403 void RefreshAutoFilterButton(
const ScAddress& rPos);
404 void UpdateAutoFilterFromMenu(AutoFilterMode eMode);
406 void LaunchPageFieldMenu(
SCCOL nCol,
SCROW nRow );
407 void LaunchDPFieldMenu(
SCCOL nCol,
SCROW nRow );
409 css::sheet::DataPilotFieldOrientation GetDPFieldOrientation(
SCCOL nCol,
SCROW nRow )
const;
411 void DPLaunchFieldPopupMenu(
const Point& rScrPos,
const Size& rScrSize,
428 void UpdateAutoFillMark(
bool bMarked,
const ScRange& rMarkRange);
430 void UpdateListValPos(
bool bVisible,
const ScAddress& rPos );
432 bool ShowNoteMarker(
SCCOL nPosX,
SCROW nPosY,
bool bKeyboard );
433 void HideNoteMarker();
436 MapMode GetDrawMapMode(
bool bForce =
false );
439 void UpdateInputContext();
445 void CheckNeedsRepaint();
447 void UpdateDPFromFieldPopupMenu();
448 bool UpdateVisibleRange();
450 void CursorChanged();
451 void DrawLayerCreated();
452 void SetAutoSpellContext(
const std::shared_ptr<sc::SpellCheckContext> &ctx );
453 void ResetAutoSpell();
454 void ResetAutoSpellForContentChange();
455 void SetAutoSpellData(
SCCOL nPosX,
SCROW nPosY,
const std::vector<editeng::MisspellRanges>* pRanges );
456 const std::vector<editeng::MisspellRanges>* GetAutoSpellData(
SCCOL nPosX,
SCROW nPosY );
457 bool InsideVisibleRange(
SCCOL nPosX,
SCROW nPosY );
459 void UpdateSparklineGroupOverlay();
460 void DeleteSparklineGroupOverlay();
461 void DeleteCopySourceOverlay();
462 void UpdateCopySourceOverlay();
463 void DeleteCursorOverlay();
464 void UpdateCursorOverlay();
465 void DeleteSelectionOverlay();
466 void UpdateSelectionOverlay();
467 void DeleteAutoFillOverlay();
468 void UpdateAutoFillOverlay();
469 void DeleteDragRectOverlay();
470 void UpdateDragRectOverlay();
471 void DeleteHeaderOverlay();
472 void UpdateHeaderOverlay();
473 void DeleteShrinkOverlay();
474 void UpdateShrinkOverlay();
475 void UpdateAllOverlays();
478 OString getCellCursor()
const;
479 void notifyKitCellCursor()
const;
480 void notifyKitCellViewCursor(
const SfxViewShell* pForShell)
const;
481 void updateKitCellCursor(
const SfxViewShell* pOtherShell)
const;
483 void updateKitOtherCursors()
const;
484 void updateOtherKitSelections()
const;
486 void notifyKitCellFollowJump()
const;
491 void updateLOKValListButton(
bool bVisible,
const ScAddress& rPos)
const;
492 void updateLOKInputHelp(
const OUString& title,
const OUString& content)
const;
494 void initiatePageBreaks();
497 void ImpCreateOverlayObjects();
498 void ImpDestroyOverlayObjects();
503 void dumpCellProperties();
504 void dumpColumnInformationPixel();
505 void dumpColumnInformationHmm();
506 void dumpGraphicInformation();
507 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