summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-06-05 16:11:39 +0100
committerSzymon Kłos <szymon.klos@collabora.com>2020-11-30 18:19:52 +0100
commit44f5cdc14537d244c254f7201f2f8da483cc4727 (patch)
treebc48152222c91d0c93617b3a8836dae96af72e8e /sc
parent3826d521852f408f4679837d94288d97ab13e0b4 (diff)
rework treeview initial toggle button col to be like expander col
cause this assumption is baked into the vcl one making it hard to adapt remaining cases Change-Id: I75dd5264c65b1ffbf4d26c9a86f6d4d08b400d90 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95622 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106874 Tested-by: Szymon Kłos <szymon.klos@collabora.com> Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/ui/dbgui/dpgroupdlg.cxx21
-rw-r--r--sc/source/ui/dbgui/pvfundlg.cxx14
-rw-r--r--sc/source/ui/dbgui/tpsubt.cxx20
-rw-r--r--sc/source/ui/inc/dpgroupdlg.hxx5
-rw-r--r--sc/source/ui/inc/tpsubt.hxx3
-rw-r--r--sc/source/ui/miscdlgs/protectiondlg.cxx16
-rw-r--r--sc/source/ui/miscdlgs/solveroptions.cxx20
7 files changed, 46 insertions, 53 deletions
diff --git a/sc/source/ui/dbgui/dpgroupdlg.cxx b/sc/source/ui/dbgui/dpgroupdlg.cxx
index adbcee0f1874..149b0be3639d 100644
--- a/sc/source/ui/dbgui/dpgroupdlg.cxx
+++ b/sc/source/ui/dbgui/dpgroupdlg.cxx
@@ -216,17 +216,15 @@ ScDPDateGroupDlg::ScDPDateGroupDlg(weld::Window* pParent,
maStartHelper.SetValue( rInfo.mbAutoStart, rInfo.mfStart );
maEndHelper.SetValue( rInfo.mbAutoEnd, rInfo.mfEnd );
- std::vector<int> aWidths;
- aWidths.push_back(mxLbUnits->get_checkbox_column_width());
- mxLbUnits->set_column_fixed_widths(aWidths);
+ mxLbUnits->enable_toggle_buttons(weld::ColumnToggleType::Check);
if( nDatePart == 0 )
nDatePart = css::sheet::DataPilotFieldGroupBy::MONTHS;
for (size_t nIdx = 0; nIdx < SAL_N_ELEMENTS(aDatePartResIds); ++nIdx)
{
mxLbUnits->append();
- mxLbUnits->set_toggle(nIdx, (nDatePart & spnDateParts[ nIdx ]) ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
- mxLbUnits->set_text(nIdx, ScResId(aDatePartResIds[nIdx]), 1);
+ mxLbUnits->set_toggle(nIdx, (nDatePart & spnDateParts[ nIdx ]) ? TRISTATE_TRUE : TRISTATE_FALSE);
+ mxLbUnits->set_text(nIdx, ScResId(aDatePartResIds[nIdx]), 0);
}
if( rInfo.mbDateValues )
@@ -296,7 +294,7 @@ sal_Int32 ScDPDateGroupDlg::GetDatePart() const
// return listbox contents for "units" mode
sal_Int32 nDatePart = 0;
for (int nIdx = 0, nCount = mxLbUnits->n_children(); nIdx < nCount; ++nIdx )
- if (mxLbUnits->get_toggle(nIdx, 0) == TRISTATE_TRUE)
+ if (mxLbUnits->get_toggle(nIdx) == TRISTATE_TRUE)
nDatePart |= spnDateParts[ nIdx ];
return nDatePart;
}
@@ -318,7 +316,7 @@ IMPL_LINK(ScDPDateGroupDlg, ClickHdl, weld::Button&, rButton, void)
mxLbUnits->set_sensitive(true);
mxLbUnits->grab_focus();
// disable OK button if no date part selected
- CheckHdl(row_col(0, 0));
+ Check();
}
}
@@ -328,14 +326,19 @@ namespace
{
for (int i = 0; i < rView.n_children(); ++i)
{
- if (rView.get_toggle(i, 0) == TRISTATE_TRUE)
+ if (rView.get_toggle(i) == TRISTATE_TRUE)
return true;
}
return false;
}
}
-IMPL_LINK_NOARG(ScDPDateGroupDlg, CheckHdl, const row_col&, void)
+IMPL_LINK_NOARG(ScDPDateGroupDlg, CheckHdl, const weld::TreeView::iter_col&, void)
+{
+ Check();
+}
+
+void ScDPDateGroupDlg::Check()
{
// enable/disable OK button on modifying check list box
mxBtnOk->set_sensitive(HasCheckedEntryCount(*mxLbUnits));
diff --git a/sc/source/ui/dbgui/pvfundlg.cxx b/sc/source/ui/dbgui/pvfundlg.cxx
index f9df9a244eb7..0f53cc0c37c6 100644
--- a/sc/source/ui/dbgui/pvfundlg.cxx
+++ b/sc/source/ui/dbgui/pvfundlg.cxx
@@ -94,13 +94,13 @@ bool lclFillListBox(weld::TreeView& rLBox, const vector<ScDPLabelData::Member>&
{
rLBox.append();
int pos = rLBox.n_children() - 1;
- rLBox.set_toggle(pos, TRISTATE_FALSE, 0);
+ rLBox.set_toggle(pos, TRISTATE_FALSE);
OUString aName = rMember.getDisplayName();
if (!aName.isEmpty())
- rLBox.set_text(pos, aName, 1);
+ rLBox.set_text(pos, aName, 0);
else
{
- rLBox.set_text(pos, ScResId(STR_EMPTYDATA), 1);
+ rLBox.set_text(pos, ScResId(STR_EMPTYDATA), 0);
bEmpty = true;
}
}
@@ -628,9 +628,7 @@ ScDPSubtotalOptDlg::ScDPSubtotalOptDlg(weld::Window* pParent, ScDPObject& rDPObj
, mrDPObj(rDPObj)
, maLabelData(rLabelData)
{
- std::vector<int> aWidths;
- aWidths.push_back(m_xLbHide->get_checkbox_column_width());
- m_xLbHide->set_column_fixed_widths(aWidths);
+ m_xLbHide->enable_toggle_buttons(weld::ColumnToggleType::Check);
m_xLbSortBy->set_size_request(m_xLbSortBy->get_approximate_digit_width() * 18, -1);
m_xLbHide->set_size_request(-1, m_xLbHide->get_height_rows(5));
@@ -683,7 +681,7 @@ void ScDPSubtotalOptDlg::FillLabelData( ScDPLabelData& rLabelData ) const
rLabelData.maMembers = maLabelData.maMembers;
int nVisCount = m_xLbHide->n_children();
for (int nPos = 0; nPos < nVisCount; ++nPos)
- rLabelData.maMembers[nPos].mbVisible = m_xLbHide->get_toggle(nPos, 0) == TRISTATE_FALSE;
+ rLabelData.maMembers[nPos].mbVisible = m_xLbHide->get_toggle(nPos) == TRISTATE_FALSE;
// *** HIERARCHY ***
@@ -791,7 +789,7 @@ void ScDPSubtotalOptDlg::InitHideListBox()
lclFillListBox(*m_xLbHide, maLabelData.maMembers);
size_t n = maLabelData.maMembers.size();
for (size_t i = 0; i < n; ++i)
- m_xLbHide->set_toggle(i, maLabelData.maMembers[i].mbVisible ? TRISTATE_FALSE : TRISTATE_TRUE, 0);
+ m_xLbHide->set_toggle(i, maLabelData.maMembers[i].mbVisible ? TRISTATE_FALSE : TRISTATE_TRUE);
bool bEnable = m_xLbHide->n_children() > 0;
m_xHideFrame->set_sensitive(bEnable);
}
diff --git a/sc/source/ui/dbgui/tpsubt.cxx b/sc/source/ui/dbgui/tpsubt.cxx
index 684095e04163..ed23b10017a6 100644
--- a/sc/source/ui/dbgui/tpsubt.cxx
+++ b/sc/source/ui/dbgui/tpsubt.cxx
@@ -57,9 +57,7 @@ ScTpSubTotalGroup::ScTpSubTotalGroup(weld::Container* pPage, weld::DialogControl
mxLbColumns->set_size_request(-1, nHeight);
mxLbFunctions->set_size_request(-1, nHeight);
- std::vector<int> aWidths;
- aWidths.push_back(mxLbColumns->get_checkbox_column_width());
- mxLbColumns->set_column_fixed_widths(aWidths);
+ mxLbColumns->enable_toggle_buttons(weld::ColumnToggleType::Check);
Init();
}
@@ -102,7 +100,7 @@ bool ScTpSubTotalGroup::DoReset( sal_uInt16 nGroupNo,
// first we have to clear the listboxes...
for (int nLbEntry = 0, nCount = mxLbColumns->n_children(); nLbEntry < nCount; ++nLbEntry)
{
- mxLbColumns->set_toggle(nLbEntry, TRISTATE_FALSE, 0);
+ mxLbColumns->set_toggle(nLbEntry, TRISTATE_FALSE);
mxLbColumns->set_id(nLbEntry, "0");
}
mxLbFunctions->select(0);
@@ -125,7 +123,7 @@ bool ScTpSubTotalGroup::DoReset( sal_uInt16 nGroupNo,
{
sal_uInt16 nCheckPos = GetFieldSelPos( pSubTotals[i] );
- mxLbColumns->set_toggle(nCheckPos, TRISTATE_TRUE, 0);
+ mxLbColumns->set_toggle(nCheckPos, TRISTATE_TRUE);
mxLbColumns->set_id(nCheckPos, OUString::number(FuncToLbPos(pFunctions[i])));
if (i == 0 || nCheckPos < nFirstChecked)
@@ -151,7 +149,7 @@ namespace
int nRet = 0;
for (sal_Int32 i=0, nEntryCount = rTreeView.n_children(); i < nEntryCount; ++i)
{
- if (rTreeView.get_toggle(i, 0) == TRISTATE_TRUE)
+ if (rTreeView.get_toggle(i) == TRISTATE_TRUE)
++nRet;
}
return nRet;
@@ -211,7 +209,7 @@ bool ScTpSubTotalGroup::DoFillItemSet( sal_uInt16 nGroupNo,
for ( sal_Int32 i=0, nCheck=0; i<nEntryCount; i++ )
{
- if (mxLbColumns->get_toggle(i, 0) == TRISTATE_TRUE)
+ if (mxLbColumns->get_toggle(i) == TRISTATE_TRUE)
{
OSL_ENSURE( nCheck <= nCheckCount,
"Range error :-(" );
@@ -261,8 +259,8 @@ void ScTpSubTotalGroup::FillListBoxes()
nFieldArr[i] = col;
mxLbGroup->insert_text(i+1, aFieldName);
mxLbColumns->insert(i);
- mxLbColumns->set_toggle(i, TRISTATE_FALSE, 0);
- mxLbColumns->set_text(i, aFieldName, 1);
+ mxLbColumns->set_toggle(i, TRISTATE_FALSE);
+ mxLbColumns->set_text(i, aFieldName, 0);
mxLbColumns->set_id(i, "0");
i++;
}
@@ -359,12 +357,12 @@ void ScTpSubTotalGroup::SelectHdl(const weld::Widget *pLb)
else if ( pLb == mxLbFunctions.get() )
{
mxLbColumns->set_id(nColumn, OUString::number(nFunction));
- mxLbColumns->set_toggle(nColumn, TRISTATE_TRUE, 0);
+ mxLbColumns->set_toggle(nColumn, TRISTATE_TRUE);
}
}
}
-IMPL_LINK( ScTpSubTotalGroup, CheckHdl, const row_col&, rRowCol, void )
+IMPL_LINK( ScTpSubTotalGroup, CheckHdl, const weld::TreeView::iter_col&, rRowCol, void )
{
mxLbColumns->select(rRowCol.first);
SelectHdl(mxLbColumns.get());
diff --git a/sc/source/ui/inc/dpgroupdlg.hxx b/sc/source/ui/inc/dpgroupdlg.hxx
index 9bf99e197f23..66739b0fe53f 100644
--- a/sc/source/ui/inc/dpgroupdlg.hxx
+++ b/sc/source/ui/inc/dpgroupdlg.hxx
@@ -117,10 +117,9 @@ public:
private:
DECL_LINK(ClickHdl, weld::Button&, void);
+ DECL_LINK(CheckHdl, const weld::TreeView::iter_col&, void);
- typedef std::pair<int, int> row_col;
- DECL_LINK(CheckHdl, const row_col&, void);
-
+ void Check();
private:
std::unique_ptr<weld::RadioButton> mxRbAutoStart;
std::unique_ptr<weld::RadioButton> mxRbManStart;
diff --git a/sc/source/ui/inc/tpsubt.hxx b/sc/source/ui/inc/tpsubt.hxx
index f4e52a5a6517..d5a2ca023eed 100644
--- a/sc/source/ui/inc/tpsubt.hxx
+++ b/sc/source/ui/inc/tpsubt.hxx
@@ -68,8 +68,7 @@ private:
// Handler ------------------------
DECL_LINK( SelectListBoxHdl, weld::ComboBox&, void );
DECL_LINK( SelectTreeListBoxHdl, weld::TreeView&, void );
- typedef std::pair<int, int> row_col;
- DECL_LINK(CheckHdl, const row_col&, void);
+ DECL_LINK(CheckHdl, const weld::TreeView::iter_col&, void);
void SelectHdl(const weld::Widget*);
};
diff --git a/sc/source/ui/miscdlgs/protectiondlg.cxx b/sc/source/ui/miscdlgs/protectiondlg.cxx
index 909e205631b8..a1718ac985ed 100644
--- a/sc/source/ui/miscdlgs/protectiondlg.cxx
+++ b/sc/source/ui/miscdlgs/protectiondlg.cxx
@@ -59,9 +59,7 @@ ScTableProtectionDlg::ScTableProtectionDlg(weld::Window* pParent)
m_aDeleteColumns = m_xDeleteColumns->get_label();
m_aDeleteRows = m_xDeleteRows->get_label();
- std::vector<int> aWidths;
- aWidths.push_back(m_xOptionsListBox->get_checkbox_column_width());
- m_xOptionsListBox->set_column_fixed_widths(aWidths);
+ m_xOptionsListBox->enable_toggle_buttons(weld::ColumnToggleType::Check);
Init();
}
@@ -73,7 +71,7 @@ ScTableProtectionDlg::~ScTableProtectionDlg()
void ScTableProtectionDlg::SetDialogData(const ScTableProtection& rData)
{
for (size_t i = 0; i < aOptions.size(); ++i)
- m_xOptionsListBox->set_toggle(i, rData.isOptionEnabled(aOptions[i]) ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
+ m_xOptionsListBox->set_toggle(i, rData.isOptionEnabled(aOptions[i]) ? TRISTATE_TRUE : TRISTATE_FALSE);
}
void ScTableProtectionDlg::WriteData(ScTableProtection& rData) const
@@ -84,15 +82,15 @@ void ScTableProtectionDlg::WriteData(ScTableProtection& rData) const
rData.setPassword(m_xPassword1Edit->get_text());
for (size_t i = 0; i < aOptions.size(); ++i)
- rData.setOption(aOptions[i], m_xOptionsListBox->get_toggle(i, 0) == TRISTATE_TRUE);
+ rData.setOption(aOptions[i], m_xOptionsListBox->get_toggle(i) == TRISTATE_TRUE);
}
void ScTableProtectionDlg::InsertEntry(const OUString& rTxt)
{
m_xOptionsListBox->append();
const int nRow = m_xOptionsListBox->n_children() - 1;
- m_xOptionsListBox->set_toggle(nRow, TRISTATE_FALSE, 0);
- m_xOptionsListBox->set_text(nRow, rTxt, 1);
+ m_xOptionsListBox->set_toggle(nRow, TRISTATE_FALSE);
+ m_xOptionsListBox->set_text(nRow, rTxt, 0);
}
void ScTableProtectionDlg::Init()
@@ -115,8 +113,8 @@ void ScTableProtectionDlg::Init()
InsertEntry(m_aDeleteColumns);
InsertEntry(m_aDeleteRows);
- m_xOptionsListBox->set_toggle(0, TRISTATE_TRUE, 0);
- m_xOptionsListBox->set_toggle(1, TRISTATE_TRUE, 0);
+ m_xOptionsListBox->set_toggle(0, TRISTATE_TRUE);
+ m_xOptionsListBox->set_toggle(1, TRISTATE_TRUE);
m_xOptionsListBox->thaw();
diff --git a/sc/source/ui/miscdlgs/solveroptions.cxx b/sc/source/ui/miscdlgs/solveroptions.cxx
index ce9f4f6d7c66..8673143ffbb6 100644
--- a/sc/source/ui/miscdlgs/solveroptions.cxx
+++ b/sc/source/ui/miscdlgs/solveroptions.cxx
@@ -66,9 +66,7 @@ ScSolverOptionsDialog::ScSolverOptionsDialog(weld::Window* pParent,
m_xLbSettings->set_size_request(m_xLbSettings->get_approximate_digit_width() * 32,
m_xLbSettings->get_height_rows(6));
- std::vector<int> aWidths;
- aWidths.push_back(m_xLbSettings->get_checkbox_column_width());
- m_xLbSettings->set_column_fixed_widths(aWidths);
+ m_xLbSettings->enable_toggle_buttons(weld::ColumnToggleType::Check);
m_xLbEngine->connect_changed( LINK( this, ScSolverOptionsDialog, EngineSelectHdl ) );
@@ -128,7 +126,7 @@ const uno::Sequence<beans::PropertyValue>& ScSolverOptionsDialog::GetProperties(
rValue <<= pStringItem->GetIntValue();
}
else
- rValue <<= m_xLbSettings->get_toggle(nEntryPos, 0) == TRISTATE_TRUE;
+ rValue <<= m_xLbSettings->get_toggle(nEntryPos) == TRISTATE_TRUE;
}
}
else
@@ -184,13 +182,13 @@ void ScSolverOptionsDialog::FillListBox()
if ( eClass == uno::TypeClass_BOOLEAN )
{
// check box entry
- m_xLbSettings->set_toggle(nPos, ScUnoHelpFunctions::GetBoolFromAny(aValue) ? TRISTATE_TRUE : TRISTATE_FALSE, 0);
- m_xLbSettings->set_text(nPos, aVisName, 1);
+ m_xLbSettings->set_toggle(nPos, ScUnoHelpFunctions::GetBoolFromAny(aValue) ? TRISTATE_TRUE : TRISTATE_FALSE);
+ m_xLbSettings->set_text(nPos, aVisName, 0);
}
else
{
// value entry
- m_xLbSettings->set_text(nPos, aVisName, 1);
+ m_xLbSettings->set_text(nPos, aVisName, 0);
m_aOptions.emplace_back(new ScSolverOptionsString(aVisName));
if (eClass == uno::TypeClass_DOUBLE)
{
@@ -203,7 +201,7 @@ void ScSolverOptionsDialog::FillListBox()
rtl_math_StringFormat_Automatic, rtl_math_DecimalPlaces_Max,
ScGlobal::GetpLocaleData()->getNumDecimalSep()[0], true );
- m_xLbSettings->set_text(nPos, sTxt, 1);
+ m_xLbSettings->set_text(nPos, sTxt, 0);
}
else
{
@@ -213,7 +211,7 @@ void ScSolverOptionsDialog::FillListBox()
OUString sTxt = aVisName + ": " + OUString::number(nIntValue);
- m_xLbSettings->set_text(nPos, sTxt, 1);
+ m_xLbSettings->set_text(nPos, sTxt, 0);
}
m_xLbSettings->set_id(nPos, OUString::number(reinterpret_cast<sal_Int64>(m_aOptions.back().get())));
}
@@ -250,7 +248,7 @@ void ScSolverOptionsDialog::EditOption()
rtl_math_StringFormat_Automatic, rtl_math_DecimalPlaces_Max,
ScGlobal::GetpLocaleData()->getNumDecimalSep()[0], true );
- m_xLbSettings->set_text(nEntry, sTxt, 1);
+ m_xLbSettings->set_text(nEntry, sTxt, 0);
}
}
else
@@ -265,7 +263,7 @@ void ScSolverOptionsDialog::EditOption()
OUString sTxt(pStringItem->GetText() + ": ");
sTxt += OUString::number(pStringItem->GetIntValue());
- m_xLbSettings->set_text(nEntry, sTxt, 1);
+ m_xLbSettings->set_text(nEntry, sTxt, 0);
}
}
}