roviz  0.7
Code Documentation of roviz
projectlist_dockwidget.h
1 #ifndef PROJECT_LIST_DOCK_WIDGET_H
2 #define PROJECT_LIST_DOCK_WIDGET_H
3 
4 #include <QtWidgets/QDockWidget>
5 #include <QPoint>
6 #include <QListWidget>
7 
8 #include "gui/gui_manager.h"
9 #include "project_gui.h"
10 
11 namespace Ui
12 {
14 }
15 
16 class ProjectListDockWidget : public QDockWidget
17 {
18  Q_OBJECT
19 
20 public:
21  explicit ProjectListDockWidget();
23  QVector<QSharedPointer<ProjectGui>> projectGuis() const;
24  QVector<QSharedPointer<ProjectGui>> dirtyProjects() const;
25  QVector<QListWidgetItem*> listWidgetItems() const;
26  void addProject(const QSharedPointer<ProjectGui>& projectGui);
27  void addProjects(const QVector<QSharedPointer<ProjectGui>>& projectGui);
28  void removeAllProjects();
29  bool removeProject(const QSharedPointer<ProjectGui>& projectGui);
30  bool contains(const QSharedPointer<ProjectGui>& projectGui);
31 
32 private slots:
33  void customContextMenuRequested(const QPoint& position);
34  void listWidgetClicked(QListWidgetItem* item);
35 
36 signals:
37  void loadProject(QSharedPointer<ProjectGui> projectGui);
38 
39 private:
41  void showProjectContextMenu(const QPoint& globalPosition, const QSharedPointer<ProjectGui> &projectGui);
42 
43 signals:
44  void showWorkspaceContextMenu(const QPoint& position);
45  void showMultiProjectContextMenu(const QPoint& position, const QList<QSharedPointer<ProjectGui>> projectGuis);
46 };
47 
48 #endif // PROJECT_LIST_DOCK_WIDGET_H
Definition: projectlist_dockwidget.h:16
Definition: item_origin_visualizer.h:10
Definition: ui_projectlist_dockwidget.h:76