[Libreoffice-commits] core.git: sc/inc sc/source sc/uiconfig
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Tue Mar 26 12:14:59 UTC 2019
sc/inc/scabstdlg.hxx | 5
sc/source/ui/attrdlg/scdlgfact.cxx | 14 -
sc/source/ui/attrdlg/scdlgfact.hxx | 12
sc/source/ui/dbgui/pfiltdlg.cxx | 393 +++++++++++++-----------------
sc/source/ui/inc/pfiltdlg.hxx | 60 ++--
sc/source/ui/view/gridwin2.cxx | 2
sc/source/ui/view/pivotsh.cxx | 2
sc/uiconfig/scalc/ui/pivotfilterdialog.ui | 57 ++--
8 files changed, 260 insertions(+), 285 deletions(-)
New commits:
commit d9de9d2d33bffb0032eac563079f66b13f1ca426
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue Mar 26 10:06:54 2019 +0000
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Mar 26 13:14:35 2019 +0100
weld ScPivotFilterDlg
Change-Id: I0a2ffa6fd02dcf82d55f961ba229112b456eda8e
Reviewed-on: https://gerrit.libreoffice.org/69733
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx
index 4a5d326049a1..5bcfd9d5fab4 100644
--- a/sc/inc/scabstdlg.hxx
+++ b/sc/inc/scabstdlg.hxx
@@ -468,8 +468,9 @@ public:
virtual VclPtr<AbstractScNamePasteDlg> CreateScNamePasteDlg(weld::Window * pParent, ScDocShell* pShell) = 0;
- virtual VclPtr<AbstractScPivotFilterDlg> CreateScPivotFilterDlg(vcl::Window* pParent,
- const SfxItemSet& rArgSet, sal_uInt16 nSourceTab) = 0;
+ virtual VclPtr<AbstractScPivotFilterDlg> CreateScPivotFilterDlg(weld::Window* pParent,
+ const SfxItemSet& rArgSet,
+ sal_uInt16 nSourceTab) = 0;
virtual VclPtr<AbstractScDPFunctionDlg> CreateScDPFunctionDlg(weld::Window* pParent,
const ScDPLabelDataVector& rLabelVec,
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx
index 88a153120400..581391c4857a 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -162,7 +162,10 @@ short AbstractScNamePasteDlg_Impl::Execute()
return m_xDlg->run();
}
-IMPL_ABSTDLG_BASE(AbstractScPivotFilterDlg_Impl);
+short AbstractScPivotFilterDlg_Impl::Execute()
+{
+ return m_xDlg->run();
+}
short AbstractScDPFunctionDlg_Impl::Execute()
{
@@ -603,9 +606,9 @@ std::vector<OUString> AbstractScNamePasteDlg_Impl::GetSelectedNames() const
return m_xDlg->GetSelectedNames();
}
-const ScQueryItem& AbstractScPivotFilterDlg_Impl::GetOutputItem()
+const ScQueryItem& AbstractScPivotFilterDlg_Impl::GetOutputItem()
{
- return pDlg->GetOutputItem();
+ return m_xDlg->GetOutputItem();
}
PivotFunc AbstractScDPFunctionDlg_Impl::GetFuncMask() const
@@ -903,11 +906,10 @@ VclPtr<AbstractScNamePasteDlg> ScAbstractDialogFactory_Impl::CreateScNamePasteDl
return VclPtr<AbstractScNamePasteDlg_Impl>::Create(std::make_unique<ScNamePasteDlg>(pParent, pShell));
}
-VclPtr<AbstractScPivotFilterDlg> ScAbstractDialogFactory_Impl::CreateScPivotFilterDlg(vcl::Window* pParent,
+VclPtr<AbstractScPivotFilterDlg> ScAbstractDialogFactory_Impl::CreateScPivotFilterDlg(weld::Window* pParent,
const SfxItemSet& rArgSet, sal_uInt16 nSourceTab)
{
- VclPtr<ScPivotFilterDlg> pDlg = VclPtr<ScPivotFilterDlg>::Create(pParent, rArgSet, nSourceTab);
- return VclPtr<AbstractScPivotFilterDlg_Impl>::Create(pDlg);
+ return VclPtr<AbstractScPivotFilterDlg_Impl>::Create(std::make_unique<ScPivotFilterDlg>(pParent, rArgSet, nSourceTab));
}
VclPtr<AbstractScDPFunctionDlg> ScAbstractDialogFactory_Impl::CreateScDPFunctionDlg(weld::Window* pParent,
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx
index c752101f82af..4d762f219742 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -388,7 +388,13 @@ public:
class AbstractScPivotFilterDlg_Impl : public AbstractScPivotFilterDlg
{
- DECL_ABSTDLG_BASE( AbstractScPivotFilterDlg_Impl, ScPivotFilterDlg)
+ std::unique_ptr<ScPivotFilterDlg> m_xDlg;
+public:
+ explicit AbstractScPivotFilterDlg_Impl(std::unique_ptr<ScPivotFilterDlg> p)
+ : m_xDlg(std::move(p))
+ {
+ }
+ virtual short Execute() override;
virtual const ScQueryItem& GetOutputItem() override;
};
@@ -660,8 +666,8 @@ public:
virtual VclPtr<AbstractScNamePasteDlg> CreateScNamePasteDlg(weld::Window * pParent, ScDocShell* pShell) override;
- virtual VclPtr<AbstractScPivotFilterDlg> CreateScPivotFilterDlg(vcl::Window* pParent,
- const SfxItemSet& rArgSet, sal_uInt16 nSourceTab) override;
+ virtual VclPtr<AbstractScPivotFilterDlg> CreateScPivotFilterDlg(weld::Window* pParent, const SfxItemSet& rArgSet,
+ sal_uInt16 nSourceTab) override;
virtual VclPtr<AbstractScDPFunctionDlg> CreateScDPFunctionDlg(weld::Window* pParent,
const ScDPLabelDataVector& rLabelVec,
diff --git a/sc/source/ui/dbgui/pfiltdlg.cxx b/sc/source/ui/dbgui/pfiltdlg.cxx
index a23e77027266..bd6b6ec1bbb3 100644
--- a/sc/source/ui/dbgui/pfiltdlg.cxx
+++ b/sc/source/ui/dbgui/pfiltdlg.cxx
@@ -37,72 +37,39 @@
#include <pfiltdlg.hxx>
#include <svl/sharedstringpool.hxx>
-ScPivotFilterDlg::ScPivotFilterDlg(vcl::Window* pParent, const SfxItemSet& rArgSet,
- SCTAB nSourceTab )
- : ModalDialog(pParent, "PivotFilterDialog",
- "modules/scalc/ui/pivotfilterdialog.ui" )
- ,
-
- aStrNone ( ScResId(SCSTR_NONE) ),
- aStrEmpty ( ScResId(SCSTR_FILTER_EMPTY) ),
- aStrNotEmpty ( ScResId(SCSTR_FILTER_NOTEMPTY) ),
- aStrColumn ( ScResId(SCSTR_COLUMN) ),
-
- nWhichQuery ( rArgSet.GetPool()->GetWhich( SID_QUERY ) ),
- theQueryData ( static_cast<const ScQueryItem&>(
- rArgSet.Get( nWhichQuery )).GetQueryData() ),
- pViewData ( nullptr ),
- pDoc ( nullptr ),
- nSrcTab ( nSourceTab ) // is not in QueryParam
+ScPivotFilterDlg::ScPivotFilterDlg(weld::Window* pParent, const SfxItemSet& rArgSet,
+ SCTAB nSourceTab )
+ : GenericDialogController(pParent, "modules/scalc/ui/pivotfilterdialog.ui", "PivotFilterDialog")
+ , aStrNone(ScResId(SCSTR_NONE))
+ , aStrEmpty(ScResId(SCSTR_FILTER_EMPTY))
+ , aStrNotEmpty(ScResId(SCSTR_FILTER_NOTEMPTY))
+ , aStrColumn(ScResId(SCSTR_COLUMN))
+ , nWhichQuery(rArgSet.GetPool()->GetWhich(SID_QUERY))
+ , theQueryData(static_cast<const ScQueryItem&>(rArgSet.Get(nWhichQuery)).GetQueryData())
+ , pViewData(nullptr)
+ , pDoc(nullptr)
+ , nSrcTab(nSourceTab) // is not in QueryParam
+ , m_xLbField1(m_xBuilder->weld_combo_box("field1"))
+ , m_xLbCond1(m_xBuilder->weld_combo_box("cond1"))
+ , m_xEdVal1(m_xBuilder->weld_combo_box("val1"))
+ , m_xLbConnect1(m_xBuilder->weld_combo_box("connect1"))
+ , m_xLbField2(m_xBuilder->weld_combo_box("field2"))
+ , m_xLbCond2(m_xBuilder->weld_combo_box("cond2"))
+ , m_xEdVal2(m_xBuilder->weld_combo_box("val2"))
+ , m_xLbConnect2(m_xBuilder->weld_combo_box("connect2"))
+ , m_xLbField3(m_xBuilder->weld_combo_box("field3"))
+ , m_xLbCond3(m_xBuilder->weld_combo_box("cond3"))
+ , m_xEdVal3(m_xBuilder->weld_combo_box("val3"))
+ , m_xBtnCase(m_xBuilder->weld_check_button("case"))
+ , m_xBtnRegExp(m_xBuilder->weld_check_button("regexp"))
+ , m_xBtnUnique(m_xBuilder->weld_check_button("unique"))
+ , m_xFtDbArea(m_xBuilder->weld_label("dbarea"))
{
- get(m_pLbField1, "field1");
- get(m_pLbCond1, "cond1");
- get(m_pEdVal1, "val1");
- get(m_pLbConnect1, "connect1");
- get(m_pLbField2, "field2");
- get(m_pLbCond2, "cond2");
- get(m_pEdVal2, "val2");
- get(m_pLbConnect2, "connect2");
- get(m_pLbField3, "field3");
- get(m_pLbCond3, "cond3");
- get(m_pEdVal3, "val3");
- get(m_pBtnCase, "case");
- get(m_pBtnRegExp, "regexp");
- get(m_pBtnUnique, "unique");
- get(m_pFtDbArea, "dbarea");
-
Init( rArgSet );
}
ScPivotFilterDlg::~ScPivotFilterDlg()
{
- disposeOnce();
-}
-
-void ScPivotFilterDlg::dispose()
-{
- for (auto& a : m_pEntryLists) a.reset();
-
- pOutItem.reset();
- m_pLbField1.clear();
- m_pLbCond1.clear();
- m_pEdVal1.clear();
- m_pLbConnect1.clear();
- m_pLbField2.clear();
- m_pLbCond2.clear();
- m_pEdVal2.clear();
- m_pLbConnect2.clear();
- m_pLbField3.clear();
- m_pLbCond3.clear();
- m_pEdVal3.clear();
- m_pBtnCase.clear();
- m_pBtnRegExp.clear();
- m_pBtnUnique.clear();
- m_pFtDbArea.clear();
- for (auto& a : aValueEdArr) a.clear();
- for (auto& a : aFieldLbArr) a.clear();
- for (auto& a : aCondLbArr) a.clear();
- ModalDialog::dispose();
}
void ScPivotFilterDlg::Init( const SfxItemSet& rArgSet )
@@ -110,31 +77,31 @@ void ScPivotFilterDlg::Init( const SfxItemSet& rArgSet )
const ScQueryItem& rQueryItem = static_cast<const ScQueryItem&>(
rArgSet.Get( nWhichQuery ));
- m_pBtnCase->SetClickHdl ( LINK( this, ScPivotFilterDlg, CheckBoxHdl ) );
+ m_xBtnCase->connect_clicked ( LINK( this, ScPivotFilterDlg, CheckBoxHdl ) );
- m_pLbField1->SetSelectHdl ( LINK( this, ScPivotFilterDlg, LbSelectHdl ) );
- m_pLbField2->SetSelectHdl ( LINK( this, ScPivotFilterDlg, LbSelectHdl ) );
- m_pLbField3->SetSelectHdl ( LINK( this, ScPivotFilterDlg, LbSelectHdl ) );
- m_pLbConnect1->SetSelectHdl( LINK( this, ScPivotFilterDlg, LbSelectHdl ) );
- m_pLbConnect2->SetSelectHdl( LINK( this, ScPivotFilterDlg, LbSelectHdl ) );
+ m_xLbField1->connect_changed ( LINK( this, ScPivotFilterDlg, LbSelectHdl ) );
+ m_xLbField2->connect_changed ( LINK( this, ScPivotFilterDlg, LbSelectHdl ) );
+ m_xLbField3->connect_changed ( LINK( this, ScPivotFilterDlg, LbSelectHdl ) );
+ m_xLbConnect1->connect_changed( LINK( this, ScPivotFilterDlg, LbSelectHdl ) );
+ m_xLbConnect2->connect_changed( LINK( this, ScPivotFilterDlg, LbSelectHdl ) );
- m_pBtnCase->Check( theQueryData.bCaseSens );
- m_pBtnRegExp->Check( theQueryData.eSearchType == utl::SearchParam::SearchType::Regexp );
- m_pBtnUnique->Check( !theQueryData.bDuplicate );
+ m_xBtnCase->set_active( theQueryData.bCaseSens );
+ m_xBtnRegExp->set_active( theQueryData.eSearchType == utl::SearchParam::SearchType::Regexp );
+ m_xBtnUnique->set_active( !theQueryData.bDuplicate );
pViewData = rQueryItem.GetViewData();
pDoc = pViewData ? pViewData->GetDocument() : nullptr;
// for easier access:
- aFieldLbArr [0] = m_pLbField1;
- aFieldLbArr [1] = m_pLbField2;
- aFieldLbArr [2] = m_pLbField3;
- aValueEdArr [0] = m_pEdVal1;
- aValueEdArr [1] = m_pEdVal2;
- aValueEdArr [2] = m_pEdVal3;
- aCondLbArr [0] = m_pLbCond1;
- aCondLbArr [1] = m_pLbCond2;
- aCondLbArr [2] = m_pLbCond3;
+ aFieldLbArr [0] = m_xLbField1.get();
+ aFieldLbArr [1] = m_xLbField2.get();
+ aFieldLbArr [2] = m_xLbField3.get();
+ aValueEdArr [0] = m_xEdVal1.get();
+ aValueEdArr [1] = m_xEdVal2.get();
+ aValueEdArr [2] = m_xEdVal3.get();
+ aCondLbArr [0] = m_xLbCond1.get();
+ aCondLbArr [1] = m_xLbCond2.get();
+ aCondLbArr [2] = m_xLbCond3.get();
if ( pViewData && pDoc )
{
@@ -164,11 +131,11 @@ void ScPivotFilterDlg::Init( const SfxItemSet& rArgSet )
aBuf.append(" (");
aBuf.append(theDbName);
aBuf.append(')');
- m_pFtDbArea->SetText(aBuf.makeStringAndClear());
+ m_xFtDbArea->set_label(aBuf.makeStringAndClear());
}
else
{
- m_pFtDbArea->SetText( EMPTY_OUSTRING );
+ m_xFtDbArea->set_label(EMPTY_OUSTRING);
}
// Read the field lists and select the entries:
@@ -189,72 +156,72 @@ void ScPivotFilterDlg::Init( const SfxItemSet& rArgSet )
sal_uInt16 nCondPos = static_cast<sal_uInt16>(rEntry.eOp);
sal_uInt16 nFieldSelPos = GetFieldSelPos( static_cast<SCCOL>(rEntry.nField) );
- aFieldLbArr[i]->SelectEntryPos( nFieldSelPos );
- aCondLbArr [i]->SelectEntryPos( nCondPos );
+ aFieldLbArr[i]->set_active( nFieldSelPos );
+ aCondLbArr [i]->set_active( nCondPos );
UpdateValueList( static_cast<sal_uInt16>(i+1) );
- aValueEdArr[i]->SetText( aValStr );
+ aValueEdArr[i]->set_entry_text(aValStr);
if (aValStr == aStrEmpty || aValStr == aStrNotEmpty)
- aCondLbArr[i]->Disable();
+ aCondLbArr[i]->set_sensitive(false);
}
else
{
- aFieldLbArr[i]->SelectEntryPos( 0 ); // "none" selected
- aCondLbArr [i]->SelectEntryPos( 0 ); // "=" selected
+ aFieldLbArr[i]->set_active( 0 ); // "none" selected
+ aCondLbArr [i]->set_active( 0 ); // "=" selected
UpdateValueList( static_cast<sal_uInt16>(i) );
- aValueEdArr[i]->SetText( EMPTY_OUSTRING );
+ aValueEdArr[i]->set_entry_text(EMPTY_OUSTRING);
}
- aValueEdArr[i]->SetModifyHdl( LINK( this, ScPivotFilterDlg, ValModifyHdl ) );
+ aValueEdArr[i]->connect_changed( LINK( this, ScPivotFilterDlg, ValModifyHdl ) );
}
// disable/enable logic:
- (m_pLbField1->GetSelectedEntryPos() != 0)
- && (m_pLbField2->GetSelectedEntryPos() != 0)
- ? m_pLbConnect1->SelectEntryPos( static_cast<sal_uInt16>(theQueryData.GetEntry(1).eConnect) )
- : m_pLbConnect1->SetNoSelection();
+ if (m_xLbField1->get_active() != 0 && m_xLbField2->get_active() != 0)
+ m_xLbConnect1->set_active( static_cast<sal_uInt16>(theQueryData.GetEntry(1).eConnect) );
+ else
+ m_xLbConnect1->set_active(-1);
- (m_pLbField2->GetSelectedEntryPos() != 0)
- && (m_pLbField3->GetSelectedEntryPos() != 0)
- ? m_pLbConnect2->SelectEntryPos( static_cast<sal_uInt16>(theQueryData.GetEntry(2).eConnect) )
- : m_pLbConnect2->SetNoSelection();
+ if (m_xLbField2->get_active() != 0 && m_xLbField3->get_active() != 0)
+ m_xLbConnect2->set_active( static_cast<sal_uInt16>(theQueryData.GetEntry(2).eConnect) );
+ else
+ m_xLbConnect2->set_active(-1);
- if ( m_pLbField1->GetSelectedEntryPos() == 0 )
+ if (m_xLbField1->get_active() == 0)
{
- m_pLbConnect1->Disable();
- m_pLbField2->Disable();
- m_pLbCond2->Disable();
- m_pEdVal2->Disable();
+ m_xLbConnect1->set_sensitive(false);
+ m_xLbField2->set_sensitive(false);
+ m_xLbCond2->set_sensitive(false);
+ m_xEdVal2->set_sensitive(false);
}
- else if ( m_pLbConnect1->GetSelectedEntryCount() == 0 )
+ else if (m_xLbConnect1->get_active() == -1)
{
- m_pLbField2->Disable();
- m_pLbCond2->Disable();
- m_pEdVal2->Disable();
+ m_xLbField2->set_sensitive(false);
+ m_xLbCond2->set_sensitive(false);
+ m_xEdVal2->set_sensitive(false);
}
- if ( m_pLbField2->GetSelectedEntryPos() == 0 )
+ if (m_xLbField2->get_active() == 0)
{
- m_pLbConnect2->Disable();
- m_pLbField3->Disable();
- m_pLbCond3->Disable();
- m_pEdVal3->Disable();
+ m_xLbConnect2->set_sensitive(false);
+ m_xLbField3->set_sensitive(false);
+ m_xLbCond3->set_sensitive(false);
+ m_xEdVal3->set_sensitive(false);
}
- else if ( m_pLbConnect2->GetSelectedEntryCount() == 0 )
+ else if (m_xLbConnect2->get_active() == -1)
{
- m_pLbField3->Disable();
- m_pLbCond3->Disable();
- m_pEdVal3->Disable();
+ m_xLbField3->set_sensitive(false);
+ m_xLbCond3->set_sensitive(false);
+ m_xEdVal3->set_sensitive(false);
}
}
void ScPivotFilterDlg::FillFieldLists()
{
- m_pLbField1->Clear();
- m_pLbField2->Clear();
- m_pLbField3->Clear();
- m_pLbField1->InsertEntry( aStrNone, 0 );
- m_pLbField2->InsertEntry( aStrNone, 0 );
- m_pLbField3->InsertEntry( aStrNone, 0 );
+ m_xLbField1->clear();
+ m_xLbField2->clear();
+ m_xLbField3->clear();
+ m_xLbField1->append_text(aStrNone);
+ m_xLbField2->append_text(aStrNone);
+ m_xLbField3->append_text(aStrNone);
if ( pDoc )
{
@@ -264,7 +231,6 @@ void ScPivotFilterDlg::FillFieldLists()
SCROW nFirstRow = theQueryData.nRow1;
SCCOL nMaxCol = theQueryData.nCol2;
SCCOL col = 0;
- sal_uInt16 i=1;
for ( col=nFirstCol; col<=nMaxCol; col++ )
{
@@ -273,10 +239,9 @@ void ScPivotFilterDlg::FillFieldLists()
{
aFieldName = ScGlobal::ReplaceOrAppend( aStrColumn, "%1", ScColToAlpha( col ));
}
- m_pLbField1->InsertEntry( aFieldName, i );
- m_pLbField2->InsertEntry( aFieldName, i );
- m_pLbField3->InsertEntry( aFieldName, i );
- i++;
+ m_xLbField1->append_text(aFieldName);
+ m_xLbField2->append_text(aFieldName);
+ m_xLbField3->append_text(aFieldName);
}
}
}
@@ -285,28 +250,26 @@ void ScPivotFilterDlg::UpdateValueList( sal_uInt16 nList )
{
if ( pDoc && nList>0 && nList<=3 )
{
- ComboBox* pValList = aValueEdArr[nList-1].get();
- sal_Int32 nFieldSelPos = aFieldLbArr[nList-1]->GetSelectedEntryPos();
- sal_Int32 nListPos = 0;
- OUString aCurValue = pValList->GetText();
+ weld::ComboBox* pValList = aValueEdArr[nList-1];
+ sal_Int32 nFieldSelPos = aFieldLbArr[nList-1]->get_active();
+ OUString aCurValue = pValList->get_active_text();
- pValList->Clear();
- pValList->InsertEntry( aStrNotEmpty, 0 );
- pValList->InsertEntry( aStrEmpty, 1 );
- nListPos = 2;
+ pValList->clear();
+ pValList->append_text(aStrNotEmpty);
+ pValList->append_text(aStrEmpty);
if ( pDoc && nFieldSelPos )
{
SCCOL nColumn = theQueryData.nCol1 + static_cast<SCCOL>(nFieldSelPos) - 1;
if (!m_pEntryLists[nColumn])
{
- WaitObject aWaiter( this );
+ weld::WaitObject aWaiter(m_xDialog.get());
SCTAB nTab = nSrcTab;
SCROW nFirstRow = theQueryData.nRow1;
SCROW nLastRow = theQueryData.nRow2;
nFirstRow++;
- bool bCaseSens = m_pBtnCase->IsChecked();
+ bool bCaseSens = m_xBtnCase->get_active();
m_pEntryLists[nColumn].reset( new ScFilterEntries);
pDoc->GetFilterEntriesArea(
nColumn, nFirstRow, nLastRow, nTab, bCaseSens, *m_pEntryLists[nColumn]);
@@ -315,11 +278,10 @@ void ScPivotFilterDlg::UpdateValueList( sal_uInt16 nList )
const ScFilterEntries* pColl = m_pEntryLists[nColumn].get();
for (const auto& rEntry : *pColl)
{
- pValList->InsertEntry(rEntry.GetString(), nListPos);
- nListPos++;
+ pValList->append_text(rEntry.GetString());
}
}
- pValList->SetText( aCurValue );
+ pValList->set_entry_text(aCurValue);
}
}
@@ -327,11 +289,11 @@ void ScPivotFilterDlg::ClearValueList( sal_uInt16 nList )
{
if ( nList>0 && nList<=3 )
{
- ComboBox* pValList = aValueEdArr[nList-1].get();
- pValList->Clear();
- pValList->InsertEntry( aStrNotEmpty, 0 );
- pValList->InsertEntry( aStrEmpty, 1 );
- pValList->SetText( EMPTY_OUSTRING );
+ weld::ComboBox* pValList = aValueEdArr[nList-1];
+ pValList->clear();
+ pValList->append_text(aStrNotEmpty);
+ pValList->append_text(aStrEmpty);
+ pValList->set_entry_text(EMPTY_OUSTRING);
}
}
@@ -346,17 +308,17 @@ sal_uInt16 ScPivotFilterDlg::GetFieldSelPos( SCCOL nField )
const ScQueryItem& ScPivotFilterDlg::GetOutputItem()
{
ScQueryParam theParam( theQueryData );
- sal_Int32 nConnect1 = m_pLbConnect1->GetSelectedEntryPos();
- sal_Int32 nConnect2 = m_pLbConnect2->GetSelectedEntryPos();
+ sal_Int32 nConnect1 = m_xLbConnect1->get_active();
+ sal_Int32 nConnect2 = m_xLbConnect2->get_active();
svl::SharedStringPool& rPool = pViewData->GetDocument()->GetSharedStringPool();
for ( SCSIZE i=0; i<3; i++ )
{
- const sal_Int32 nField = aFieldLbArr[i]->GetSelectedEntryPos();
- ScQueryOp eOp = static_cast<ScQueryOp>(aCondLbArr[i]->GetSelectedEntryPos());
+ const sal_Int32 nField = aFieldLbArr[i]->get_active();
+ ScQueryOp eOp = static_cast<ScQueryOp>(aCondLbArr[i]->get_active());
- bool bDoThis = (aFieldLbArr[i]->GetSelectedEntryPos() != 0);
+ bool bDoThis = (aFieldLbArr[i]->get_active() != 0);
theParam.GetEntry(i).bDoQuery = bDoThis;
if ( bDoThis )
@@ -364,7 +326,7 @@ const ScQueryItem& ScPivotFilterDlg::GetOutputItem()
ScQueryEntry& rEntry = theParam.GetEntry(i);
ScQueryEntry::Item& rItem = rEntry.GetQueryItem();
- OUString aStrVal = aValueEdArr[i]->GetText();
+ OUString aStrVal = aValueEdArr[i]->get_active_text();
/*
* The dialog returns the specific field values "empty"/"non empty"
@@ -394,10 +356,10 @@ const ScQueryItem& ScPivotFilterDlg::GetOutputItem()
}
}
- theParam.GetEntry(1).eConnect = (nConnect1 != LISTBOX_ENTRY_NOTFOUND)
+ theParam.GetEntry(1).eConnect = (nConnect1 != -1)
? static_cast<ScQueryConnect>(nConnect1)
: SC_AND;
- theParam.GetEntry(2).eConnect = (nConnect2 != LISTBOX_ENTRY_NOTFOUND)
+ theParam.GetEntry(2).eConnect = (nConnect2 != -1)
? static_cast<ScQueryConnect>(nConnect2)
: SC_AND;
@@ -406,9 +368,9 @@ const ScQueryItem& ScPivotFilterDlg::GetOutputItem()
theParam.nDestCol = 0;
theParam.nDestRow = 0;
- theParam.bDuplicate = !m_pBtnUnique->IsChecked();
- theParam.bCaseSens = m_pBtnCase->IsChecked();
- theParam.eSearchType = m_pBtnRegExp->IsChecked() ? utl::SearchParam::SearchType::Regexp : utl::SearchParam::SearchType::Normal;
+ theParam.bDuplicate = !m_xBtnUnique->get_active();
+ theParam.bCaseSens = m_xBtnCase->get_active();
+ theParam.eSearchType = m_xBtnRegExp->get_active() ? utl::SearchParam::SearchType::Regexp : utl::SearchParam::SearchType::Normal;
pOutItem.reset( new ScQueryItem( nWhichQuery, &theParam ) );
@@ -417,134 +379,133 @@ const ScQueryItem& ScPivotFilterDlg::GetOutputItem()
// Handler:
-IMPL_LINK( ScPivotFilterDlg, LbSelectHdl, ListBox&, rLb, void )
+IMPL_LINK( ScPivotFilterDlg, LbSelectHdl, weld::ComboBox&, rLb, void )
{
-
/*
* Handling the enable/disable logic based on which ListBox was touched:
*/
-
- if (&rLb == m_pLbConnect1)
+ if (&rLb == m_xLbConnect1.get())
{
- if ( !m_pLbField2->IsEnabled() )
+ if ( !m_xLbField2->get_sensitive() )
{
- m_pLbField2->Enable();
- m_pLbCond2->Enable();
- m_pEdVal2->Enable();
+ m_xLbField2->set_sensitive(true);
+ m_xLbCond2->set_sensitive(true);
+ m_xEdVal2->set_sensitive(true);
}
}
- else if (&rLb == m_pLbConnect2)
+ else if (&rLb == m_xLbConnect2.get())
{
- if ( !m_pLbField3->IsEnabled() )
+ if ( !m_xLbField3->get_sensitive() )
{
- m_pLbField3->Enable();
- m_pLbCond3->Enable();
- m_pEdVal3->Enable();
+ m_xLbField3->set_sensitive(true);
+ m_xLbCond3->set_sensitive(true);
+ m_xEdVal3->set_sensitive(true);
}
}
- else if (&rLb == m_pLbField1)
+ else if (&rLb == m_xLbField1.get())
{
- if ( m_pLbField1->GetSelectedEntryPos() == 0 )
+ if ( m_xLbField1->get_active() == 0 )
{
- m_pLbConnect1->SetNoSelection();
- m_pLbConnect2->SetNoSelection();
- m_pLbField2->SelectEntryPos( 0 );
- m_pLbField3->SelectEntryPos( 0 );
- m_pLbCond2->SelectEntryPos( 0 );
- m_pLbCond3->SelectEntryPos( 0 );
+ m_xLbConnect1->set_active(-1);
+ m_xLbConnect2->set_active(-1);
+ m_xLbField2->set_active( 0 );
+ m_xLbField3->set_active( 0 );
+ m_xLbCond2->set_active( 0 );
+ m_xLbCond3->set_active( 0 );
ClearValueList( 1 );
ClearValueList( 2 );
ClearValueList( 3 );
- m_pLbConnect1->Disable();
- m_pLbConnect2->Disable();
- m_pLbField2->Disable();
- m_pLbField3->Disable();
- m_pLbCond2->Disable();
- m_pLbCond3->Disable();
- m_pEdVal2->Disable();
- m_pEdVal3->Disable();
+ m_xLbConnect1->set_sensitive(false);
+ m_xLbConnect2->set_sensitive(false);
+ m_xLbField2->set_sensitive(false);
+ m_xLbField3->set_sensitive(false);
+ m_xLbCond2->set_sensitive(false);
+ m_xLbCond3->set_sensitive(false);
+ m_xEdVal2->set_sensitive(false);
+ m_xEdVal3->set_sensitive(false);
}
else
{
UpdateValueList( 1 );
- if ( !m_pLbConnect1->IsEnabled() )
+ if ( !m_xLbConnect1->get_sensitive() )
{
- m_pLbConnect1->Enable();
+ m_xLbConnect1->set_sensitive(true);
}
}
}
- else if (&rLb == m_pLbField2)
+ else if (&rLb == m_xLbField2.get())
{
- if ( m_pLbField2->GetSelectedEntryPos() == 0 )
+ if ( m_xLbField2->get_active() == 0 )
{
- m_pLbConnect2->SetNoSelection();
- m_pLbField3->SelectEntryPos( 0 );
- m_pLbCond3->SelectEntryPos( 0 );
+ m_xLbConnect2->set_active(-1);
+ m_xLbField3->set_active( 0 );
+ m_xLbCond3->set_active( 0 );
ClearValueList( 2 );
ClearValueList( 3 );
- m_pLbConnect2->Disable();
- m_pLbField3->Disable();
- m_pLbCond3->Disable();
- m_pEdVal3->Disable();
+ m_xLbConnect2->set_sensitive(false);
+ m_xLbField3->set_sensitive(false);
+ m_xLbCond3->set_sensitive(false);
+ m_xEdVal3->set_sensitive(false);
}
else
{
UpdateValueList( 2 );
- if ( !m_pLbConnect2->IsEnabled() )
+ if (!m_xLbConnect2->get_sensitive())
{
- m_pLbConnect2->Enable();
+ m_xLbConnect2->set_sensitive(true);
}
}
}
- else if (&rLb == m_pLbField3)
+ else if (&rLb == m_xLbField3.get())
{
- ( m_pLbField3->GetSelectedEntryPos() == 0 )
- ? ClearValueList( 3 )
- : UpdateValueList( 3 );
+ if (m_xLbField3->get_active() == 0)
+ ClearValueList(3);
+ else
+ UpdateValueList(3);
}
}
-IMPL_LINK( ScPivotFilterDlg, CheckBoxHdl, Button*, pBox, void )
+IMPL_LINK(ScPivotFilterDlg, CheckBoxHdl, weld::Button&, rBox, void)
{
// update the value lists when dealing with uppercase/lowercase
- if (pBox == m_pBtnCase) // value lists
+ if (&rBox == m_xBtnCase.get()) // value lists
{
for (auto& a : m_pEntryLists)
a.reset();
- OUString aCurVal1 = m_pEdVal1->GetText();
- OUString aCurVal2 = m_pEdVal2->GetText();
- OUString aCurVal3 = m_pEdVal3->GetText();
+ OUString aCurVal1 = m_xEdVal1->get_active_text();
+ OUString aCurVal2 = m_xEdVal2->get_active_text();
+ OUString aCurVal3 = m_xEdVal3->get_active_text();
UpdateValueList( 1 );
UpdateValueList( 2 );
UpdateValueList( 3 );
- m_pEdVal1->SetText( aCurVal1 );
- m_pEdVal2->SetText( aCurVal2 );
- m_pEdVal3->SetText( aCurVal3 );
+ m_xEdVal1->set_entry_text(aCurVal1);
+ m_xEdVal2->set_entry_text(aCurVal2);
+ m_xEdVal3->set_entry_text(aCurVal3);
}
}
-IMPL_LINK( ScPivotFilterDlg, ValModifyHdl, Edit&, rEd, void )
+IMPL_LINK( ScPivotFilterDlg, ValModifyHdl, weld::ComboBox&, rEd, void )
{
- OUString aStrVal = rEd.GetText();
- ListBox* pLb = m_pLbCond1;
+ OUString aStrVal = rEd.get_active_text();
+ weld::ComboBox* pLb = m_xLbCond1.get();
- if ( &rEd == m_pEdVal2 ) pLb = m_pLbCond2;
- else if ( &rEd == m_pEdVal3 ) pLb = m_pLbCond3;
+ if ( &rEd == m_xEdVal2.get() ) pLb = m_xLbCond2.get();
+ else if ( &rEd == m_xEdVal3.get() ) pLb = m_xLbCond3.get();
// if cond of the special values "empty"/"non-empty" was chosen only the
// =-operand makes sense:
if ( aStrEmpty == aStrVal || aStrNotEmpty == aStrVal )
{
- pLb->SelectEntry(OUString('='));
- pLb->Disable();
+ pLb->set_active_text(OUString('='));
+ pLb->set_sensitive(false);
}
else
- pLb->Enable();
+ pLb->set_sensitive(true);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/pfiltdlg.hxx b/sc/source/ui/inc/pfiltdlg.hxx
index df40641ad3d6..cd2a96f0ac35 100644
--- a/sc/source/ui/inc/pfiltdlg.hxx
+++ b/sc/source/ui/inc/pfiltdlg.hxx
@@ -20,11 +20,7 @@
#ifndef INCLUDED_SC_SOURCE_UI_INC_PFILTDLG_HXX
#define INCLUDED_SC_SOURCE_UI_INC_PFILTDLG_HXX
-#include <vcl/button.hxx>
-#include <vcl/fixed.hxx>
-#include <vcl/dialog.hxx>
-#include <vcl/lstbox.hxx>
-#include <vcl/combobox.hxx>
+#include <vcl/weld.hxx>
#include <address.hxx>
#include <queryparam.hxx>
#include <array>
@@ -36,34 +32,15 @@ class ScQueryItem;
class SfxItemSet;
struct ScFilterEntries;
-class ScPivotFilterDlg : public ModalDialog
+class ScPivotFilterDlg : public weld::GenericDialogController
{
public:
- ScPivotFilterDlg(vcl::Window* pParent, const SfxItemSet& rArgSet, SCTAB nSourceTab);
+ ScPivotFilterDlg(weld::Window* pParent, const SfxItemSet& rArgSet, SCTAB nSourceTab);
virtual ~ScPivotFilterDlg() override;
- virtual void dispose() override;
const ScQueryItem& GetOutputItem();
private:
- VclPtr<ListBox> m_pLbField1;
- VclPtr<ListBox> m_pLbCond1;
- VclPtr<ComboBox> m_pEdVal1;
-
- VclPtr<ListBox> m_pLbConnect1;
- VclPtr<ListBox> m_pLbField2;
- VclPtr<ListBox> m_pLbCond2;
- VclPtr<ComboBox> m_pEdVal2;
-
- VclPtr<ListBox> m_pLbConnect2;
- VclPtr<ListBox> m_pLbField3;
- VclPtr<ListBox> m_pLbCond3;
- VclPtr<ComboBox> m_pEdVal3;
-
- VclPtr<CheckBox> m_pBtnCase;
- VclPtr<CheckBox> m_pBtnRegExp;
- VclPtr<CheckBox> m_pBtnUnique;
- VclPtr<FixedText> m_pFtDbArea;
const OUString aStrNone;
const OUString aStrEmpty;
const OUString aStrNotEmpty;
@@ -76,9 +53,28 @@ private:
ScDocument* pDoc;
SCTAB const nSrcTab;
- VclPtr<ComboBox> aValueEdArr[3];
- VclPtr<ListBox> aFieldLbArr[3];
- VclPtr<ListBox> aCondLbArr[3];
+ std::unique_ptr<weld::ComboBox> m_xLbField1;
+ std::unique_ptr<weld::ComboBox> m_xLbCond1;
+ std::unique_ptr<weld::ComboBox> m_xEdVal1;
+
+ std::unique_ptr<weld::ComboBox> m_xLbConnect1;
+ std::unique_ptr<weld::ComboBox> m_xLbField2;
+ std::unique_ptr<weld::ComboBox> m_xLbCond2;
+ std::unique_ptr<weld::ComboBox> m_xEdVal2;
+
+ std::unique_ptr<weld::ComboBox> m_xLbConnect2;
+ std::unique_ptr<weld::ComboBox> m_xLbField3;
+ std::unique_ptr<weld::ComboBox> m_xLbCond3;
+ std::unique_ptr<weld::ComboBox> m_xEdVal3;
+
+ std::unique_ptr<weld::CheckButton> m_xBtnCase;
+ std::unique_ptr<weld::CheckButton> m_xBtnRegExp;
+ std::unique_ptr<weld::CheckButton> m_xBtnUnique;
+ std::unique_ptr<weld::Label> m_xFtDbArea;
+
+ weld::ComboBox* aValueEdArr[3];
+ weld::ComboBox* aFieldLbArr[3];
+ weld::ComboBox* aCondLbArr[3];
std::array<std::unique_ptr<ScFilterEntries>, MAXCOLCOUNT> m_pEntryLists;
@@ -90,9 +86,9 @@ private:
sal_uInt16 GetFieldSelPos ( SCCOL nField );
// Handler:
- DECL_LINK( LbSelectHdl, ListBox&, void );
- DECL_LINK( ValModifyHdl, Edit&, void );
- DECL_LINK( CheckBoxHdl, Button*, void );
+ DECL_LINK( LbSelectHdl, weld::ComboBox&, void );
+ DECL_LINK( ValModifyHdl, weld::ComboBox&, void );
+ DECL_LINK( CheckBoxHdl, weld::Button&, void );
};
#endif // INCLUDED_SC_SOURCE_UI_INC_PFILTDLG_HXX
diff --git a/sc/source/ui/view/gridwin2.cxx b/sc/source/ui/view/gridwin2.cxx
index fda045a3789f..aef8160eedc7 100644
--- a/sc/source/ui/view/gridwin2.cxx
+++ b/sc/source/ui/view/gridwin2.cxx
@@ -206,7 +206,7 @@ void ScGridWindow::DoPushPivotButton( SCCOL nCol, SCROW nRow, const MouseEvent&
ScopedVclPtr<AbstractScPivotFilterDlg> pDlg(
pFact->CreateScPivotFilterDlg(
- pViewData->GetViewShell()->GetDialogParent(), aArgSet, nSrcTab));
+ pViewData->GetViewShell()->GetFrameWeld(), aArgSet, nSrcTab));
if ( pDlg->Execute() == RET_OK )
{
ScSheetSourceDesc aNewDesc(pDoc);
diff --git a/sc/source/ui/view/pivotsh.cxx b/sc/source/ui/view/pivotsh.cxx
index 79f7900b7f49..e71221797d95 100644
--- a/sc/source/ui/view/pivotsh.cxx
+++ b/sc/source/ui/view/pivotsh.cxx
@@ -104,7 +104,7 @@ void ScPivotShell::Execute( const SfxRequest& rReq )
ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
ScopedVclPtr<AbstractScPivotFilterDlg> pDlg(pFact->CreateScPivotFilterDlg(
- pViewShell->GetDialogParent(), aArgSet, nSrcTab));
+ pViewShell->GetFrameWeld(), aArgSet, nSrcTab));
if( pDlg->Execute() == RET_OK )
{
diff --git a/sc/uiconfig/scalc/ui/pivotfilterdialog.ui b/sc/uiconfig/scalc/ui/pivotfilterdialog.ui
index 6d6f85160572..b3b11bf107c6 100644
--- a/sc/uiconfig/scalc/ui/pivotfilterdialog.ui
+++ b/sc/uiconfig/scalc/ui/pivotfilterdialog.ui
@@ -1,12 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.18.3 -->
+<!-- Generated with glade 3.22.1 -->
<interface domain="sc">
<requires lib="gtk+" version="3.18"/>
<object class="GtkDialog" id="PivotFilterDialog">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes" context="pivotfilterdialog|PivotFilterDialog">Filter</property>
+ <property name="modal">True</property>
+ <property name="default_width">0</property>
+ <property name="default_height">0</property>
<property name="type_hint">dialog</property>
+ <child>
+ <placeholder/>
+ </child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="can_focus">False</property>
@@ -215,12 +221,12 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<items>
- <item translatable="no">=</item>
- <item translatable="no"><</item>
- <item translatable="no">></item>
- <item translatable="no"><=</item>
- <item translatable="no">>=</item>
- <item translatable="no"><></item>
+ <item>=</item>
+ <item><</item>
+ <item>></item>
+ <item><=</item>
+ <item>>=</item>
+ <item><></item>
</items>
<accessibility>
<relation type="labelled-by" target="label4"/>
@@ -236,12 +242,12 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<items>
- <item translatable="no">=</item>
- <item translatable="no"><</item>
- <item translatable="no">></item>
- <item translatable="no"><=</item>
- <item translatable="no">>=</item>
- <item translatable="no"><></item>
+ <item>=</item>
+ <item><</item>
+ <item>></item>
+ <item><=</item>
+ <item>>=</item>
+ <item><></item>
</items>
<accessibility>
<relation type="labelled-by" target="label4"/>
@@ -257,12 +263,12 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<items>
- <item translatable="no">=</item>
- <item translatable="no"><</item>
- <item translatable="no">></item>
- <item translatable="no"><=</item>
- <item translatable="no">>=</item>
- <item translatable="no"><></item>
+ <item>=</item>
+ <item><</item>
+ <item>></item>
+ <item><=</item>
+ <item>>=</item>
+ <item><></item>
</items>
<accessibility>
<relation type="labelled-by" target="label4"/>
@@ -281,7 +287,8 @@
<property name="has_entry">True</property>
<child internal-child="entry">
<object class="GtkEntry" id="comboboxtext-entry2">
- <property name="can_focus">False</property>
+ <property name="can_focus">True</property>
+ <property name="activates_default">True</property>
</object>
</child>
<accessibility>
@@ -301,7 +308,8 @@
<property name="has_entry">True</property>
<child internal-child="entry">
<object class="GtkEntry" id="comboboxtext-entry4">
- <property name="can_focus">False</property>
+ <property name="can_focus">True</property>
+ <property name="activates_default">True</property>
</object>
</child>
<accessibility>
@@ -321,7 +329,8 @@
<property name="has_entry">True</property>
<child internal-child="entry">
<object class="GtkEntry" id="comboboxtext-entry6">
- <property name="can_focus">False</property>
+ <property name="can_focus">True</property>
+ <property name="activates_default">True</property>
</object>
</child>
<accessibility>
@@ -446,8 +455,8 @@
<object class="GtkLabel" id="dbarealabel">
<property name="sensitive">False</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="pivotfilterdialog|dbarealabel">Data range:</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -459,8 +468,8 @@
<property name="sensitive">False</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
- <property name="xalign">0</property>
<property name="label" translatable="yes" context="pivotfilterdialog|dbarea">dummy</property>
+ <property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
More information about the Libreoffice-commits
mailing list