ACF $AcfVersion:0$
CComposedBitmapProviderComp.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
11
12
13namespace iimg
14{
15
16
25 virtual public iimg::IMultiBitmapProvider,
26 protected iprm::COptionsManager
27{
28public:
30
31 I_BEGIN_COMPONENT(CComposedBitmapProviderComp);
32 I_REGISTER_INTERFACE(iimg::IMultiBitmapProvider);
33 I_ASSIGN_MULTI_0(m_bitmapProvidersCompPtr, "BitmapProviders", "List of input bitmap providers", true);
34 I_ASSIGN_TO(m_bitmapProviderModelsCompPtr, m_bitmapProvidersCompPtr, false);
35 I_ASSIGN_MULTI_0(m_bitmapLabelsAttrPtr, "BitmapLabels", "List of bitmap labels", false);
36 I_ASSIGN_MULTI_0(m_bitmapDescriptionsAttrPtr, "BitmapDescriptions", "List of bitmap descriptions", false);
37 I_END_COMPONENT;
38
40
41 // reimplemented (iimg::IMultiBitmapProvider)
42 virtual const iprm::IOptionsList* GetBitmapListInfo() const override;
43 virtual int GetBitmapsCount() const override;
44 virtual const iimg::IBitmap* GetBitmap(int bitmapIndex) const override;
45
46protected:
47 // reimplemented (icomp::CComponentBase)
48 virtual void OnComponentCreated() override;
49 virtual void OnComponentDestroyed() override;
50
51private:
52 I_MULTIREF(iimg::IBitmapProvider, m_bitmapProvidersCompPtr);
53 I_MULTIREF(imod::IModel, m_bitmapProviderModelsCompPtr);
54 I_MULTITEXTATTR(m_bitmapLabelsAttrPtr);
55 I_MULTITEXTATTR(m_bitmapDescriptionsAttrPtr);
56
57 imod::CModelUpdateBridge m_updateBridge;
58};
59
60
61} // namespace iimg
62
63
64
65
Base class for component implementation.
Component for composition/grouping of more single bitmap providers.
virtual const iprm::IOptionsList * GetBitmapListInfo() const override
Get optional information about bitmaps in form of section constraints.
virtual int GetBitmapsCount() const override
Get number of produced bitmaps.
virtual void OnComponentCreated() override
virtual void OnComponentDestroyed() override
virtual const iimg::IBitmap * GetBitmap(int bitmapIndex) const override
Get access to produced bitmap object.
Definition of single plane bitmap.
Definition IBitmap.h:21
Bitmap supplier allowing to access of produced bitmap.
Supplier allowing to access of multiple produced bitmaps.
Reflects the changes of observed objects as changes of some other object (over istd::IChangeable),...
Common interface for model objects, that supports Model/Observer design pattern.
Definition IModel.h:25
Implementation of a simple options manager.
Constraints of selection from set of possibilities.
#define I_MULTITEXTATTR(member)
Declare translatable multiple text attribute member.
Contains the system indenendent definitions of image and related themes.
Definition CBitmap.h:17