Extend the generic Settings classes to support float and rect settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43081 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
15dbca93da
commit
12a1034a7d
@ -34,6 +34,23 @@ BoolSetting::DefaultValue() const
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark - FloatSetting
|
||||
|
||||
|
||||
setting_type
|
||||
FloatSetting::Type() const
|
||||
{
|
||||
return SETTING_TYPE_FLOAT;
|
||||
}
|
||||
|
||||
|
||||
BVariant
|
||||
FloatSetting::DefaultValue() const
|
||||
{
|
||||
return DefaultFloatValue();
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark - SettingsOption
|
||||
|
||||
|
||||
@ -71,6 +88,22 @@ RangeSetting::Type() const
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark - RectSetting
|
||||
|
||||
setting_type
|
||||
RectSetting::Type() const
|
||||
{
|
||||
return SETTING_TYPE_RECT;
|
||||
}
|
||||
|
||||
|
||||
BVariant
|
||||
RectSetting::DefaultValue() const
|
||||
{
|
||||
return DefaultRectValue();
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark - AbstractSetting
|
||||
|
||||
|
||||
@ -115,6 +148,25 @@ BoolSettingImpl::DefaultBoolValue() const
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark - FloatSettingImpl
|
||||
|
||||
|
||||
FloatSettingImpl::FloatSettingImpl(const BString& id, const BString& name,
|
||||
float defaultValue)
|
||||
:
|
||||
AbstractSetting(id, name),
|
||||
fDefaultValue(defaultValue)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
float
|
||||
FloatSettingImpl::DefaultFloatValue() const
|
||||
{
|
||||
return fDefaultValue;
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark - OptionsSettingImpl
|
||||
|
||||
|
||||
@ -263,3 +315,22 @@ RangeSettingImpl::UpperBound() const
|
||||
{
|
||||
return fUpperBound;
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark - RectSettingImpl
|
||||
|
||||
|
||||
RectSettingImpl::RectSettingImpl(const BString& id, const BString& name,
|
||||
const BRect& defaultValue)
|
||||
:
|
||||
AbstractSetting(id, name),
|
||||
fDefaultValue(defaultValue)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
BRect
|
||||
RectSettingImpl::DefaultRectValue() const
|
||||
{
|
||||
return fDefaultValue;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
/*
|
||||
* Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
|
||||
* Copyright 2011, Rene Gollent, rene@gollent.com.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
#ifndef SETTING_H
|
||||
@ -15,8 +16,10 @@
|
||||
|
||||
enum setting_type {
|
||||
SETTING_TYPE_BOOL,
|
||||
SETTING_TYPE_FLOAT,
|
||||
SETTING_TYPE_OPTIONS,
|
||||
SETTING_TYPE_RANGE
|
||||
SETTING_TYPE_RANGE,
|
||||
SETTING_TYPE_RECT
|
||||
};
|
||||
|
||||
|
||||
@ -42,6 +45,16 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class FloatSetting : public virtual Setting {
|
||||
public:
|
||||
virtual setting_type Type() const;
|
||||
|
||||
virtual BVariant DefaultValue() const;
|
||||
|
||||
virtual float DefaultFloatValue() const = 0;
|
||||
};
|
||||
|
||||
|
||||
class SettingsOption : public BReferenceable {
|
||||
public:
|
||||
virtual ~SettingsOption();
|
||||
@ -74,6 +87,16 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class RectSetting : public virtual Setting {
|
||||
public:
|
||||
virtual setting_type Type() const;
|
||||
|
||||
virtual BVariant DefaultValue() const;
|
||||
|
||||
virtual BRect DefaultRectValue() const = 0;
|
||||
};
|
||||
|
||||
|
||||
class AbstractSetting : public virtual Setting {
|
||||
public:
|
||||
AbstractSetting(const BString& id,
|
||||
@ -100,6 +123,18 @@ private:
|
||||
};
|
||||
|
||||
|
||||
class FloatSettingImpl : public AbstractSetting, public FloatSetting {
|
||||
public:
|
||||
FloatSettingImpl(const BString& id,
|
||||
const BString& name, float defaultValue);
|
||||
|
||||
virtual float DefaultFloatValue() const;
|
||||
|
||||
private:
|
||||
float fDefaultValue;
|
||||
};
|
||||
|
||||
|
||||
class OptionsSettingImpl : public AbstractSetting, public OptionsSetting {
|
||||
public:
|
||||
OptionsSettingImpl(const BString& id,
|
||||
@ -149,4 +184,17 @@ private:
|
||||
};
|
||||
|
||||
|
||||
class RectSettingImpl : public AbstractSetting, public RectSetting {
|
||||
public:
|
||||
RectSettingImpl(const BString& id,
|
||||
const BString& name,
|
||||
const BRect& defaultValue);
|
||||
|
||||
virtual BRect DefaultRectValue() const;
|
||||
|
||||
private:
|
||||
BRect fDefaultValue;
|
||||
};
|
||||
|
||||
|
||||
#endif // SETTING_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user