StringWidgets.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Basic.h
"
4
5
namespace
armarx::RemoteGui::detail
6
{
7
struct
LineEditBuilder
:
8
public
ValueMixin
<LineEdit, std::string, LineEditBuilder>,
9
public
ToolTipMixin
<LineEditBuilder>
10
{
11
using
ValueMixin::ValueMixin;
12
};
13
14
struct
ComboBoxBuilder
:
15
public
ValueMixin
<ComboBox, std::string, ComboBoxBuilder>,
16
public
ToolTipMixin
<ComboBoxBuilder>
17
{
18
using
ValueMixin::ValueMixin;
19
20
ComboBoxBuilder
&
21
options
(std::vector<std::string>
const
&
options
)
22
{
23
widget
().options =
options
;
24
return
*
this
;
25
}
26
27
ComboBoxBuilder
&
28
addOptions
(std::vector<std::string>
const
&
options
)
29
{
30
widget
().options.insert(
widget
().
options
.end(),
options
.begin(),
options
.end());
31
return
*
this
;
32
}
33
34
operator
WidgetPtr()
const override
35
{
36
ComboBox
& w = *
dynamic_cast<
ComboBox
*
>
(
widget_
.get());
37
if
(!w.options.empty())
38
{
39
const
auto
it = std::find(w.options.begin(),
40
w.options.end(),
41
getSingleValue<std::string>
(w.defaultValue));
42
if
(it == w.options.end())
43
{
44
w.defaultValue =
makeValue
(w.options.front());
45
}
46
}
47
return
widget_
;
48
}
49
};
50
}
// namespace armarx::RemoteGui::detail
51
52
namespace
armarx::RemoteGui
53
{
54
inline
detail::LineEditBuilder
55
makeLineEdit
(std::string
const
& name)
56
{
57
return
detail::LineEditBuilder
(name);
58
}
59
60
inline
detail::ComboBoxBuilder
61
makeComboBox
(std::string
const
& name)
62
{
63
return
detail::ComboBoxBuilder
(name);
64
}
65
}
// namespace armarx::RemoteGui
Basic.h
armarx::RemoteGui::detail::WidgetBuilder::widget_
WidgetPtr widget_
Definition
Basic.h:38
armarx::RemoteGui::detail::WidgetMixin< ComboBox, ComboBoxBuilder >::widget
ComboBox & widget()
Definition
Basic.h:54
armarx::RemoteGui::detail
Definition
Basic.h:11
armarx::RemoteGui
Definition
LightweightRemoteGuiComponentPlugin.h:31
armarx::RemoteGui::getSingleValue
T getSingleValue(ValueVariant const &value, const std::string &name="")
armarx::RemoteGui::makeComboBox
detail::ComboBoxBuilder makeComboBox(std::string const &name)
Definition
StringWidgets.h:61
armarx::RemoteGui::makeValue
ValueVariant makeValue(bool value)
Definition
Storage.cpp:144
armarx::RemoteGui::makeLineEdit
detail::LineEditBuilder makeLineEdit(std::string const &name)
Definition
StringWidgets.h:55
armarx::RemoteGui::Client::ComboBox
Definition
Widgets.h:51
armarx::RemoteGui::detail::ComboBoxBuilder
Definition
StringWidgets.h:17
armarx::RemoteGui::detail::ComboBoxBuilder::addOptions
ComboBoxBuilder & addOptions(std::vector< std::string > const &options)
Definition
StringWidgets.h:28
armarx::RemoteGui::detail::ComboBoxBuilder::options
ComboBoxBuilder & options(std::vector< std::string > const &options)
Definition
StringWidgets.h:21
armarx::RemoteGui::detail::LineEditBuilder
Definition
StringWidgets.h:10
armarx::RemoteGui::detail::ToolTipMixin
Definition
Basic.h:226
armarx::RemoteGui::detail::ValueMixin
Definition
Basic.h:74
ArmarXGui
libraries
RemoteGui
WidgetBuilder
StringWidgets.h
Generated by
1.13.2