Branch libreoffice-5-0-4
[LibreOffice.git] / include / svx / extedit.hxx
blobab3e4cfee3bab7a74b434a03d65bd024dd634127
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 SVX_DLLPUBLIC SAL_WARN_UNUSED 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 SVX_DLLPUBLIC SAL_WARN_UNUSED SdrExternalToolEdit
46 : public ExternalToolEdit
47 , public SfxListener
49 private:
50 FmFormView * m_pView;
51 SdrObject * m_pObj;
53 SAL_DLLPRIVATE virtual void Update(Graphic&) SAL_OVERRIDE;
54 SAL_DLLPRIVATE virtual void Notify(SfxBroadcaster&, const SfxHint&) SAL_OVERRIDE;
56 public:
57 SdrExternalToolEdit(FmFormView * pView, SdrObject * pObj);
60 #endif