Mercurial > minori
annotate include/gui/widgets/sidebar.h @ 260:dd211ff68b36
pages/seasons: add initial functionality
the menu doesn't work yet, but it's a good start
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Wed, 03 Apr 2024 19:48:38 -0400 |
| parents | 862d0d8619f6 |
| children | 3ec7804abf17 |
| 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 { |
| 258 | 10 Q_OBJECT |
| 46 | 11 |
| 258 | 12 public: |
| 13 SideBar(QWidget* parent = nullptr); | |
| 14 QListWidgetItem* AddItem(QString name, QIcon icon = QIcon()); | |
| 15 QListWidgetItem* AddSeparator(); | |
| 16 int GetCurrentItem(); | |
| 17 bool IndexIsSeparator(QModelIndex index) const; | |
| 18 static QIcon CreateIcon(const char* file); | |
| 19 void SetBackgroundColor(QColor color); | |
| 46 | 20 |
| 258 | 21 signals: |
| 22 void CurrentItemChanged(int index); | |
| 46 | 23 |
| 258 | 24 public slots: |
| 25 void SetCurrentItem(int index); | |
|
58
b7a1c0010ffd
sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents:
46
diff
changeset
|
26 |
| 258 | 27 protected: |
| 28 virtual void mouseMoveEvent(QMouseEvent* event) override; | |
| 29 QItemSelectionModel::SelectionFlags selectionCommand(const QModelIndex& index, const QEvent* event) const override; | |
| 30 int RemoveSeparatorsFromIndex(int index); | |
| 31 int AddSeparatorsToIndex(int index); | |
| 46 | 32 }; |
| 69 | 33 |
| 46 | 34 #endif // __gui__sidebar_h |
