[Libreoffice-commits] core.git: 2 commits - sc/inc sc/source
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Wed Apr 17 20:23:56 UTC 2019
sc/inc/scmod.hxx | 4 ---
sc/source/ui/app/scmod.cxx | 31 -----------------------------
sc/source/ui/inc/anyrefdg.hxx | 44 +++++++++---------------------------------
sc/source/ui/inc/validate.hxx | 4 +--
4 files changed, 12 insertions(+), 71 deletions(-)
New commits:
commit d69db73ec1de29ec5b72cdcd2a64873b92cac672
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Apr 17 15:59:22 2019 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Apr 17 22:22:38 2019 +0200
m_mapRefWindow is unneeded now
Change-Id: I68811d64ed340f3b5f86d7c13289455009eea74e
Reviewed-on: https://gerrit.libreoffice.org/70890
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sc/inc/scmod.hxx b/sc/inc/scmod.hxx
index 5b4e519fd693..2c517eedf770 100644
--- a/sc/inc/scmod.hxx
+++ b/sc/inc/scmod.hxx
@@ -108,7 +108,6 @@ class ScModule: public SfxModule, public SfxListener, public utl::ConfigurationL
bool m_bIsInSharedDocLoading:1;
bool m_bIsInSharedDocSaving:1;
- std::map<sal_uInt16, std::vector<VclPtr<vcl::Window> > > m_mapRefWindow;
// a way to find existing Dialogs for a given parent Window of the slot type
std::map<sal_uInt16, std::vector<std::pair<std::shared_ptr<SfxDialogController>, weld::Window*>>> m_mapRefController;
@@ -249,9 +248,6 @@ public:
void SetInSharedDocSaving( bool bNew ) { m_bIsInSharedDocSaving = bNew; }
bool IsInSharedDocSaving() const { return m_bIsInSharedDocSaving; }
- SC_DLLPUBLIC void RegisterRefWindow( sal_uInt16 nSlotId, vcl::Window *pWnd );
- SC_DLLPUBLIC void UnregisterRefWindow( sal_uInt16 nSlotId, vcl::Window *pWnd );
-
SC_DLLPUBLIC void RegisterRefController(sal_uInt16 nSlotId, std::shared_ptr<SfxDialogController>& rWnd, weld::Window* pWndAncestor);
SC_DLLPUBLIC void UnregisterRefController(sal_uInt16 nSlotId, std::shared_ptr<SfxDialogController>& rWnd);
SC_DLLPUBLIC std::shared_ptr<SfxDialogController> Find1RefWindow(sal_uInt16 nSlotId, weld::Window *pWndAncestor);
diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx
index c701866a66d4..082b4e32c929 100644
--- a/sc/source/ui/app/scmod.cxx
+++ b/sc/source/ui/app/scmod.cxx
@@ -2197,37 +2197,6 @@ IMPL_LINK( ScModule, CalcFieldValueHdl, EditFieldInfo*, pInfo, void )
}
}
-void ScModule::RegisterRefWindow( sal_uInt16 nSlotId, vcl::Window *pWnd )
-{
- std::vector<VclPtr<vcl::Window> > & rlRefWindow = m_mapRefWindow[nSlotId];
-
- if( std::find( rlRefWindow.begin(), rlRefWindow.end(), pWnd ) == rlRefWindow.end() )
- {
- rlRefWindow.emplace_back(pWnd );
- }
-
-}
-
-void ScModule::UnregisterRefWindow( sal_uInt16 nSlotId, vcl::Window *pWnd )
-{
- auto iSlot = m_mapRefWindow.find( nSlotId );
-
- if( iSlot == m_mapRefWindow.end() )
- return;
-
- std::vector<VclPtr<vcl::Window> > & rlRefWindow = iSlot->second;
-
- auto i = std::find( rlRefWindow.begin(), rlRefWindow.end(), pWnd );
-
- if( i == rlRefWindow.end() )
- return;
-
- rlRefWindow.erase( i );
-
- if( rlRefWindow.empty() )
- m_mapRefWindow.erase( nSlotId );
-}
-
void ScModule::RegisterRefController(sal_uInt16 nSlotId, std::shared_ptr<SfxDialogController>& rWnd, weld::Window* pWndAncestor)
{
std::vector<std::pair<std::shared_ptr<SfxDialogController>, weld::Window*>> & rlRefWindow = m_mapRefController[nSlotId];
diff --git a/sc/source/ui/inc/anyrefdg.hxx b/sc/source/ui/inc/anyrefdg.hxx
index 7fd1c4b19381..978c733fb784 100644
--- a/sc/source/ui/inc/anyrefdg.hxx
+++ b/sc/source/ui/inc/anyrefdg.hxx
@@ -209,19 +209,16 @@ struct ScRefHdlrImpl: ScRefHdlrImplBase< TBase, bBindRef >
ScRefHdlrImpl( const T1 & rt1, const T2 & rt2, const T3& rt3, const T4& rt4 )
: ScRefHdlrImplBase<TBase, bBindRef >(rt1, rt2, rt3, rt4)
{
- SC_MOD()->RegisterRefWindow( static_cast<sal_uInt16>( TDerived::SLOTID ), this );
}
template<class T1, class T2, class T3, class T4, class T5>
ScRefHdlrImpl( const T1 & rt1, const T2 & rt2, const T3& rt3, const T4& rt4, const T5& rt5 )
: ScRefHdlrImplBase<TBase, bBindRef >(rt1, rt2, rt3, rt4, rt5)
{
- SC_MOD()->RegisterRefWindow( static_cast<sal_uInt16>( TDerived::SLOTID ), this );
}
virtual void dispose() override
{
- SC_MOD()->UnregisterRefWindow( static_cast<sal_uInt16>( TDerived::SLOTID ), this );
ScRefHdlrImplBase<TBase, bBindRef >::disposeRefHandler();
TBase::dispose();
}
commit b6075c3afed5837a79a9c509f5b38f38eeacf6dc
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Wed Apr 17 15:46:05 2019 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Apr 17 22:22:18 2019 +0200
boil incomprehensible template spew down to its simpler reality
Change-Id: I6a428b6515bffb69b6890ddcf8990c2c773b506c
Reviewed-on: https://gerrit.libreoffice.org/70889
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sc/source/ui/inc/anyrefdg.hxx b/sc/source/ui/inc/anyrefdg.hxx
index 99c57edf5320..7fd1c4b19381 100644
--- a/sc/source/ui/inc/anyrefdg.hxx
+++ b/sc/source/ui/inc/anyrefdg.hxx
@@ -241,49 +241,28 @@ struct ScAnyRefDlg : ::ScRefHdlrImpl< ScAnyRefDlg, SfxModelessDialog>
}
};
-template< class TWindow, bool bBindRef = true >
-class ScRefHdlrControllerImplBase: public TWindow, public ScRefHandler
-{
-private:
- ScRefHdlrControllerImplBase(SfxBindings* pB, SfxChildWindow* pCW, weld::Window* pParent, const OUString& rUIXMLDescription, const OString& rID)
- : TWindow(pB, pCW, pParent, rUIXMLDescription, rID)
- , ScRefHandler(*static_cast<TWindow*>(this), pB, bBindRef)
- {
- }
-
- ScRefHdlrControllerImplBase(weld::Window* pParent, const OUString& rUIXMLDescription, const OString& rID, const SfxItemSet* pArg, SfxBindings *pB)
- : TWindow(pParent, rUIXMLDescription, rID, pArg)
- , ScRefHandler(*static_cast<TWindow*>(this), pB, bBindRef)
- {
- }
-
- virtual ~ScRefHdlrControllerImplBase() override
- {
- }
-
- template<class, class, bool> friend struct ScRefHdlrControllerImpl;
-};
-
-template<class TDerived, class TBase, bool bBindRef = true>
-struct ScRefHdlrControllerImpl : ScRefHdlrControllerImplBase<TBase, bBindRef>
+template<class TBase, bool bBindRef = true>
+struct ScRefHdlrControllerImpl : public TBase, public ScRefHandler
{
enum { UNKNOWN_SLOTID = 0U, SLOTID = UNKNOWN_SLOTID };
- ScRefHdlrControllerImpl(weld::Window* rt1, const OUString& rt2, const OString& rt3, const SfxItemSet* rt4, SfxBindings *rt5)
- : ScRefHdlrControllerImplBase<TBase, bBindRef >(rt1, rt2, rt3, rt4, rt5)
+ ScRefHdlrControllerImpl(weld::Window* pParent, const OUString& rUIXMLDescription, const OString& rID, const SfxItemSet* pArg, SfxBindings *pB)
+ : TBase(pParent, rUIXMLDescription, rID, pArg)
+ , ScRefHandler(*static_cast<TBase*>(this), pB, bBindRef)
{
}
- ScRefHdlrControllerImpl(SfxBindings* rt1, SfxChildWindow* rt2, weld::Window* rt3, const OUString& rt4, const OString& rt5)
- : ScRefHdlrControllerImplBase<TBase, bBindRef >(rt1, rt2, rt3, rt4, rt5)
+ ScRefHdlrControllerImpl(SfxBindings* pB, SfxChildWindow* pCW, weld::Window* pParent, const OUString& rUIXMLDescription, const OString& rID)
+ : TBase(pB, pCW, pParent, rUIXMLDescription, rID)
+ , ScRefHandler(*static_cast<TBase*>(this), pB, bBindRef)
{
}
};
-struct ScAnyRefDlgController : ScRefHdlrControllerImpl<ScAnyRefDlgController, SfxModelessDialogController>
+struct ScAnyRefDlgController : ScRefHdlrControllerImpl<SfxModelessDialogController>
{
ScAnyRefDlgController(SfxBindings* rt1, SfxChildWindow* rt2, weld::Window* rt3, const OUString& rt4, const OString& rt5)
- : ScRefHdlrControllerImpl<ScAnyRefDlgController, SfxModelessDialogController>(rt1, rt2, rt3, rt4, rt5)
+ : ScRefHdlrControllerImpl<SfxModelessDialogController>(rt1, rt2, rt3, rt4, rt5)
{
}
};
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
index d28ee58192cd..661b605387d9 100644
--- a/sc/source/ui/inc/validate.hxx
+++ b/sc/source/ui/inc/validate.hxx
@@ -146,10 +146,10 @@ public:
/** The "Validity" tab dialog. */
class ScValidationDlg
- : public ScRefHdlrControllerImpl<ScValidationDlg, SfxTabDialogController, false>
+ : public ScRefHdlrControllerImpl<SfxTabDialogController, false>
, public ScRefHandlerHelper
{
- typedef ScRefHdlrControllerImpl<ScValidationDlg, SfxTabDialogController, false> ScValidationDlgBase;
+ typedef ScRefHdlrControllerImpl<SfxTabDialogController, false> ScValidationDlgBase;
ScTabViewShell * const m_pTabVwSh;
OString m_sValuePageId;
More information about the Libreoffice-commits
mailing list