diff widgets/ColourComboBox.h @ 1580:a2ff9c01889e

Merge from branch background-mode
author Chris Cannam
date Fri, 24 Jan 2020 15:11:08 +0000
parents 85f04c956f03
children
line wrap: on
line diff
--- a/widgets/ColourComboBox.h	Wed Jan 15 13:58:33 2020 +0000
+++ b/widgets/ColourComboBox.h	Fri Jan 24 15:11:08 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