20#ifndef LIBREPCB_EDITOR_LENGTHEDITCONTEXT_H
21#define LIBREPCB_EDITOR_LENGTHEDITCONTEXT_H
38class WorkspaceSettings;
64 static QVector<PositiveLength>
generic()
noexcept {
83 static QVector<PositiveLength>
pinLength() noexcept {
107 QObject* parent =
nullptr) noexcept;
111 ui::LengthEditData
getUiData() const noexcept;
113 void setUiData(
const ui::LengthEditData& data)
noexcept;
114 void configure(
const Length& value,
const QVector<PositiveLength>& steps,
115 const QString& uniqueIdentifier)
noexcept;
117 const QVector<PositiveLength>& steps,
118 const QString& uniqueIdentifier)
noexcept;
120 const QVector<PositiveLength>& steps,
121 const QString& uniqueIdentifier)
noexcept;
127 void stepBy(
int steps)
noexcept;
140 const Length& value, QObject* parent =
nullptr) noexcept;
The Length class is used to represent a length (for example 12.75 millimeters)
Definition length.h:82
The LengthUnit class represents a length unit (millimeters, inches,...) and provides some useful meth...
Definition lengthunit.h:62
Container for all workspace related settings.
Definition workspacesettings.h:60
Backend configuration for the LengthEdit UI element.
Definition lengtheditcontext.h:49
LengthEditContext()=delete
void updateSingleStepPredefined() noexcept
Definition lengtheditcontext.cpp:204
ui::LengthEditData getUiData() const noexcept
Definition lengtheditcontext.cpp:69
void configure(const Length &value, const QVector< PositiveLength > &steps, const QString &uniqueIdentifier) noexcept
Definition lengtheditcontext.cpp:92
LengthUnit mUnit
Definition lengtheditcontext.h:152
const Length & getValue() const noexcept
Definition lengtheditcontext.h:112
void stepBy(int steps) noexcept
Definition lengtheditcontext.cpp:150
void configureSettings(const QString &uniqueIdentifier) noexcept
Definition lengtheditcontext.cpp:162
LengthEditContext & operator=(const LengthEditContext &rhs)=delete
void setUnit(const LengthUnit &unit) noexcept
Definition lengtheditcontext.cpp:128
void setValueUnsigned(const UnsignedLength &value) noexcept
Definition lengtheditcontext.cpp:120
Length mSingleStepDown
Zero means "no step available".
Definition lengtheditcontext.h:155
Length mSingleStepUp
Zero means "no step available".
Definition lengtheditcontext.h:154
void updateSingleStepHalfDouble() noexcept
Definition lengtheditcontext.cpp:233
void setValueImpl(const Length &value, bool emitValueChanged) noexcept
Definition lengtheditcontext.cpp:243
void setValuePositive(const PositiveLength &value) noexcept
Definition lengtheditcontext.cpp:124
void valueChanged(const Length &value)
const WorkspaceSettings & mSettings
Definition lengtheditcontext.h:148
void valueChangedPositive(const PositiveLength &value)
LengthEditContext(const LengthEditContext &other)=delete
void setUiData(const ui::LengthEditData &data) noexcept
Definition lengtheditcontext.cpp:81
void setValue(const Length &value) noexcept
Definition lengtheditcontext.cpp:116
QString mSettingsKey
Empty means "do not save".
Definition lengtheditcontext.h:156
QVector< PositiveLength > mSteps
Definition lengtheditcontext.h:151
StepBehavior
Definition lengtheditcontext.h:98
void setStepBehavior(StepBehavior behavior) noexcept
Definition lengtheditcontext.cpp:145
Length mMinimum
Definition lengtheditcontext.h:149
Length mValue
Definition lengtheditcontext.h:153
void valueChangedUnsigned(const UnsignedLength &value)
StepBehavior mStepBehavior
Definition lengtheditcontext.h:150
void updateSingleStep() noexcept
Definition lengtheditcontext.cpp:186
Definition occmodel.cpp:77
type_safe::constrained_type< Length, PositiveLengthConstraint, PositiveLengthVerifier > PositiveLength
Definition length.h:810
type_safe::constrained_type< Length, UnsignedLengthConstraint, UnsignedLengthVerifier > UnsignedLength
Definition length.h:694
Up/down step values.
Definition lengtheditcontext.h:63
static QVector< PositiveLength > pinLength() noexcept
Definition lengtheditcontext.h:83
static QVector< PositiveLength > drillDiameter() noexcept
Definition lengtheditcontext.h:90
static QVector< PositiveLength > textHeight() noexcept
Definition lengtheditcontext.h:75