1 /*
2  * Hydrogen
3  * Copyright(c) 2002-2008 by Alex >Comix< Cominu [comix@users.sourceforge.net]
4  *
5  * http://www.hydrogen-music.org
6  *
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 2 of the License, or
10  * (at your option) any later version.
11  *
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.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  *
21  */
22 
23 #ifndef INSTRUMENT_EDITOR_PANEL_H
24 #define INSTRUMENT_EDITOR_PANEL_H
25 
26 #include <QtGui>
27 #if QT_VERSION >= 0x050000
28 #  include <QtWidgets>
29 #endif
30 #include <hydrogen/object.h>
31 #include "InstrumentEditor.h"
32 #include "../EventListener.h"
33 
34 ///
35 /// Container for the Instrument Editor (Singleton).
36 ///
37 class InstrumentEditorPanel : public QWidget, private H2Core::Object, public EventListener
38 {
39     H2_OBJECT
40 	Q_OBJECT
41 	public:
42 		static InstrumentEditorPanel* get_instance();
43 		~InstrumentEditorPanel();
44 
45 		virtual void parametersInstrumentChangedEvent();
46 
47 		void selectLayer( int nLayer );
48 
getSelectedLayer()49 		int getSelectedLayer() {
50 			return m_nLayer;
51 		}
52 
53 	public slots:
54 		void notifyOfDrumkitChange();
55 
56 	private:
57 		static InstrumentEditorPanel*	m_pInstance;
58 		InstrumentEditor*				m_pInstrumentEditor;
59 		int								m_nLayer;
60 
61 		InstrumentEditorPanel( QWidget *pParent );
62 
63 };
64 
65 #endif
66 
67