StatechartEditorMainWindow.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 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#pragma once
24
25#include <memory>
26
27#include <QMainWindow>
28#include <QTreeView>
29
32
33#include <ArmarXGui/gui-plugins/StatechartEditorPlugin/view/ui_StatechartEditorMainWindow.h>
34
35namespace armarx
36{
37 class StateTabWidget;
38 class CppHighlighter;
39} // namespace armarx
40
41namespace armarx::Ui
42{
43 class StatechartEditorMainWindow;
44}
45
46namespace armarx
47{
48 class StatechartEditorMainWindow : public QMainWindow
49 {
50 Q_OBJECT
53
54 public:
55 explicit StatechartEditorMainWindow(QWidget* parent = 0);
58
59 void
61 {
62 this->communicator = communicator;
63 }
64
65 void
67 {
68 this->variantInfo = variantInfo;
69 }
70
71 void
73 {
74 this->currentProfile = currentProfile;
75 }
76
77 void setTipDialog(QPointer<TipDialog> tipDialog);
78
79 Ui::StatechartEditorMainWindow*
80 getUI() const
81 {
82 return ui;
83 }
84
85 public slots:
88 void zoomToViewAll();
89 void connectOverviewToTab(int tabIndex);
90 void layoutState(
92 void addEndState();
93 private slots:
94 void on_actionSave_as_Image_file_triggered();
95
96 private:
97 void setupStatechartGroupsToolbar();
98
99 QToolBar* stGroupToolBar;
100 Ui::StatechartEditorMainWindow* ui;
101 CppHighlighter* highlighter;
102 Ice::CommunicatorPtr communicator;
103 VariantInfoPtr variantInfo;
104 StatechartProfilePtr currentProfile;
105 QPointer<TipDialog> tipDialog;
106 };
107
108
109} // namespace armarx
Ui::StatechartEditorMainWindow * getUI() const
void layoutState(statechartmodel::StateInstancePtr instance=statechartmodel::StateInstancePtr())
void setTipDialog(QPointer< TipDialog > tipDialog)
void setVariantInfo(VariantInfoPtr variantInfo)
void setCommunicator(Ice::CommunicatorPtr communicator)
void setCurrentProfile(StatechartProfilePtr currentProfile)
::IceInternal::Handle<::Ice::Communicator > CommunicatorPtr
Definition IceManager.h:49
std::shared_ptr< StateInstance > StateInstancePtr
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_ptr< VariantInfo > VariantInfoPtr
Definition VariantInfo.h:39
std::shared_ptr< class StatechartProfile > StatechartProfilePtr