14 #include "internal/berryCommandUtils.h" 33 int compareTo = CommandUtils::Compare(
defined, castedObject->
defined);
36 compareTo = CommandUtils::Compare(
id, castedObject->
id);
44 const bool definedChanged = !this->
defined;
47 this->type = type.isNull() ? QObject::staticMetaObject.className() : type;
48 this->parameterTypeConverter = parameterTypeConverter;
52 this->FireParameterTypeChanged(event);
59 throw NotDefinedException(
60 "Cannot use GetValueConverter() with an undefined ParameterType");
63 return parameterTypeConverter.data();
70 throw NotDefinedException(
71 "Cannot use IsCompatible() with an undefined ParameterType");
73 return value->inherits(qPrintable(type));
85 QTextStream stringBuffer(&
str);
86 stringBuffer <<
"ParameterType(" <<
id <<
"," <<
defined <<
")";
95 const bool definedChanged =
defined;
98 parameterTypeConverter.clear();
102 this->FireParameterTypeChanged(event);
111 void ParameterType::FireParameterTypeChanged(
const SmartPointer<
116 throw ctkInvalidArgumentException(
"Cannot send a null event to listeners.");
QString ToString() const override
ParameterType(const QString &id)
bool IsCompatible(const QObject *const value) const
IParameterValueConverter * GetValueConverter() const
Light weight base class for most BlueBerry classes.
void RemoveListener(IParameterTypeListener *listener)
void Define(const QString &type, const QSharedPointer< IParameterValueConverter > ¶meterTypeConverter)
void RemoveListener(IParameterTypeListener *listener)
void AddListener(IParameterTypeListener *listener)
bool operator<(const Object *object) const override
Event parameterTypeChanged
void AddListener(IParameterTypeListener *listener)