22#include <svx/svxids.hrc>
46#include <drawview.hxx>
70 SID_3D_STATE, SfxCallMode::ASYNCHRON | SfxCallMode::RECORD, { &aItem });
86 if (
GetDocSh()->GetCreateMode() == SfxObjectCreateMode::EMBEDDED
93 if( xSlideshow.is() && xSlideshow->isRunning() && !xSlideshow->isFullScreen() )
113 bool bClientActive =
false;
115 bClientActive =
true;
119 if (
mbZoomOnPage && !bInPlaceActive && !bClientActive )
137 SD_MOD()->GetSdOptions(
GetDoc()->GetDocumentType())->IsPickThrough());
232 sal_uInt16 nTmp =
mpDrawView->GetMarkHdlSizePixel();
268 sal_uInt16 nSelectedPage = 0;
299 SfxCallMode::SYNCHRON | SfxCallMode::RECORD,
300 { &aDesignModeItem });
442 if (pFormShell !=
nullptr)
452 const sal_Int32
nIndex = rSequence.getLength();
453 rSequence.realloc(
nIndex + 1 );
454 auto pSequence = rSequence.getArray();
468 for (
const css::beans::PropertyValue& rValue : rSequence)
472 bool bZoomPage =
false;
473 if( rValue.Value >>= bZoomPage )
488 bool bHasVisiPrnLockSettings(
false);
489 for (
auto & rPropertyValue : rSequence )
495 bHasVisiPrnLockSettings =
true;
499 if ( !bHasVisiPrnLockSettings )
506 mpFrameView -> SetPrintableLayers( aSdrLayerIDSet );
516 if (rLayerAdmin.
GetLayer(
"DrawnInSlideshow"))
522 mpFrameView -> SetPrintableLayers( aSdrLayerIDSet );
554 if (
GetDocSh()->GetCreateMode() == SfxObjectCreateMode::EMBEDDED
587css::uno::Reference<css::accessibility::XAccessible>
598 pDocumentView->Init();
599 return pDocumentView;
602 SAL_WARN(
"sd",
"DrawViewShell::CreateAccessibleDocumentView: no controller");
603 return css::uno::Reference< css::accessibility::XAccessible>();
623 if (
nIndex>=0 && nIndex<pBar->GetPageCount())
631 css::uno::Reference< css::drawing::XLayer> rLayer = pUnoDrawView->getActiveLayer();
const StyleSettings & GetStyleSettings() const
static const AllSettings & GetSettings()
void SetStyleSheetPool(SfxStyleSheetPool *pSPool)
void SetDrawMode(DrawModeFlags nDrawMode)
sal_Int32 GetDragThresholdPixels() const
void SetDragStripes(bool bOn)
void SetNoDragXorPolys(bool bOn)
bool IsSolidDragging() const
bool IsNoDragXorPolys() const
bool IsDragStripes() const
void SetSolidDragging(bool bOn)
void SetMarkedHitMovesAlways(bool bOn)
bool IsMarkedHitMovesAlways() const
void getPrintableLayersODF(SdrLayerIDSet &rOutSet) const
SdrLayer * GetLayer(sal_uInt16 i)
void getLockedLayersODF(SdrLayerIDSet &rOutSet) const
void getVisibleLayersODF(SdrLayerIDSet &rOutSet) const
void SetFrameDragSingles(bool bOn=true)
bool IsFrameDragSingles() const
bool IsDesignMode() const
void SetPlusHandlesAlwaysVisible(bool bOn)
void SetDesignMode(bool bOn=true)
bool IsPlusHandlesAlwaysVisible() const
void ReadUserDataSequenceValue(const css::beans::PropertyValue *pValue)
SdrOutliner & GetDrawOutliner(const SdrTextObj *pObj=nullptr) const
void WriteUserDataSequence(css::uno::Sequence< css::beans::PropertyValue > &rValues)
void SetPickThroughTransparentTextFrames(bool bOn)
const SdrLayerAdmin & GetLayerAdmin() const
const SdrLayerIDSet & GetVisibleLayers() const
void SetLockedLayers(const SdrLayerIDSet &rSet)
void SetVisibleLayers(const SdrLayerIDSet &rSet)
void SetPrintableLayers(const SdrLayerIDSet &rSet)
const SdrHelpLineList & GetHelpLines() const
const SdrLayerIDSet & GetLockedLayers() const
const SdrLayerIDSet & GetPrintableLayers() const
void SetHelpLines(const SdrHelpLineList &rHLL)
void VisAreaChanged(const OutputDevice *pOut)
void SetHlplVisible(bool bOn=true)
const Size & GetGridFine() const
void SetActiveLayer(const OUString &rName)
const Size & GetGridCoarse() const
void SetGridFine(const Size &rSiz)
void SetGridFront(bool bOn)
bool IsHlplVisible() const
void SetGridCoarse(const Size &rSiz)
const OUString & GetActiveLayer() const
void SetGridVisible(bool bOn)
bool IsGridVisible() const
bool IsCrookNoContortion() const
void SetOFrmSnap(bool bOn)
Degree100 GetEliminatePolyPointLimitAngle() const
void SetSnapGridWidth(const Fraction &rX, const Fraction &rY)
void SetOPntSnap(bool bOn)
void SetHlplSnap(bool bOn)
const Fraction & GetSnapGridWidthY() const
void SetBordSnap(bool bOn)
void SetGridSnap(bool bOn)
void SetSnapAngle(Degree100 nAngle)
bool IsAngleSnapEnabled() const
Degree100 GetSnapAngle() const
void SetBigOrtho(bool bOn)
void SetMoveOnlyDragging(bool bOn)
void SetEliminatePolyPointLimitAngle(Degree100 nAngle)
bool IsMoveOnlyDragging() const
const Fraction & GetSnapGridWidthX() const
void SetEliminatePolyPoints(bool bOn)
void SetOConSnap(bool bOn)
void SetCrookNoContortion(bool bOn)
sal_uInt16 GetSnapMagneticPixel() const
bool IsEliminatePolyPoints() const
bool IsMasterPagePaintCaching() const
void Invalidate(sal_uInt16 nId)
const SfxPoolItem * ExecuteList(sal_uInt16 nSlot, SfxCallMode nCall, std::initializer_list< SfxPoolItem const * > args, std::initializer_list< SfxPoolItem const * > internalargs=std::initializer_list< SfxPoolItem const * >())
bool IsObjectInPlaceActive() const
virtual void SetVisArea(const tools::Rectangle &rVisArea)
virtual void Invalidate(sal_uInt16 nId=0)
const SfxPoolItem * ExecuteSlot(SfxRequest &rReq, const SfxInterface *pIF=nullptr)
SfxViewShell * GetViewShell() const
SfxBindings & GetBindings()
SfxDispatcher * GetDispatcher()
SfxFrame & GetFrame() const
SfxInPlaceClient * GetIPClient() const
sal_Int32 GetScrollBarSize() const
void SetCurPageId(sal_uInt16 nPageId)
sal_uInt16 GetPagePos(sal_uInt16 nPageId) const
sal_uInt16 GetPageCount() const
sal_uInt16 GetPageId(sal_uInt16 nPos) const
sal_uInt16 GetCurPageId() const
This class makes draw documents in the general view modes accessible.
The DrawController is the UNO controller for Impress and Draw.
void FireVisAreaChanged(const ::tools::Rectangle &rVisArea) noexcept
Call this method when the VisArea has changed.
void fireChangeLayer(css::uno::Reference< css::drawing::XLayer > *pCurrentLayer) noexcept
virtual SfxStyleSheetBasePool * GetStyleSheetPool() override
SdDrawDocument * GetDoc()
Base class of the stacked shells that provide graphical views to Draw and Impress documents and editi...
virtual void WriteUserDataSequence(css::uno::Sequence< css::beans::PropertyValue > &) override
virtual void SetZoomFactor(const Fraction &rZoomX, const Fraction &rZoomY) override
adjust zoom factor for InPlace
virtual SdPage * getCurrentPage() const override
inherited from sd::ViewShell
std::unique_ptr< DrawView > mpDrawView
virtual void SetZoomRect(const ::tools::Rectangle &rZoomRect) override
Set zoom rectangle for active window.
bool IsLayerModeActive() const
virtual void VisAreaChanged(const ::tools::Rectangle &rRect) override
this method is called when the visible area of the view from this viewshell is changed
void SetActiveTabLayerIndex(int nId)
Set the active layer at the layer tab control and update the control accordingly to reflect the chang...
virtual void WriteFrameViewData() override
Apply data of the current view on the FrameView.
const SdViewOptions & GetViewOptions() const
virtual void Resize() override
Notify the view shell that its parent window has been resized.
VclPtr< TabControl > maTabControl
virtual void ChangeEditMode(EditMode eMode, bool bIsLayerModeActive)
Set status (enabled/disabled) of menu SfxSlots.
virtual void ReadUserDataSequence(const css::uno::Sequence< css::beans::PropertyValue > &) override
bool mbIsLayerModeActive
This flag controls whether the layer mode is active, i.e.
SD_DLLPUBLIC LayerTabBar * GetLayerTabControl()
Return a pointer to the tab control for layers.
virtual void Paint(const ::tools::Rectangle &rRect, ::sd::Window *pWin) override
The event is forwarded to the Viewshell and the current function by the window pWin.
int GetActiveTabLayerIndex() const
Return the numerical id of the currently active layer as seen by the layer tab control.
int GetTabLayerCount() const
Return the number of layers managed by the layer tab control.
bool SwitchPage(sal_uInt16 nPage, bool bAllowChangeFocus=true)
Switch to desired page.
virtual void ReadFrameViewData(FrameView *pView) override
Apply data of the FrameView on the current view.
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessibleDocumentView(::sd::Window *pWindow) override
Create an accessible object representing the specified window.
void ResetActualLayer()
Select new refreshed page, in case of a page order change (eg.
virtual void ArrangeGUIElements() override
Arrange and resize the GUI elements like rulers, sliders, and buttons as well as the actual document ...
EditMode GetViewShEditMode() const
Return EditMode (Page or MasterPage) of working mode.
sal_uInt16 GetSelectedPage() const
void SetLockedLayers(const SdrLayerIDSet &rLockedLayers)
void SetLayerMode(bool bMode)
void SetDrawMode(DrawModeFlags nNewDrawMode)
void SetNotesHelpLines(const SdrHelpLineList &rHelpLines)
const SdrHelpLineList & GetStandardHelpLines() const
void SetQuickEdit(bool bQEdit)
void SetPrintableLayers(const SdrLayerIDSet &rPrintableLayers)
const ::tools::Rectangle & GetVisArea() const
const SdrHelpLineList & GetHandoutHelpLines() const
const SdrLayerIDSet & GetLockedLayers() const
const SdrLayerIDSet & GetVisibleLayers() const
const SdrHelpLineList & GetNotesHelpLines() const
void SetSelectedPage(sal_uInt16 nPage)
PageKind GetPageKind() const
DrawModeFlags GetDrawMode() const
void SetViewShEditMode(EditMode eMode)
Set EditMode (Page or MasterPage) of working mode.
void SetHandoutHelpLines(const SdrHelpLineList &rHelpLines)
void SetStandardHelpLines(const SdrHelpLineList &rHelpLines)
void SetVisibleLayers(const SdrLayerIDSet &rVisibleLayers)
const SdrLayerIDSet & GetPrintableLayers() const
void SetVisArea(const ::tools::Rectangle &rVisArea)
void SetRuler(const bool bRulerOn)
OUString GetLayerName(sal_uInt16 nPageId) const
an instance of this guard disables modification of a document during its lifetime
This class implements the DrawViewShell specific part of the controller.
static rtl::Reference< SlideShow > GetSlideShow(SdDrawDocument const *pDocument)
DrawController * GetDrawController() const
std::shared_ptr< FormShellManager > const & GetFormShellManager() const
SD_DLLPUBLIC DrawDocShell * GetDocSh() const
SdDrawDocument * GetDoc() const
void SetRuler(bool bRuler)
Switch ruler on/off.
virtual void ArrangeGUIElements()
Set position and size of the GUI elements that are controlled by the view shell like rulers and scrol...
virtual void ReadUserDataSequence(const css::uno::Sequence< css::beans::PropertyValue > &)
virtual void VisAreaChanged(const ::tools::Rectangle &rRect)
this method is called when the visible area of the view from this viewshell is changed
::sd::Window * GetActiveWindow() const
The active window is usually the mpContentWindow.
::sd::View * GetView() const
vcl::Window * GetParentWindow() const
Return the window that is the parent of all controls of this view shell.
virtual void WriteUserDataSequence(css::uno::Sequence< css::beans::PropertyValue > &)
VclPtr< LayerTabBar > mpLayerTabBar
Layer tab bar.
virtual void SetZoomFactor(const Fraction &rZoomX, const Fraction &rZoomY)
Set zoom factor for InPlace.
virtual void Resize()
Notify the view shell that its parent window has been resized.
SD_DLLPUBLIC ViewShellBase & GetViewShellBase() const
SD_DLLPUBLIC SfxViewFrame * GetViewFrame() const
An SdWindow contains the actual working area of ViewShell.
const Point & GetViewOrigin() const
void SetWinViewPos(const Point &rPnt)
Set the position of the upper left corner from the visible area of the window.
vcl::Window * GetAccessibleParentWindow() const
const AllSettings & GetSettings() const
::OutputDevice const * GetOutDev() const
Point PixelToLogic(const Point &rDevicePt) const
css::uno::Reference< css::accessibility::XAccessible > GetAccessible(bool bCreate=true)
Size GetOutputSizePixel() const
void SetHelpId(const OUString &)
virtual std::shared_ptr< SfxDialogController > GetController() override
constexpr TypedWhichId< SvxLanguageItem > EE_CHAR_LANGUAGE(EE_CHAR_START+14)
constexpr OUStringLiteral HID_SDDRAWVIEWSHELL
#define SAL_WARN(area, stream)
LanguageType GetLanguage(SfxItemSet const &aSet, sal_uInt16 nLangWhichId)
constexpr OUStringLiteral CMD_SID_HANDOUT_MASTER_MODE
constexpr OUStringLiteral CMD_SID_NOTES_MODE
constexpr OUStringLiteral sUNO_View_LockedLayers
constexpr OUStringLiteral sUNO_View_ZoomOnPage
constexpr OUStringLiteral sUNO_View_PrintableLayers
constexpr OUStringLiteral sUNO_View_VisibleLayers