4#pragma warning(disable : 4800)
5#pragma warning(disable : 4251)
6#pragma warning(disable : 4244)
12#include "../../global.hpp"
13#include "../../genapi/value_node.hpp"
14#include "../../genapi/string_node.hpp"
15#include "detail_property.hpp"
27 class StringProperty :
public Private::Property
33 StringProperty(
const NodePtr &node, Property *parent)
34 : Property(node, PT_String, parent)
38 QWidget *CreateEditor(QWidget *parent)
override
40 auto stringNode = std::dynamic_pointer_cast<StringNode>(Node());
41 if (stringNode && stringNode->IsAvailable())
43 auto editor =
new QLineEdit(
UI::CvbToQt(stringNode->Value()), parent);
45 QObject::connect(editor, &QLineEdit::textChanged,
this,
46 [=](
const QString &text) { SetValue(QVariant(text)); });
53 bool SetEditorData(QWidget *editor,
const QVariant &data)
override
55 if (
auto le = qobject_cast<QLineEdit *>(editor))
57 le->setText(data.toString());
63 QVariant EditorData(QWidget *editor)
override
65 if (
auto le = qobject_cast<QLineEdit *>(editor))
66 return QVariant(le->text());
70 QVariant Value(
int column,
int role = Qt::UserRole)
override
77 return Data(column, role);
79 auto stringNode = std::dynamic_pointer_cast<StringNode>(Node());
80 if (stringNode && stringNode->IsAvailable())
84 return QVariant::fromValue(
UI::CvbToQt(stringNode->Value()));
86 catch (
const CvbException &e)
98 void SetValue(
const QVariant &value)
override
100 if (
auto stringNode = std::dynamic_pointer_cast<StringNode>(Node()))
104 stringNode->SetValue(
UI::QtToCvb(value.toString()));
106 catch (
const CvbException &)
113 QString HtmlDescription()
override
const int CVB_TIMEOUT
Timeout in function.
Definition exception.hpp:29
std::shared_ptr< Node > NodePtr
Convenience shared pointer for Node.
Definition genapi.hpp:71
Namespace for user interface components.
Definition decl_image_scene.hpp:39
Cvb::String QtToCvb(const QString text) noexcept
Convenience converter for strings.
Definition ui.hpp:242
QString CvbToQt(const Cvb::String &text) noexcept
Convenience converter for strings.
Definition ui.hpp:257
Root namespace for the Image Manager interface.
Definition version.hpp:11