scide: introspection - store strings in boost.flyweight
[supercollider.git] / QtCollider / widgets / QcPopUpMenu.h
blob1a8856126cd353dd64a5ea68f3ec4c0c78d12708
1 /************************************************************************
3 * Copyright 2010-2012 Jakob Leben (jakob.leben@gmail.com)
5 * This file is part of SuperCollider Qt GUI.
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 ************************************************************************/
22 #include "../QcHelper.h"
23 #include <QComboBox>
25 class QcPopUpMenu : public QComboBox, QcHelper
27 Q_OBJECT
28 Q_PROPERTY( VariantList items READ dummyVariantList WRITE setItems );
29 Q_PROPERTY( bool reactivationEnabled READ reactivationEnabled WRITE setReactivationEnabled )
31 public:
32 QcPopUpMenu();
33 bool reactivationEnabled() const { return _reactivation; }
34 void setReactivationEnabled( bool b ) { _reactivation = b; }
36 Q_SIGNALS:
37 void action();
39 private Q_SLOTS:
40 void doAction(int);
41 void setChanged() { _changed = true; }
42 void clearChanged() { _changed = false; }
44 private:
45 void setItems( const VariantList & );
46 bool _changed;
47 bool _reactivation;