Mercurial > minori
annotate include/gui/widgets/sidebar.h @ 95:8043152ef9d4
include: set classes as final where appropriate
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Wed, 01 Nov 2023 14:39:43 -0400 |
parents | c69230dc2b5d |
children | 80f49f623d30 |
rev | line source |
---|---|
46 | 1 #ifndef __gui__sidebar_h |
2 #define __gui__sidebar_h | |
69 | 3 |
46 | 4 #include <QItemSelectionModel> |
5 #include <QListWidget> | |
85 | 6 |
7 class QListWidgetItem; | |
69 | 8 |
95
8043152ef9d4
include: set classes as final where appropriate
Paper <mrpapersonic@gmail.com>
parents:
85
diff
changeset
|
9 class SideBar final : public QListWidget { |
46 | 10 Q_OBJECT |
11 | |
12 public: | |
13 SideBar(QWidget* parent = nullptr); | |
14 QListWidgetItem* AddItem(QString name, QIcon icon = QIcon()); | |
15 QListWidgetItem* AddSeparator(); | |
16 bool IndexIsSeparator(QModelIndex index) const; | |
17 static QIcon CreateIcon(const char* file); | |
69 | 18 void SetBackgroundColor(QColor color); |
46 | 19 |
20 signals: | |
21 void CurrentItemChanged(int index); | |
22 | |
58
b7a1c0010ffd
sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
23 public slots: |
b7a1c0010ffd
sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
24 void SetCurrentItem(int index); |
b7a1c0010ffd
sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
25 |
46 | 26 protected: |
27 virtual void mouseMoveEvent(QMouseEvent* event) override; | |
28 QItemSelectionModel::SelectionFlags selectionCommand(const QModelIndex& index, | |
29 const QEvent* event) const override; | |
30 int RemoveSeparatorsFromIndex(int index); | |
58
b7a1c0010ffd
sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
31 int AddSeparatorsToIndex(int index); |
46 | 32 }; |
69 | 33 |
46 | 34 #endif // __gui__sidebar_h |