annotate widgets/ColourComboBox.h @ 1204:d421df27e184 3.0-integration

Further PropertyBox layout overhaul: avoid crash (/ assertion failure) when property type changes from e.g. colour to colourmap, by replacing the existing widget within the layout rather than trying to repopulate it
author Chris Cannam
date Tue, 20 Dec 2016 10:49:24 +0000
parents b1e3ee5f1be6
children 85f04c956f03
rev   line source
Chris@1196 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
Chris@1196 2
Chris@1196 3 /*
Chris@1196 4 Sonic Visualiser
Chris@1196 5 An audio file viewer and annotation editor.
Chris@1196 6 Centre for Digital Music, Queen Mary, University of London.
Chris@1196 7 This file copyright 2007-2016 QMUL.
Chris@1196 8
Chris@1196 9 This program is free software; you can redistribute it and/or
Chris@1196 10 modify it under the terms of the GNU General Public License as
Chris@1196 11 published by the Free Software Foundation; either version 2 of the
Chris@1196 12 License, or (at your option) any later version. See the file
Chris@1196 13 COPYING included with this distribution for more information.
Chris@1196 14 */
Chris@1196 15
Chris@1196 16 #ifndef SV_COLOUR_COMBO_BOX_H
Chris@1196 17 #define SV_COLOUR_COMBO_BOX_H
Chris@1196 18
Chris@1196 19 #include "NotifyingComboBox.h"
Chris@1196 20
Chris@1196 21 /**
Chris@1196 22 * Colour-picker combo box with swatches, optionally including "Add
Chris@1196 23 * New Colour..." entry to invoke a QColorDialog/ColourNameDialog
Chris@1196 24 */
Chris@1196 25 class ColourComboBox : public NotifyingComboBox
Chris@1196 26 {
Chris@1196 27 Q_OBJECT
Chris@1196 28
Chris@1196 29 public:
Chris@1196 30 ColourComboBox(bool withAddNewColourEntry, QWidget *parent = 0);
Chris@1196 31
Chris@1196 32 signals:
Chris@1196 33 void colourChanged(int colourIndex);
Chris@1196 34
Chris@1196 35 private slots:
Chris@1196 36 void rebuild();
Chris@1196 37 void comboActivated(int);
Chris@1196 38
Chris@1196 39 private:
Chris@1196 40 bool m_withAddNewColourEntry;
Chris@1196 41 };
Chris@1196 42
Chris@1196 43 #endif
Chris@1196 44