RemoteGui.h
Go to the documentation of this file.
1
/*
2
* This file is part of ArmarX.
3
*
4
* ArmarX is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*
8
* ArmarX is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* @package robdekon
17
* @author Christoph Pohl ( christoph dot pohl at kit dot edu )
18
* @date 07.09.22
19
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20
* GNU General Public License
21
*/
22
23
#pragma once
24
25
#include <
ArmarXGui/libraries/RemoteGui/RemoteGui.h
>
26
27
#include <
RobotAPI/libraries/aron/core/codegeneration/cpp/AronGeneratedClass.h
>
28
#include <
RobotAPI/libraries/aron/core/data/variant/container/Dict.h
>
29
#include <
RobotAPI/libraries/aron/core/data/variant/forward_declarations.h
>
30
31
#include "
RemoteGuiVisitors.h
"
32
33
namespace
armarx::RemoteGui
34
{
35
template
<
typename
T>
36
concept
isAronGenerated
=
std::is_base_of<armarx::aron::cpp::AronGeneratedClass, T>::value
;
37
38
template
<
typename
AronStructT>
39
requires
isAronGenerated<AronStructT>
40
detail::GroupBoxBuilder
41
makeConfigGui
(
const
std::string& name,
const
AronStructT& val)
42
{
43
aron::component_config::MakeConfigGuiVisitor
vis(name);
44
armarx::aron::data::visitRecursive
(vis, val.toAron(), val.ToAronType());
45
return
vis.
getGroupBoxBuilder
();
46
}
47
48
// template <typename AronStructT>
49
// requires isAronGenerated<AronStructT>
50
// void getValueFromMap(AronStructT& cfg,
51
// RemoteGui::ValueMap const& values, std::string const& name)
52
// {
53
// armarx::aron::component_config::GetValueFromMapVisitor vis(&values);
54
// auto data = std::static_pointer_cast<armarx::aron::data::Variant>(cfg.toAron());
55
// auto type = cfg.ToAronType();
56
// armarx::aron::data::visitRecursive(vis, data, type);
57
// cfg.fromAron(std::static_pointer_cast<armarx::aron::data::Dict>(data));
58
// }
59
60
}
// namespace armarx::RemoteGui
armarx::RemoteGui::detail::GroupBoxBuilder
Definition:
LayoutWidgets.h:166
armarx::RemoteGui
Definition:
LightweightRemoteGuiComponentPlugin.h:30
RemoteGuiVisitors.h
armarx::aron::component_config::MakeConfigGuiVisitor::getGroupBoxBuilder
RemoteGui::detail::GroupBoxBuilder getGroupBoxBuilder() const
Definition:
RemoteGuiVisitors.cpp:161
armarx::requires
requires(!aron::detail::DtoAndBoAreSame< DtoT, BoT >) void toAron(std
Definition:
aron_conversions.h:346
Dict.h
cxxopts::value
std::shared_ptr< Value > value()
Definition:
cxxopts.hpp:926
RemoteGui.h
armarx::aron::component_config::MakeConfigGuiVisitor
Definition:
RemoteGuiVisitors.h:47
forward_declarations.h
armarx::RemoteGui::isAronGenerated
concept isAronGenerated
Definition:
RemoteGui.h:36
armarx::aron::data::visitRecursive
requires isRecursiveVisitor< RecursiveVisitorImplementation, typename RecursiveVisitorImplementation::Input > void visitRecursive(RecursiveVisitorImplementation &v, typename RecursiveVisitorImplementation::Input &o)
Definition:
RecursiveVisitor.h:146
AronGeneratedClass.h
armarx::RemoteGui::makeConfigGui
requires isAronGenerated< AronStructT > detail::GroupBoxBuilder makeConfigGui(const std::string &name, const AronStructT &val)
Definition:
RemoteGui.h:41
RobotAPI
libraries
aron_component_config
RemoteGui.h
Generated on Sat Oct 12 2024 09:14:04 for armarx_documentation by
1.8.17