diff options
author | Michael Stahl <mstahl@redhat.com> | 2018-01-04 11:37:37 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2018-01-04 12:12:12 +0100 |
commit | 334601603aa04ea968e8a850f4e7f6cf52f7735b (patch) | |
tree | 6dc0bc02b83b4b618b059391b99c31b83d1c2b2e /sw/inc/fesh.hxx | |
parent | 1bf8c74c0d0a78086b0688070bd375567344bb35 (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.hxx | 11 |
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 |