20#ifndef LIBREPCB_EDITOR_SLINTHELPERS_H
21#define LIBREPCB_EDITOR_SLINTHELPERS_H
49slint::LogicalPosition
q2s(
const QPointF& p)
noexcept;
50QPointF
s2q(
const slint::LogicalPosition& p)
noexcept;
52slint::PhysicalPosition
q2s(
const QPoint& p)
noexcept;
53QPoint
s2q(
const slint::PhysicalPosition& p)
noexcept;
55slint::PhysicalSize
q2s(
const QSize& s)
noexcept;
56QSize
s2q(
const slint::PhysicalSize& s)
noexcept;
58slint::SharedString
q2s(
const QString& s)
noexcept;
59QString
s2q(
const slint::SharedString& s)
noexcept;
60bool operator==(
const QString& s1,
const slint::SharedString& s2)
noexcept;
61bool operator!=(
const QString& s1,
const slint::SharedString& s2)
noexcept;
62bool operator==(
const slint::SharedString& s1,
const QString& s2)
noexcept;
63bool operator!=(
const slint::SharedString& s1,
const QString& s2)
noexcept;
65slint::Image
q2s(
const QPixmap& p)
noexcept;
67slint::Color
q2s(
const QColor& c)
noexcept;
69slint::private_api::MouseCursor
q2s(Qt::CursorShape s)
noexcept;
71Qt::MouseButton
s2q(
const slint::private_api::PointerEventButton& b)
noexcept;
73slint::private_api::KeyboardModifiers
q2s(Qt::KeyboardModifiers m)
noexcept;
74Qt::KeyboardModifiers
s2q(
75 const slint::private_api::KeyboardModifiers& m)
noexcept;
77slint::SharedString
q2s(Qt::Key k)
noexcept;
80template <
typename TTarget,
typename TClass,
typename T>
81inline void bind(QObject* context,
const TTarget& target,
82 void (TTarget::*setter)(const T&) const, TClass* source,
83 void (TClass::*signal)(T), const T& defaultValue) noexcept {
84 QObject::connect(source, signal, context, [&target, setter](const T& value) {
85 (target.*setter)(value);
87 (target.*setter)(defaultValue);
81inline void bind(QObject* context,
const TTarget& target, {
…}
91template <
typename TTarget,
typename TSl
int,
typename TClass,
typename TQt>
93 QObject* context,
const TTarget& target,
94 void (TTarget::*setter)(const TSlint&) const, TClass* source,
95 void (TClass::*signal)(TQt), const TQt& defaultValue,
96 std::function<TSlint(const TQt&)> convert = [](const TQt& value) {
99 QObject::connect(source, signal, context,
100 [&target, setter, convert](
const TQt& value) {
101 (target.*setter)(convert(value));
103 (target.*setter)(convert(defaultValue));
107 const QString& input, slint::SharedString& error)
noexcept;
110 slint::SharedString& error)
noexcept;
113 const QString& input, slint::SharedString& error,
114 const QString& requiredSuffix = QString()) noexcept;
116std::optional<QUrl> validateUrl(const QString& input,
117 slint::SharedString& error,
118 bool allowEmpty = false) noexcept;
std::optional< Version > validateVersion(const QString &input, slint::SharedString &error) noexcept
Definition slinthelpers.cpp:288
std::optional< FileProofName > validateFileProofName(const QString &input, slint::SharedString &error, const QString &requiredSuffix) noexcept
Definition slinthelpers.cpp:299
QPointF s2q(const slint::LogicalPosition &p) noexcept
Definition slinthelpers.cpp:43
slint::LogicalPosition q2s(const QPointF &p) noexcept
Definition slinthelpers.cpp:38
bool operator==(const QString &s1, const slint::SharedString &s2) noexcept
Definition slinthelpers.cpp:73
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:81
std::optional< ElementName > validateElementName(const QString &input, slint::SharedString &error) noexcept
Definition slinthelpers.cpp:277
bool operator!=(const QString &s1, const slint::SharedString &s2) noexcept
Definition slinthelpers.cpp:77
Definition occmodel.cpp:77