Skip to content
Snippets Groups Projects
Commit b168e31e authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

DoubleDescriptor: sort c'tors

parent 731a188f
No related branches found
No related tags found
1 merge request!598Reorganize GUI/Model subdirectories; remove unused includes; mv some fcts
......@@ -18,30 +18,6 @@
#include "GUI/Util/Path.h"
#include <utility>
DoubleDescriptor::DoubleDescriptor(const QString& label, SessionItem* item,
const variant<QString, Unit>& unit)
: DoubleDescriptor(
label, item->toolTip(), item->decimals(), item->limits(),
[=](double d) { item->setValue(d); }, [=]() { return item->value().toDouble(); }, unit)
{
path = [=] {
ASSERT(item->model()); // if assert, item is not completely initialized
return GUI::Util::Path::getPathFromIndex(item->model()->indexOfItem(item));
};
}
DoubleDescriptor::DoubleDescriptor(SessionItem* item, const variant<QString, Unit>& unit)
: DoubleDescriptor(item->displayName(), item, unit)
{
}
DoubleDescriptor::DoubleDescriptor(const QString& label, const QString& tooltip,
function<void(double)> setter, function<double()> getter,
const variant<QString, Unit>& unit)
: DoubleDescriptor(label, tooltip, 3, RealLimits::nonnegative(), setter, getter, unit)
{
}
DoubleDescriptor::DoubleDescriptor(QString label_, QString tooltip_, int decimals_,
const RealLimits& limits_, function<void(double)> setter,
function<double()> getter, const variant<QString, Unit>& unit_)
......@@ -58,6 +34,13 @@ DoubleDescriptor::DoubleDescriptor(QString label_, QString tooltip_, int decimal
path = [] { return QString(); };
}
DoubleDescriptor::DoubleDescriptor(const QString& label, const QString& tooltip,
function<void(double)> setter, function<double()> getter,
const variant<QString, Unit>& unit)
: DoubleDescriptor(label, tooltip, 3, RealLimits::nonnegative(), setter, getter, unit)
{
}
DoubleDescriptor::DoubleDescriptor(const QString& label, const QString& tooltip, double* var,
const variant<QString, Unit>& unit)
: DoubleDescriptor(label, tooltip, 3, RealLimits::nonnegative(), var, unit)
......@@ -81,6 +64,23 @@ DoubleDescriptor::DoubleDescriptor(const QString& label, const double* var,
{
}
DoubleDescriptor::DoubleDescriptor(const QString& label, SessionItem* item,
const variant<QString, Unit>& unit)
: DoubleDescriptor(
label, item->toolTip(), item->decimals(), item->limits(),
[=](double d) { item->setValue(d); }, [=]() { return item->value().toDouble(); }, unit)
{
path = [=] {
ASSERT(item->model()); // if assert, item is not completely initialized
return GUI::Util::Path::getPathFromIndex(item->model()->indexOfItem(item));
};
}
DoubleDescriptor::DoubleDescriptor(SessionItem* item, const variant<QString, Unit>& unit)
: DoubleDescriptor(item->displayName(), item, unit)
{
}
DoubleDescriptor::operator double() const
{
return get();
......
......@@ -34,43 +34,43 @@ using std::variant;
//! eases SessionItem migration. The underlying implementation can be a SessionItem, a simple double
//! member, or any other construction to hold a double value.
class DoubleDescriptor {
public:
DoubleDescriptor(const DoubleDescriptor& other) = default;
private: // private as long as path initialization is not included in params (to be done after
// SessionItem migration)
//! Operates on a double value (e.g a member variable).
DoubleDescriptor(const QString& label, const QString& tooltip, int decimals,
const RealLimits& limits, double* var, const variant<QString, Unit>& unit);
//! Operates on a session item. The settings (like decimals, limits) are taken from the session
//! item.
//! Only for easier migration. Should be removed after SessionItem refactoring.
DoubleDescriptor(SessionItem* item, const variant<QString, Unit>& unit);
//! Operates on a double value (e.g a member variable).
//! Decimals is set to 3, limits is set to nonnegative
DoubleDescriptor(const QString& label, const QString& tooltip, double* var,
const variant<QString, Unit>& unit);
public:
//! Operates on any kind of storage (e.g. session items), by using setter/getter methods
//! decimals is set to 3, limits is set to nonnegative
DoubleDescriptor(const QString& label, const QString& tooltip, function<void(double)> setter,
function<double()> getter, const variant<QString, Unit>& unit);
//! Operates on any kind of storage (e.g. session items), by using setter/getter methods
DoubleDescriptor(QString label, QString tooltip, int decimals, const RealLimits& limits,
function<void(double)> setter, function<double()> getter,
const variant<QString, Unit>& unit);
DoubleDescriptor(const QString& label, const double* var, const variant<QString, Unit>& unit);
//! Operates on a session item. The settings (like decimals, limits) are taken from the session
//! item.
//! Only for easier migration. Should be removed after SessionItem refactoring.
DoubleDescriptor(const QString& label, SessionItem* item, const variant<QString, Unit>& unit);
DoubleDescriptor(const QString& label, const double* var, const variant<QString, Unit>& unit);
//! Operates on any kind of storage (e.g. session items), by using setter/getter methods
DoubleDescriptor(QString label, QString tooltip, int decimals, const RealLimits& limits,
function<void(double)> setter, function<double()> getter,
const variant<QString, Unit>& unit);
//! Operates on a session item. The settings (like decimals, limits) are taken from the session
//! item.
//! Only for easier migration. Should be removed after SessionItem refactoring.
DoubleDescriptor(SessionItem* item, const variant<QString, Unit>& unit);
DoubleDescriptor() = default;
private: // private as long as path initialization is not included in params (to be done after
// SessionItem migration)
//! Operates on a double value (e.g a member variable).
DoubleDescriptor(const QString& label, const QString& tooltip, int decimals,
const RealLimits& limits, double* var, const variant<QString, Unit>& unit);
//! Operates on a double value (e.g a member variable).
//! Decimals is set to 3, limits is set to nonnegative
DoubleDescriptor(const QString& label, const QString& tooltip, double* var,
const variant<QString, Unit>& unit);
DoubleDescriptor(const DoubleDescriptor& other) = default;
public:
//! Return the current value of the handled parameter.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment