mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-20 07:45:54 +01:00
66 lines
1.5 KiB
C
66 lines
1.5 KiB
C
|
#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
|