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 <Inventor/nodes/SoNode.h>
27 #include <Inventor/nodes/SoSeparator.h>
28 #include <Inventor/Qt/viewers/SoQtExaminerViewer.h>
29 
30 #include <ArmarXCore/interface/core/ManagedIceObjectDefinitions.h>
32 
33 #include <QWidget>
34 
35 
36 class QLabel;
37 class QToolButton;
38 class QGridLayout;
39 class QDockWidget;
40 class QToolBar;
41 
42 
43 
44 namespace armarx
45 {
46  class ArmarXMainWindow;
47  /**
48  * \brief The StatusDockWidgetTitleBar class
49  */
51  public QWidget
52  {
53  Q_OBJECT
54  public:
55  StatusDockWidgetTitleBar(QWidget* parent = 0, ArmarXMainWindow* mainWindow = 0);
56 
57 
58 
59  // QWidget interface
60  public:
61  void addCustomWidget(QWidget* widget);
62  QSize sizeHint() const override;
63  QSize minimumSizeHint() const override;
64 
65  // QObject interface
66  public:
67  bool event(QEvent* event) override;
68 
69  public slots:
70  void changeFloatingStatus();
71  void changeStatus(ManagedIceObjectState state, QStringList dependencies);
72  void openChangeTitleDialog(bool);
73  private:
74  QDockWidget* dockWidget;
75  ArmarXMainWindow* mainWindow;
76  QGridLayout* layout;
77  QLabel* title;
78  QToolBar* editTitleBar;
79  QToolButton* closeButton;
80  QToolButton* undockButton;
81  QToolButton* hideButton;
82  QLabel* statusIcon;
83  QPixmap imageOffline;
84  QPixmap imageIdle;
85  };
86 
87 }
88 
armarx::ArmarXMainWindow
The ArmarXMainWindow class.
Definition: ArmarXMainWindow.h:80
armarx::StatusDockWidgetTitleBar::event
bool event(QEvent *event) override
Definition: TitlebarWidget.cpp:167
armarx::StatusDockWidgetTitleBar::StatusDockWidgetTitleBar
StatusDockWidgetTitleBar(QWidget *parent=0, ArmarXMainWindow *mainWindow=0)
Definition: TitlebarWidget.cpp:39
armarx::StatusDockWidgetTitleBar::addCustomWidget
void addCustomWidget(QWidget *widget)
Definition: TitlebarWidget.cpp:100
armarx::StatusDockWidgetTitleBar::changeStatus
void changeStatus(ManagedIceObjectState state, QStringList dependencies)
Definition: TitlebarWidget.cpp:180
armarx::StatusDockWidgetTitleBar::changeFloatingStatus
void changeFloatingStatus()
Definition: TitlebarWidget.cpp:173
armarx::StatusDockWidgetTitleBar
The StatusDockWidgetTitleBar class.
Definition: TitlebarWidget.h:50
armarx::StatusDockWidgetTitleBar::minimumSizeHint
QSize minimumSizeHint() const override
Definition: TitlebarWidget.cpp:141
ArmarXWidgetController.h
armarx::StatusDockWidgetTitleBar::openChangeTitleDialog
void openChangeTitleDialog(bool)
Definition: TitlebarWidget.cpp:265
armarx::StatusDockWidgetTitleBar::sizeHint
QSize sizeHint() const override
Definition: TitlebarWidget.cpp:116
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28