tdf#130857 qt weld: Implement QtInstanceWidget::strip_mnemonic
[LibreOffice.git] / include / svx / extedit.hxx
blob39d8dba7959ac15a99b66226af84163af6312b1a
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
10 #ifndef INCLUDED_SVX_EXTEDIT_HXX
11 #define INCLUDED_SVX_EXTEDIT_HXX
13 #include <svx/svxdllapi.h>
14 #include <svx/svdograf.hxx>
15 #include <svl/lstner.hxx>
16 #include <rtl/ustring.hxx>
17 #include <rtl/ref.hxx>
18 #include <memory>
20 class Graphic;
21 class GraphicObject;
22 class FileChangedChecker;
24 class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC ExternalToolEdit
26 protected:
27 OUString m_aFileName;
29 ::std::unique_ptr<FileChangedChecker> m_pChecker;
31 public:
33 ExternalToolEdit();
34 virtual ~ExternalToolEdit();
36 virtual void Update( Graphic& aGraphic ) = 0;
37 void Edit(GraphicObject const*const pGraphic);
39 void StartListeningEvent();
41 static void HandleCloseEvent( ExternalToolEdit* pData );
44 class FmFormView;
45 class SdrObject;
46 class SdrGrafObj;
48 class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC SdrExternalToolEdit final
49 : public ExternalToolEdit
50 ,public SfxListener
52 private:
53 FmFormView* m_pView;
54 rtl::Reference<SdrGrafObj> m_pObj;
56 SAL_DLLPRIVATE virtual void Update(Graphic&) override;
57 SAL_DLLPRIVATE virtual void Notify(SfxBroadcaster&, const SfxHint&) override;
59 public:
60 SdrExternalToolEdit(
61 FmFormView* pView,
62 SdrGrafObj* pObj);
65 #endif