summaryrefslogtreecommitdiff
path: root/sc/inc/table.hxx
diff options
context:
space:
mode:
authorRegina Henschel <rb.henschel@t-online.de>2021-01-26 14:28:40 +0100
committerRegina Henschel <rb.henschel@t-online.de>2021-02-02 22:06:18 +0100
commit65129e0bc5abfe7afc612eb46f1434e627265a7d (patch)
treeff87893f8cde1a2bebd955f9e5417632bf6b8474 /sc/inc/table.hxx
parente99608ce752f34ddb6611146c6cf4643c97d62f3 (diff)
tdf#137081, tdf137082 fixes shape handling in RTL sheets
The patch introduces an enum ScObjectHandling as parameter of ScDrawLayer::SetPageSize to distinguish page size changes from show or hide col/row from changes because of sheet flip for RTL. RTL is now handled this way: On save/reload objects are not mirrored but only shifted between positive and negative part of draw page. When a user flips sheet to RTL or back, the objects are mirrored. The 'noRotate' anchor is set to this meaning: maShapeRect contains the logic rectangle of the object at time the anchor was created. It is used to detect position relevant object changes in ScDrawView::Notify(). maStart contains the address of that cell, which is parent element of the object in xml. The logic rectangle need not be in that cell. Handling of DetectiveArrow and CellNote is not changed. Validation circles were not drawn, when switching to RTL mode (no bug report). That is fixed. SetVisualCellAnchored handles 'noRotate' anchor. That anchor is not visible on screen. I have changed the misleading name to SetNonRotatedAnchor. Change-Id: I3dd2d3e37c138c8418369c760293a1f19dddb753 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109959 Reviewed-by: Regina Henschel <rb.henschel@t-online.de> Tested-by: Regina Henschel <rb.henschel@t-online.de>
Diffstat (limited to 'sc/inc/table.hxx')
-rw-r--r--sc/inc/table.hxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index a09781366821..309d49d4f140 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -34,6 +34,7 @@
#include "calcmacros.hxx"
#include <formula/errorcodes.hxx>
#include "document.hxx"
+#include "drwlayer.hxx"
#include <set>
#include <memory>
@@ -965,7 +966,8 @@ public:
bool IsSortCollatorGlobal() const;
void InitSortCollator( const ScSortParam& rPar );
void DestroySortCollator();
- void SetDrawPageSize( bool bResetStreamValid = true, bool bUpdateNoteCaptionPos = true );
+ void SetDrawPageSize( bool bResetStreamValid = true, bool bUpdateNoteCaptionPos = true,
+ const ScObjectHandling eObjectHandling = ScObjectHandling::RecalcPosMode);
void SetRangeName(std::unique_ptr<ScRangeName> pNew);
ScRangeName* GetRangeName() const;