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;
112 void setUiData(const ui::LengthEditData& data) noexcept;
114 const QString& uniqueIdentifier) noexcept;
117 const QString& uniqueIdentifier) noexcept;
120 const QString& uniqueIdentifier) noexcept;
126 void stepBy(
int steps) noexcept;
139 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:151
void stepBy(int steps) noexcept
Definition lengtheditcontext.cpp:150
void configureSettings(const QString &uniqueIdentifier) noexcept
Definition lengtheditcontext.cpp:162
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:154
Length mSingleStepUp
Zero means "no step available".
Definition lengtheditcontext.h:153
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:147
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:155
QVector< PositiveLength > mSteps
Definition lengtheditcontext.h:150
StepBehavior
Definition lengtheditcontext.h:98
void setStepBehavior(StepBehavior behavior) noexcept
Definition lengtheditcontext.cpp:145
Length mMinimum
Definition lengtheditcontext.h:148
Length mValue
Definition lengtheditcontext.h:152
void valueChangedUnsigned(const UnsignedLength &value)
StepBehavior mStepBehavior
Definition lengtheditcontext.h:149
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