1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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  */
9 
10 #ifndef INCLUDED_SVX_UIOBJECT_HXX
11 #define INCLUDED_SVX_UIOBJECT_HXX
12 
13 #include <svx/svxdllapi.h>
14 
15 #include <svx/SvxColorValueSet.hxx>
16 
17 #include <vcl/uitest/uiobject.hxx>
18 
19 class SdrObject;
20 class SvxColorValueSet;
21 
22 class SVXCORE_DLLPUBLIC SdrUIObject : public UIObject
23 {
24 public:
25 
26     virtual ~SdrUIObject() override;
27 
28     virtual StringMap get_state() override;
29 
30     virtual void execute(const OUString& rAction,
31             const StringMap& rParameters) override;
32 
33     virtual OUString get_type() const override;
34 
35     virtual SdrObject* get_object() = 0;
36 };
37 
38 class SvxColorValueSetUIObject final : public DrawingAreaUIObject
39 {
40     SvxColorValueSet* mpColorSet;
41 
42 public:
43 
44     SvxColorValueSetUIObject(vcl::Window* pColorSetWin);
45 
46     virtual void execute(const OUString& rAction,
47             const StringMap& rParameters) override;
48 
49     static std::unique_ptr<UIObject> create(vcl::Window* pWindow);
50 
51     virtual StringMap get_state() override;
52 
53 private:
54 
55     OUString get_name() const override;
56 };
57 
58 
59 #endif
60 
61 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
62