24#include <com/sun/star/drawing/framework/XControllerManager.hpp>
25#include <com/sun/star/drawing/framework/XTabBar.hpp>
26#include <com/sun/star/frame/XController.hpp>
35using ::sd::framework::FrameworkHelper;
39const sal_Int32 ResourceActivationRequestEvent = 0;
40const sal_Int32 ResourceDeactivationRequestEvent = 1;
41const sal_Int32 ResourceActivationEvent = 2;
51 const Reference<XResourceId>& rxViewTabBarId)
52 : mxViewTabBarId(rxViewTabBarId)
54 if (!rxController.is())
64 Any(ResourceActivationRequestEvent));
68 Any(ResourceDeactivationRequestEvent));
74 Any(ResourceActivationEvent));
91 const ConfigurationChangeEvent& rEvent)
96 sal_Int32 nEventType = 0;
97 rEvent.UserData >>= nEventType;
100 case ResourceActivationRequestEvent:
101 if (
mxViewTabBarId->isBoundTo(rEvent.ResourceId, AnchorBindingMode_DIRECT))
105 ResourceActivationMode_ADD);
109 case ResourceDeactivationRequestEvent:
110 if (
mxViewTabBarId->isBoundTo(rEvent.ResourceId, AnchorBindingMode_DIRECT))
116 case ResourceActivationEvent:
125 const lang::EventObject& rEvent)
141 Reference<XTabBar> xBar (rxTabBar);
148 TabBarButton aEmptyButton;
152 TabBarButton aImpressViewButton;
156 aImpressViewButton.ButtonLabel =
SdResId(STR_NORMAL_MODE);
157 if ( ! xBar->hasTabBarButton(aImpressViewButton))
158 xBar->addTabBarButtonAfter(aImpressViewButton, aEmptyButton);
160 TabBarButton aOutlineViewButton;
164 aOutlineViewButton.ButtonLabel =
SdResId(STR_OUTLINE_MODE);
165 if ( ! xBar->hasTabBarButton(aOutlineViewButton))
166 xBar->addTabBarButtonAfter(aOutlineViewButton, aImpressViewButton);
168 TabBarButton aNotesViewButton;
172 aNotesViewButton.ButtonLabel =
SdResId(STR_NOTES_MODE);
173 if ( ! xBar->hasTabBarButton(aNotesViewButton))
174 xBar->addTabBarButtonAfter(aNotesViewButton, aOutlineViewButton);
virtual void SAL_CALL dispose() noexcept final override
static css::uno::Reference< css::drawing::framework::XResourceId > CreateResourceId(const OUString &rsResourceURL)
Create a new XResourceId object for the given resource URL.
static constexpr OUStringLiteral msResourceActivationRequestEvent
static const OUString msNotesViewURL
static const OUString msOutlineViewURL
static constexpr OUStringLiteral msResourceDeactivationRequestEvent
static constexpr OUStringLiteral msResourceActivationEvent
static const OUString msImpressViewURL
virtual void disposing(std::unique_lock< std::mutex > &) override
css::uno::Reference< css::drawing::framework::XConfigurationController > mxConfigurationController
virtual ~ViewTabBarModule() override
void UpdateViewTabBar(const css::uno::Reference< css::drawing::framework::XTabBar > &rxTabBar)
This is the place where the view tab bar is filled.
ViewTabBarModule(const rtl::Reference<::sd::DrawController > &rxController, const css::uno::Reference< css::drawing::framework::XResourceId > &rxViewTabBarId)
Create a new module that controls the view tab bar above the view in the specified pane.
css::uno::Reference< css::drawing::framework::XResourceId > mxViewTabBarId
virtual void SAL_CALL notifyConfigurationChange(const css::drawing::framework::ConfigurationChangeEvent &rEvent) override
OUString SdResId(TranslateId aId)