annotate include/gui/widgets/sidebar.h @ 259:0362f3c4534c

widgets/graph: improve drawing code
author Paper <paper@paper.us.eu.org>
date Mon, 01 Apr 2024 18:11:15 -0400
parents 862d0d8619f6
children 3ec7804abf17
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
1 #ifndef __gui__sidebar_h
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
2 #define __gui__sidebar_h
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 58
diff changeset
3
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
4 #include <QItemSelectionModel>
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
5 #include <QListWidget>
85
c69230dc2b5d *: cleanup includes
Paper <mrpapersonic@gmail.com>
parents: 69
diff changeset
6
c69230dc2b5d *: cleanup includes
Paper <mrpapersonic@gmail.com>
parents: 69
diff changeset
7 class QListWidgetItem;
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 58
diff changeset
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
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
10 Q_OBJECT
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
11
258
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
12 public:
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
13 SideBar(QWidget* parent = nullptr);
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
14 QListWidgetItem* AddItem(QString name, QIcon icon = QIcon());
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
15 QListWidgetItem* AddSeparator();
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
16 int GetCurrentItem();
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
17 bool IndexIsSeparator(QModelIndex index) const;
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
18 static QIcon CreateIcon(const char* file);
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
19 void SetBackgroundColor(QColor color);
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
20
258
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
21 signals:
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
22 void CurrentItemChanged(int index);
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
23
258
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
24 public slots:
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
25 void SetCurrentItem(int index);
58
b7a1c0010ffd sidebar: link view menu and sidebar together
Paper <mrpapersonic@gmail.com>
parents: 46
diff changeset
26
258
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
27 protected:
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
28 virtual void mouseMoveEvent(QMouseEvent* event) override;
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
29 QItemSelectionModel::SelectionFlags selectionCommand(const QModelIndex& index, const QEvent* event) const override;
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
30 int RemoveSeparatorsFromIndex(int index);
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 112
diff changeset
31 int AddSeparatorsToIndex(int index);
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
32 };
69
27a19dd6cba1 *: fix up some stuff
Paper <mrpapersonic@gmail.com>
parents: 58
diff changeset
33
46
d0adc4aedfc8 *: update...
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
34 #endif // __gui__sidebar_h