25#include <com/sun/star/drawing/framework/XTabBar.hpp>
26#include <com/sun/star/drawing/framework/TabBarButton.hpp>
27#include <com/sun/star/drawing/framework/XControllerManager.hpp>
28#include <com/sun/star/frame/XController.hpp>
38using ::sd::framework::FrameworkHelper;
41 const sal_Int32 ResourceActivationRequestEvent = 0;
42 const sal_Int32 ResourceDeactivationRequestEvent = 1;
51 const OUString& rsLeftPaneURL)
57 mxControllerManager(rxController)
65 uno::Reference<lang::XComponent>
const xComppnent(
67 xComppnent->addEventListener(
this);
71 Any(ResourceActivationRequestEvent));
75 Any(ResourceDeactivationRequestEvent));
117 const ConfigurationChangeEvent& rEvent)
127 else if (rEvent.ResourceId->getResourceTypePrefix() ==
129 && rEvent.ResourceId->isBoundTo(
131 AnchorBindingMode_DIRECT))
140 OSL_ASSERT(rEvent.ResourceId.is());
141 sal_Int32 nEventType = 0;
142 rEvent.UserData >>= nEventType;
145 case ResourceActivationRequestEvent:
146 if (rEvent.ResourceId->isBoundToURL(
148 AnchorBindingMode_DIRECT))
152 if (rEvent.ResourceId->getResourceTypePrefix() ==
158 rEvent.ResourceId->getResourceURL(),
162 else if (rEvent.ResourceId->compareTo(
mxResourceId) == 0)
171 case ResourceDeactivationRequestEvent:
178 else if (rEvent.ResourceId->compareTo(
mxResourceId) == 0)
194 Reference<XTabBar> xBar (rxTabBar);
197 Reference<XConfigurationController> xCC (
206 TabBarButton aButtonA;
210 aButtonA.ButtonLabel =
SdResId(STR_SLIDE_SORTER_MODE);
212 TabBarButton aButtonB;
217 if ( ! xBar->hasTabBarButton(aButtonA))
218 xBar->addTabBarButtonAfter(aButtonA, aButtonB);
222 const OUString& rsMainViewURL)
228 const OUString& rsMainViewURL)
239 xComponent->removeEventListener(
this);
247 const OUString& rsViewURL,
248 const bool bIsActivated)
266 ResourceActivationMode_ADD);
269 ResourceActivationMode_REPLACE);
279 const Reference<XConfiguration>& rxConfiguration)
281 Sequence<Reference<XResourceId> > aCenterViews = rxConfiguration->getResources(
284 AnchorBindingMode_DIRECT);
285 if (aCenterViews.getLength() == 1)
299 const lang::EventObject& rEvent)
Reference< XResourceId > mxResourceId
void SetVisibleSlideSorterView(bool bVisible)
void SetVisibleImpressView(bool bVisible)
void SetVisibleHandoutView(bool bVisible)
void SetVisibleDrawView(bool bVisible)
void SetVisibleOutlineView(bool bVisible)
void SetVisibleNotesView(bool bVisible)
virtual void SAL_CALL dispose() noexcept final override
Use this class instead of calling lock() and unlock() directly in order to be exception safe.
The FrameworkHelper is a convenience class that simplifies the access to the drawing framework.
static css::uno::Reference< css::drawing::framework::XResourceId > CreateResourceId(const OUString &rsResourceURL)
Create a new XResourceId object for the given resource URL.
static const OUString msHandoutViewURL
static const OUString msCenterPaneURL
static constexpr OUStringLiteral msResourceActivationRequestEvent
static const OUString msNotesViewURL
static const OUString msOutlineViewURL
static const OUString msSlideSorterURL
static constexpr OUStringLiteral msResourceDeactivationRequestEvent
static const OUString msDrawViewURL
static constexpr OUStringLiteral msResourceActivationEvent
static constexpr OUStringLiteral msViewURLPrefix
static const OUString msImpressViewURL
virtual void disposing(std::unique_lock< std::mutex > &) override
css::uno::Reference< css::drawing::framework::XResourceId > mxMainViewAnchorId
The anchor of the main view.
rtl::Reference<::sd::DrawController > mxControllerManager
css::uno::Reference< css::drawing::framework::XConfigurationController > mxConfigurationController
virtual ~SlideSorterModule() override
css::uno::Reference< css::drawing::framework::XResourceId > mxResourceId
The resource managed by this class.
virtual void SAL_CALL notifyConfigurationChange(const css::drawing::framework::ConfigurationChangeEvent &rEvent) override
void AddActiveMainView(const OUString &rsMainViewURL)
Remember the given URL as one of a center pane view for which to activate the resource managed by the...
SlideSorterModule(const rtl::Reference<::sd::DrawController > &rxController, const OUString &rsLeftPaneURL)
void HandleMainViewSwitch(const OUString &rsViewURL, const bool bIsActivated)
css::uno::Reference< css::drawing::framework::XResourceId > mxViewTabBarId
bool IsResourceActive(const OUString &rsMainViewURL)
void HandleResourceRequest(bool bActivation, const css::uno::Reference< css::drawing::framework::XConfiguration > &rxConfiguration)
::std::set< OUString > maActiveMainViewContainer
OUString msCurrentMainViewURL
void UpdateViewTabBar(const css::uno::Reference< css::drawing::framework::XTabBar > &rxViewTabBar)
OUString SdResId(TranslateId aId)