53 lines
1.3 KiB
C++
53 lines
1.3 KiB
C++
#ifndef _ATTRFLOAT_H
|
|
#define _ATTRFLOAT_H
|
|
|
|
#include "attribute.h"
|
|
|
|
// actually it's a double :)
|
|
|
|
class _float : public Attribute {
|
|
public:
|
|
/**
|
|
Optionally set the name and default value of
|
|
your configuration attribute during construction.
|
|
|
|
@param name Name of the configuration attribute.
|
|
@param default_val Default value.
|
|
*/
|
|
_float(const wchar_t *name=NULL, double default_val=0.f) : Attribute(name) {
|
|
setValueAsDouble(default_val, true);
|
|
}
|
|
|
|
/**
|
|
Get the attribute type. This will return
|
|
a constant representing the attribute type.
|
|
|
|
These constants can be: BOOL, FLOAT, STRING and INT.
|
|
|
|
@see AttributeType
|
|
@ret The attribute type.
|
|
*/
|
|
virtual int getAttributeType() { return AttributeType::FLOAT; }
|
|
|
|
/**
|
|
Get the configuration group to be used to represent
|
|
this attribute in the registry.
|
|
|
|
@ret Config group to be used.
|
|
*/
|
|
virtual const wchar_t *getConfigGroup() { return L"studio.configgroup.float"; }
|
|
|
|
// convenience operators
|
|
/**
|
|
Get the value of the attribute.
|
|
*/
|
|
operator double() { return getValueAsDouble(); }
|
|
|
|
/**
|
|
Set the value of the attribute.
|
|
*/
|
|
double operator =(double newval) { return setValueAsDouble(newval) ? newval : getValueAsDouble(); }
|
|
};
|
|
|
|
#endif
|