20#ifndef LIBREPCB_EDITOR_SLINTHELPERS_H
21#define LIBREPCB_EDITOR_SLINTHELPERS_H
51slint::LogicalPosition
q2s(
const QPointF& p)
noexcept;
52QPointF
s2q(
const slint::LogicalPosition& p)
noexcept;
54slint::PhysicalPosition
q2s(
const QPoint& p)
noexcept;
55QPoint
s2q(
const slint::PhysicalPosition& p)
noexcept;
57slint::PhysicalSize
q2s(
const QSize& s)
noexcept;
58QSize
s2q(
const slint::PhysicalSize& s)
noexcept;
60slint::SharedString
q2s(
const QString& s)
noexcept;
61QString
s2q(
const slint::SharedString& s)
noexcept;
62bool operator==(
const QString& s1,
const slint::SharedString& s2)
noexcept;
63bool operator!=(
const QString& s1,
const slint::SharedString& s2)
noexcept;
64bool operator==(
const slint::SharedString& s1,
const QString& s2)
noexcept;
65bool operator!=(
const slint::SharedString& s1,
const QString& s2)
noexcept;
67std::shared_ptr<slint::VectorModel<slint::SharedString>>
q2s(
68 const QStringList& s)
noexcept;
69QStringList
s2q(
const slint::Model<slint::SharedString>& s)
noexcept;
71slint::Image
q2s(
const QPixmap& p)
noexcept;
73slint::Color
q2s(
const QColor& c)
noexcept;
75slint::private_api::MouseCursor
q2s(Qt::CursorShape s)
noexcept;
77Qt::MouseButton
s2q(
const slint::private_api::PointerEventButton& b)
noexcept;
79slint::private_api::KeyboardModifiers
q2s(Qt::KeyboardModifiers m)
noexcept;
80Qt::KeyboardModifiers
s2q(
81 const slint::private_api::KeyboardModifiers& m)
noexcept;
83slint::SharedString
q2s(Qt::Key k)
noexcept;
84Qt::Key
s2key(
const slint::SharedString& k)
noexcept;
87template <
typename TTarget,
typename TClass,
typename T>
88inline void bind(QObject* context,
const TTarget& target,
89 void (TTarget::*setter)(const T&) const, TClass* source,
90 void (TClass::*signal)(T), const T& defaultValue) noexcept {
91 QObject::connect(source, signal, context, [&target, setter](const T& value) {
92 (target.*setter)(value);
94 (target.*setter)(defaultValue);
98template <
typename TTarget,
typename TSl
int,
typename TClass,
typename TQt>
100 QObject* context,
const TTarget& target,
101 void (TTarget::*setter)(const TSlint&) const, TClass* source,
102 void (TClass::*signal)(TQt), const TQt& defaultValue,
103 std::function<TSlint(const TQt&)> convert = [](const TQt& value) {
106 QObject::connect(source, signal, context,
107 [&target, setter, convert](
const TQt& value) {
108 (target.*setter)(convert(value));
110 (target.*setter)(convert(defaultValue));
114 const QString& input, slint::SharedString& error)
noexcept;
117 slint::SharedString& error)
noexcept;
120 const QString& input, slint::SharedString& error,
121 FilePath::CleanFileNameOptions options,
int maxLength,
122 const QString& requiredSuffix = QString()) noexcept;
125 slint::SharedString& error,
126 bool isDuplicate) noexcept;
129 const QString& input, slint::SharedString& error,
130 bool isDuplicate) noexcept;
132std::optional<QUrl> validateUrl(const QString& input,
133 slint::SharedString& error,
134 bool allowEmpty = false) noexcept;
137 const QString& input, slint::SharedString& error) noexcept;
139void validateComponentDefaultValue(const QString& input,
140 slint::SharedString& error) noexcept;
std::optional< Version > validateVersion(const QString &input, slint::SharedString &error) noexcept
Definition slinthelpers.cpp:427
std::optional< QString > validateFileName(const QString &input, slint::SharedString &error, FilePath::CleanFileNameOptions options, int maxLength, const QString &requiredSuffix) noexcept
Definition slinthelpers.cpp:438
QPointF s2q(const slint::LogicalPosition &p) noexcept
Definition slinthelpers.cpp:43
Qt::Key s2key(const slint::SharedString &k) noexcept
Definition slinthelpers.cpp:290
slint::LogicalPosition q2s(const QPointF &p) noexcept
Definition slinthelpers.cpp:38
bool operator==(const QString &s1, const slint::SharedString &s2) noexcept
Definition slinthelpers.cpp:92
void bind(QObject *context, const TTarget &target, void(TTarget::*setter)(const T &) const, TClass *source, void(TClass::*signal)(T), const T &defaultValue) noexcept
Definition slinthelpers.h:88
std::optional< ElementName > validateElementName(const QString &input, slint::SharedString &error) noexcept
Definition slinthelpers.cpp:416
bool operator!=(const QString &s1, const slint::SharedString &s2) noexcept
Definition slinthelpers.cpp:96
Definition occmodel.cpp:77
type_safe::constrained_type< QString, AttributeKeyConstraint, AttributeKeyVerifier > AttributeKey
Definition attributekey.h:78
type_safe::constrained_type< QString, CircuitIdentifierConstraint, CircuitIdentifierVerifier > CircuitIdentifier
Definition circuitidentifier.h:88
type_safe::constrained_type< QString, ComponentPrefixConstraint, ComponentPrefixVerifier > ComponentPrefix
Definition componentprefix.h:81