1
0
Fork 0
libreoffice/sd/source/ui/dlg/sddlgfact.hxx
Daniel Baumann 8e63e14cf6
Adding upstream version 4:25.2.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-22 16:20:04 +02:00

430 lines
17 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#pragma once
#include <sdabstdlg.hxx>
#include <sfx2/basedlgs.hxx>
#include <sfx2/sfxdlg.hxx>
#include <svx/svxdlg.hxx>
#include <morphdlg.hxx>
#include <copydlg.hxx>
#include <BreakDlg.hxx>
#include <headerfooterdlg.hxx>
#include <masterlayoutdlg.hxx>
#include <custsdlg.hxx>
#include <layeroptionsdlg.hxx>
#include <inspagob.hxx>
#include <dlgfield.hxx>
#include <sdpreslt.hxx>
#include <prltempl.hxx>
#include <dlgsnap.hxx>
#include <present.hxx>
#include <vectdlg.hxx>
#include <BulletAndPositionDlg.hxx>
//namespace sd {
// class MorphDlg;
// class CopyDlg;
// class BreakDlg;
// class HeaderFooterDialog;
// class MasterLayoutDialog;
//}
class SvxBulletAndPositionDlg;
/// Provides managing and getting information from the numbering and position dialog.
class AbstractSvxBulletAndPositionDlg_Impl :public AbstractSvxBulletAndPositionDlg
{
std::unique_ptr<SvxBulletAndPositionDlg> m_xDlg;
public:
explicit AbstractSvxBulletAndPositionDlg_Impl(std::unique_ptr<SvxBulletAndPositionDlg> p)
: m_xDlg(std::move(p))
{
}
virtual short Execute() override;
virtual const SfxItemSet* GetOutputItemSet( SfxItemSet* ) const override ;
virtual bool IsApplyToMaster() override;
virtual bool IsSlideScope() override;
};
class SdAbstractGenericDialog_Impl : public VclAbstractDialog
{
std::unique_ptr<weld::GenericDialogController> m_xDlg;
public:
explicit SdAbstractGenericDialog_Impl(std::unique_ptr<weld::GenericDialogController> p)
: m_xDlg(std::move(p))
{
}
virtual short Execute() override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractMasterLayoutDialog_Impl : public VclAbstractDialog
{
private:
std::unique_ptr<sd::MasterLayoutDialog> m_xDlg;
public:
AbstractMasterLayoutDialog_Impl(std::unique_ptr<::sd::MasterLayoutDialog> pDlg);
virtual short Execute() override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractBreakDlg_Impl : public VclAbstractDialog
{
private:
std::unique_ptr<sd::BreakDlg> m_xDlg;
public:
AbstractBreakDlg_Impl(std::unique_ptr<::sd::BreakDlg> pDlg);
virtual short Execute() override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractCopyDlg_Impl : public AbstractCopyDlg
{
private:
std::unique_ptr<sd::CopyDlg> m_xDlg;
public:
AbstractCopyDlg_Impl(std::unique_ptr<::sd::CopyDlg> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual void GetAttr( SfxItemSet& rOutAttrs ) override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractSdCustomShowDlg_Impl : public AbstractSdCustomShowDlg
{
private:
std::unique_ptr<SdCustomShowDlg> m_xDlg;
public:
AbstractSdCustomShowDlg_Impl(std::unique_ptr<SdCustomShowDlg> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual bool IsCustomShow() const override ;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class SdAbstractTabController_Impl : public SfxAbstractTabDialog
{
std::shared_ptr<SfxTabDialogController> m_xDlg;
public:
explicit SdAbstractTabController_Impl(std::shared_ptr<SfxTabDialogController> p)
: m_xDlg(std::move(p))
{
}
virtual short Execute() override;
virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
virtual void SetCurPageId( const OUString &rName ) override;
virtual const SfxItemSet* GetOutputItemSet() const override;
virtual WhichRangesContainer GetInputRanges( const SfxItemPool& pItem ) override;
virtual void SetInputSet( const SfxItemSet* pInSet ) override;
virtual void SetText( const OUString& rStr ) override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractBulletDialog_Impl : public SfxAbstractTabDialog
{
std::shared_ptr<SfxTabDialogController> m_xDlg;
public:
explicit AbstractBulletDialog_Impl(std::shared_ptr<SfxTabDialogController> p)
: m_xDlg(std::move(p))
{
}
virtual short Execute() override;
virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
virtual void SetCurPageId( const OUString& rName ) override;
virtual const SfxItemSet* GetOutputItemSet() const override;
virtual WhichRangesContainer GetInputRanges( const SfxItemPool& pItem ) override;
virtual void SetInputSet( const SfxItemSet* pInSet ) override;
virtual void SetText( const OUString& rStr ) override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class SdPresLayoutTemplateDlg_Impl : public SfxAbstractTabDialog
{
std::shared_ptr<SdPresLayoutTemplateDlg> m_xDlg;
public:
explicit SdPresLayoutTemplateDlg_Impl(std::shared_ptr<SdPresLayoutTemplateDlg> p)
: m_xDlg(std::move(p))
{
}
virtual short Execute() override;
virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
virtual void SetCurPageId( const OUString& rName ) override;
virtual const SfxItemSet* GetOutputItemSet() const override;
virtual WhichRangesContainer GetInputRanges( const SfxItemPool& pItem ) override;
virtual void SetInputSet( const SfxItemSet* pInSet ) override;
virtual void SetText( const OUString& rStr ) override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractSdModifyFieldDlg_Impl : public AbstractSdModifyFieldDlg
{
private:
std::unique_ptr<SdModifyFieldDlg> m_xDlg;
public:
AbstractSdModifyFieldDlg_Impl(std::unique_ptr<SdModifyFieldDlg> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual SvxFieldData* GetField() override;
virtual SfxItemSet GetItemSet() override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractSdSnapLineDlg_Impl : public AbstractSdSnapLineDlg
{
private:
std::unique_ptr<SdSnapLineDlg> m_xDlg;
public:
AbstractSdSnapLineDlg_Impl(std::unique_ptr<SdSnapLineDlg> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual void GetAttr(SfxItemSet& rOutAttrs) override;
virtual void HideRadioGroup() override;
virtual void HideDeleteBtn() override;
virtual void SetInputFields(bool bEnableX, bool bEnableY) override;
virtual void SetText( const OUString& rStr ) override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractSdInsertLayerDlg_Impl : public AbstractSdInsertLayerDlg
{
private:
std::unique_ptr<SdInsertLayerDlg> m_xDlg;
public:
AbstractSdInsertLayerDlg_Impl(std::unique_ptr<SdInsertLayerDlg> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual void GetAttr( SfxItemSet& rOutAttrs ) override ;
virtual void SetHelpId( const OUString& rHelpId ) override ;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractSdInsertPagesObjsDlg_Impl : public AbstractSdInsertPagesObjsDlg
{
private:
std::unique_ptr<SdInsertPagesObjsDlg> m_xDlg;
public:
AbstractSdInsertPagesObjsDlg_Impl(std::unique_ptr<SdInsertPagesObjsDlg> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual std::vector<OUString> GetList ( const sal_uInt16 nType ) override;
virtual bool IsLink() override;
virtual bool IsRemoveUnnecessaryMasterPages() const override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractMorphDlg_Impl : public AbstractMorphDlg
{
private:
std::unique_ptr<sd::MorphDlg> m_xDlg;
public:
AbstractMorphDlg_Impl(std::unique_ptr<::sd::MorphDlg> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual void SaveSettings() const override;
virtual sal_uInt16 GetFadeSteps() const override;
virtual bool IsAttributeFade() const override ;
virtual bool IsOrientationFade() const override ;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractSdStartPresDlg_Impl : public AbstractSdStartPresDlg
{
private:
std::unique_ptr<SdStartPresentationDlg> m_xDlg;
public:
AbstractSdStartPresDlg_Impl(std::unique_ptr<SdStartPresentationDlg> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual void GetAttr( SfxItemSet& rOutAttrs ) override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractSdPresLayoutDlg_Impl : public AbstractSdPresLayoutDlg
{
private:
std::unique_ptr<SdPresLayoutDlg> m_xDlg;
public:
AbstractSdPresLayoutDlg_Impl(std::unique_ptr<SdPresLayoutDlg> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual void GetAttr(SfxItemSet& rOutAttrs) override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class SdAbstractSfxDialog_Impl : public SfxAbstractDialog
{
private:
std::shared_ptr<SfxSingleTabDialogController> m_xDlg;
public:
SdAbstractSfxDialog_Impl(std::shared_ptr<SfxSingleTabDialogController> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual const SfxItemSet* GetOutputItemSet() const override;
virtual void SetText( const OUString& rStr ) override;
virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
};
class AbstractSdVectorizeDlg_Impl :public AbstractSdVectorizeDlg
{
private:
std::unique_ptr<SdVectorizeDlg> m_xDlg;
public:
AbstractSdVectorizeDlg_Impl(std::unique_ptr<SdVectorizeDlg> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual const GDIMetaFile& GetGDIMetaFile() const override ;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
class AbstractHeaderFooterDialog_Impl :public AbstractHeaderFooterDialog
{
private:
std::shared_ptr<::sd::HeaderFooterDialog> m_xDlg;
public:
AbstractHeaderFooterDialog_Impl(std::shared_ptr<::sd::HeaderFooterDialog> pDlg)
: m_xDlg(std::move(pDlg))
{
}
virtual short Execute() override;
virtual bool StartExecuteAsync(AsyncContext &rCtx) override;
// screenshotting
virtual BitmapEx createScreenshot() const override;
virtual OUString GetScreenshotId() const override;
};
//AbstractDialogFactory_Impl implementations
class SdAbstractDialogFactory_Impl : public SdAbstractDialogFactory
{
public:
virtual ~SdAbstractDialogFactory_Impl() {}
virtual VclPtr<AbstractSvxBulletAndPositionDlg> CreateSvxBulletAndPositionDlg(weld::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView) override;
virtual VclPtr<VclAbstractDialog> CreateBreakDlg(weld::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount) override;
virtual VclPtr<AbstractCopyDlg> CreateCopyDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) override;
virtual VclPtr<AbstractSdCustomShowDlg> CreateSdCustomShowDlg(weld::Window* pParent, SdDrawDocument& rDrawDoc) override;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabCharDialog(weld::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell) override;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabPageDialog(weld::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage, bool bIsImpressDoc) override;
virtual VclPtr<AbstractSdModifyFieldDlg> CreateSdModifyFieldDlg(weld::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) override;
virtual VclPtr<AbstractSdSnapLineDlg> CreateSdSnapLineDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) override;
virtual VclPtr<AbstractSdInsertLayerDlg> CreateSdInsertLayerDlg(weld::Window* pParent, const SfxItemSet& rInAttrs, bool bDeletable, const OUString& aStr) override;
virtual VclPtr<AbstractSdInsertPagesObjsDlg> CreateSdInsertPagesObjsDlg(weld::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName ) override;
virtual VclPtr<AbstractMorphDlg> CreateMorphDlg(weld::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2) override;
virtual VclPtr<SfxAbstractTabDialog> CreateSdOutlineBulletTabDlg(weld::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView) override;
virtual VclPtr<SfxAbstractTabDialog> CreateSdParagraphTabDlg(weld::Window* pParent, const SfxItemSet* pAttr) override;
virtual VclPtr<AbstractSdStartPresDlg> CreateSdStartPresentationDlg(weld::Window* pWindow, const SfxItemSet& rInAttrs,
const std::vector<OUString> &rPageNames, SdCustomShowList* pCSList ) override;
virtual VclPtr<VclAbstractDialog> CreateRemoteDialog(weld::Window* pWindow) override; // add for RemoteDialog
virtual VclPtr<SfxAbstractTabDialog> CreateSdPresLayoutTemplateDlg(SfxObjectShell* pDocSh, weld::Window* pParent, bool bBackgroundDlg, SfxStyleSheetBase& rStyleBase, PresentationObjects ePO, SfxStyleSheetBasePool* pSSPool) override;
virtual VclPtr<AbstractSdPresLayoutDlg> CreateSdPresLayoutDlg(weld::Window* pParent, ::sd::DrawDocShell* pDocShell, const SfxItemSet& rInAttrs) override;
virtual VclPtr<SfxAbstractTabDialog> CreateSdTabTemplateDlg(weld::Window* pParent, const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView ) override;
virtual VclPtr<SfxAbstractDialog> CreatSdActionDialog(weld::Window* pParent, const SfxItemSet& rAttr, ::sd::View* pView) override;
virtual VclPtr<AbstractSdVectorizeDlg> CreateSdVectorizeDlg(weld::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell) override;
virtual VclPtr<VclAbstractDialog> CreateSdPhotoAlbumDialog(weld::Window* pWindow, SdDrawDocument* pDoc) override;
virtual VclPtr<VclAbstractDialog> CreateMasterLayoutDialog(weld::Window* pParent, SdDrawDocument* pDoc, SdPage*) override;
virtual VclPtr<AbstractHeaderFooterDialog> CreateHeaderFooterDialog(sd::ViewShell* pViewShell,
weld::Window* pParent,
SdDrawDocument* pDoc,
SdPage* pCurrentPage) override;
// For TabPage
virtual CreateTabPage GetSdOptionsContentsTabPageCreatorFunc() override;
virtual CreateTabPage GetSdPrintOptionsTabPageCreatorFunc() override;
virtual CreateTabPage GetSdOptionsMiscTabPageCreatorFunc() override;
virtual CreateTabPage GetSdOptionsSnapTabPageCreatorFunc() override;
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */