ACF $AcfVersion:0$
TMultiViewExtenderDelegatorCompWrap.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
8
9
10namespace iqt2d
11{
12
13
17template<class Base>
19 public Base,
20 virtual public iqt2d::IViewExtender
21{
22public:
23 typedef Base BaseClass;
24
25 I_BEGIN_COMPONENT(TMultiViewExtenderDelegatorCompWrap);
26 I_REGISTER_INTERFACE(iqt2d::IViewExtender);
27 I_ASSIGN_MULTI_0(m_slaveExtendersCompPtr, "SlaveSceneExtenders", "List of the slave scene extenders", false);
28 I_END_COMPONENT;
29
30 // reimplemented (iqt2d::IViewExtender)
31 virtual void AddItemsToScene(iqt2d::IViewProvider* providerPtr, int flags) override;
32 virtual void RemoveItemsFromScene(iqt2d::IViewProvider* providerPtr) override;
33
34private:
35 I_MULTIREF(iqt2d::IViewExtender, m_slaveExtendersCompPtr);
36};
37
38
39// reimplemented (iqt2d::IViewExtender)
40
41template<class Base>
43{
44 if (m_slaveExtendersCompPtr.IsValid()){
45 int count = m_slaveExtendersCompPtr.GetCount();
46 for (int i = 0; i < count; i++){
47 if (m_slaveExtendersCompPtr[i] != NULL){
48 m_slaveExtendersCompPtr[i]->AddItemsToScene(providerPtr, flags);
49 }
50 }
51 }
52}
53
54
55template<class Base>
57{
58 if (m_slaveExtendersCompPtr.IsValid()){
59 int count = m_slaveExtendersCompPtr.GetCount();
60 for (int i = 0; i < count; i++){
61 if (m_slaveExtendersCompPtr[i] != NULL){
62 m_slaveExtendersCompPtr[i]->RemoveItemsFromScene(providerPtr);
63 }
64 }
65 }
66}
67
68
70
71
72} // namespace iqt2d
73
Interface for GUI objects presenting its results using extern view objects.
Interface for GUI objects managing view.
Iterates over the list of the scene extenders to show their shapes on the same view provider.
virtual void RemoveItemsFromScene(iqt2d::IViewProvider *providerPtr) override
Called when items should be removed from specified scene.
virtual void AddItemsToScene(iqt2d::IViewProvider *providerPtr, int flags) override
Called when items should be added to specified scene.
#define NULL
Definition istd.h:74
This package contains Qt based implementations for 2D graphic objects.
TMultiViewExtenderDelegatorCompWrap< icomp::CComponentBase > CMultiViewExtenderDelegatorComp