LibreOffice Module sc (master)  1
gridwin.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 #ifndef INCLUDED_SC_SOURCE_UI_INC_GRIDWIN_HXX
21 #define INCLUDED_SC_SOURCE_UI_INC_GRIDWIN_HXX
22 
23 #include <vcl/transfer.hxx>
24 #include "viewutil.hxx"
25 #include "viewdata.hxx"
26 #include "cbutton.hxx"
27 #include "checklistmenu.hxx"
28 #include <com/sun/star/sheet/DataPilotFieldOrientation.hpp>
29 #include <o3tl/deleter.hxx>
30 
31 #include <memory>
32 #include <vector>
33 
34 
35 namespace editeng {
36  struct MisspellRanges;
37 }
38 
39 namespace sc {
40  class SpellCheckContext;
41 }
42 
43 namespace sdr::overlay { class OverlayManager; }
44 
45 class FmFormView;
46 struct ScTableInfo;
47 class ScDPObject;
48 class ScDPFieldButton;
49 class ScOutputData;
50 class SdrObject;
51 class SdrEditView;
52 class ScNoteMarker;
53 class FloatingWindow;
54 class SdrHdlList;
55 class ScTransferObj;
56 struct SpellCallbackInfo;
57 
58  // mouse status (nMouseStatus)
59 
60 #define SC_GM_NONE 0
61 #define SC_GM_TABDOWN 1
62 #define SC_GM_DBLDOWN 2
63 #define SC_GM_FILTER 3
64 #define SC_GM_IGNORE 4
65 #define SC_GM_WATERUNDO 5
66 #define SC_GM_URLDOWN 6
67 
68  // page drag mode
69 
70 #define SC_PD_NONE 0
71 #define SC_PD_RANGE_L 1
72 #define SC_PD_RANGE_R 2
73 #define SC_PD_RANGE_T 4
74 #define SC_PD_RANGE_B 8
75 #define SC_PD_RANGE_TL (SC_PD_RANGE_T|SC_PD_RANGE_L)
76 #define SC_PD_RANGE_TR (SC_PD_RANGE_T|SC_PD_RANGE_R)
77 #define SC_PD_RANGE_BL (SC_PD_RANGE_B|SC_PD_RANGE_L)
78 #define SC_PD_RANGE_BR (SC_PD_RANGE_B|SC_PD_RANGE_R)
79 #define SC_PD_BREAK_H 16
80 #define SC_PD_BREAK_V 32
81 
82 // predefines
83 namespace sdr::overlay { class OverlayObjectList; }
84 
85 class ScFilterListBox;
87 
88 class SAL_DLLPUBLIC_RTTI ScGridWindow : public vcl::Window, public DropTargetHelper, public DragSourceHelper
89 {
90  // ScFilterListBox is always used for selection list
91  friend class ScFilterListBox;
92 
93  enum RfCorner
94  {
99  RIGHT_DOWN
100  };
101 
102  std::unique_ptr<sdr::overlay::OverlayObjectList> mpOOCursors;
103  std::unique_ptr<sdr::overlay::OverlayObjectList> mpOOSelection;
104  std::unique_ptr<sdr::overlay::OverlayObjectList> mpOOSelectionBorder;
105  std::unique_ptr<sdr::overlay::OverlayObjectList> mpOOAutoFill;
106  std::unique_ptr<sdr::overlay::OverlayObjectList> mpOODragRect;
107  std::unique_ptr<sdr::overlay::OverlayObjectList> mpOOHeader;
108  std::unique_ptr<sdr::overlay::OverlayObjectList> mpOOShrink;
109 
110  std::optional<tools::Rectangle> mpAutoFillRect;
111 
114  std::unique_ptr<FmFormView> mpLOKDrawView;
115 
116  struct MouseEventState;
117 
123  {
128 
129  VisibleRange(const ScDocument&);
130 
131  bool isInside(SCCOL nCol, SCROW nRow) const;
132  bool set(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2);
133  };
134 
136 
138  {
142  };
143 
144  // Stores the last cursor position in twips for all
145  // zoom levels demanded from a ScGridWindow instance.
146  std::vector<LOKCursorEntry> maLOKLastCursor;
147 
148  std::shared_ptr<sc::SpellCheckContext> mpSpellCheckCxt;
149 
154 
155  std::unique_ptr<ScNoteMarker, o3tl::default_delete<ScNoteMarker>> mpNoteMarker;
156 
161  std::unique_ptr<ScDPFieldButton> mpFilterButton;
162 
164 
165  sal_uInt16 nCursorHideCount;
166 
167  sal_uInt16 nButtonDown;
169  enum class ScNestedButtonState { NONE, Down, Up };
170  ScNestedButtonState nNestedButtonState; // track nested button up/down calls
171 
174 
175  sal_uInt16 nRFIndex;
178 
179  sal_uInt16 nPagebreakMouse; // Page break mode, Drag
184 
186 
192 
194 
196 
197  sal_uInt16 nPaintCount;
199 
202 
204 
206 
207  bool bEEMouse:1; // Edit Engine has mouse
208  bool bDPMouse:1; // DataPilot D&D (new Pivot table)
209  bool bRFMouse:1; // RangeFinder drag
210  bool bRFSize:1;
211  bool bPagebreakDrawn:1;
212  bool bDragRect:1;
213  bool bIsInPaint:1;
214  bool bNeedsRepaint:1;
215  bool bAutoMarkVisible:1;
216  bool bListValButton:1;
217 
218  DECL_LINK( PopupModeEndHdl, FloatingWindow*, void );
219  DECL_LINK( PopupSpellingHdl, SpellCallbackInfo&, void );
220 
221  bool TestMouse( const MouseEvent& rMEvt, bool bAction );
222 
223  bool DoPageFieldSelection( SCCOL nCol, SCROW nRow );
224  bool DoAutoFilterButton( SCCOL nCol, SCROW nRow, const MouseEvent& rMEvt );
225  void DoPushPivotButton( SCCOL nCol, SCROW nRow, const MouseEvent& rMEvt, bool bButton, bool bPopup );
226 
227  void DPMouseMove( const MouseEvent& rMEvt );
228  void DPMouseButtonUp( const MouseEvent& rMEvt );
229  void DPTestMouse( const MouseEvent& rMEvt, bool bMove );
230 
237  bool DPTestFieldPopupArrow(const MouseEvent& rMEvt, const ScAddress& rPos, const ScAddress& rDimPos, ScDPObject* pDPObj);
238 
239  void DPLaunchFieldPopupMenu(const Point& rScrPos, const Size& rScrSize, const ScAddress& rPos, ScDPObject* pDPObj);
240 
241  void RFMouseMove( const MouseEvent& rMEvt, bool bUp );
242 
243  void PagebreakMove( const MouseEvent& rMEvt, bool bUp );
244 
245  void UpdateDragRect( bool bShowRange, const tools::Rectangle& rPosRect );
246 
247  bool IsAutoFilterActive( SCCOL nCol, SCROW nRow, SCTAB nTab );
248  void FilterSelect( sal_uLong nSel );
249 
250  void ExecDataSelect( SCCOL nCol, SCROW nRow, const OUString& rStr );
251 
252  bool HasScenarioButton( const Point& rPosPixel, ScRange& rScenRange );
253 
254  void DropScroll( const Point& rMousePos );
255 
256  sal_Int8 AcceptPrivateDrop( const AcceptDropEvent& rEvt );
257  sal_Int8 ExecutePrivateDrop( const ExecuteDropEvent& rEvt );
258  sal_Int8 DropTransferObj( ScTransferObj* pTransObj, SCCOL nDestPosX, SCROW nDestPosY,
259  const Point& rLogicPos, sal_Int8 nDndAction );
260 
261  void HandleMouseButtonDown( const MouseEvent& rMEvt, MouseEventState& rState );
262 
263  bool DrawMouseButtonDown(const MouseEvent& rMEvt);
264  bool DrawMouseButtonUp(const MouseEvent& rMEvt);
265  bool DrawMouseMove(const MouseEvent& rMEvt);
266  bool DrawKeyInput(const KeyEvent& rKEvt);
267  bool DrawCommand(const CommandEvent& rCEvt);
268  bool DrawHasMarkedObj();
269  void DrawEndAction();
270  void DrawMarkDropObj( SdrObject* pObj );
271  bool IsMyModel(const SdrEditView* pSdrView);
272 
273  void DrawRedraw( ScOutputData& rOutputData, SdrLayerID nLayer );
274  void DrawSdrGrid( const tools::Rectangle& rDrawingRect, OutputDevice* pContentDev );
275  void DrawAfterScroll();
276  tools::Rectangle GetListValButtonRect( const ScAddress& rButtonPos );
277 
278  void DrawPagePreview( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, vcl::RenderContext& rRenderContext);
279 
280  bool GetEditUrl( const Point& rPos,
281  OUString* pName=nullptr, OUString* pUrl=nullptr, OUString* pTarget=nullptr );
282 
283  bool IsSpellErrorAtPos( const Point& rPos, SCCOL nCol1, SCROW nRow );
284 
285  bool HitRangeFinder( const Point& rMouse, RfCorner& rCorner, sal_uInt16* pIndex,
286  SCCOL* pAddX, SCROW* pAddY );
287 
288  sal_uInt16 HitPageBreak( const Point& rMouse, ScRange* pSource,
289  SCCOLROW* pBreak, SCCOLROW* pPrev );
290 
297  bool IsCellCoveredByText(SCCOL nPosX, SCROW nPosY, SCTAB nTab, SCCOL &rTextStartPosX);
298 
299  void PasteSelection( const Point& rPosPixel );
300 
301  void SelectForContextMenu( const Point& rPosPixel, SCCOL nCellX, SCROW nCellY );
302 
303  void GetSelectionRects( ::std::vector< tools::Rectangle >& rPixelRects ) const;
304  void GetSelectionRectsPrintTwips(::std::vector< tools::Rectangle >& rRects) const;
305  void GetPixelRectsFor( const ScMarkData &rMarkData,
306  ::std::vector< tools::Rectangle >& rPixelRects ) const;
307  void GetRectsAnyFor(const ScMarkData &rMarkData,
308  ::std::vector< tools::Rectangle >& rRects, bool bInPrintTwips) const;
309  void UpdateKitSelection(const std::vector<tools::Rectangle>& rRectangles,
310  std::vector<tools::Rectangle>* pLogicRects = nullptr);
311  bool NeedLOKCursorInvalidation(const tools::Rectangle& rCursorRect,
312  const Fraction aScaleX, const Fraction aScaleY);
313  void InvalidateLOKViewCursor(const tools::Rectangle& rCursorRect,
314  const Fraction aScaleX, const Fraction aScaleY);
315 
316 protected:
317  virtual void PrePaint(vcl::RenderContext& rRenderContext) override;
318  virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect) override;
319  virtual void GetFocus() override;
320  virtual void LoseFocus() override;
321 
322  virtual void RequestHelp( const HelpEvent& rEvt ) override;
323 
324  virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt ) override;
325  virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt ) override;
326  virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel ) override;
327 
328 public:
330 
331  ScGridWindow( vcl::Window* pParent, ScViewData& rData, ScSplitPos eWhichPos );
332  virtual ~ScGridWindow() override;
333  virtual void dispose() override;
334 
335  virtual void KeyInput(const KeyEvent& rKEvt) override;
336  // #i70788# flush and get overlay
337  rtl::Reference<sdr::overlay::OverlayManager> getOverlayManager() const;
338  void flushOverlayManager();
339 
340  virtual OUString GetSurroundingText() const override;
341  virtual Selection GetSurroundingTextSelection() const override;
342  virtual bool DeleteSurroundingText(const Selection& rSelection) override;
343 
344  virtual void Command( const CommandEvent& rCEvt ) override;
345  virtual void DataChanged( const DataChangedEvent& rDCEvt ) override;
346 
347  virtual void MouseButtonDown( const MouseEvent& rMEvt ) override;
348  virtual void MouseButtonUp( const MouseEvent& rMEvt ) override;
349  virtual void MouseMove( const MouseEvent& rMEvt ) override;
350  virtual bool PreNotify( NotifyEvent& rNEvt ) override;
351  virtual void Tracking( const TrackingEvent& rTEvt ) override;
352 
353  void PaintTile( VirtualDevice& rDevice,
354  int nOutputWidth, int nOutputHeight,
355  int nTilePosX, int nTilePosY,
356  tools::Long nTileWidth, tools::Long nTileHeight );
357 
359  void LogicInvalidate(const tools::Rectangle* pRectangle) override;
360 
364  void SetCellSelectionPixel(int nType, int nPixelX, int nPixelY);
366  void GetCellSelection(std::vector<tools::Rectangle>& rLogicRects);
367 
368  virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible() override;
369 
370  void FakeButtonUp();
371 
372  const Point& GetMousePosPixel() const { return aCurMousePos; }
373  void UpdateStatusPosSize();
374 
375  void ClickExtern();
376 
377  using Window::SetPointer;
378 
379  void MoveMouseStatus( ScGridWindow &rDestWin );
380 
381  void ScrollPixel( tools::Long nDifX, tools::Long nDifY );
382  void UpdateEditViewPos();
383 
384  void UpdateFormulas(SCCOL nX1 = -1, SCROW nY1 = -1, SCCOL nX2 = -1, SCROW nY2 = -1);
385 
386  void ShowFilterMenu(const tools::Rectangle& rCellRect, bool bLayoutRTL);
387 
388  void LaunchDataSelectMenu( SCCOL nCol, SCROW nRow );
389  void DoScenarioMenu( const ScRange& rScenRange );
390 
391  void LaunchAutoFilterMenu(SCCOL nCol, SCROW nRow);
392  void RefreshAutoFilterButton(const ScAddress& rPos);
393  void UpdateAutoFilterFromMenu(AutoFilterMode eMode);
394 
395  void LaunchPageFieldMenu( SCCOL nCol, SCROW nRow );
396  void LaunchDPFieldMenu( SCCOL nCol, SCROW nRow );
397 
398  css::sheet::DataPilotFieldOrientation GetDPFieldOrientation( SCCOL nCol, SCROW nRow ) const;
399 
400  void DPLaunchFieldPopupMenu(const Point& rScrPos, const Size& rScrSize,
401  tools::Long nDimIndex, ScDPObject* pDPObj);
402 
403  void DrawButtons(SCCOL nX1, SCCOL nX2, const ScTableInfo& rTabInfo, OutputDevice* pContentDev);
404 
405  using Window::Draw;
406  void Draw( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
407  ScUpdateMode eMode );
408 
410  void DrawContent(OutputDevice &rDevice, const ScTableInfo& rTableInfo, ScOutputData& aOutputData, bool bLogicText);
411 
412  void CreateAnchorHandle(SdrHdlList& rHdl, const ScAddress& rAddress);
413 
414  void HideCursor();
415  void ShowCursor();
416  void UpdateAutoFillMark(bool bMarked, const ScRange& rMarkRange);
417 
418  void UpdateListValPos( bool bVisible, const ScAddress& rPos );
419 
420  bool ShowNoteMarker( SCCOL nPosX, SCROW nPosY, bool bKeyboard );
421  void HideNoteMarker();
422 
424  MapMode GetDrawMapMode( bool bForce = false );
425 
426  void StopMarking();
427  void UpdateInputContext();
428 
429  bool NeedsRepaint() { return bNeedsRepaint; }
430 
431  void DoInvertRect( const tools::Rectangle& rPixel );
432 
433  void CheckNeedsRepaint();
434 
435  void UpdateDPFromFieldPopupMenu();
436  bool UpdateVisibleRange();
437 
438  void CursorChanged();
439  void DrawLayerCreated();
440  void SetAutoSpellContext( const std::shared_ptr<sc::SpellCheckContext> &ctx );
441  void ResetAutoSpell();
442  void ResetAutoSpellForContentChange();
443  void SetAutoSpellData( SCCOL nPosX, SCROW nPosY, const std::vector<editeng::MisspellRanges>* pRanges );
444  const std::vector<editeng::MisspellRanges>* GetAutoSpellData( SCCOL nPosX, SCROW nPosY );
445  bool InsideVisibleRange( SCCOL nPosX, SCROW nPosY );
446 
447  void DeleteCopySourceOverlay();
448  void UpdateCopySourceOverlay();
449  void DeleteCursorOverlay();
450  void UpdateCursorOverlay();
451  void DeleteSelectionOverlay();
452  void UpdateSelectionOverlay();
453  void DeleteAutoFillOverlay();
454  void UpdateAutoFillOverlay();
455  void DeleteDragRectOverlay();
456  void UpdateDragRectOverlay();
457  void DeleteHeaderOverlay();
458  void UpdateHeaderOverlay();
459  void DeleteShrinkOverlay();
460  void UpdateShrinkOverlay();
461  void UpdateAllOverlays();
462 
464  OString getCellCursor() const;
465  void notifyKitCellCursor() const;
466  void notifyKitCellViewCursor(const SfxViewShell* pForShell) const;
467  void updateKitCellCursor(const SfxViewShell* pOtherShell) const;
469  void updateKitOtherCursors() const;
470  void updateOtherKitSelections() const;
471 
473  virtual void LogicMouseButtonDown(const MouseEvent& rMouseEvent) override;
475  virtual void LogicMouseButtonUp(const MouseEvent& rMouseEvent) override;
477  virtual void LogicMouseMove(const MouseEvent& rMouseEvent) override;
478 
479  ScViewData& getViewData();
480  virtual FactoryFunction GetUITestFactory() const override;
481 
482  void updateLOKValListButton(bool bVisible, const ScAddress& rPos) const;
483  void updateLOKInputHelp(const OUString& title, const OUString& content) const;
484 
485 protected:
486  void ImpCreateOverlayObjects();
487  void ImpDestroyOverlayObjects();
488 
489 private:
490 
491 #ifdef DBG_UTIL
492  void dumpCellProperties();
493  void dumpColumnInformationPixel();
494  void dumpColumnInformationHmm();
495  void dumpGraphicInformation();
496  void dumpColumnCellStorage();
497 #endif
498 
499 };
500 
501 #endif
502 
503 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::set< ResultEntry > ResultType
std::unique_ptr< ScNoteMarker, o3tl::default_delete< ScNoteMarker > > mpNoteMarker
Definition: gridwin.hxx:155
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
Definition: markdata.hxx:43
virtual FactoryFunction GetUITestFactory() const
SCCOLROW nPagebreakPrev
Definition: gridwin.hxx:181
ScDDComboBoxButton aComboButton
Definition: gridwin.hxx:193
This class takes care of physically drawing field button controls inside data pilot tables...
Definition: dpcontrol.hxx:36
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOAutoFill
Definition: gridwin.hxx:105
ScVSplitPos
Definition: viewdata.hxx:47
virtual void MouseButtonDown(const MouseEvent &rMEvt)
signed char sal_Int8
std::vector< LOKCursorEntry > maLOKLastCursor
Definition: gridwin.hxx:146
ScRange aPagebreakSource
Definition: gridwin.hxx:182
sal_uIntPtr sal_uLong
std::unique_ptr< FmFormView > mpLOKDrawView
LibreOfficeKit needs a persistent FmFormView for tiled rendering, otherwise the invalidations from dr...
Definition: gridwin.hxx:114
SCCOL nDragStartX
Definition: gridwin.hxx:187
long Long
sal_uInt16 nPagebreakMouse
Definition: gridwin.hxx:179
ScDPObject * pDragDPObj
Definition: gridwin.hxx:173
ScViewData & mrViewData
Definition: gridwin.hxx:150
std::function< std::unique_ptr< UIObject >vcl::Window *)> FactoryFunction
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOCursors
Definition: gridwin.hxx:102
virtual void StartDrag(sal_Int8 nAction, const Point &rPosPixel)
std::unique_ptr< ScDPFieldButton > mpFilterButton
Definition: gridwin.hxx:161
SCCOLROW nPagebreakBreak
Definition: gridwin.hxx:180
SortDescending
ScRange aPagebreakDrag
Definition: gridwin.hxx:183
virtual void MouseButtonUp(const MouseEvent &rMEvt)
ScSplitPos
Definition: viewdata.hxx:45
NONE
tools::Rectangle aInvertRect
Definition: gridwin.hxx:203
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessible()
VclPtr< ScFilterListBox > mpFilterBox
Definition: gridwin.hxx:157
sal_uInt16 nButtonDown
Definition: gridwin.hxx:167
sal_Int32 SCCOLROW
a type capable of holding either SCCOL or SCROW
Definition: types.hxx:24
tools::Rectangle aRect
Definition: gridwin.hxx:141
Point aCurMousePos
Definition: gridwin.hxx:195
virtual void Tracking(const TrackingEvent &rTEvt)
SortAscending
sal_uInt16 nRFIndex
name?
Definition: gridwin.hxx:175
ScAddress aListValPos
Definition: gridwin.hxx:201
virtual Selection GetSurroundingTextSelection() const
ScVSplitPos eVWhich
Definition: gridwin.hxx:153
SCROW nDragStartY
Definition: gridwin.hxx:188
virtual sal_Int8 ExecuteDrop(const ExecuteDropEvent &rEvt)
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOSelectionBorder
Definition: gridwin.hxx:104
sal_uInt8 nMouseStatus
Definition: gridwin.hxx:168
SCCOL nDragEndX
Definition: gridwin.hxx:189
sal_uInt16 char * pName
Definition: callform.cxx:57
virtual void PrePaint(vcl::RenderContext &rRenderContext)
SvtScriptType
virtual bool DeleteSurroundingText(const Selection &rSelection)
virtual bool PreNotify(NotifyEvent &rNEvt)
virtual OUString GetSurroundingText() const
virtual sal_Int8 AcceptDrop(const AcceptDropEvent &rEvt)
VclPtr< ScCheckListMenuWindow > mpDPFieldPopup
Definition: gridwin.hxx:160
tools::Long nDPField
Definition: gridwin.hxx:172
sal_Int16 SCCOL
Definition: types.hxx:22
SCCOL nRFAddX
Definition: gridwin.hxx:176
VclPtr< ScFilterFloatingWindow > mpFilterFloat
Definition: gridwin.hxx:158
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOSelection
Definition: gridwin.hxx:103
Stores current visible column and row ranges, used to avoid expensive operations on objects that are ...
Definition: gridwin.hxx:122
virtual void Draw(::OutputDevice *pDev, const Point &rPos, DrawFlags nFlags)
sal_uInt16 nCursorHideCount
Definition: gridwin.hxx:165
sal_uInt16 nPaintCount
Definition: gridwin.hxx:197
RfCorner aRFSelectedCorned
Definition: gridwin.hxx:205
virtual void LoseFocus()
InsCellCmd meDragInsertMode
Definition: gridwin.hxx:191
ScSplitPos eWhich
Definition: gridwin.hxx:151
VclPtr< ScCheckListMenuWindow > mpAutoFilterPopup
Definition: gridwin.hxx:159
virtual void KeyInput(const KeyEvent &rKEvt)
ScNestedButtonState nNestedButtonState
Definition: gridwin.hxx:170
ScHSplitPos
Definition: viewdata.hxx:46
void SetPointer(PointerStyle)
sal_Int32 SCROW
Definition: types.hxx:18
VisibleRange maVisibleRange
Definition: gridwin.hxx:135
virtual void LogicMouseButtonUp(const MouseEvent &)
ScUpdateMode
Definition: viewutil.hxx:39
virtual void GetFocus()
unsigned char sal_uInt8
const Point & GetMousePosPixel() const
Definition: gridwin.hxx:372
SvtScriptType nPageScript
Definition: gridwin.hxx:185
bool isInside(const B2DPolygon &rCandidate, const B2DPoint &rPoint, bool bWithBorder)
InsCellCmd
Definition: global.hxx:301
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOODragRect
Definition: gridwin.hxx:106
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:400
virtual void Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rRect)
ScCheckListMenuControl::ResultType aSaveAutoFilterResult
Definition: gridwin.hxx:163
ScAddress aAutoMarkPos
Definition: gridwin.hxx:200
virtual void LogicMouseButtonDown(const MouseEvent &)
virtual void MouseMove(const MouseEvent &rMEvt)
std::optional< tools::Rectangle > mpAutoFillRect
Definition: gridwin.hxx:110
virtual void LogicInvalidate(const tools::Rectangle *pRectangle)
tools::Rectangle aRepaintPixel
Definition: gridwin.hxx:198
virtual void LogicMouseMove(const MouseEvent &)
SCROW nRFAddY
Definition: gridwin.hxx:177
virtual void Command(const CommandEvent &rCEvt)
bool NeedsRepaint()
Definition: gridwin.hxx:429
SCROW nDragEndY
Definition: gridwin.hxx:190
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOHeader
Definition: gridwin.hxx:107
ScHSplitPos eHWhich
Definition: gridwin.hxx:152
virtual void RequestHelp(const HelpEvent &rHEvt)
Empty
std::unique_ptr< sdr::overlay::OverlayObjectList > mpOOShrink
Definition: gridwin.hxx:108
std::shared_ptr< sc::SpellCheckContext > mpSpellCheckCxt
Definition: gridwin.hxx:148
sal_Int16 SCTAB
Definition: types.hxx:23
void set(css::uno::UnoInterfaceReference const &value)
virtual void DataChanged(const DataChangedEvent &rDCEvt)