swift
dockwidgetinfoarea.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2014 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_GUI_DOCKWIDGETINFOAREA_H
7 #define SWIFT_GUI_DOCKWIDGETINFOAREA_H
8 
9 #include <QList>
10 #include <QObject>
11 
12 #include "gui/dockwidget.h"
13 #include "gui/swiftguiexport.h"
14 
15 class QMenu;
16 
17 namespace swift::gui
18 {
20  class CInfoArea;
21  class CEnableForDockWidgetInfoArea;
22 
27  {
28  Q_OBJECT
29 
30  public:
32  explicit CDockWidgetInfoArea(QWidget *parent = nullptr);
33 
35  const CInfoArea *getParentInfoArea() const;
36 
38  CInfoArea *getParentInfoArea();
39 
41  bool isSelectedDockWidget() const;
42 
44  bool isVisibleWidget() const;
45 
48  virtual void addToContextMenu(QMenu *contextMenu) const override;
49 
51  virtual void initialFloating() override;
52 
53  private:
56  QList<CEnableForDockWidgetInfoArea *> findEmbeddedDockWidgetInfoAreaComponents();
57 
59  QList<CDockWidgetInfoArea *> findNestedInfoAreas();
60 
62  QList<const CInfoArea *> findParentInfoAreas() const;
63  };
64 } // namespace swift::gui
65 
66 #endif // SWIFT_GUI_DOCKWIDGETINFOAREA_H
Our base class for dockable widgets containing some specialized functionality on top of QDockWidget.
Definition: dockwidget.h:52
Specialized class for dock widgets serving as info area.
Info area, hosting dockable widgets.
Definition: infoarea.h:41
GUI related classes.
#define SWIFT_GUI_EXPORT
Export a class or function from the library.