summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2016-06-14 10:28:01 +0200
committerKatarina Behrens <Katarina.Behrens@cib.de>2016-06-14 12:37:52 +0000
commitc63125f88bf90d33f6fd48964422c3b0633d027d (patch)
tree8a2e278a8a1d6ba5f51e154523edf8612285aa41 /sd
parent243f19a1878d52a4074b59041dc3bc57ab84e417 (diff)
Function to change sidebar panel title, via UNO API
Change-Id: I147da965d71746220958852bf796197c30f219a3 Reviewed-on: https://gerrit.libreoffice.org/26243 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
Diffstat (limited to 'sd')
-rw-r--r--sd/source/ui/sidebar/SlideBackground.cxx32
-rw-r--r--sd/source/ui/sidebar/SlideBackground.hxx4
2 files changed, 36 insertions, 0 deletions
diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx
index f0a6bb8d1cd1..24068acc627b 100644
--- a/sd/source/ui/sidebar/SlideBackground.cxx
+++ b/sd/source/ui/sidebar/SlideBackground.cxx
@@ -18,6 +18,8 @@
*/
#include <com/sun/star/animations/XAnimationNode.hpp>
+#include <com/sun/star/ui/XDeck.hpp>
+#include <com/sun/star/ui/XPanel.hpp>
#include "SlideBackground.hxx"
#include "TransitionPreset.hxx"
#include "sdresid.hxx"
@@ -90,6 +92,7 @@ SlideBackground::SlideBackground(
mpGradientItem(),
mpHatchItem(),
mpBitmapItem(),
+ mxFrame(rxFrame),
mpBindings(pBindings)
{
get(mpPaperSizeBox,"paperformat");
@@ -240,6 +243,35 @@ void SlideBackground::Update()
}
}
+void SlideBackground::SetPanelTitle( const OUString& rTitle )
+{
+ Reference<frame::XController2> xController( mxFrame->getController(), uno::UNO_QUERY);
+ if ( !xController.is() )
+ return;
+
+ Reference<ui::XSidebarProvider> xSidebarProvider( xController->getSidebar(), uno::UNO_QUERY );
+ if ( !xSidebarProvider.is() )
+ return;
+
+ Reference<ui::XDecks> xDecks ( xSidebarProvider->getDecks(), uno::UNO_QUERY);
+ if ( !xDecks.is() )
+ return;
+
+ Reference<ui::XDeck> xDeck ( xDecks->getByName("PropertyDeck"), uno::UNO_QUERY);
+ if ( !xDeck.is() )
+ return;
+
+ Reference<ui::XPanels> xPanels ( xDeck->getPanels(), uno::UNO_QUERY);
+ if ( !xPanels.is() )
+ return;
+
+ Reference<ui::XPanel> xPanel ( xPanels->getByName("SlideBackgroundPanel"), uno::UNO_QUERY);
+ if ( !xPanels.is() )
+ return;
+
+ xPanel->setTitle( rTitle );
+}
+
void SlideBackground::addListener()
{
Link<tools::EventMultiplexerEvent&,void> aLink( LINK(this, SlideBackground, EventMultiplexerListener) );
diff --git a/sd/source/ui/sidebar/SlideBackground.hxx b/sd/source/ui/sidebar/SlideBackground.hxx
index 5cfc955206c7..b5b892ea9ea6 100644
--- a/sd/source/ui/sidebar/SlideBackground.hxx
+++ b/sd/source/ui/sidebar/SlideBackground.hxx
@@ -99,6 +99,7 @@ private:
std::unique_ptr< XFillHatchItem > mpHatchItem;
std::unique_ptr< XFillBitmapItem > mpBitmapItem;
+ css::uno::Reference<css::frame::XFrame> mxFrame;
SfxBindings* mpBindings;
SfxMapUnit meUnit;
@@ -114,6 +115,9 @@ private:
void Initialize();
void Update();
+ //DO NOT REMOVE, will be used in follow-up commits
+ void SetPanelTitle(const OUString& rTitle);
+
Color GetColorSetOrDefault();
XGradient GetGradientSetOrDefault();
const OUString GetHatchingSetOrDefault();