MappingRemoteGui.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
* @author Fabian Reister ( fabian dot reister at kit dot edu )
17
* @date 2021
18
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
19
* GNU General Public License
20
*/
21
22
#pragma once
23
24
#include <
ArmarXCore/core/PackagePath.h
>
25
#include <
ArmarXCore/core/services/tasks/RunningTask.h
>
26
27
#include <ArmarXGui/interface/RemoteGuiInterface.h>
28
#include <
ArmarXGui/libraries/RemoteGui/WidgetProxy.h
>
29
30
namespace
armarx::localization_and_mapping::components::cartographer_localization_and_mapping
31
{
32
33
class
RemoteGuiCallee
34
{
35
public
:
36
struct
ButtonClickContext
37
{
38
armarx::PackagePath
mapStorageDir
;
39
};
40
41
virtual
void
onCreateMapButtonClicked
(
const
ButtonClickContext
&) = 0;
42
virtual
~RemoteGuiCallee
() =
default
;
43
};
44
45
namespace
detail
46
{
47
struct
MappingRemoteGuiParams
48
{
49
std::string
remoteGuiTabName
;
50
armarx::PackagePath
mapStorageDir
;
51
};
52
}
// namespace detail
53
54
class
MappingRemoteGui
55
{
56
public
:
57
using
Params
=
detail::MappingRemoteGuiParams
;
58
59
MappingRemoteGui
(
const
RemoteGuiInterfacePrx& remoteGui,
60
RemoteGuiCallee
& callee,
61
const
Params
& params);
62
63
void
shutdown
();
64
65
void
enable
();
66
void
disable
();
67
68
private
:
69
RemoteGuiInterfacePrx remoteGui;
70
71
RunningTask<MappingRemoteGui>::pointer_type
runningTask;
72
73
RemoteGuiCallee
& callee;
74
75
RemoteGui::TabProxy
tab;
76
77
void
createRemoteGuiTab();
78
79
// thread function
80
void
run();
81
82
void
handleEvents(
RemoteGui::TabProxy
& tab);
83
84
const
std::string CREATE_MAP_BUTTON =
"Create map!"
;
85
const
std::string outputDirPackageField =
"package"
;
86
const
std::string outputDirPathField =
"path"
;
87
88
const
Params
params;
89
};
90
91
}
// namespace armarx::localization_and_mapping::components::cartographer_localization_and_mapping
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::detail::MappingRemoteGuiParams::remoteGuiTabName
std::string remoteGuiTabName
Definition:
MappingRemoteGui.h:49
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::MappingRemoteGui::shutdown
void shutdown()
Definition:
MappingRemoteGui.cpp:104
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::detail::MappingRemoteGuiParams::mapStorageDir
armarx::PackagePath mapStorageDir
Definition:
MappingRemoteGui.h:50
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::RemoteGuiCallee
Definition:
MappingRemoteGui.h:33
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::RemoteGuiCallee::ButtonClickContext::mapStorageDir
armarx::PackagePath mapStorageDir
Definition:
MappingRemoteGui.h:38
detail
Definition:
OpenCVUtil.cpp:128
RunningTask.h
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::MappingRemoteGui::enable
void enable()
Definition:
MappingRemoteGui.cpp:117
armarx::RemoteGui::TabProxy
Definition:
WidgetProxy.h:17
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::RemoteGuiCallee::onCreateMapButtonClicked
virtual void onCreateMapButtonClicked(const ButtonClickContext &)=0
WidgetProxy.h
IceUtil::Handle
Definition:
forward_declarations.h:30
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::RemoteGuiCallee::ButtonClickContext
Definition:
MappingRemoteGui.h:36
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::MappingRemoteGui::MappingRemoteGui
MappingRemoteGui(const RemoteGuiInterfacePrx &remoteGui, RemoteGuiCallee &callee, const Params ¶ms)
Definition:
MappingRemoteGui.cpp:19
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::RemoteGuiCallee::~RemoteGuiCallee
virtual ~RemoteGuiCallee()=default
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::MappingRemoteGui::disable
void disable()
Definition:
MappingRemoteGui.cpp:123
armarx::localization_and_mapping::components::cartographer_localization_and_mapping
Definition:
Component.cpp:109
armarx::PackagePath
Definition:
PackagePath.h:52
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::MappingRemoteGui
Definition:
MappingRemoteGui.h:54
armarx::localization_and_mapping::components::cartographer_localization_and_mapping::detail::MappingRemoteGuiParams
Definition:
MappingRemoteGui.h:47
PackagePath.h
armarx
localization_and_mapping
components
cartographer_mapping_and_localization
MappingRemoteGui.h
Generated by
1.8.17