ACF $AcfVersion:0$
CSimpleShapeFactoryComp.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
10
11
12namespace iview
13{
14
15
21 virtual public IShapeFactory
22{
23public:
25
26 I_BEGIN_COMPONENT(CSimpleShapeFactoryComp);
27 I_REGISTER_INTERFACE(IShapeFactory);
28 I_ASSIGN(m_useInteractiveShapesAttrPtr, "UseInteractiveShapes", "If true, the created shapes will be editable", true, true);
29 I_ASSIGN(m_colorSchemaCompPtr, "ShapeColorSchema", "Color schema used by displayed shape", false, "ShapeColorSchema");
30 I_END_COMPONENT;
31
32 // reimplemented (iview::IShapeFactory)
33 virtual IShape* CreateShape(const istd::IChangeable* objectPtr, bool connectToModel = false) const override;
34
35protected:
36 virtual CShapeBase* CreateShapeInstance(const istd::IChangeable& object) const;
37
38protected:
39 I_ATTR(bool, m_useInteractiveShapesAttrPtr);
40 I_REF(iview::IColorSchema, m_colorSchemaCompPtr);
41};
42
43
44} // namespace iview
45
46
47
48
Base class for component implementation.
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
Simple shape factory for common 2D-objects.
virtual CShapeBase * CreateShapeInstance(const istd::IChangeable &object) const
virtual IShape * CreateShape(const istd::IChangeable *objectPtr, bool connectToModel=false) const override
Create a graphical representation of the given 2D-object object.
Defines set of standard pens, brushes and simple management of unions.
Interface for creation of visualization shapes of some geometrical object.
Common interface for all display console shapes.
Definition IShape.h:32
In this library is defined 2D view concept and standard visualisation objects.