make ValueTransfer easier to understand
[LibreOffice.git] / include / svx / extedit.hxx
blob0168068f66c8467579a2f74721b854e2e8945179
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 <svl/lstner.hxx>
15 #include <rtl/ustring.hxx>
16 #include <memory>
18 class Graphic;
19 class GraphicObject;
20 class FileChangedChecker;
22 class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC ExternalToolEdit
24 protected:
25 OUString m_aFileName;
27 ::std::unique_ptr<FileChangedChecker> m_pChecker;
29 public:
31 ExternalToolEdit();
32 virtual ~ExternalToolEdit();
34 virtual void Update( Graphic& aGraphic ) = 0;
35 void Edit(GraphicObject const*const pGraphic);
37 void StartListeningEvent();
39 static void HandleCloseEvent( ExternalToolEdit* pData );
42 class FmFormView;
43 class SdrObject;
45 class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC SdrExternalToolEdit final
46 : public ExternalToolEdit
47 ,public SfxListener
49 private:
50 FmFormView* m_pView;
51 SdrObject* m_pObj;
53 SAL_DLLPRIVATE virtual void Update(Graphic&) override;
54 SAL_DLLPRIVATE virtual void Notify(SfxBroadcaster&, const SfxHint&) override;
56 public:
57 SdrExternalToolEdit(
58 FmFormView* pView,
59 SdrObject* pObj);
62 #endif