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"
36
namespace Ui { class EffectSelectDialog; }
39
class EffectSelectDialog : public QDialog
43
EffectSelectDialog( QWidget * _parent );
44
virtual ~EffectSelectDialog();
46
Effect * instantiateSelectedPlugin( EffectChain * _parent );
50
void acceptSelection();
51
void rowChanged( const QModelIndex &, const QModelIndex & );
52
void updateSelection();
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;