Updated SWH plugins and added missing hermes_filter plugin
[lmms/mlankhorst.git] / include / ControllerView.h
blob44805bdc113347aea14b35b36aa50e2ddf7ff193
1 /*
2 * ControllerView.h - view-component for an control
4 * Copyright (c) 2008 Paul Giblock <drfaygo/at/gmail.com>
5 *
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 _CONTROLLER_VIEW_H
26 #define _CONTROLLER_VIEW_H
28 #include <QtGui/QWidget>
30 #include "AutomatableModel.h"
31 #include "Controller.h"
32 #include "ModelView.h"
34 class QGroupBox;
35 class QLabel;
36 class QPushButton;
37 class QMdiSubWindow;
39 class ledCheckBox;
42 class ControllerView : public QWidget, public ModelView
44 Q_OBJECT
45 public:
46 ControllerView( Controller * _controller, QWidget * _parent );
47 virtual ~ControllerView();
49 inline Controller * getController()
51 return( castModel<Controller>() );
54 inline const Controller * getController() const
56 return( castModel<Controller>() );
60 public slots:
61 void editControls();
62 void deleteController();
63 void displayHelp();
64 void closeControls();
67 signals:
68 void deleteController( ControllerView * _view );
71 protected:
72 virtual void contextMenuEvent( QContextMenuEvent * _me );
73 virtual void paintEvent( QPaintEvent * _pe );
74 virtual void modelChanged();
75 virtual void mouseDoubleClickEvent( QMouseEvent * event );
78 private:
79 QPixmap m_bg;
80 ledCheckBox * m_bypass;
81 QMdiSubWindow * m_subWindow;
82 ControllerDialog * m_controllerDlg;
83 bool m_show;
85 } ;
87 #endif