diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-12-20 14:23:16 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-12-21 11:25:19 +0100 |
commit | f9a2639d6a12010dd9e388fc46edc96ebab6db50 (patch) | |
tree | e97a459f04ca37649f62d599e4a5aaf105831f51 | |
parent | b7fa8e18337b38e04279f477539d51f3d0e9b433 (diff) |
weld ChartSeriesPanel
Change-Id: If035b4017eab094642d805cfbc724d6cdd5a115c
Reviewed-on: https://gerrit.libreoffice.org/85608
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | chart2/source/controller/sidebar/ChartSeriesPanel.cxx | 115 | ||||
-rw-r--r-- | chart2/source/controller/sidebar/ChartSeriesPanel.hxx | 29 | ||||
-rw-r--r-- | chart2/uiconfig/ui/sidebarseries.ui | 5 |
3 files changed, 70 insertions, 79 deletions
diff --git a/chart2/source/controller/sidebar/ChartSeriesPanel.cxx b/chart2/source/controller/sidebar/ChartSeriesPanel.cxx index d2ce4e198fcc..33f0e1663585 100644 --- a/chart2/source/controller/sidebar/ChartSeriesPanel.cxx +++ b/chart2/source/controller/sidebar/ChartSeriesPanel.cxx @@ -29,8 +29,6 @@ #include "ChartSeriesPanel.hxx" #include <ChartController.hxx> -#include <vcl/fixed.hxx> -#include <vcl/lstbox.hxx> #include <DataSeriesHelper.hxx> #include <RegressionCurveHelper.hxx> @@ -276,26 +274,22 @@ ChartSeriesPanel::ChartSeriesPanel( vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame, ChartController* pController) - : PanelLayout(pParent, "ChartSeriesPanel", "modules/schart/ui/sidebarseries.ui", rxFrame), - mxModel(pController->getModel()), - mxListener(new ChartSidebarModifyListener(this)), - mxSelectionListener(new ChartSidebarSelectionListener(this, OBJECTTYPE_DATA_SERIES)), - mbModelValid(true) + : PanelLayout(pParent, "ChartSeriesPanel", "modules/schart/ui/sidebarseries.ui", rxFrame, true) + , mxCBLabel(m_xBuilder->weld_check_button("checkbutton_label")) + , mxCBTrendline(m_xBuilder->weld_check_button("checkbutton_trendline")) + , mxCBXError(m_xBuilder->weld_check_button("checkbutton_x_error")) + , mxCBYError(m_xBuilder->weld_check_button("checkbutton_y_error")) + , mxRBPrimaryAxis(m_xBuilder->weld_radio_button("radiobutton_primary_axis")) + , mxRBSecondaryAxis(m_xBuilder->weld_radio_button("radiobutton_secondary_axis")) + , mxBoxLabelPlacement(m_xBuilder->weld_widget("datalabel_box")) + , mxLBLabelPlacement(m_xBuilder->weld_combo_box("comboboxtext_label")) + , mxFTSeriesName(m_xBuilder->weld_label("label_series_name")) + , mxFTSeriesTemplate(m_xBuilder->weld_label("label_series_tmpl")) + , mxModel(pController->getModel()) + , mxListener(new ChartSidebarModifyListener(this)) + , mxSelectionListener(new ChartSidebarSelectionListener(this, OBJECTTYPE_DATA_SERIES)) + , mbModelValid(true) { - get(mpCBLabel, "checkbutton_label"); - get(mpCBTrendline, "checkbutton_trendline"); - get(mpCBXError, "checkbutton_x_error"); - get(mpCBYError, "checkbutton_y_error"); - - get(mpRBPrimaryAxis, "radiobutton_primary_axis"); - get(mpRBSecondaryAxis, "radiobutton_secondary_axis"); - - get(mpBoxLabelPlacement, "datalabel_box"); - get(mpLBLabelPlacement, "comboboxtext_label"); - - get(mpFTSeriesName, "label_series_name"); - get(mpFTSeriesTemplate, "label_series_tmpl"); - Initialize(); } @@ -312,19 +306,19 @@ void ChartSeriesPanel::dispose() if (xSelectionSupplier.is()) xSelectionSupplier->removeSelectionChangeListener(mxSelectionListener); - mpCBLabel.clear(); - mpCBTrendline.clear(); - mpCBXError.clear(); - mpCBYError.clear(); + mxCBLabel.reset(); + mxCBTrendline.reset(); + mxCBXError.reset(); + mxCBYError.reset(); - mpRBPrimaryAxis.clear(); - mpRBSecondaryAxis.clear(); + mxRBPrimaryAxis.reset(); + mxRBSecondaryAxis.reset(); - mpBoxLabelPlacement.clear(); - mpLBLabelPlacement.clear(); + mxBoxLabelPlacement.reset(); + mxLBLabelPlacement.reset(); - mpFTSeriesName.clear(); - mpFTSeriesTemplate.clear(); + mxFTSeriesName.reset(); + mxFTSeriesTemplate.reset(); PanelLayout::dispose(); } @@ -339,17 +333,17 @@ void ChartSeriesPanel::Initialize() updateData(); - Link<Button*,void> aLink = LINK(this, ChartSeriesPanel, CheckBoxHdl); - mpCBLabel->SetClickHdl(aLink); - mpCBTrendline->SetClickHdl(aLink); - mpCBXError->SetClickHdl(aLink); - mpCBYError->SetClickHdl(aLink); + Link<weld::ToggleButton&,void> aLink = LINK(this, ChartSeriesPanel, CheckBoxHdl); + mxCBLabel->connect_toggled(aLink); + mxCBTrendline->connect_toggled(aLink); + mxCBXError->connect_toggled(aLink); + mxCBYError->connect_toggled(aLink); - Link<RadioButton&,void> aLink2 = LINK(this, ChartSeriesPanel, RadioBtnHdl); - mpRBPrimaryAxis->SetToggleHdl(aLink2); - mpRBSecondaryAxis->SetToggleHdl(aLink2); + Link<weld::ToggleButton&,void> aLink2 = LINK(this, ChartSeriesPanel, RadioBtnHdl); + mxRBPrimaryAxis->connect_toggled(aLink2); + mxRBSecondaryAxis->connect_toggled(aLink2); - mpLBLabelPlacement->SetSelectHdl(LINK(this, ChartSeriesPanel, ListBoxHdl)); + mxLBLabelPlacement->connect_changed(LINK(this, ChartSeriesPanel, ListBoxHdl)); } void ChartSeriesPanel::updateData() @@ -360,21 +354,21 @@ void ChartSeriesPanel::updateData() OUString aCID = getCID(mxModel); SolarMutexGuard aGuard; bool bLabelVisible = isDataLabelVisible(mxModel, aCID); - mpCBLabel->Check(bLabelVisible); - mpCBTrendline->Check(isTrendlineVisible(mxModel, aCID)); - mpCBXError->Check(isErrorBarVisible(mxModel, aCID, false)); - mpCBYError->Check(isErrorBarVisible(mxModel, aCID, true)); + mxCBLabel->set_active(bLabelVisible); + mxCBTrendline->set_active(isTrendlineVisible(mxModel, aCID)); + mxCBXError->set_active(isErrorBarVisible(mxModel, aCID, false)); + mxCBYError->set_active(isErrorBarVisible(mxModel, aCID, true)); bool bPrimaryAxis = isPrimaryAxis(mxModel, aCID); - mpRBPrimaryAxis->Check(bPrimaryAxis); - mpRBSecondaryAxis->Check(!bPrimaryAxis); + mxRBPrimaryAxis->set_active(bPrimaryAxis); + mxRBSecondaryAxis->set_active(!bPrimaryAxis); - mpBoxLabelPlacement->Enable(bLabelVisible); - mpLBLabelPlacement->SelectEntryPos(getDataLabelPlacement(mxModel, aCID)); + mxBoxLabelPlacement->set_sensitive(bLabelVisible); + mxLBLabelPlacement->set_active(getDataLabelPlacement(mxModel, aCID)); - OUString aFrameLabel = mpFTSeriesTemplate->GetText(); + OUString aFrameLabel = mxFTSeriesTemplate->get_label(); aFrameLabel = aFrameLabel.replaceFirst("%1", getSeriesLabel(mxModel, aCID)); - mpFTSeriesName->SetText(aFrameLabel); + mxFTSeriesName->set_label(aFrameLabel); } VclPtr<vcl::Window> ChartSeriesPanel::Create ( @@ -441,34 +435,33 @@ void ChartSeriesPanel::selectionChanged(bool bCorrectType) updateData(); } -IMPL_LINK(ChartSeriesPanel, CheckBoxHdl, Button*, pButton, void) +IMPL_LINK(ChartSeriesPanel, CheckBoxHdl, weld::ToggleButton&, rCheckBox, void) { - CheckBox* pCheckBox = static_cast<CheckBox*>(pButton); - bool bChecked = pCheckBox->IsChecked(); + bool bChecked = rCheckBox.get_active(); OUString aCID = getCID(mxModel); - if (pCheckBox == mpCBLabel.get()) + if (&rCheckBox == mxCBLabel.get()) setDataLabelVisible(mxModel, aCID, bChecked); - else if (pCheckBox == mpCBTrendline.get()) + else if (&rCheckBox == mxCBTrendline.get()) setTrendlineVisible(mxModel, aCID, bChecked); - else if (pCheckBox == mpCBXError.get()) + else if (&rCheckBox == mxCBXError.get()) setErrorBarVisible(mxModel, aCID, false, bChecked); - else if (pCheckBox == mpCBYError.get()) + else if (&rCheckBox == mxCBYError.get()) setErrorBarVisible(mxModel, aCID, true, bChecked); } -IMPL_LINK_NOARG(ChartSeriesPanel, RadioBtnHdl, RadioButton&, void) +IMPL_LINK_NOARG(ChartSeriesPanel, RadioBtnHdl, weld::ToggleButton&, void) { OUString aCID = getCID(mxModel); - bool bChecked = mpRBPrimaryAxis->IsChecked(); + bool bChecked = mxRBPrimaryAxis->get_active(); setAttachedAxisType(mxModel, aCID, bChecked); } -IMPL_LINK_NOARG(ChartSeriesPanel, ListBoxHdl, ListBox&, void) +IMPL_LINK_NOARG(ChartSeriesPanel, ListBoxHdl, weld::ComboBox&, void) { OUString aCID = getCID(mxModel); - sal_Int32 nPos = mpLBLabelPlacement->GetSelectedEntryPos(); + sal_Int32 nPos = mxLBLabelPlacement->get_active(); setDataLabelPlacement(mxModel, aCID, nPos); } diff --git a/chart2/source/controller/sidebar/ChartSeriesPanel.hxx b/chart2/source/controller/sidebar/ChartSeriesPanel.hxx index 83dcbffd70ae..37a321af2b83 100644 --- a/chart2/source/controller/sidebar/ChartSeriesPanel.hxx +++ b/chart2/source/controller/sidebar/ChartSeriesPanel.hxx @@ -23,7 +23,6 @@ #include <sfx2/sidebar/IContextChangeReceiver.hxx> #include <sfx2/sidebar/SidebarModelUpdate.hxx> #include <svx/sidebar/PanelLayout.hxx> -#include <vcl/layout.hxx> #include "ChartSidebarModifyListener.hxx" #include "ChartSidebarSelectionListener.hxx" @@ -31,8 +30,6 @@ namespace com { namespace sun { namespace star { namespace util { class XModifyListener; } } } } namespace com { namespace sun { namespace star { namespace view { class XSelectionChangeListener; } } } } -class ListBox; - namespace chart { class ChartController; @@ -80,19 +77,19 @@ public: private: //ui controls - VclPtr<CheckBox> mpCBLabel; - VclPtr<CheckBox> mpCBTrendline; - VclPtr<CheckBox> mpCBXError; - VclPtr<CheckBox> mpCBYError; + std::unique_ptr<weld::CheckButton> mxCBLabel; + std::unique_ptr<weld::CheckButton> mxCBTrendline; + std::unique_ptr<weld::CheckButton> mxCBXError; + std::unique_ptr<weld::CheckButton> mxCBYError; - VclPtr<RadioButton> mpRBPrimaryAxis; - VclPtr<RadioButton> mpRBSecondaryAxis; + std::unique_ptr<weld::RadioButton> mxRBPrimaryAxis; + std::unique_ptr<weld::RadioButton> mxRBSecondaryAxis; - VclPtr<VclHBox> mpBoxLabelPlacement; - VclPtr<ListBox> mpLBLabelPlacement; + std::unique_ptr<weld::Widget> mxBoxLabelPlacement; + std::unique_ptr<weld::ComboBox> mxLBLabelPlacement; - VclPtr<FixedText> mpFTSeriesName; - VclPtr<FixedText> mpFTSeriesTemplate; + std::unique_ptr<weld::Label> mxFTSeriesName; + std::unique_ptr<weld::Label> mxFTSeriesTemplate; css::uno::Reference<css::frame::XModel> mxModel; css::uno::Reference<css::util::XModifyListener> mxListener; @@ -102,9 +99,9 @@ private: void Initialize(); - DECL_LINK(CheckBoxHdl, Button*, void); - DECL_LINK(RadioBtnHdl, RadioButton&, void); - DECL_LINK(ListBoxHdl, ListBox&, void); + DECL_LINK(CheckBoxHdl, weld::ToggleButton&, void); + DECL_LINK(RadioBtnHdl, weld::ToggleButton&, void); + DECL_LINK(ListBoxHdl, weld::ComboBox&, void); }; } } // end of namespace ::chart::sidebar diff --git a/chart2/uiconfig/ui/sidebarseries.ui b/chart2/uiconfig/ui/sidebarseries.ui index 31dca273bb77..568569464a9e 100644 --- a/chart2/uiconfig/ui/sidebarseries.ui +++ b/chart2/uiconfig/ui/sidebarseries.ui @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!-- Generated with glade 3.18.3 --> +<!-- Generated with glade 3.22.1 --> <interface domain="chart"> <requires lib="gtk+" version="3.18"/> <object class="GtkGrid" id="ChartSeriesPanel"> @@ -9,9 +9,9 @@ <object class="GtkBox" id="box1"> <property name="visible">True</property> <property name="can_focus">False</property> + <property name="border_width">6</property> <property name="orientation">vertical</property> <property name="spacing">6</property> - <property name="border_width">6</property> <child> <placeholder/> </child> @@ -242,6 +242,7 @@ <property name="xalign">0</property> <property name="active">True</property> <property name="draw_indicator">True</property> + <property name="group">radiobutton_primary_axis</property> </object> <packing> <property name="expand">False</property> |