summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-04-11 09:42:46 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-04-11 13:15:56 +0200
commite9f2e6526c68045380b64e7579b07c6064be9c58 (patch)
tree0a2e4bd234759062b4a34bfde225dcda6293c2b3 /sc/source
parente09bf8260e17e9ab8c4524c3b3d5d617d8d89bd5 (diff)
weld ScNameDefDlg
Change-Id: Ic5e46a0a9f03733c8e151e6dff55b7b4a3fcda34 Reviewed-on: https://gerrit.libreoffice.org/70588 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc/source')
-rw-r--r--sc/source/ui/inc/namedefdlg.hxx49
-rw-r--r--sc/source/ui/inc/reffact.hxx2
-rw-r--r--sc/source/ui/inc/tabvwsh.hxx3
-rw-r--r--sc/source/ui/namedlg/namedefdlg.cxx173
-rw-r--r--sc/source/ui/namedlg/namedlg.cxx2
-rw-r--r--sc/source/ui/view/reffact.cxx4
-rw-r--r--sc/source/ui/view/tabvwshc.cxx62
7 files changed, 136 insertions, 159 deletions
diff --git a/sc/source/ui/inc/namedefdlg.hxx b/sc/source/ui/inc/namedefdlg.hxx
index aa971727884c..aa9861cd278f 100644
--- a/sc/source/ui/inc/namedefdlg.hxx
+++ b/sc/source/ui/inc/namedefdlg.hxx
@@ -22,25 +22,9 @@ class ScDocument;
class ScDocShell;
class ScViewData;
-class ScNameDefDlg : public ScAnyRefDlg
+class ScNameDefDlg : public ScAnyRefDlgController
{
private:
- VclPtr<Edit> m_pEdName;
-
- VclPtr<formula::RefEdit> m_pEdRange;
- VclPtr<formula::RefButton> m_pRbRange;
-
- VclPtr<ListBox> m_pLbScope;
-
- VclPtr<CheckBox> m_pBtnRowHeader;
- VclPtr<CheckBox> m_pBtnColHeader;
- VclPtr<CheckBox> m_pBtnPrintArea;
- VclPtr<CheckBox> m_pBtnCriteria;
-
- VclPtr<PushButton> m_pBtnAdd;
- VclPtr<PushButton> m_pBtnCancel;
- VclPtr<FixedText> m_pFtInfo;
-
bool const mbUndo; //if true we need to add an undo action after creating a range name
ScDocument* mpDoc;
ScDocShell* mpDocShell;
@@ -58,33 +42,50 @@ private:
std::map<OUString, ScRangeName*> maRangeMap;
+ std::unique_ptr<weld::Entry> m_xEdName;
+
+ std::unique_ptr<formula::WeldRefEdit> m_xEdRange;
+ std::unique_ptr<formula::WeldRefButton> m_xRbRange;
+
+ std::unique_ptr<weld::ComboBox> m_xLbScope;
+
+ std::unique_ptr<weld::CheckButton> m_xBtnRowHeader;
+ std::unique_ptr<weld::CheckButton> m_xBtnColHeader;
+ std::unique_ptr<weld::CheckButton> m_xBtnPrintArea;
+ std::unique_ptr<weld::CheckButton> m_xBtnCriteria;
+
+ std::unique_ptr<weld::Button> m_xBtnAdd;
+ std::unique_ptr<weld::Button> m_xBtnCancel;
+ std::unique_ptr<weld::Label> m_xFtInfo;
+ std::unique_ptr<weld::Expander> m_xExpander;
+ std::unique_ptr<weld::Label> m_xFtRange;
+
void CancelPushed();
void AddPushed();
bool IsNameValid();
bool IsFormulaValid();
- DECL_LINK( CancelBtnHdl, Button*, void );
- DECL_LINK( AddBtnHdl, Button*, void );
- DECL_LINK( NameModifyHdl, Edit&, void );
- DECL_LINK( AssignGetFocusHdl, Control&, void );
+ DECL_LINK( CancelBtnHdl, weld::Button&, void );
+ DECL_LINK( AddBtnHdl, weld::Button&, void );
+ DECL_LINK( NameModifyHdl, weld::Entry&, void );
+ DECL_LINK( AssignGetFocusHdl, formula::WeldRefEdit&, void );
protected:
virtual void RefInputDone( bool bForced = false ) override;
public:
- ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
+ ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, weld::Window* pParent,
const ScViewData* pViewData, const std::map<OUString, ScRangeName*>& aRangeMap,
const ScAddress& aCursorPos, const bool bUndo);
virtual ~ScNameDefDlg() override;
- virtual void dispose() override;
virtual void SetReference( const ScRange& rRef, ScDocument* pDoc ) override;
virtual bool IsRefInputMode() const override;
virtual void SetActive() override;
- virtual bool Close() override;
+ virtual void Close() override;
void GetNewData( OUString& rName, OUString& rScope );
};
diff --git a/sc/source/ui/inc/reffact.hxx b/sc/source/ui/inc/reffact.hxx
index e6bf12c0feec..f41d5331b066 100644
--- a/sc/source/ui/inc/reffact.hxx
+++ b/sc/source/ui/inc/reffact.hxx
@@ -45,7 +45,7 @@
};
DECL_WRAPPER_WITHID_CONTROLLER(ScNameDlgWrapper)
-DECL_WRAPPER_WITHID(ScNameDefDlgWrapper)
+DECL_WRAPPER_WITHID_CONTROLLER(ScNameDefDlgWrapper)
DECL_WRAPPER_WITHID(ScSolverDlgWrapper)
DECL_WRAPPER_WITHID(ScOptSolverDlgWrapper)
DECL_WRAPPER_WITHID(ScXMLSourceDlgWrapper)
diff --git a/sc/source/ui/inc/tabvwsh.hxx b/sc/source/ui/inc/tabvwsh.hxx
index 4a2a142befef..266d816a78af 100644
--- a/sc/source/ui/inc/tabvwsh.hxx
+++ b/sc/source/ui/inc/tabvwsh.hxx
@@ -378,8 +378,7 @@ public:
const OUString DoAutoSum(bool& rRangeFinder, bool& rSubTotal);
// ugly hack to call Define Names from Manage Names
- void SwitchBetweenRefDialogs(SfxModelessDialog* pDialog);
- void SwitchBetweenRefDialogControllers(SfxModelessDialogController* pDialog);
+ void SwitchBetweenRefDialogs(SfxModelessDialogController* pDialog);
// #i123629#
bool GetForceFocusOnCurCell() const { return bForceFocusOnCurCell; }
void SetForceFocusOnCurCell(bool bFlag) { bForceFocusOnCurCell=bFlag; }
diff --git a/sc/source/ui/namedlg/namedefdlg.cxx b/sc/source/ui/namedlg/namedefdlg.cxx
index 2b3e6ce45545..9eda9de45387 100644
--- a/sc/source/ui/namedlg/namedefdlg.cxx
+++ b/sc/source/ui/namedlg/namedefdlg.cxx
@@ -25,54 +25,54 @@
#include <tabvwsh.hxx>
#include <tokenarray.hxx>
-ScNameDefDlg::ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* pParent,
+ScNameDefDlg::ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, weld::Window* pParent,
const ScViewData* pViewData, const std::map<OUString, ScRangeName*>& aRangeMap,
const ScAddress& aCursorPos, const bool bUndo )
- : ScAnyRefDlg( pB, pCW, pParent, "DefineNameDialog", "modules/scalc/ui/definename.ui" )
- ,
- mbUndo( bUndo ),
- mpDoc( pViewData->GetDocument() ),
- mpDocShell ( pViewData->GetDocShell() ),
- maCursorPos( aCursorPos ),
-
- maGlobalNameStr ( ScResId(STR_GLOBAL_SCOPE) ),
- maErrInvalidNameStr( ScResId(STR_ERR_NAME_INVALID)),
- maErrInvalidNameCellRefStr( ScResId(STR_ERR_NAME_INVALID_CELL_REF)),
- maErrNameInUse ( ScResId(STR_ERR_NAME_EXISTS)),
- maRangeMap( aRangeMap )
+ : ScAnyRefDlgController( pB, pCW, pParent, "modules/scalc/ui/definename.ui", "DefineNameDialog")
+ , mbUndo( bUndo )
+ , mpDoc( pViewData->GetDocument() )
+ , mpDocShell ( pViewData->GetDocShell() )
+ , maCursorPos( aCursorPos )
+ , maGlobalNameStr ( ScResId(STR_GLOBAL_SCOPE) )
+ , maErrInvalidNameStr( ScResId(STR_ERR_NAME_INVALID))
+ , maErrInvalidNameCellRefStr( ScResId(STR_ERR_NAME_INVALID_CELL_REF))
+ , maErrNameInUse ( ScResId(STR_ERR_NAME_EXISTS))
+ , maRangeMap( aRangeMap )
+ , m_xEdName(m_xBuilder->weld_entry("edit"))
+ , m_xEdRange(new formula::WeldRefEdit(m_xBuilder->weld_entry("range")))
+ , m_xRbRange(new formula::WeldRefButton(m_xBuilder->weld_button("refbutton")))
+ , m_xLbScope(m_xBuilder->weld_combo_box("scope"))
+ , m_xBtnRowHeader(m_xBuilder->weld_check_button("rowheader"))
+ , m_xBtnColHeader(m_xBuilder->weld_check_button("colheader"))
+ , m_xBtnPrintArea(m_xBuilder->weld_check_button("printarea"))
+ , m_xBtnCriteria(m_xBuilder->weld_check_button("filter"))
+ , m_xBtnAdd(m_xBuilder->weld_button("add"))
+ , m_xBtnCancel(m_xBuilder->weld_button("cancel"))
+ , m_xFtInfo(m_xBuilder->weld_label("label"))
+ , m_xExpander(m_xBuilder->weld_expander("more"))
+ , m_xFtRange(m_xBuilder->weld_label("label3"))
{
- get(m_pEdName, "edit");
- get(m_pEdRange, "range");
- m_pEdRange->SetReferences(this, m_pEdName);
- get(m_pRbRange, "refbutton");
- m_pRbRange->SetReferences(this, m_pEdRange);
- get(m_pLbScope, "scope");
- get(m_pBtnRowHeader, "rowheader");
- get(m_pBtnColHeader, "colheader");
- get(m_pBtnPrintArea, "printarea");
- get(m_pBtnCriteria, "filter");
- get(m_pBtnAdd, "add");
- get(m_pBtnCancel, "cancel");
- get(m_pFtInfo, "label");
- maStrInfoDefault = m_pFtInfo->GetText();
+ m_xEdRange->SetReferences(this, m_xFtRange.get());
+ m_xRbRange->SetReferences(this, m_xEdRange.get());
+ maStrInfoDefault = m_xFtInfo->get_label();
// Initialize scope list.
- m_pLbScope->InsertEntry(maGlobalNameStr);
- m_pLbScope->SelectEntryPos(0);
+ m_xLbScope->append_text(maGlobalNameStr);
+ m_xLbScope->set_active(0);
SCTAB n = mpDoc->GetTableCount();
for (SCTAB i = 0; i < n; ++i)
{
OUString aTabName;
mpDoc->GetName(i, aTabName);
- m_pLbScope->InsertEntry(aTabName);
+ m_xLbScope->append_text(aTabName);
}
- m_pBtnCancel->SetClickHdl( LINK( this, ScNameDefDlg, CancelBtnHdl));
- m_pBtnAdd->SetClickHdl( LINK( this, ScNameDefDlg, AddBtnHdl ));
- m_pEdName->SetModifyHdl( LINK( this, ScNameDefDlg, NameModifyHdl ));
- m_pEdRange->SetGetFocusHdl( LINK( this, ScNameDefDlg, AssignGetFocusHdl ) );
+ m_xBtnCancel->connect_clicked( LINK( this, ScNameDefDlg, CancelBtnHdl));
+ m_xBtnAdd->connect_clicked( LINK( this, ScNameDefDlg, AddBtnHdl ));
+ m_xEdName->connect_changed( LINK( this, ScNameDefDlg, NameModifyHdl ));
+ m_xEdRange->SetGetFocusHdl( LINK( this, ScNameDefDlg, AssignGetFocusHdl ) );
- m_pBtnAdd->Disable(); // empty name is invalid
+ m_xBtnAdd->set_sensitive(false); // empty name is invalid
ScRange aRange;
@@ -80,38 +80,20 @@ ScNameDefDlg::ScNameDefDlg( SfxBindings* pB, SfxChildWindow* pCW, vcl::Window* p
OUString aAreaStr(aRange.Format(ScRefFlags::RANGE_ABS_3D, mpDoc,
ScAddress::Details(mpDoc->GetAddressConvention(), 0, 0)));
- m_pEdRange->SetText( aAreaStr );
+ m_xEdRange->SetText( aAreaStr );
- Selection aCurSel = Selection( 0, SELECTION_MAX );
- m_pEdName->GrabFocus();
- m_pEdName->SetSelection( aCurSel );
+ m_xEdName->grab_focus();
+ m_xEdName->select_region(0, -1);
}
ScNameDefDlg::~ScNameDefDlg()
{
- disposeOnce();
-}
-
-void ScNameDefDlg::dispose()
-{
- m_pEdName.clear();
- m_pEdRange.clear();
- m_pRbRange.clear();
- m_pLbScope.clear();
- m_pBtnRowHeader.clear();
- m_pBtnColHeader.clear();
- m_pBtnPrintArea.clear();
- m_pBtnCriteria.clear();
- m_pBtnAdd.clear();
- m_pBtnCancel.clear();
- m_pFtInfo.clear();
- ScAnyRefDlg::dispose();
}
void ScNameDefDlg::CancelPushed()
{
if (mbUndo)
- Close();
+ response(RET_CANCEL);
else
{
ScTabViewShell* pViewSh = ScTabViewShell::GetActiveViewShell();
@@ -122,7 +104,7 @@ void ScNameDefDlg::CancelPushed()
bool ScNameDefDlg::IsFormulaValid()
{
ScCompiler aComp( mpDoc, maCursorPos, mpDoc->GetGrammar());
- std::unique_ptr<ScTokenArray> pCode = aComp.CompileString(m_pEdRange->GetText());
+ std::unique_ptr<ScTokenArray> pCode = aComp.CompileString(m_xEdRange->GetText());
if (pCode->GetCodeError() != FormulaError::NONE)
{
//TODO: info message
@@ -136,8 +118,8 @@ bool ScNameDefDlg::IsFormulaValid()
bool ScNameDefDlg::IsNameValid()
{
- OUString aScope = m_pLbScope->GetSelectedEntry();
- OUString aName = m_pEdName->GetText();
+ OUString aScope = m_xLbScope->get_active_text();
+ OUString aName = m_xEdName->get_text();
ScRangeName* pRangeName = nullptr;
if(aScope == maGlobalNameStr)
@@ -150,52 +132,52 @@ bool ScNameDefDlg::IsNameValid()
}
ScRangeData::IsNameValidType eType;
- m_pFtInfo->SetControlBackground(GetSettings().GetStyleSettings().GetDialogColor());
+ m_xFtInfo->set_error(false);
if ( aName.isEmpty() )
{
- m_pBtnAdd->Disable();
- m_pFtInfo->SetText(maStrInfoDefault);
+ m_xBtnAdd->set_sensitive(false);
+ m_xFtInfo->set_label(maStrInfoDefault);
return false;
}
else if ((eType = ScRangeData::IsNameValid( aName, mpDoc )) != ScRangeData::NAME_VALID)
{
- m_pFtInfo->SetControlBackground(GetSettings().GetStyleSettings().GetHighlightColor());
+ m_xFtInfo->set_error(true);
if (eType == ScRangeData::NAME_INVALID_BAD_STRING)
{
- m_pFtInfo->SetText(maErrInvalidNameStr);
+ m_xFtInfo->set_label(maErrInvalidNameStr);
}
else if (eType == ScRangeData::NAME_INVALID_CELL_REF)
{
- m_pFtInfo->SetText(maErrInvalidNameCellRefStr);
+ m_xFtInfo->set_label(maErrInvalidNameCellRefStr);
}
- m_pBtnAdd->Disable();
+ m_xBtnAdd->set_sensitive(false);
return false;
}
else if (pRangeName->findByUpperName(ScGlobal::pCharClass->uppercase(aName)))
{
- m_pFtInfo->SetControlBackground(GetSettings().GetStyleSettings().GetHighlightColor());
- m_pFtInfo->SetText(maErrNameInUse);
- m_pBtnAdd->Disable();
+ m_xFtInfo->set_error(true);
+ m_xFtInfo->set_label(maErrNameInUse);
+ m_xBtnAdd->set_sensitive(false);
return false;
}
if (!IsFormulaValid())
{
- m_pFtInfo->SetControlBackground(GetSettings().GetStyleSettings().GetHighlightColor());
- m_pBtnAdd->Disable();
+ m_xFtInfo->set_error(true);
+ m_xBtnAdd->set_sensitive(false);
return false;
}
- m_pFtInfo->SetText(maStrInfoDefault);
- m_pBtnAdd->Enable();
+ m_xFtInfo->set_label(maStrInfoDefault);
+ m_xBtnAdd->set_sensitive(true);
return true;
}
void ScNameDefDlg::AddPushed()
{
- OUString aScope = m_pLbScope->GetSelectedEntry();
- OUString aName = m_pEdName->GetText();
- OUString aExpression = m_pEdRange->GetText();
+ OUString aScope = m_xLbScope->get_active_text();
+ OUString aName = m_xEdName->get_text();
+ OUString aExpression = m_xEdRange->GetText();
if (aName.isEmpty())
{
@@ -232,10 +214,10 @@ void ScNameDefDlg::AddPushed()
maCursorPos,
nType );
- if ( m_pBtnRowHeader->IsChecked() ) nType |= ScRangeData::Type::RowHeader;
- if ( m_pBtnColHeader->IsChecked() ) nType |= ScRangeData::Type::ColHeader;
- if ( m_pBtnPrintArea->IsChecked() ) nType |= ScRangeData::Type::PrintArea;
- if ( m_pBtnCriteria->IsChecked() ) nType |= ScRangeData::Type::Criteria;
+ if ( m_xBtnRowHeader->get_active() ) nType |= ScRangeData::Type::RowHeader;
+ if ( m_xBtnColHeader->get_active() ) nType |= ScRangeData::Type::ColHeader;
+ if ( m_xBtnPrintArea->get_active() ) nType |= ScRangeData::Type::PrintArea;
+ if ( m_xBtnCriteria->get_active() ) nType |= ScRangeData::Type::Criteria;
pNewEntry->AddType(nType);
@@ -278,9 +260,8 @@ void ScNameDefDlg::AddPushed()
else
{
delete pNewEntry;
- Selection aCurSel = Selection( 0, SELECTION_MAX );
- m_pEdRange->GrabFocus();
- m_pEdRange->SetSelection( aCurSel );
+ m_xEdRange->GrabFocus();
+ m_xEdRange->SelectAll();
}
}
}
@@ -294,54 +275,54 @@ void ScNameDefDlg::GetNewData(OUString& rName, OUString& rScope)
bool ScNameDefDlg::IsRefInputMode() const
{
- return m_pEdRange->IsEnabled();
+ return m_xEdRange->GetWidget()->get_sensitive();
}
void ScNameDefDlg::RefInputDone( bool bForced)
{
- ScAnyRefDlg::RefInputDone(bForced);
+ ScAnyRefDlgController::RefInputDone(bForced);
IsNameValid();
}
void ScNameDefDlg::SetReference( const ScRange& rRef, ScDocument* pDocP )
{
- if ( m_pEdRange->IsEnabled() )
+ if (m_xEdRange->GetWidget()->get_sensitive())
{
if ( rRef.aStart != rRef.aEnd )
- RefInputStart(m_pEdRange);
+ RefInputStart(m_xEdRange.get());
OUString aRefStr(rRef.Format(ScRefFlags::RANGE_ABS_3D, pDocP,
ScAddress::Details(pDocP->GetAddressConvention(), 0, 0)));
- m_pEdRange->SetRefString( aRefStr );
+ m_xEdRange->SetRefString( aRefStr );
}
}
-bool ScNameDefDlg::Close()
+void ScNameDefDlg::Close()
{
- return DoClose( ScNameDefDlgWrapper::GetChildWindowId() );
+ DoClose( ScNameDefDlgWrapper::GetChildWindowId() );
}
void ScNameDefDlg::SetActive()
{
- m_pEdRange->GrabFocus();
+ m_xEdRange->GrabFocus();
RefInputDone();
}
-IMPL_LINK_NOARG(ScNameDefDlg, CancelBtnHdl, Button*, void)
+IMPL_LINK_NOARG(ScNameDefDlg, CancelBtnHdl, weld::Button&, void)
{
CancelPushed();
}
-IMPL_LINK_NOARG(ScNameDefDlg, AddBtnHdl, Button*, void)
+IMPL_LINK_NOARG(ScNameDefDlg, AddBtnHdl, weld::Button&, void)
{
AddPushed();
};
-IMPL_LINK_NOARG(ScNameDefDlg, NameModifyHdl, Edit&, void)
+IMPL_LINK_NOARG(ScNameDefDlg, NameModifyHdl, weld::Entry&, void)
{
IsNameValid();
}
-IMPL_LINK_NOARG(ScNameDefDlg, AssignGetFocusHdl, Control&, void)
+IMPL_LINK_NOARG(ScNameDefDlg, AssignGetFocusHdl, formula::WeldRefEdit&, void)
{
IsNameValid();
}
diff --git a/sc/source/ui/namedlg/namedlg.cxx b/sc/source/ui/namedlg/namedlg.cxx
index ddbddcf91c56..1ad1bf3a67b0 100644
--- a/sc/source/ui/namedlg/namedlg.cxx
+++ b/sc/source/ui/namedlg/namedlg.cxx
@@ -303,7 +303,7 @@ void ScNameDlg::AddPushed()
{
mbCloseWithoutUndo = true;
ScTabViewShell* pViewSh = ScTabViewShell::GetActiveViewShell();
- pViewSh->SwitchBetweenRefDialogControllers(this);
+ pViewSh->SwitchBetweenRefDialogs(this);
}
void ScNameDlg::SetEntry(const OUString& rName, const OUString& rScope)
diff --git a/sc/source/ui/view/reffact.cxx b/sc/source/ui/view/reffact.cxx
index ae17dd5da8d1..4522ab15d6fd 100644
--- a/sc/source/ui/view/reffact.cxx
+++ b/sc/source/ui/view/reffact.cxx
@@ -33,7 +33,7 @@
#include <validate.hxx>
SFX_IMPL_CHILDWINDOW_WITHID(ScNameDlgWrapper, FID_DEFINE_NAME)
-SFX_IMPL_MODELESSDIALOG_WITHID(ScNameDefDlgWrapper, FID_ADD_NAME )
+SFX_IMPL_CHILDWINDOW_WITHID(ScNameDefDlgWrapper, FID_ADD_NAME )
SFX_IMPL_MODELESSDIALOG_WITHID(ScSolverDlgWrapper, SID_OPENDLG_SOLVE )
SFX_IMPL_MODELESSDIALOG_WITHID(ScOptSolverDlgWrapper, SID_OPENDLG_OPTSOLVER )
SFX_IMPL_MODELESSDIALOG_WITHID(ScXMLSourceDlgWrapper, SID_MANAGE_XML_SOURCE)
@@ -123,7 +123,7 @@ namespace
IMPL_CONTROLLER_CHILD_CTOR( ScNameDlgWrapper, FID_DEFINE_NAME )
-IMPL_CHILD_CTOR( ScNameDefDlgWrapper, FID_ADD_NAME )
+IMPL_CONTROLLER_CHILD_CTOR( ScNameDefDlgWrapper, FID_ADD_NAME )
IMPL_CHILD_CTOR( ScSolverDlgWrapper, SID_OPENDLG_SOLVE )
diff --git a/sc/source/ui/view/tabvwshc.cxx b/sc/source/ui/view/tabvwshc.cxx
index dd9ea086f022..b06ebff57402 100644
--- a/sc/source/ui/view/tabvwshc.cxx
+++ b/sc/source/ui/view/tabvwshc.cxx
@@ -89,7 +89,7 @@ void ScTabViewShell::SetCurRefDlgId( sal_uInt16 nNew )
}
//ugly hack to call Define Name from Manage Names
-void ScTabViewShell::SwitchBetweenRefDialogs(SfxModelessDialog* pDialog)
+void ScTabViewShell::SwitchBetweenRefDialogs(SfxModelessDialogController* pDialog)
{
sal_uInt16 nSlotId = SC_MOD()->GetCurRefDlgId();
if( nSlotId == FID_ADD_NAME )
@@ -102,12 +102,7 @@ void ScTabViewShell::SwitchBetweenRefDialogs(SfxModelessDialog* pDialog)
SC_MOD()->SetRefDialog( nId, pWnd == nullptr );
}
-}
-
-void ScTabViewShell::SwitchBetweenRefDialogControllers(SfxModelessDialogController* pDialog)
-{
- sal_uInt16 nSlotId = SC_MOD()->GetCurRefDlgId();
- if (nSlotId == FID_DEFINE_NAME)
+ else if (nSlotId == FID_DEFINE_NAME)
{
mbInSwitch = true;
static_cast<ScNameDlg*>(pDialog)->GetRangeNames(m_RangeMap);
@@ -149,32 +144,6 @@ VclPtr<SfxModelessDialog> ScTabViewShell::CreateRefDialog(
switch( nSlotId )
{
- case FID_ADD_NAME:
- {
- if (!mbInSwitch)
- {
- std::map<OUString, ScRangeName*> aRangeMap;
- pDoc->GetRangeNameMap(aRangeMap);
- pResult = VclPtr<ScNameDefDlg>::Create( pB, pCW, pParent, &GetViewData(), aRangeMap,
- ScAddress( GetViewData().GetCurX(),
- GetViewData().GetCurY(),
- GetViewData().GetTabNo() ), true );
- }
- else
- {
- std::map<OUString, ScRangeName*> aRangeMap;
- for (auto const& itr : m_RangeMap)
- {
- aRangeMap.insert(std::pair<OUString, ScRangeName*>(itr.first, itr.second.get()));
- }
- pResult = VclPtr<ScNameDefDlg>::Create( pB, pCW, pParent, &GetViewData(), aRangeMap,
- ScAddress( GetViewData().GetCurX(),
- GetViewData().GetCurY(),
- GetViewData().GetTabNo() ), false );
- }
- }
- break;
-
case SID_DEFINE_COLROWNAMERANGES:
{
pResult = VclPtr<ScColRowNameRangesDlg>::Create( pB, pCW, pParent, &GetViewData() );
@@ -433,6 +402,8 @@ std::unique_ptr<SfxModelessDialogController> ScTabViewShell::CreateRefDialogCont
if(pCW)
pCW->SetHideNotDelete(true);
+ ScDocument* pDoc = GetViewData().GetDocument();
+
switch( nSlotId )
{
case SID_CORRELATION_DIALOG:
@@ -503,6 +474,31 @@ std::unique_ptr<SfxModelessDialogController> ScTabViewShell::CreateRefDialogCont
}
break;
}
+ case FID_ADD_NAME:
+ {
+ if (!mbInSwitch)
+ {
+ std::map<OUString, ScRangeName*> aRangeMap;
+ pDoc->GetRangeNameMap(aRangeMap);
+ xResult.reset(new ScNameDefDlg(pB, pCW, pParent, &GetViewData(), aRangeMap,
+ ScAddress(GetViewData().GetCurX(),
+ GetViewData().GetCurY(),
+ GetViewData().GetTabNo()), true));
+ }
+ else
+ {
+ std::map<OUString, ScRangeName*> aRangeMap;
+ for (auto const& itr : m_RangeMap)
+ {
+ aRangeMap.insert(std::pair<OUString, ScRangeName*>(itr.first, itr.second.get()));
+ }
+ xResult.reset(new ScNameDefDlg(pB, pCW, pParent, &GetViewData(), aRangeMap,
+ ScAddress(GetViewData().GetCurX(),
+ GetViewData().GetCurY(),
+ GetViewData().GetTabNo()), false));
+ }
+ break;
+ }
}
if (xResult)