28#include <com/sun/star/drawing/framework/XControllerManager.hpp>
35using ::sd::framework::FrameworkHelper;
43 maPrinterPollingIdle(
"sd ShellStackGuard PrinterPollingIdle")
45 if (rxController.is())
50 mpBase = rxController->GetViewShellBase();
82 const ConfigurationChangeEvent& rEvent)
98 const lang::EventObject& rEvent)
111 OSL_ASSERT(pIdle==&maPrinterPollingIdle);
115 if (mpUpdateLock ==
nullptr)
121 mpUpdateLock.reset();
126 maPrinterPollingIdle.Start();
135 if (pPrinter !=
nullptr
136 && pPrinter->IsPrinting())
virtual void Start(bool bStartTimer=true) override
void SetInvokeHandler(const Link< Timer *, void > &rLink)
virtual SfxPrinter * GetPrinter(bool bCreate=false) override
Forwarded to the print manager.
Use this class instead of calling lock() and unlock() directly in order to be exception safe.
static constexpr OUStringLiteral msConfigurationUpdateStartEvent
This module locks updates of the current configuration in situations when the shell stack must not be...
ShellStackGuard(rtl::Reference< sd::DrawController > const &rxController)
std::unique_ptr< ConfigurationController::Lock > mpUpdateLock
css::uno::Reference< css::drawing::framework::XConfigurationController > mxConfigurationController
virtual void SAL_CALL notifyConfigurationChange(const css::drawing::framework::ConfigurationChangeEvent &rEvent) override
virtual void disposing(std::unique_lock< std::mutex > &) override
bool IsPrinting() const
Return <TRUE> when the printer is printing.
virtual ~ShellStackGuard() override
Idle maPrinterPollingIdle
#define LINK(Instance, Class, Member)
IMPL_LINK(FullScreenPane, WindowEventHandler, VclWindowEvent &, rEvent, void)