[Libreoffice-commits] core.git: Branch 'libreoffice-6-3' - sc/inc sc/source
Szymon Kłos (via logerrit)
logerrit at kemper.freedesktop.org
Tue Nov 26 14:59:10 UTC 2019
sc/inc/scmod.hxx | 7 ---
sc/source/ui/app/inputhdl.cxx | 5 +-
sc/source/ui/app/inputwin.cxx | 3 -
sc/source/ui/app/scmod.cxx | 34 ++++------------
sc/source/ui/formdlg/formula.cxx | 81 ++++++++++++++++++++-------------------
sc/source/ui/inc/formula.hxx | 1
sc/source/ui/inc/tabvwsh.hxx | 7 ++-
sc/source/ui/view/cellsh3.cxx | 5 +-
sc/source/ui/view/tabvwsh4.cxx | 2
sc/source/ui/view/tabvwsha.cxx | 2
sc/source/ui/view/tabvwshc.cxx | 11 +++++
11 files changed, 82 insertions(+), 76 deletions(-)
New commits:
commit e5f74d20c2b72b107fe719cc888d779f17e5d57c
Author: Szymon Kłos <szymon.klos at collabora.com>
AuthorDate: Wed Sep 5 21:12:23 2018 +0200
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Nov 26 15:58:12 2019 +0100
tdf#124513 Allow to use multiple Formula dialog instances
Reviewed-on: https://gerrit.libreoffice.org/79463
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
(cherry picked from commit b3a9fd1c51b4d0c2a8146c250e5571cc38eae9e6)
Change-Id: Ia24556f40dd06e3acb40f24334ab972e2dada26a
Reviewed-on: https://gerrit.libreoffice.org/83702
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 7d0d7e0a3675..6f42d443de23 100644
--- a/sc/inc/scmod.hxx
+++ b/sc/inc/scmod.hxx
@@ -100,7 +100,6 @@ class SAL_DLLPUBLIC_RTTI ScModule: public SfxModule, public SfxListener, public
std::unique_ptr<SvtCTLOptions> m_pCTLOptions;
std::unique_ptr<SvtUserOptions> m_pUserOptions;
std::unique_ptr<SfxErrorHandler> m_pErrorHdl;
- std::unique_ptr<ScFormEditData> m_pFormEditData;
sal_uInt16 m_nCurRefDlgId;
bool m_bIsWaterCan:1;
bool m_bIsInEditCommand:1;
@@ -206,7 +205,6 @@ public:
void InputSelection( const EditView* pView );
void InputChanged( const EditView* pView );
ScInputHandler* GetInputHdl( ScTabViewShell* pViewSh = nullptr, bool bUseRef = true );
-
void SetRefInputHdl( ScInputHandler* pNew );
ScInputHandler* GetRefInputHdl() { return m_pRefInputHandler;}
@@ -217,14 +215,9 @@ public:
void InputSetSelection( sal_Int32 nStart, sal_Int32 nEnd );
void InputReplaceSelection( const OUString& rStr );
void InputTurnOffWinEngine();
- OUString InputGetFormulaStr();
void ActivateInputWindow( const OUString* pStr = nullptr,
bool bMatrix = false );
- void InitFormEditData();
- void ClearFormEditData();
- ScFormEditData* GetFormEditData() { return m_pFormEditData.get(); }
-
// input of reference:
SC_DLLPUBLIC void SetRefDialog( sal_uInt16 nId, bool bVis, SfxViewFrame* pViewFrm = nullptr );
bool IsModalMode(SfxObjectShell* pDocSh = nullptr);
diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx
index ecbdfafbe1d3..1988d7b3a4f4 100644
--- a/sc/source/ui/app/inputhdl.cxx
+++ b/sc/source/ui/app/inputhdl.cxx
@@ -3639,9 +3639,12 @@ void ScInputHandler::NotifyChange( const ScInputHdlState* pState,
{
ScModule* pScMod = SC_MOD();
+ ScTabViewShell* pScTabViewShell = pScMod ? dynamic_cast<ScTabViewShell*>(pScMod->GetViewShell()) : nullptr;
+
// Also take foreign reference input into account here (e.g. FunctionsAutoPilot),
// FormEditData, if we're switching from Help to Calc:
- if ( !bFormulaMode && !pScMod->IsFormulaMode() && !pScMod->GetFormEditData() )
+ if ( !bFormulaMode && !pScMod->IsFormulaMode() &&
+ ( !pScTabViewShell || !pScTabViewShell->GetFormEditData() ) )
{
bool bIgnore = false;
if ( bModified )
diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx
index 216a5bd6477e..dc5f92ca09ff 100644
--- a/sc/source/ui/app/inputwin.cxx
+++ b/sc/source/ui/app/inputwin.cxx
@@ -66,6 +66,7 @@
#include <editeng/fontitem.hxx>
#include <AccessibleEditObject.hxx>
#include <AccessibleText.hxx>
+#include <comphelper/lok.hxx>
#include <comphelper/string.hxx>
#include <com/sun/star/frame/XLayoutManager.hpp>
#include <helpids.h>
@@ -309,7 +310,7 @@ void ScInputWindow::Select()
{
//! new method at ScModule to query if function autopilot is open
SfxViewFrame* pViewFrm = SfxViewFrame::Current();
- if ( pViewFrm && !pViewFrm->GetChildWindow( SID_OPENDLG_FUNCTION ) )
+ if ( pViewFrm && ( comphelper::LibreOfficeKit::isActive() || !pViewFrm->GetChildWindow( SID_OPENDLG_FUNCTION ) ) )
{
pViewFrm->GetDispatcher()->Execute( SID_OPENDLG_FUNCTION,
SfxCallMode::SYNCHRON | SfxCallMode::RECORD );
diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx
index 76faf343953c..8bf155562d71 100644
--- a/sc/source/ui/app/scmod.cxx
+++ b/sc/source/ui/app/scmod.cxx
@@ -166,8 +166,6 @@ ScModule::~ScModule()
SfxItemPool::Free(m_pMessagePool);
- m_pFormEditData.reset();
-
m_pDragData.reset();
m_pErrorHdl.reset();
@@ -654,16 +652,6 @@ void ScModule::SetSelectionTransfer( ScSelectionTransferObj* pNew )
m_pSelTransfer = pNew;
}
-void ScModule::InitFormEditData()
-{
- m_pFormEditData.reset( new ScFormEditData );
-}
-
-void ScModule::ClearFormEditData()
-{
- m_pFormEditData.reset();
-}
-
void ScModule::SetViewOptions( const ScViewOptions& rOpt )
{
if ( !m_pViewCfg )
@@ -1318,7 +1306,7 @@ void ScModule::ModifyOptions( const SfxItemSet& rOptSet )
*/
ScInputHandler* ScModule::GetInputHdl( ScTabViewShell* pViewSh, bool bUseRef )
{
- if ( m_pRefInputHandler && bUseRef )
+ if ( !comphelper::LibreOfficeKit::isActive() && m_pRefInputHandler && bUseRef )
return m_pRefInputHandler;
ScInputHandler* pHdl = nullptr;
@@ -1443,15 +1431,6 @@ void ScModule::InputTurnOffWinEngine()
pHdl->InputTurnOffWinEngine();
}
-OUString ScModule::InputGetFormulaStr()
-{
- ScInputHandler* pHdl = GetInputHdl();
- OUString aStr;
- if ( pHdl )
- aStr = pHdl->GetFormString();
- return aStr;
-}
-
void ScModule::ActivateInputWindow( const OUString* pStrFormula, bool bMatrix )
{
ScInputHandler* pHdl = GetInputHdl();
@@ -1493,7 +1472,8 @@ void ScModule::SetRefDialog( sal_uInt16 nId, bool bVis, SfxViewFrame* pViewFrm )
{
//TODO: Move reference dialog handling to view
// Just keep function autopilot here for references to other documents
- if(m_nCurRefDlgId==0 || (nId==m_nCurRefDlgId && !bVis))
+ if ( m_nCurRefDlgId == 0 || ( nId == m_nCurRefDlgId && !bVis )
+ || ( comphelper::LibreOfficeKit::isActive() && m_nCurRefDlgId == SID_OPENDLG_FUNCTION ) )
{
if ( !pViewFrm )
pViewFrm = SfxViewFrame::Current();
@@ -1661,7 +1641,13 @@ bool ScModule::IsFormulaMode()
if ( m_nCurRefDlgId )
{
- SfxChildWindow* pChildWnd = lcl_GetChildWinFromCurrentView( m_nCurRefDlgId );
+ SfxChildWindow* pChildWnd = nullptr;
+
+ if ( comphelper::LibreOfficeKit::isActive() )
+ pChildWnd = lcl_GetChildWinFromCurrentView( m_nCurRefDlgId );
+ else
+ pChildWnd = lcl_GetChildWinFromAnyView( m_nCurRefDlgId );
+
if ( pChildWnd )
{
if (pChildWnd->GetWindow())
diff --git a/sc/source/ui/formdlg/formula.cxx b/sc/source/ui/formdlg/formula.cxx
index 3c412a95aa16..56c406e2e306 100644
--- a/sc/source/ui/formdlg/formula.cxx
+++ b/sc/source/ui/formdlg/formula.cxx
@@ -60,11 +60,12 @@ ScFormulaDlg::ScFormulaDlg(SfxBindings* pB, SfxChildWindow* pCW,
weld::Window* pParent, const ScViewData* pViewData, const formula::IFunctionManager* _pFunctionMgr)
: formula::FormulaDlg(pB, pCW, pParent, _pFunctionMgr, this)
, m_aHelper(this,pB)
+ , m_pViewShell( nullptr )
{
m_aHelper.SetDialog(m_xDialog.get());
ScModule* pScMod = SC_MOD();
pScMod->InputEnterHandler();
- ScTabViewShell* pScViewShell = nullptr;
+ m_pViewShell = nullptr;
// title has to be from the view that opened the dialog,
// even if it's not the current view
@@ -77,9 +78,9 @@ ScFormulaDlg::ScFormulaDlg(SfxBindings* pB, SfxChildWindow* pCW,
SfxViewFrame* pMyViewFrm = pMyDisp->GetFrame();
if (pMyViewFrm)
{
- pScViewShell = dynamic_cast<ScTabViewShell*>( pMyViewFrm->GetViewShell() );
- if( pScViewShell )
- pScViewShell->UpdateInputHandler(true);
+ m_pViewShell = dynamic_cast<ScTabViewShell*>( pMyViewFrm->GetViewShell() );
+ if( m_pViewShell )
+ m_pViewShell->UpdateInputHandler(true);
}
}
}
@@ -93,12 +94,11 @@ ScFormulaDlg::ScFormulaDlg(SfxBindings* pB, SfxChildWindow* pCW,
m_xOpCodeMapper.set(ScServiceProvider::MakeInstance(ScServiceProvider::Type::OPCODEMAPPER,
static_cast<ScDocShell*>(m_pDoc->GetDocumentShell())),uno::UNO_QUERY);
- ScInputHandler* pInputHdl = SC_MOD()->GetInputHdl(pScViewShell);
+ ScInputHandler* pInputHdl = SC_MOD()->GetInputHdl(m_pViewShell);
- OSL_ENSURE( pInputHdl, "Missing input handler :-/" );
+ assert(pInputHdl && "Missing input handler :-/");
- if ( pInputHdl )
- pInputHdl->NotifyChange( nullptr );
+ pInputHdl->NotifyChange( nullptr );
ScFormulaReferenceHelper::enableInput( true );
ScFormulaReferenceHelper::EnableSpreadsheets();
@@ -108,10 +108,10 @@ ScFormulaDlg::ScFormulaDlg(SfxBindings* pB, SfxChildWindow* pCW,
notifyChange();
fill();
- ScFormEditData* pData = pScMod->GetFormEditData();
+ ScFormEditData* pData = m_pViewShell->GetFormEditData();
if (!pData)
{
- pScMod->SetRefInputHdl(pScMod->GetInputHdl());
+ pScMod->SetRefInputHdl(pInputHdl);
m_pDoc = pViewData->GetDocument();
SCCOL nCol = pViewData->GetCurX();
@@ -119,9 +119,9 @@ ScFormulaDlg::ScFormulaDlg(SfxBindings* pB, SfxChildWindow* pCW,
SCTAB nTab = pViewData->GetTabNo();
m_CursorPos = ScAddress( nCol, nRow, nTab );
- pScMod->InitFormEditData(); // create new
- pData = pScMod->GetFormEditData();
- pData->SetInputHandler(pScMod->GetInputHdl());
+ m_pViewShell->InitFormEditData(); // create new
+ pData = m_pViewShell->GetFormEditData();
+ pData->SetInputHandler(pInputHdl);
pData->SetDocShell(pViewData->GetDocShell());
OSL_ENSURE(pData,"FormEditData not available");
@@ -142,12 +142,12 @@ ScFormulaDlg::ScFormulaDlg(SfxBindings* pB, SfxChildWindow* pCW,
sal_Int32 nFEnd = 0;
if ( GetFormulaHelper().GetNextFunc( aFormula, false, nFStart, &nFEnd) )
{
- pScMod->InputReplaceSelection( aFormula );
- pScMod->InputSetSelection( nFStart, nFEnd );
+ pInputHdl->InputReplaceSelection( aFormula );
+ pInputHdl->InputSetSelection( nFStart, nFEnd );
sal_Int32 PrivStart, PrivEnd;
- pScMod->InputGetSelection( PrivStart, PrivEnd);
+ pInputHdl->InputGetSelection( PrivStart, PrivEnd);
- eMode = SetMeText(pScMod->InputGetFormulaStr(),PrivStart, PrivEnd, bMatrix, true, true);
+ eMode = SetMeText(pInputHdl->GetFormString(),PrivStart, PrivEnd, bMatrix, true, true);
pData->SetFStart( nFStart );
}
else
@@ -160,11 +160,11 @@ ScFormulaDlg::ScFormulaDlg(SfxBindings* pB, SfxChildWindow* pCW,
if ( aFormula.startsWith("=") )
aNewFormula = aFormula;
- pScMod->InputReplaceSelection( aNewFormula );
- pScMod->InputSetSelection( 1, aNewFormula.getLength()+1 );
+ pInputHdl->InputReplaceSelection( aNewFormula );
+ pInputHdl->InputSetSelection( 1, aNewFormula.getLength()+1 );
sal_Int32 PrivStart, PrivEnd;
- pScMod->InputGetSelection( PrivStart, PrivEnd);
- SetMeText(pScMod->InputGetFormulaStr(),PrivStart, PrivEnd,bMatrix,false,false);
+ pInputHdl->InputGetSelection( PrivStart, PrivEnd);
+ SetMeText(pInputHdl->GetFormString(),PrivStart, PrivEnd,bMatrix,false,false);
pData->SetFStart( 1 ); // after "="
}
@@ -179,9 +179,7 @@ ScFormulaDlg::ScFormulaDlg(SfxBindings* pB, SfxChildWindow* pCW,
void ScFormulaDlg::notifyChange()
{
- ScModule* pScMod = SC_MOD();
-
- ScInputHandler* pInputHdl = pScMod->GetInputHdl();
+ ScInputHandler* pInputHdl = m_pViewShell->GetInputHandler();
if ( pInputHdl )
pInputHdl->NotifyChange( nullptr );
}
@@ -189,7 +187,7 @@ void ScFormulaDlg::notifyChange()
void ScFormulaDlg::fill()
{
ScModule* pScMod = SC_MOD();
- ScFormEditData* pData = pScMod->GetFormEditData();
+ ScFormEditData* pData = static_cast<ScFormEditData*>(getFormEditData());
notifyChange();
OUString rStrExp;
if (pData)
@@ -219,11 +217,11 @@ void ScFormulaDlg::fill()
pData->SetInputHandler(pInputHdl);
}
- OUString aOldFormulaTmp(pScMod->InputGetFormulaStr());
- pScMod->InputSetSelection( 0, aOldFormulaTmp.getLength());
+ OUString aOldFormulaTmp(pData->GetInputHandler()->GetFormString());
+ pData->GetInputHandler()->InputSetSelection( 0, aOldFormulaTmp.getLength());
rStrExp=pData->GetUndoStr();
- pScMod->InputReplaceSelection(rStrExp);
+ pData->GetInputHandler()->InputReplaceSelection(rStrExp);
SetMeText(rStrExp);
@@ -235,16 +233,18 @@ void ScFormulaDlg::fill()
ScFormulaDlg::~ScFormulaDlg()
{
- ScModule* pScMod = SC_MOD();
- ScFormEditData* pData = pScMod->GetFormEditData();
+ ScFormEditData* pData = m_pViewShell->GetFormEditData();
+
m_aHelper.dispose();
if (pData) // close doesn't destroy;
{
//set back reference input handler
- pScMod->SetRefInputHdl(nullptr);
+ SC_MOD()->SetRefInputHdl(nullptr);
StoreFormEditData(pData);
}
+
+ m_pViewShell->ClearFormEditData();
}
bool ScFormulaDlg::IsInputHdl(const ScInputHandler* pHdl)
@@ -556,8 +556,8 @@ void ScFormulaDlg::setDispatcherLock( bool bLock )
}
void ScFormulaDlg::deleteFormData()
{
- ScModule* pScMod = SC_MOD();
- pScMod->ClearFormEditData(); // pData is invalid!
+ if (m_pViewShell)
+ m_pViewShell->ClearFormEditData(); // pData is invalid!
}
void ScFormulaDlg::clear()
{
@@ -574,10 +574,9 @@ void ScFormulaDlg::clear()
}
void ScFormulaDlg::switchBack()
{
- ScModule* pScMod = SC_MOD();
// back to the document
// (foreign doc could be above - #34222#)
- ScInputHandler* pHdl = pScMod->GetInputHdl();
+ ScInputHandler* pHdl = m_pViewShell->GetInputHandler();
if ( pHdl )
{
pHdl->ViewShellGone(nullptr); // -> get active view
@@ -602,8 +601,10 @@ void ScFormulaDlg::switchBack()
}
formula::FormEditData* ScFormulaDlg::getFormEditData() const
{
- ScModule* pScMod = SC_MOD();
- return pScMod->GetFormEditData();
+ ScTabViewShell* pViewShell = m_pViewShell;
+ if (pViewShell)
+ return pViewShell->GetFormEditData();
+ return nullptr;
}
void ScFormulaDlg::setCurrentFormula(const OUString& _sReplacement)
{
@@ -639,8 +640,10 @@ void ScFormulaDlg::getSelection(sal_Int32& _nStart, sal_Int32& _nEnd) const
}
OUString ScFormulaDlg::getCurrentFormula() const
{
- ScModule* pScMod = SC_MOD();
- return pScMod->InputGetFormulaStr();
+ ScFormEditData* pData = m_pViewShell->GetFormEditData();
+ if (pData && pData->GetInputHandler())
+ return pData->GetInputHandler()->GetFormString();
+ return "";
}
formula::IFunctionManager* ScFormulaDlg::getFunctionManager()
{
diff --git a/sc/source/ui/inc/formula.hxx b/sc/source/ui/inc/formula.hxx
index 9d4e7c68fc42..5b19928e933f 100644
--- a/sc/source/ui/inc/formula.hxx
+++ b/sc/source/ui/inc/formula.hxx
@@ -41,6 +41,7 @@ class ScFormulaDlg final : public formula::FormulaDlg,
ScDocument* m_pDoc;
ScAddress m_CursorPos;
+ ScTabViewShell* m_pViewShell;
mutable std::shared_ptr<ScCompiler> m_xCompiler;
public:
diff --git a/sc/source/ui/inc/tabvwsh.hxx b/sc/source/ui/inc/tabvwsh.hxx
index 7d51dbc5c7fa..f9472508fa0f 100644
--- a/sc/source/ui/inc/tabvwsh.hxx
+++ b/sc/source/ui/inc/tabvwsh.hxx
@@ -88,6 +88,7 @@ enum ObjectSelectionType
OST_Media
};
+class ScFormEditData;
class SC_DLLPUBLIC ScTabViewShell: public SfxViewShell, public ScDBFunc
{
private:
@@ -112,6 +113,7 @@ private:
std::unique_ptr<FmFormShell> pFormShell;
+ std::unique_ptr<ScFormEditData> mpFormEditData;
std::unique_ptr<ScInputHandler, o3tl::default_delete<ScInputHandler>> mpInputHandler; // for OLE input cell
std::unique_ptr<::editeng::SvxBorderLine> pCurFrameLine;
@@ -162,7 +164,6 @@ private:
bool mbInSwitch;
OUString maName;
OUString maScope;
-
private:
void Construct( TriState nForceDesignMode );
@@ -391,6 +392,10 @@ public:
static bool isAnyEditViewInRange(bool bColumns, SCCOLROW nStart, SCCOLROW nEnd);
css::uno::Reference<css::drawing::XShapes> getSelectedXShapes();
static css::uno::Reference<css::datatransfer::XTransferable2> GetClipData(vcl::Window* pWin);
+
+ void InitFormEditData();
+ void ClearFormEditData();
+ ScFormEditData* GetFormEditData() { return mpFormEditData.get(); }
};
#endif
diff --git a/sc/source/ui/view/cellsh3.cxx b/sc/source/ui/view/cellsh3.cxx
index 621427d69eda..0d380e11bf64 100644
--- a/sc/source/ui/view/cellsh3.cxx
+++ b/sc/source/ui/view/cellsh3.cxx
@@ -46,6 +46,7 @@
#include <markdata.hxx>
#include <scabstdlg.hxx>
#include <columnspanset.hxx>
+#include <comphelper/lok.hxx>
#include <memory>
@@ -308,8 +309,8 @@ void ScCellShell::Execute( SfxRequest& rReq )
sal_uInt16 nId = SID_OPENDLG_FUNCTION;
SfxViewFrame* pViewFrm = pTabViewShell->GetViewFrame();
SfxChildWindow* pWnd = pViewFrm->GetChildWindow( nId );
-
- pScMod->SetRefDialog( nId, pWnd == nullptr );
+ bool bVis = comphelper::LibreOfficeKit::isActive() || pWnd == nullptr;
+ pScMod->SetRefDialog( nId, bVis );
rReq.Ignore();
}
break;
diff --git a/sc/source/ui/view/tabvwsh4.cxx b/sc/source/ui/view/tabvwsh4.cxx
index 46259a8f12a3..656f57b0e7d7 100644
--- a/sc/source/ui/view/tabvwsh4.cxx
+++ b/sc/source/ui/view/tabvwsh4.cxx
@@ -21,6 +21,7 @@
#include <scitems.hxx>
#include <editeng/eeitem.hxx>
+#include <formdata.hxx>
#include <sfx2/app.hxx>
#include <svx/dialogs.hrc>
@@ -1777,6 +1778,7 @@ ScTabViewShell::~ScTabViewShell()
pPivotShell.reset();
pAuditingShell.reset();
pCurFrameLine.reset();
+ mpFormEditData.reset();
mpInputHandler.reset();
pPivotSource.reset();
pDialogDPObject.reset();
diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx
index fbd9ca9564fd..acee56fe47a8 100644
--- a/sc/source/ui/view/tabvwsha.cxx
+++ b/sc/source/ui/view/tabvwsha.cxx
@@ -740,7 +740,7 @@ void ScTabViewShell::ExecuteSave( SfxRequest& rReq )
// we will save the doc immediately afterwards, the modified state event
// is clobbered. To avoid that, we notify all views immediately of the
// modified state, apply the modification, then save the document.
- ScInputHandler* pHdl = SC_MOD()->GetInputHdl();
+ ScInputHandler* pHdl = GetInputHandler();
if (pHdl != nullptr && pHdl->GetModified())
SfxLokHelper::notifyAllViews(LOK_CALLBACK_STATE_CHANGED, ".uno:ModifiedStatus=true");
}
diff --git a/sc/source/ui/view/tabvwshc.cxx b/sc/source/ui/view/tabvwshc.cxx
index 939a7224615d..640309b5b1ed 100644
--- a/sc/source/ui/view/tabvwshc.cxx
+++ b/sc/source/ui/view/tabvwshc.cxx
@@ -59,6 +59,7 @@
#include <condformatdlg.hxx>
#include <xmlsourcedlg.hxx>
#include <condformatdlgitem.hxx>
+#include <formdata.hxx>
#include <RandomNumberGeneratorDialog.hxx>
#include <SamplingDialog.hxx>
@@ -677,4 +678,14 @@ const OUString ScTabViewShell::DoAutoSum(bool& rRangeFinder, bool& rSubTotal, co
return aFormula;
}
+void ScTabViewShell::InitFormEditData()
+{
+ mpFormEditData.reset(new ScFormEditData);
+}
+
+void ScTabViewShell::ClearFormEditData()
+{
+ mpFormEditData.reset();
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
More information about the Libreoffice-commits
mailing list