summaryrefslogtreecommitdiff
path: root/muse_qt4_evolution/muse/liste/ctrllistedit.h
diff options
context:
space:
mode:
Diffstat (limited to 'muse_qt4_evolution/muse/liste/ctrllistedit.h')
-rw-r--r--muse_qt4_evolution/muse/liste/ctrllistedit.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/muse_qt4_evolution/muse/liste/ctrllistedit.h b/muse_qt4_evolution/muse/liste/ctrllistedit.h
new file mode 100644
index 00000000..75ed6008
--- /dev/null
+++ b/muse_qt4_evolution/muse/liste/ctrllistedit.h
@@ -0,0 +1,96 @@
+//=============================================================================
+// MusE
+// Linux Music Editor
+// $Id:$
+//
+// Copyright (C) 2002-2006 by Werner Schweer and others
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+//=============================================================================
+
+#ifndef __CTRLLISTEDIT_H__
+#define __CTRLLISTEDIT_H__
+
+#include "al/pos.h"
+#include "listedit.h"
+#include "ui_ctrllistedit.h"
+
+//---------------------------------------------------------
+// CtrlDelegate
+//---------------------------------------------------------
+
+class CtrlDelegate : public QItemDelegate {
+ Q_OBJECT
+
+ virtual QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem&,
+ const QModelIndex& index) const;
+ virtual void setEditorData(QWidget* editor, const QModelIndex&) const;
+ virtual void setModelData(QWidget* editor, QAbstractItemModel*,
+ const QModelIndex&) const;
+ void paint(QPainter*, const QStyleOptionViewItem&,
+ const QModelIndex&) const;
+
+ public:
+ CtrlDelegate(QObject* parent = 0);
+ };
+
+//---------------------------------------------------------
+// EscapeFilter
+//---------------------------------------------------------
+
+class EscapeFilter : public QObject {
+ Q_OBJECT
+ protected:
+ bool eventFilter(QObject*, QEvent*);
+ public:
+ EscapeFilter(QObject* parent = 0): QObject(parent) {}
+ };
+
+//---------------------------------------------------------
+// CtrlListEditor
+//---------------------------------------------------------
+
+class CtrlListEditor : public ListWidget {
+ Q_OBJECT
+
+ Ui::CtrlListEdit le;
+ Track* track;
+ Ctrl* c;
+ bool updateListDisabled;
+ ListEdit* listEdit;
+
+ void updateList();
+
+ private slots:
+ void controllerChanged(int id);
+ void itemActivated(QTreeWidgetItem*,int);
+ void itemChanged(QTreeWidgetItem*,int);
+ void currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*);
+ void insertClicked();
+ void deleteClicked();
+ void nameEdited(const QString&);
+ void minValChanged(double);
+ void maxValChanged(double);
+ void defaultValChanged(double);
+
+ public:
+ CtrlListEditor(ListEdit*, QWidget* parent = 0);
+ virtual void setup(const ListType&);
+ void sendEscape();
+ Ctrl* ctrl() const { return c; }
+ Track* getTrack() const { return track; }
+ enum { TICK_COL, TIME_COL, VAL_COL };
+ };
+
+#endif
+