1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #ifndef _ATTRINT_H
- #define _ATTRINT_H
- #include "attribute.h"
- // inherit from this one, or just use it
- /**
- Boolean configuration attributes have two values, true or false.
- They can be used like any other config item.
-
- @short Integer configuration attribute.
- @ver 1.0
- @author Nullsoft
- @see CfgItemI
- @see _bool
- @see _string
- @see _float
- */
- class _int : 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.
- */
- _int(const wchar_t *name=NULL, int default_val=0) : Attribute(name) {
- setValueAsInt(default_val, true);
- }
- // from AttributeI
- /**
- 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::INT; }
-
- /**
- 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.int"; }
- // virtual int getPermissions();
- // convenience operators
- /**
- Get the value of the attribute.
- */
- operator int() { return getValueAsInt(); }
- /**
- Set the value of the attribute.
- */
- int operator =(int newval) { return setValueAsInt(newval) ? newval : getValueAsInt(); }
- };
- #endif
|