StateTabWidget.cpp
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 ArmarX::
17
* @author Mirko Waechter ( mirko.waechter at kit dot edu)
18
* @date 2014
19
* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20
* GNU General Public License
21
*/
22
23
#include "
StateTabWidget.h
"
24
#include <
ArmarXGui/gui-plugins/StatechartViewerPlugin/view/StatechartView.h
>
25
#include <
ArmarXGui/libraries/ArmarXGuiBase/ArmarXWidgetController.h
>
26
27
namespace
armarx
28
{
29
StateTabWidget::StateTabWidget
(QWidget* parent) :
30
QTabWidget(parent)
31
{
32
connect(
this
, SIGNAL(tabCloseRequested(
int
)),
this
, SLOT(deleteViewerWidget(
int
)));
33
}
34
35
statechartmodel::StateInstancePtr
StateTabWidget::currentState
()
const
36
{
37
StatechartView
* viewer = qobject_cast<StatechartView*>(currentWidget());
38
39
if
(viewer)
40
{
41
return
viewer->
getStateInstance
();
42
}
43
44
return
statechartmodel::StateInstancePtr
();
45
}
46
47
StatechartView
*
StateTabWidget::currentStateview
()
const
48
{
49
return
dynamic_cast<
StatechartView
*
>
(currentWidget());
50
}
51
52
StatechartView
*
StateTabWidget::stateview
(
int
index
)
const
53
{
54
return
dynamic_cast<
StatechartView
*
>
(widget(
index
));
55
}
56
57
int
StateTabWidget::getStateTab
(
statechartmodel::StatePtr
state)
const
58
{
59
60
for
(
int
i = 0; i < count(); ++i)
61
{
62
StatechartView
* view =
stateview
(i);
63
64
if
(view)
65
{
66
if
(view->
getStateInstance
() && view->
getStateInstance
()->getStateClass() == state)
67
{
68
return
i;
69
}
70
}
71
}
72
73
return
-1;
74
}
75
76
77
StatechartView
*
StateTabWidget::addStateTab
(
statechartmodel::StatePtr
state)
78
{
79
StatechartView
*
v
=
new
StatechartView
(state,
false
);
80
addTab(
v
, (state) ? state->getStateName() :
"NoState"
);
81
setCurrentIndex(count() - 1);
82
QSizePolicy p;
83
p.setVerticalStretch(5);
84
p.setVerticalPolicy(QSizePolicy::MinimumExpanding);
85
currentWidget()->setSizePolicy(p);
86
v
->viewAll();
87
return
v
;
88
}
89
90
StatechartView
*
StateTabWidget::addEmptyStateTab
()
91
{
92
return
addStateTab
();
93
}
94
95
void
StateTabWidget::deleteViewerWidget(
int
index
)
96
{
97
widget(
index
)->deleteLater();
98
}
99
100
}
101
102
103
QSize
armarx::StateTabWidget::sizeHint
()
const
104
{
105
return
QSize(400, 400);
106
}
armarx::StateTabWidget::currentStateview
StatechartView * currentStateview() const
Definition:
StateTabWidget.cpp:47
StatechartView.h
index
uint8_t index
Definition:
EtherCATFrame.h:59
armarx::StateTabWidget::stateview
StatechartView * stateview(int index) const
Definition:
StateTabWidget.cpp:52
armarx::StateTabWidget::StateTabWidget
StateTabWidget(QWidget *parent=0)
Definition:
StateTabWidget.cpp:29
armarx::StateTabWidget::addEmptyStateTab
StatechartView * addEmptyStateTab()
Definition:
StateTabWidget.cpp:90
armarx::statechartmodel::StateInstancePtr
std::shared_ptr< StateInstance > StateInstancePtr
Definition:
StateInstance.h:138
armarx::StateTabWidget::sizeHint
QSize sizeHint() const override
Definition:
StateTabWidget.cpp:103
armarx::StatechartView
Definition:
StatechartView.h:44
armarx::StateTabWidget::getStateTab
int getStateTab(statechartmodel::StatePtr state) const
Definition:
StateTabWidget.cpp:57
armarx::StateTabWidget::addStateTab
StatechartView * addStateTab(statechartmodel::StatePtr state=statechartmodel::StatePtr())
Definition:
StateTabWidget.cpp:77
armarx::ctrlutil::v
double v(double t, double v0, double a0, double j)
Definition:
CtrlUtil.h:39
ArmarXWidgetController.h
StateTabWidget.h
armarx::statechartmodel::StatePtr
std::shared_ptr< State > StatePtr
Definition:
State.h:46
armarx::StatechartView::getStateInstance
statechartmodel::StateInstancePtr getStateInstance() const
Definition:
StatechartView.cpp:86
armarx::StateTabWidget::currentState
statechartmodel::StateInstancePtr currentState() const
Definition:
StateTabWidget.cpp:35
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition:
ArmarXTimeserver.cpp:28
ArmarXGui
gui-plugins
StatechartViewerPlugin
view
StateTabWidget.cpp
Generated on Sat Oct 12 2024 09:14:03 for armarx_documentation by
1.8.17