6#include <ibase/TLocalizableWrap.h>
7#include <ibase/TRuntimeStatusHanderCompWrap.h>
8#include <icomp/CComponentBase.h>
9#include <imod/TModelWrap.h>
10#include <iprm/CSelectionParam.h>
13#include <imtstyle/CImtStyle.h>
14#include <imtstyle/IColorPaletteProvider.h>
15#include <imtstyle/IFontProvider.h>
22class CDesignManagerComp:
23 public ibase::TRuntimeStatusHanderCompWrap<icomp::CComponentBase>,
24 public ibase::TLocalizableWrap<iprm::CSelectionParam>
27 typedef ibase::TRuntimeStatusHanderCompWrap<icomp::CComponentBase> BaseClass;
28 typedef ibase::TLocalizableWrap<iprm::CSelectionParam> BaseClass2;
30 I_BEGIN_COMPONENT(CDesignManagerComp);
31 I_REGISTER_INTERFACE(iprm::ISelectionParam);
32 I_REGISTER_INTERFACE(iser::ISerializable);
33 I_REGISTER_SUBELEMENT(DesignList);
34 I_REGISTER_SUBELEMENT_INTERFACE(DesignList, iprm::IOptionsList, ExtractDesignList);
35 I_REGISTER_SUBELEMENT_INTERFACE(DesignList, imod::IModel, ExtractDesignList);
36 I_REGISTER_SUBELEMENT_INTERFACE(DesignList, istd::IChangeable, ExtractDesignList);
37 I_ASSIGN(m_paletteProviderCompPtr,
"PaletteProvider",
"Palette provider",
false,
"PaletteProvider");
38 I_ASSIGN_TO(m_fontProviderCompPtr, m_paletteProviderCompPtr,
false);
39 I_ASSIGN(m_defaultThemeIndexAttrPtr,
"DefaultThemeIndex",
"Index of the default theme",
true, -1);
43 ~CDesignManagerComp();
46 virtual bool SetSelectedOptionIndex(
int index)
override;
49 virtual bool Serialize(iser::IArchive& archive)
override;
53 virtual void OnSystemStarting()
override;
56 virtual void OnComponentCreated()
override;
57 virtual void OnComponentDestroyed()
override;
60 virtual void OnLanguageChanged()
override;
63 bool ApplyDesignScheme(
const QByteArray& themeId);
66 template <
class InterfaceType>
67 static InterfaceType* ExtractDesignList(CDesignManagerComp& component)
69 return &component.m_designs;
73 class DesignList:
virtual public iprm::IOptionsList
78 void SetParent(CDesignManagerComp* parentPtr);
80 void UpdateDesignList();
83 virtual int GetOptionsFlags()
const override;
84 virtual int GetOptionsCount()
const override;
85 virtual QString GetOptionName(
int index)
const override;
86 virtual QString GetOptionDescription(
int index)
const override;
87 virtual QByteArray GetOptionId(
int index)
const override;
88 virtual bool IsOptionEnabled(
int index)
const override;
99 QList<DesignInfo> m_designList;
100 CDesignManagerComp* m_parentPtr;
104 I_REF(iprm::ISelectionParam, m_slaveCompPtr);
105 I_REF(imtstyle::IColorPaletteProvider, m_paletteProviderCompPtr);
106 I_REF(imtstyle::IFontProvider, m_fontProviderCompPtr);
107 I_ATTR(
int, m_defaultThemeIndexAttrPtr);
109 imod::TModelWrap<DesignList> m_designs;