[Libreoffice-commits] core.git: chart2/source
Feyza Yavuz
feyzaayavuz at gmail.com
Sun May 8 20:21:06 UTC 2016
chart2/source/controller/sidebar/ChartElementsPanel.cxx | 13 +++++-
chart2/source/inc/TitleHelper.hxx | 11 +++++
chart2/source/tools/TitleHelper.cxx | 31 ++++++++++++++++
3 files changed, 52 insertions(+), 3 deletions(-)
New commits:
commit 0ab7ad3bb0138c2614f66dba8af39cabe760f910
Author: Feyza Yavuz <feyzaayavuz at gmail.com>
Date: Sun May 1 17:28:07 2016 +0300
tdf#92768 Support hiding title objects
Change-Id: I879fc3d81a8fe8ca2f928305f5dc7fd9ebcfd294
Reviewed-on: https://gerrit.libreoffice.org/24564
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
diff --git a/chart2/source/controller/sidebar/ChartElementsPanel.cxx b/chart2/source/controller/sidebar/ChartElementsPanel.cxx
index b86cb14..1e52f24 100644
--- a/chart2/source/controller/sidebar/ChartElementsPanel.cxx
+++ b/chart2/source/controller/sidebar/ChartElementsPanel.cxx
@@ -116,7 +116,14 @@ void setLegendVisible(const css::uno::Reference<css::frame::XModel>& xModel, boo
bool isTitleVisisble(const css::uno::Reference<css::frame::XModel>& xModel, TitleHelper::eTitleType eTitle)
{
- return TitleHelper::getTitle(eTitle, xModel).is();
+ css::uno::Reference<css::uno::XInterface> xTitle = TitleHelper::getTitle(eTitle, xModel);
+ if (!xTitle.is())
+ return false;
+
+ css::uno::Reference<css::beans::XPropertySet> xPropSet(xTitle, css::uno::UNO_QUERY_THROW);
+ css::uno::Any aAny = xPropSet->getPropertyValue("Visible");
+ bool bVisible = aAny.get<bool>();
+ return bVisible;
}
bool isGridVisible(const css::uno::Reference<css::frame::XModel>& xModel, GridType eType)
@@ -581,11 +588,11 @@ void ChartElementsPanel::setTitleVisible(TitleHelper::eTitleType eTitle, bool bV
if (bVisible)
{
OUString aText = eTitle == TitleHelper::SUB_TITLE ? maTextSubTitle : maTextTitle;
- TitleHelper::createTitle(eTitle, aText, mxModel, comphelper::getProcessComponentContext());
+ TitleHelper::createOrShowTitle(eTitle, aText, mxModel, comphelper::getProcessComponentContext());
}
else
{
- TitleHelper::removeTitle(eTitle, mxModel);
+ TitleHelper::hideTitle(eTitle, mxModel);
}
}
diff --git a/chart2/source/inc/TitleHelper.hxx b/chart2/source/inc/TitleHelper.hxx
index 5235752..89e1a7b 100644
--- a/chart2/source/inc/TitleHelper.hxx
+++ b/chart2/source/inc/TitleHelper.hxx
@@ -66,10 +66,21 @@ public:
, const css::uno::Reference< css::frame::XModel >& xModel
, const css::uno::Reference< css::uno::XComponentContext > & xContext
, ReferenceSizeProvider * pRefSizeProvider = nullptr );
+ static css::uno::Reference<
+ css::chart2::XTitle >
+ createOrShowTitle( eTitleType nTitleIndex
+ , const OUString& rTitleText
+ , const css::uno::Reference< css::frame::XModel >& xModel
+ , const css::uno::Reference< css::uno::XComponentContext > & xContext
+ , ReferenceSizeProvider * pRefSizeProvider = nullptr );
static void removeTitle( eTitleType nTitleIndex
, const css::uno::Reference< css::frame::XModel >& xModel );
+ static void hideTitle( eTitleType nTitleIndex
+ , const css::uno::Reference< css::frame::XModel >& xModel );
+
+
static OUString getCompleteString( const css::uno::Reference< css::chart2::XTitle >& xTitle );
static void setCompleteString( const OUString& rNewText
, const css::uno::Reference< css::chart2::XTitle >& xTitle
diff --git a/chart2/source/tools/TitleHelper.cxx b/chart2/source/tools/TitleHelper.cxx
index d2adced..7a3290b 100644
--- a/chart2/source/tools/TitleHelper.cxx
+++ b/chart2/source/tools/TitleHelper.cxx
@@ -170,6 +170,26 @@ uno::Reference< XTitle > TitleHelper::getTitle( TitleHelper::eTitleType nTitleIn
return nullptr;
}
+uno::Reference< XTitle > TitleHelper::createOrShowTitle(
+ TitleHelper::eTitleType eTitleType
+ , const OUString& rTitleText
+ , const uno::Reference< frame::XModel >& xModel
+ , const uno::Reference< uno::XComponentContext > & xContext
+ , ReferenceSizeProvider * pRefSizeProvider )
+{
+ uno::Reference< chart2::XTitle > xTitled( TitleHelper::getTitle( eTitleType, xModel ) );
+ if( xTitled.is())
+ {
+ css::uno::Reference<css::beans::XPropertySet> xProps(xTitled, css::uno::UNO_QUERY_THROW);
+ xProps->setPropertyValue("Visible",css::uno::makeAny(true));
+ return xTitled;
+ }
+ else
+ {
+ return createTitle(eTitleType, rTitleText, xModel, xContext, pRefSizeProvider);
+ }
+}
+
uno::Reference< XTitle > TitleHelper::createTitle(
TitleHelper::eTitleType eTitleType
, const OUString& rTitleText
@@ -373,6 +393,17 @@ void TitleHelper::removeTitle( TitleHelper::eTitleType nTitleIndex
}
}
+void TitleHelper::hideTitle( TitleHelper::eTitleType nTitleIndex
+ , const css::uno::Reference< css::frame::XModel >& xModel )
+{
+ uno::Reference< chart2::XTitle > xTitled( TitleHelper::getTitle( nTitleIndex, xModel ) );
+ if( xTitled.is())
+ {
+ css::uno::Reference<css::beans::XPropertySet> xProps(xTitled, css::uno::UNO_QUERY_THROW);
+ xProps->setPropertyValue("Visible",css::uno::makeAny(false));
+ }
+}
+
bool TitleHelper::getTitleType( eTitleType& rType
, const css::uno::Reference< css::chart2::XTitle >& xTitle
, ChartModel& rModel )
More information about the Libreoffice-commits
mailing list