6#include <iprm/IParamsSet.h>
7#include <iprm/IParamsInfoProvider.h>
21 CParamsSetJoiner(iprm::IParamsSet* paramsSet1, iprm::IParamsSet* paramsSet2);
22 CParamsSetJoiner(
const iprm::IParamsSet* paramsSet1,
const iprm::IParamsSet* paramsSet2);
24 void SetParams(iprm::IParamsSet* paramsSet1, iprm::IParamsSet* paramsSet2);
25 void SetParams(
const iprm::IParamsSet* paramsSet1,
const iprm::IParamsSet* paramsSet2);
28 virtual Ids GetParamIds(
bool editableOnly =
false)
const override;
29 virtual const iser::ISerializable* GetParameter(
const QByteArray&
id)
const override;
30 virtual iser::ISerializable* GetEditableParameter(
const QByteArray&
id)
override;
31 virtual const iprm::IParamsInfoProvider* GetParamsInfoProvider()
const override;
34 virtual bool Serialize(iser::IArchive& archive)
override;
37 class ParamsInfoProviderJoiner:
virtual public iprm::IParamsInfoProvider
43 virtual std::unique_ptr<ParamInfo> GetParamInfo(
const QByteArray& paramId)
const override;
49 iprm::IParamsSet* m_paramsSet1;
50 iprm::IParamsSet* m_paramsSet2;
51 mutable ParamsInfoProviderJoiner m_infoProvider;