ProcessTreeView.hpp
1 #pragma once
2 #include <Library/ProcessesItemModel.hpp>
3 
4 #include <score/tools/std/Optional.hpp>
5 
6 #include <QTreeView>
7 
8 #include <score_plugin_library_export.h>
9 
10 #include <verdigris>
11 namespace Library
12 {
13 class SCORE_PLUGIN_LIBRARY_EXPORT ProcessTreeView : public QTreeView
14 {
15  W_OBJECT(ProcessTreeView)
16 public:
17  using QTreeView::QTreeView;
18 
19  void selected(std::optional<Library::ProcessData> p)
20  E_SIGNAL(SCORE_PLUGIN_LIBRARY_EXPORT, selected, p)
21  void doubleClicked(Library::ProcessData p)
22  E_SIGNAL(SCORE_PLUGIN_LIBRARY_EXPORT, doubleClicked, p)
23 
24 private:
25  QModelIndexList selectedDraggableIndexes() const;
26  void selectionChanged(
27  const QItemSelection& selected, const QItemSelection& deselected) override;
28  void startDrag(Qt::DropActions supportedActions) override;
29  void mouseDoubleClickEvent(QMouseEvent* event) override;
30  Library::ProcessData* dataFromViewIndex(QModelIndex);
31 };
32 }
Definition: ProcessTreeView.hpp:14
Definition: ProcessesItemModel.hpp:32