TitlebarWidget.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 2012
19* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20* GNU General Public License
21*/
22
23#pragma once
24
25// Coin3D & SoQt
26#include <QWidget>
27
28#include <ArmarXCore/interface/core/ManagedIceObjectDefinitions.h>
29
31
32#include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
33#include <Inventor/nodes/SoNode.h>
34#include <Inventor/nodes/SoSeparator.h>
35
36
37class QLabel;
38class QToolButton;
39class QGridLayout;
40class QDockWidget;
41class QToolBar;
42
43namespace armarx
44{
45 class ArmarXMainWindow;
46
47 /**
48 * \brief The StatusDockWidgetTitleBar class
49 */
50 class StatusDockWidgetTitleBar : public QWidget
51 {
52 Q_OBJECT
53 public:
54 StatusDockWidgetTitleBar(QWidget* parent = 0, ArmarXMainWindow* mainWindow = 0);
55
56
57 // QWidget interface
58 public:
59 void addCustomWidget(QWidget* widget);
60 QSize sizeHint() const override;
61 QSize minimumSizeHint() const override;
62
63 // QObject interface
64 public:
65 bool event(QEvent* event) override;
66
67 public slots:
69 void changeStatus(ManagedIceObjectState state, QStringList dependencies);
70 void openChangeTitleDialog(bool);
71
72 private:
73 QDockWidget* dockWidget;
74 ArmarXMainWindow* mainWindow;
75 QGridLayout* layout;
76 QLabel* title;
77 QToolBar* editTitleBar;
78 QToolButton* closeButton;
79 QToolButton* undockButton;
80 QToolButton* hideButton;
81 QLabel* statusIcon;
82 QPixmap imageOffline;
83 QPixmap imageIdle;
84 };
85
86} // namespace armarx
The ArmarXMainWindow class.
QSize minimumSizeHint() const override
void changeStatus(ManagedIceObjectState state, QStringList dependencies)
bool event(QEvent *event) override
StatusDockWidgetTitleBar(QWidget *parent=0, ArmarXMainWindow *mainWindow=0)
void addCustomWidget(QWidget *widget)
This file offers overloads of toIce() and fromIce() functions for STL container types.