summaryrefslogtreecommitdiff
path: root/sw/inc/fesh.hxx
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2018-01-04 11:37:37 +0100
committerMichael Stahl <mstahl@redhat.com>2018-01-04 12:12:12 +0100
commit334601603aa04ea968e8a850f4e7f6cf52f7735b (patch)
tree6dc0bc02b83b4b618b059391b99c31b83d1c2b2e /sw/inc/fesh.hxx
parent1bf8c74c0d0a78086b0688070bd375567344bb35 (diff)
sw: move some globals in fetab.cxx into SwFEShell
It looks like the main point of these being globals is so that they can be cleared from various places when tables or table frames are destroyed. Add a SwDoc parameter to ClearFEShellTabCols() and just iterate over all shells. Change-Id: I75ad6b695ee1bfa76b9a05c606b07a3574c70ac4
Diffstat (limited to 'sw/inc/fesh.hxx')
-rw-r--r--sw/inc/fesh.hxx11
1 files changed, 8 insertions, 3 deletions
diff --git a/sw/inc/fesh.hxx b/sw/inc/fesh.hxx
index 5149bb478a27..3e5b719d5a9f 100644
--- a/sw/inc/fesh.hxx
+++ b/sw/inc/fesh.hxx
@@ -198,10 +198,13 @@ enum class SwTab
};
class SdrDropMarkerOverlay;
+struct SwColCache;
class SW_DLLPUBLIC SwFEShell : public SwEditShell
{
private:
+ mutable std::unique_ptr<SwColCache> m_pColumnCache;
+ mutable std::unique_ptr<SwColCache> m_pRowCache;
std::unique_ptr<SdrDropMarkerOverlay> m_pChainTo;
std::unique_ptr<SdrDropMarkerOverlay> m_pChainFrom;
bool m_bCheckForOLEInCaption;
@@ -223,8 +226,8 @@ private:
SAL_DLLPRIVATE static sal_uInt16 GetCurColNum_( const SwFrame *pFrame,
SwGetCurColNumPara* pPara );
- SAL_DLLPRIVATE static void GetTabCols_( SwTabCols &rToFill, const SwFrame *pBox );
- SAL_DLLPRIVATE static void GetTabRows_( SwTabCols &rToFill, const SwFrame *pBox );
+ SAL_DLLPRIVATE void GetTabCols_(SwTabCols &rToFill, const SwFrame *pBox) const;
+ SAL_DLLPRIVATE void GetTabRows_(SwTabCols &rToFill, const SwFrame *pBox) const;
SAL_DLLPRIVATE bool ImpEndCreate();
@@ -809,9 +812,11 @@ public:
void ToggleHeaderFooterEdit( );
static void SetLineEnds(SfxItemSet& rAttr, SdrObject const * pObj, sal_uInt16 nSlotId);
+
+ SAL_DLLPRIVATE void ClearColumnRowCache(SwTabFrame const*);
};
-void ClearFEShellTabCols();
+void ClearFEShellTabCols(SwDoc & rDoc, SwTabFrame const*const pFrame);
#endif