diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-07-15 13:03:02 +0200 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2015-07-16 08:15:17 +0200 |
commit | 6dbb9564f92a2dce9f632b69834a534bd5f65bdf (patch) | |
tree | 0a248332883e285db21d14c340586d63ba32db68 /chart2 | |
parent | 1d0696a34938cc331a3235e25be66066251239c8 (diff) |
wire title and legend checkboxes
Change-Id: I4c6d5e213f44588cf2d53d9c12ed8033307fd863
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/controller/sidebar/ChartElementsPanel.cxx | 48 | ||||
-rw-r--r-- | chart2/source/controller/sidebar/ChartElementsPanel.hxx | 1 |
2 files changed, 49 insertions, 0 deletions
diff --git a/chart2/source/controller/sidebar/ChartElementsPanel.cxx b/chart2/source/controller/sidebar/ChartElementsPanel.cxx index 658df2a6de6c..396416ac31b0 100644 --- a/chart2/source/controller/sidebar/ChartElementsPanel.cxx +++ b/chart2/source/controller/sidebar/ChartElementsPanel.cxx @@ -32,12 +32,58 @@ #include <svl/intitem.hxx> #include <svl/stritem.hxx> +#include "LegendHelper.hxx" +#include "TitleHelper.hxx" + +#include "ChartModel.hxx" + using namespace css; using namespace css::uno; using ::sfx2::sidebar::Theme; namespace chart { namespace sidebar { +namespace { + +ChartModel* getChartModel(css::uno::Reference<css::frame::XModel> xModel) +{ + ChartModel* pModel = dynamic_cast<ChartModel*>(xModel.get()); + + return pModel; +} + +bool isLegendVisible(css::uno::Reference<css::frame::XModel> xModel) +{ + ChartModel* pModel = getChartModel(xModel); + if (!pModel) + return false; + + Reference< beans::XPropertySet > xLegendProp( LegendHelper::getLegend(*pModel), uno::UNO_QUERY ); + if( xLegendProp.is()) + { + try + { + bool bShow = false; + if( xLegendProp->getPropertyValue( "Show") >>= bShow ) + { + return bShow; + } + } + catch(const uno::Exception &) + { + } + } + + return false; +} + +bool isTitleVisisble(css::uno::Reference<css::frame::XModel> xModel, TitleHelper::eTitleType eTitle) +{ + return TitleHelper::getTitle(eTitle, xModel).is(); +} + +} + ChartElementsPanel::ChartElementsPanel( vcl::Window* pParent, const css::uno::Reference<css::frame::XFrame>& rxFrame, @@ -132,6 +178,7 @@ VclPtr<vcl::Window> ChartElementsPanel::Create ( void ChartElementsPanel::DataChanged( const DataChangedEvent& ) { + updateData(); } void ChartElementsPanel::HandleContextChange( @@ -144,6 +191,7 @@ void ChartElementsPanel::HandleContextChange( } maContext = rContext; + updateData(); } void ChartElementsPanel::NotifyItemUpdate( diff --git a/chart2/source/controller/sidebar/ChartElementsPanel.hxx b/chart2/source/controller/sidebar/ChartElementsPanel.hxx index be53c758201f..399b0f9b003b 100644 --- a/chart2/source/controller/sidebar/ChartElementsPanel.hxx +++ b/chart2/source/controller/sidebar/ChartElementsPanel.hxx @@ -96,6 +96,7 @@ private: css::uno::Reference<css::frame::XModel> mxModel; void Initialize(); + void updateData(); }; } } // end of namespace ::chart::sidebar |