comparison widgets/ColourComboBox.h @ 1579:85f04c956f03 background-mode

Add optional unset entry to colour combo
author Chris Cannam
date Fri, 24 Jan 2020 12:40:27 +0000
parents b1e3ee5f1be6
children
comparison
equal deleted inserted replaced
1578:57a4ee52ad69 1579:85f04c956f03
27 Q_OBJECT 27 Q_OBJECT
28 28
29 public: 29 public:
30 ColourComboBox(bool withAddNewColourEntry, QWidget *parent = 0); 30 ColourComboBox(bool withAddNewColourEntry, QWidget *parent = 0);
31 31
32 /**
33 * Add an entry at the top of the combo for "no colour selected",
34 * with the given label.
35 */
36 void includeUnsetEntry(QString label);
37
38 /**
39 * Get the current colour index. This is the same as
40 * QComboBox::currentIndex() if there is no unset entry, or 1 less
41 * than it if includeUnsetEntry() has been used. So if there is an
42 * unset entry, and it is selected, this returns -1.
43 */
44 int getCurrentColourIndex() const {
45 int index = currentIndex();
46 if (m_unsetEntry == "") {
47 return index;
48 } else {
49 return index - 1;
50 }
51 }
52
32 signals: 53 signals:
54 /**
55 * Emitted when the current index is changed. The argument is the
56 * value returned by getCurrentColourIndex()
57 */
33 void colourChanged(int colourIndex); 58 void colourChanged(int colourIndex);
34 59
35 private slots: 60 private slots:
36 void rebuild(); 61 void rebuild();
37 void comboActivated(int); 62 void comboActivated(int);
38 63
39 private: 64 private:
40 bool m_withAddNewColourEntry; 65 bool m_withAddNewColourEntry;
66 QString m_unsetEntry;
41 }; 67 };
42 68
43 #endif 69 #endif
44 70