diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-06-05 16:11:39 +0100 |
---|---|---|
committer | Szymon Kłos <szymon.klos@collabora.com> | 2020-11-30 18:19:52 +0100 |
commit | 44f5cdc14537d244c254f7201f2f8da483cc4727 (patch) | |
tree | bc48152222c91d0c93617b3a8836dae96af72e8e /sc | |
parent | 3826d521852f408f4679837d94288d97ab13e0b4 (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.cxx | 21 | ||||
-rw-r--r-- | sc/source/ui/dbgui/pvfundlg.cxx | 14 | ||||
-rw-r--r-- | sc/source/ui/dbgui/tpsubt.cxx | 20 | ||||
-rw-r--r-- | sc/source/ui/inc/dpgroupdlg.hxx | 5 | ||||
-rw-r--r-- | sc/source/ui/inc/tpsubt.hxx | 3 | ||||
-rw-r--r-- | sc/source/ui/miscdlgs/protectiondlg.cxx | 16 | ||||
-rw-r--r-- | sc/source/ui/miscdlgs/solveroptions.cxx | 20 |
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); } } } |