android: Update app-specific/MIME type icons
[LibreOffice.git] / include / svx / extedit.hxx
blob04fd9dfb8e5413a2a1e81801499d318b2bf11660
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 <rtl/ref.hxx>
17 #include <memory>
19 class Graphic;
20 class GraphicObject;
21 class FileChangedChecker;
23 class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC ExternalToolEdit
25 protected:
26 OUString m_aFileName;
28 ::std::unique_ptr<FileChangedChecker> m_pChecker;
30 public:
32 ExternalToolEdit();
33 virtual ~ExternalToolEdit();
35 virtual void Update( Graphic& aGraphic ) = 0;
36 void Edit(GraphicObject const*const pGraphic);
38 void StartListeningEvent();
40 static void HandleCloseEvent( ExternalToolEdit* pData );
43 class FmFormView;
44 class SdrObject;
45 class SdrGrafObj;
47 class SAL_WARN_UNUSED SVXCORE_DLLPUBLIC SdrExternalToolEdit final
48 : public ExternalToolEdit
49 ,public SfxListener
51 private:
52 FmFormView* m_pView;
53 rtl::Reference<SdrGrafObj> m_pObj;
55 SAL_DLLPRIVATE virtual void Update(Graphic&) override;
56 SAL_DLLPRIVATE virtual void Notify(SfxBroadcaster&, const SfxHint&) override;
58 public:
59 SdrExternalToolEdit(
60 FmFormView* pView,
61 SdrGrafObj* pObj);
64 #endif