Mercurial > hg > svgui
diff 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 |
line wrap: on
line diff
--- a/widgets/ColourComboBox.h Fri Jan 24 12:40:07 2020 +0000 +++ b/widgets/ColourComboBox.h Fri Jan 24 12:40:27 2020 +0000 @@ -29,7 +29,32 @@ public: ColourComboBox(bool withAddNewColourEntry, QWidget *parent = 0); + /** + * Add an entry at the top of the combo for "no colour selected", + * with the given label. + */ + void includeUnsetEntry(QString label); + + /** + * Get the current colour index. This is the same as + * QComboBox::currentIndex() if there is no unset entry, or 1 less + * than it if includeUnsetEntry() has been used. So if there is an + * unset entry, and it is selected, this returns -1. + */ + int getCurrentColourIndex() const { + int index = currentIndex(); + if (m_unsetEntry == "") { + return index; + } else { + return index - 1; + } + } + signals: + /** + * Emitted when the current index is changed. The argument is the + * value returned by getCurrentColourIndex() + */ void colourChanged(int colourIndex); private slots: @@ -38,6 +63,7 @@ private: bool m_withAddNewColourEntry; + QString m_unsetEntry; }; #endif