20#include <config_features.h>
38#include <sfx2/sfxsids.hrc>
51#include <com/sun/star/drawing/framework/XControllerManager.hpp>
59 : mbIsMainViewShell(false),
60 mbIsInitialized(false),
61 mbArrangeActive(false),
68 if ( ! mpUpdateLockForMouse.expired())
70 std::shared_ptr<ToolBarManagerLock> pLock(mpUpdateLockForMouse);
88 bool bHandoutMode =
false;
89 SdPage* pHandoutMPage =
nullptr;
105 if (pCurrentPage ==
nullptr)
108 if (!pArgs || pArgs->
Count() == 1 || pArgs->
Count() == 2 )
113 mrViewShell.GetViewFrame()->ShowChildWindow(SID_SIDEBAR);
116 mrViewShell.GetViewFrame()->GetFrame().GetFrameInterface());
119 else if (pArgs->
Count() == 4)
125 assert(pNewName && pNewAutoLayout && pBVisible && pBObjsVisible &&
"must be present");
131 aNewAutoLayout =
static_cast<AutoLayout>(pNewAutoLayout->GetValue ());
132 bBVisible = pBVisible->GetValue ();
133 bBObjsVisible = pBObjsVisible->GetValue ();
137#if HAVE_FEATURE_SCRIPTING
151#if HAVE_FEATURE_SCRIPTING
159 bHandoutMode ? pHandoutMPage : pCurrentPage;
162 DBG_ASSERT(pUndoManager,
"No UNDO MANAGER ?!?");
166 OUString aComment(
SdResId(STR_UNDO_MODIFY_PAGE) );
169 std::make_unique<ModifyPageUndoAction>(
170 pDocument, pUndoPage, aNewName, aNewAutoLayout, bBVisible, bBObjsVisible));
178 if (pCurrentPage->
GetName() != aNewName)
180 pCurrentPage->
SetName(aNewName);
184 sal_uInt16 nPage = (pCurrentPage->
GetPageNum()-1) / 2;
186 if (pNotesPage !=
nullptr)
195 aVisibleLayers.
Set(aBckgrnd, bBVisible);
196 aVisibleLayers.
Set(aBckgrndObj, bBObjsVisible);
204 mrViewShell.GetViewFrame()->GetDispatcher()->Execute(SID_SWITCHPAGE,
205 SfxCallMode::ASYNCHRON | SfxCallMode::RECORD);
207 bool bSetModified =
true;
209 if (pArgs->
Count() == 1)
214 pUndoManager->
AddUndoAction( std::make_unique<UndoAutoLayoutPosAndSize>( *pUndoPage ) );
238 pPage = pDocument->GetSdPage(
static_cast<sal_uInt16
>(pWhatPage->
GetValue()), ePageKind);
241 if( pPage ==
nullptr )
250 eLayout =
static_cast< AutoLayout >( pWhatLayout->GetValue() );
272 ProcessModifyPageSlot( aRequest, pPage, pPage->
GetPageKind());
313 SvxIMapDlgChildWindow::GetChildWindowId());
314 if (pChildWindow ==
nullptr)
326std::shared_ptr<ViewShell::Implementation::ToolBarManagerLock>
328 const std::shared_ptr<ToolBarManager>& rpManager)
330 std::shared_ptr<ToolBarManagerLock> pLock (
333 pLock->mpSelf = pLock;
338 const std::shared_ptr<ToolBarManager>& rpManager)
340 maTimer(
"sd ToolBarManagerLock maTimer")
static bool IsUICaptured()
sal_uInt32 GetValue() const
const OUString & GetValue() const
SdPage * GetSdPage(sal_uInt16 nPgNum, PageKind ePgKind) const
SdPage * GetMasterSdPage(sal_uInt16 nPgNum, PageKind ePgKind)
virtual SAL_DLLPRIVATE void SetChanged(bool bFlag=true) override
PageKind GetPageKind() const
void SetAutoLayout(AutoLayout eLayout, bool bInit=false, bool bCreate=false)
const OUString & GetName() const
void SetName(const OUString &rName)
Set the name of the page and broadcast a model change.
AutoLayout GetAutoLayout() const
SdrLayerID GetLayerID(const OUString &rName) const
bool IsSet(SdrLayerID a) const
const SdrLayerAdmin & GetLayerAdmin() const
virtual SdrEndTextEditKind SdrEndTextEdit(bool bDontDeleteReally=false)
sal_uInt16 GetPageNum() const
void TRG_SetMasterPageVisibleLayers(const SdrLayerIDSet &rNew)
bool TRG_HasMasterPage() const
const SdrLayerIDSet & TRG_GetMasterPageVisibleLayers() const
std::shared_ptr< SfxDialogController > & GetController()
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
const SfxItemSet * GetArgs() const
const T * GetArg(sal_uInt16 nSlotId) const
void AppendItem(const SfxPoolItem &)
void Done(bool bRemove=false)
virtual void EnterListAction(const OUString &rComment, const OUString &rRepeatComment, sal_uInt16 nId, ViewShellId nViewShellId)
virtual void AddUndoAction(std::unique_ptr< SfxUndoAction > pAction, bool bTryMerg=false)
static SAL_WARN_UNUSED_RESULT SfxViewFrame * Current()
SfxChildWindow * GetChildWindow(sal_uInt16)
static void FatalError(ErrCode)
void SetTimeout(sal_uInt64 nTimeoutMs)
void SetInvokeHandler(const Link< Timer *, void > &rLink)
virtual void Start(bool bStartTimer=true) override
SfxInterfaceId GetViewId() const
Determine the view id of the view shell.
void AssignLayout(SfxRequest const &rRequest, PageKind ePageKind)
Assign the given layout to the given page.
void ProcessModifyPageSlot(SfxRequest &rRequest, SdPage *pCurrentPage, PageKind ePageKind)
Process the SID_MODIFY slot.
static SvxIMapDlg * GetImageMapDialog()
Return a pointer to the image map dialog that is displayed in some child window.
~Implementation() COVERITY_NOEXCEPT_FALSE
Implementation(ViewShell &rViewShell)
Base class of the stacked shell hierarchy.
#define DBG_ASSERT(sCon, aError)
EmbeddedObjectRef * pObject
#define LINK(Instance, Class, Member)
IMPL_LINK_NOARG(MainSequence, onTimerHdl, Timer *, void)
constexpr auto SLIDE_SORTER_FACTORY_ID
constexpr auto DRAW_FACTORY_ID
constexpr auto OUTLINE_FACTORY_ID
constexpr auto IMPRESS_FACTORY_ID
This are ids used by SfxTopFrame::Create() or CreateViewFrame() to select a factory to create an inst...
constexpr auto PRESENTATION_FACTORY_ID
#define ERRCODE_BASIC_BAD_PROP_VALUE
#define ERRCODE_BASIC_WRONG_ARGS
OUString SdResId(TranslateId aId)
constexpr OUStringLiteral sUNO_LayerName_background_objects
constexpr OUStringLiteral sUNO_LayerName_background