13 QObject(parent), _label(label), _paramIndex(paramIndex)
15 for (
int i = 0; i < channelConfigs.
count(); ++i) {
17 QString param = channelConfig->
parameter();
18 QString sparamIndex = QString::number(paramIndex + channelConfig->indexOffset());
19 param.replace(
"${i}", sparamIndex);
25 fact =
new FactBitset(channelConfig, fact, paramIndex + channelConfig->indexOffset());
31 qCDebug(ActuatorsConfigLog) <<
"ActuatorOutputChannel: Param does not exist:" << param;
35 _configInstances->
append(instance);
41 _channelConfigs->
append(channelConfig);
47 _channels->
append(channel);
55 _primaryParam = param;
62 : QObject(parent), _label(label), _groupVisibilityCondition(groupVisibilityCondition)
64 if (_groupVisibilityCondition.
fact()) {
71 _subgroups->
append(subgroup);
88 allFunctions.append(fact);
93 bool hasExistingOutputFunction =
false;
96 [[maybe_unused]]
Fact *fact) { hasExistingOutputFunction =
true; });
97 return hasExistingOutputFunction;
102 for (
int subgroupIdx = 0; subgroupIdx < _subgroups->
count(); subgroupIdx++) {
104 for (
int channelIdx = 0; channelIdx < subgroup->
channels()->count(); channelIdx++) {
106 for (
int configIdx = 0; configIdx < channel->
configInstances()->count(); configIdx++) {
108 Fact* fact = configInstance->fact();
110 callback(subgroup, configInstance, fact);
ActuatorOutputChannel(QObject *parent, const QString &label, int paramIndex, QmlObjectListModel &channelConfigs, ParameterManager *parameterManager, std::function< void(Fact *)> factAddedCb)
QmlObjectListModel * configInstances()
void addConfigParam(ConfigParameter *param)
void addChannel(ActuatorOutputChannel *channel)
void addChannelConfig(ChannelConfig *channelConfig)
void channelConfigsChanged()
QmlObjectListModel * channels()
ActuatorOutput(QObject *parent, const QString &label, const Condition &groupVisibilityCondition)
void groupsVisibleChanged()
void forEachOutputFunction(std::function< void(ActuatorOutputSubgroup *, ChannelConfigInstance *, Fact *)> callback) const
void getAllChannelFunctions(QList< Fact * > &allFunctions) const
void addConfigParam(ConfigParameter *param)
bool hasExistingOutputFunctionParams() const
void addSubgroup(ActuatorOutputSubgroup *subgroup)
ChannelConfig * channelConfig() const
const QString & parameter() const
Function function() const
Function function() const
@ Primary
Primary parameter to configure the group of outputs.
@ Enable
Parameter to enable/disable the outputs.
A Fact is used to hold a single value within the system.
void rawValueChanged(const QVariant &value)
bool parameterExists(int componentId, const QString ¶mName) const
Fact * getParameter(int componentId, const QString ¶mName)
static constexpr int defaultComponentId
void append(QObject *object)
Caller maintains responsibility for object ownership and deletion.
int count() const override final
@ Bitset
integer displayed as boolean (checkbox), where the index defines the bit
@ BoolTrueIfPositive
Show checkbox for float/int value.