CVB++ 15.0
detail_category_property.hpp
1#pragma once
2
3#include "../../global.hpp"
4#include "../../genapi/value_node.hpp"
5#include "../../genapi/category_node.hpp"
6#include "detail_property.hpp"
7
8namespace Cvb
9{
10
11 CVB_BEGIN_INLINE_NS
12
13 namespace UI
14 {
15 namespace Private
16 {
17
18 class CategoryProperty : public Private::Property
19 {
20
21 Q_OBJECT
22
23 public:
24 CategoryProperty(const ValueNodePtr &node, Property *parent)
25 : Property(node, PT_Category, parent)
26 {
27 }
28
29 QWidget *CreateEditor(QWidget *) override
30 {
31 return EmptyEditor();
32 }
33
34 bool SetEditorData(QWidget * /*editor*/, const QVariant & /*data*/) override
35 {
36 return true;
37 }
38
39 QVariant EditorData(QWidget * /*editor*/) override
40 {
41 return QVariant();
42 }
43
44 QVariant Value(int column, int role = Qt::UserRole) override
45 {
46 if (role == Qt::DisplayRole)
47 {
48 if (column == 0)
49 return Data(column, role);
50
51 return QVariant();
52 }
53
54 return QVariant();
55 }
56
57 void SetValue(const QVariant & /*value*/) override
58 {
59 // nothing to do in category property
60 }
61
62 QString HtmlDescription() override
63 {
64 return QString();
65 }
66
67 }; /* class CategoryProperty */
68
69 } /* namespace Private */
70 } /* namespace UI */
71
72 CVB_END_INLINE_NS
73
74} /* namespace Cvb */
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