Updated SWH plugins and added missing hermes_filter plugin
[lmms/mlankhorst.git] / include / EffectSelectDialog.h
blob52500d4699ee489e9332888e3362d3772f52193c
1 /*
2 * EffectSelectDialog.h - dialog to choose effect plugin
4 * Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
6 * This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
18 * You should have received a copy of the GNU General Public
19 * License along with this program (see COPYING); if not, write to the
20 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301 USA.
25 #ifndef _EFFECT_SELECT_DIALOG_H
26 #define _EFFECT_SELECT_DIALOG_H
28 #include <QtGui/QDialog>
29 #include <QtGui/QSortFilterProxyModel>
30 #include <QtGui/QStandardItemModel>
32 #include "EffectChain.h"
33 #include "Effect.h"
36 namespace Ui { class EffectSelectDialog; }
39 class EffectSelectDialog : public QDialog
41 Q_OBJECT
42 public:
43 EffectSelectDialog( QWidget * _parent );
44 virtual ~EffectSelectDialog();
46 Effect * instantiateSelectedPlugin( EffectChain * _parent );
49 protected slots:
50 void acceptSelection();
51 void rowChanged( const QModelIndex &, const QModelIndex & );
52 void updateSelection();
55 private:
56 Ui::EffectSelectDialog * ui;
58 Plugin::DescriptorList m_pluginDescriptors;
59 EffectKeyList m_effectKeys;
60 EffectKey m_currentSelection;
62 QStandardItemModel m_sourceModel;
63 QSortFilterProxyModel m_model;
64 QWidget * m_descriptionWidget;
66 } ;
70 #endif