4#pragma warning(disable : 4800)
5#pragma warning(disable : 4251)
6#pragma warning(disable : 4244)
11#include "../../global.hpp"
12#include "../../genapi/value_node.hpp"
13#include "../../genapi/command_node.hpp"
14#include "detail_property.hpp"
26 class CommandProperty :
public Private::Property
32 CommandProperty(
const ValueNodePtr &node, Property *parent)
33 : Property(node, PT_Command, parent)
37 QWidget *CreateEditor(QWidget *parent)
override
39 auto cmdNode = std::dynamic_pointer_cast<CommandNode>(Node());
40 if (cmdNode && cmdNode->IsAvailable())
42 auto editor =
new QPushButton(tr(
"Execute"), parent);
43 editor->setFixedSize(100, 17);
45 QObject::connect(editor, &QPushButton::pressed,
this, [=]() { SetValue(1); });
52 bool SetEditorData(QWidget *,
const QVariant &)
override
57 QVariant EditorData(QWidget *)
override
62 QVariant Value(
int column,
int role = Qt::UserRole)
override
69 return Data(column, role);
71 auto cmdNode = std::dynamic_pointer_cast<CommandNode>(Node());
72 if (cmdNode && cmdNode->IsAvailable())
74 return QVariant(QString(
"[COMMAND]"));
82 void SetValue(
const QVariant &)
override
84 if (
auto cmdNode = std::dynamic_pointer_cast<CommandNode>(Node()))
90 catch (
const Cvb::CvbException &)
97 QString HtmlDescription()
override
std::shared_ptr< ValueNode > ValueNodePtr
Convenience shared pointer for ValueNode.
Definition genapi.hpp:91
Namespace for user interface components.
Definition decl_image_scene.hpp:39
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17