[Libreoffice-commits] core.git: Branch 'feature/chart-style-experiment-markus' - chart2/source chart2/uiconfig
Markus Mohrhard (via logerrit)
logerrit at kemper.freedesktop.org
Sun Aug 11 20:17:18 UTC 2019
chart2/source/controller/sidebar/ChartElementsPanel.cxx | 17 +++++
chart2/source/controller/sidebar/ChartElementsPanel.hxx | 2
chart2/source/inc/ChartStyle.hxx | 2
chart2/source/tools/ChartStyle.cxx | 5 +
chart2/uiconfig/ui/sidebarelements.ui | 47 ++++++++++++++--
5 files changed, 66 insertions(+), 7 deletions(-)
New commits:
commit 1f72a43b2fa1ce5edf53bc23bd478b31d727dd69
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
AuthorDate: Mon Aug 12 04:14:30 2019 +0800
Commit: Markus Mohrhard <markus.mohrhard at googlemail.com>
CommitDate: Mon Aug 12 04:14:30 2019 +0800
initial stab at adding ugly chart style selector
Change-Id: Ica266b608d5868be5abe04929c912673e7c4f011
diff --git a/chart2/source/controller/sidebar/ChartElementsPanel.cxx b/chart2/source/controller/sidebar/ChartElementsPanel.cxx
index ac48b0a7e9cb..b445fd88886d 100644
--- a/chart2/source/controller/sidebar/ChartElementsPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartElementsPanel.cxx
@@ -33,6 +33,7 @@
#include <AxisHelper.hxx>
#include <DiagramHelper.hxx>
#include <ChartTypeHelper.hxx>
+#include <ChartStyle.hxx>
#include <ChartModel.hxx>
@@ -303,6 +304,8 @@ ChartElementsPanel::ChartElementsPanel(
get(mpTextTitle, "text_title");
get(mpTextSubTitle, "text_subtitle");
+ get(mpLBStylesBox, "cb_styles");
+
maTextTitle = mpTextTitle->GetText();
maTextSubTitle = mpTextSubTitle->GetText();
@@ -339,6 +342,8 @@ void ChartElementsPanel::dispose()
mpLBLegendPosition.clear();
mpBoxLegend.clear();
+ mpLBStylesBox.clear();
+
mpLBAxis.clear();
mpLBGrid.clear();
@@ -433,7 +438,6 @@ void ChartElementsPanel::updateData()
mpCB2ndXAxis->Check(isAxisVisible(mxModel, AxisType::X_SECOND));
mpCB2ndYAxis->Check(isAxisVisible(mxModel, AxisType::Y_SECOND));
-
bool bSupportsMainAxis = ChartTypeHelper::isSupportingMainAxis(
getChartType(mxModel), 0, 0);
if (bSupportsMainAxis)
@@ -479,6 +483,17 @@ void ChartElementsPanel::updateData()
}
mpLBLegendPosition->SelectEntryPos(getLegendPos(mxModel));
+
+ css::uno::Sequence<OUString> aChartStyles = ::chart::getChartStyles()->getElementNames();
+ mpLBStylesBox->Clear();
+ for (auto& rStyle : aChartStyles)
+ {
+ mpLBStylesBox->InsertEntry(rStyle);
+ }
+
+ ChartModel* pModel = getChartModel(mxModel);
+ OUString aCurrentChartStyleName = css::uno::Reference<css::style::XStyle>(pModel->getChartStyle(), css::uno::UNO_QUERY_THROW)->getName();
+ mpLBStylesBox->SelectEntry(aCurrentChartStyleName);
}
VclPtr<vcl::Window> ChartElementsPanel::Create (
diff --git a/chart2/source/controller/sidebar/ChartElementsPanel.hxx b/chart2/source/controller/sidebar/ChartElementsPanel.hxx
index eca293645cc4..b5719621e88b 100644
--- a/chart2/source/controller/sidebar/ChartElementsPanel.hxx
+++ b/chart2/source/controller/sidebar/ChartElementsPanel.hxx
@@ -95,6 +95,8 @@ private:
VclPtr<ListBox> mpLBLegendPosition;
VclPtr<VclHBox> mpBoxLegend;
+ VclPtr<ListBox> mpLBStylesBox;
+
vcl::EnumContext maContext;
css::uno::Reference<css::frame::XModel> mxModel;
diff --git a/chart2/source/inc/ChartStyle.hxx b/chart2/source/inc/ChartStyle.hxx
index 30ecdfe0a6b4..c82611ee163c 100644
--- a/chart2/source/inc/ChartStyle.hxx
+++ b/chart2/source/inc/ChartStyle.hxx
@@ -116,7 +116,7 @@ private:
void register_styles();
};
-css::uno::Reference<css::container::XNameContainer> getChartStyles();
+OOO_DLLPUBLIC_CHARTTOOLS css::uno::Reference<css::container::XNameContainer> getChartStyles();
} // namespace chart
diff --git a/chart2/source/tools/ChartStyle.cxx b/chart2/source/tools/ChartStyle.cxx
index b2ccf466fcfd..cb172fa30be7 100644
--- a/chart2/source/tools/ChartStyle.cxx
+++ b/chart2/source/tools/ChartStyle.cxx
@@ -252,6 +252,9 @@ void ChartStyles::addInitialStyles()
{
css::uno::Any aDefaultStyle;
css::uno::Reference<css::chart2::XChartStyle> xChartStyle = new ChartStyle;
+ css::uno::Reference<css::style::XStyle> xStyle(xChartStyle, css::uno::UNO_QUERY_THROW);
+ xStyle->setName("Default");
+
aDefaultStyle <<= xChartStyle;
insertByName("Default", aDefaultStyle);
}
@@ -301,7 +304,7 @@ css::uno::Any ChartStyles::getByName(const OUString& rName)
css::uno::Sequence<OUString> ChartStyles::getElementNames()
{
- return css::uno::Sequence<OUString>();
+ return comphelper::mapKeysToSequence(maChartStyles);
}
sal_Bool ChartStyles::hasByName(const OUString& rName)
diff --git a/chart2/uiconfig/ui/sidebarelements.ui b/chart2/uiconfig/ui/sidebarelements.ui
index c4ec4cd49e2d..89ac8c9fd314 100644
--- a/chart2/uiconfig/ui/sidebarelements.ui
+++ b/chart2/uiconfig/ui/sidebarelements.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="ChartElementsPanel">
@@ -9,9 +9,9 @@
<object class="GtkBox" id="container">
<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>
<object class="GtkFrame" id="frame1">
<property name="visible">True</property>
@@ -99,14 +99,14 @@
<property name="can_focus">False</property>
<child>
<object class="GtkCheckButton" id="checkbutton_legend">
- <property name="tooltip_text" translatable="yes" context="sidebarelements|checkbutton_legend|tooltip_text">Show Legend</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes" context="sidebarelements|checkbutton_legend|tooltip_text">Show Legend</property>
+ <property name="margin_right">5</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
- <property name="margin_right">5</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -493,6 +493,45 @@
<property name="position">4</property>
</packing>
</child>
+ <child>
+ <object class="GtkGrid" id="grid6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="label_style">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes" context="sidebarelements|label_chart_style">Chart Style:</property>
+ <accessibility>
+ <relation type="label-for" target="cb_styles"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="cb_styles">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <accessibility>
+ <relation type="labelled-by" target="label_style"/>
+ </accessibility>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="left_attach">0</property>
More information about the Libreoffice-commits
mailing list