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 
37 class QLabel;
38 class QToolButton;
39 class QGridLayout;
40 class QDockWidget;
41 class QToolBar;
42 
43 namespace 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:
68  void changeFloatingStatus();
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
armarx::ArmarXMainWindow
The ArmarXMainWindow class.
Definition: ArmarXMainWindow.h:76
armarx::StatusDockWidgetTitleBar::event
bool event(QEvent *event) override
Definition: TitlebarWidget.cpp:169
armarx::StatusDockWidgetTitleBar::StatusDockWidgetTitleBar
StatusDockWidgetTitleBar(QWidget *parent=0, ArmarXMainWindow *mainWindow=0)
Definition: TitlebarWidget.cpp:39
armarx::StatusDockWidgetTitleBar::addCustomWidget
void addCustomWidget(QWidget *widget)
Definition: TitlebarWidget.cpp:102
armarx::StatusDockWidgetTitleBar::changeStatus
void changeStatus(ManagedIceObjectState state, QStringList dependencies)
Definition: TitlebarWidget.cpp:184
armarx::StatusDockWidgetTitleBar::changeFloatingStatus
void changeFloatingStatus()
Definition: TitlebarWidget.cpp:176
armarx::StatusDockWidgetTitleBar
The StatusDockWidgetTitleBar class.
Definition: TitlebarWidget.h:50
armarx::StatusDockWidgetTitleBar::minimumSizeHint
QSize minimumSizeHint() const override
Definition: TitlebarWidget.cpp:143
ArmarXWidgetController.h
armarx::StatusDockWidgetTitleBar::openChangeTitleDialog
void openChangeTitleDialog(bool)
Definition: TitlebarWidget.cpp:271
armarx::StatusDockWidgetTitleBar::sizeHint
QSize sizeHint() const override
Definition: TitlebarWidget.cpp:118
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27