Mixxx
|
00001 00002 #ifndef _MIDIINPUTMAPPINGTABLEMODEL_H_ 00003 #define _MIDIINPUTMAPPINGTABLEMODEL_H_ 00004 00005 #include "midimapping.h" //gives typedef for MidiInputMapping 00006 00007 enum MidiInputTableIndices { 00008 MIDIINPUTTABLEINDEX_MIDISTATUS = 0, 00009 MIDIINPUTTABLEINDEX_MIDINO, 00010 MIDIINPUTTABLEINDEX_MIDICHANNEL, 00011 MIDIINPUTTABLEINDEX_CONTROLOBJECTGROUP, 00012 MIDIINPUTTABLEINDEX_CONTROLOBJECTVALUE, 00013 MIDIINPUTTABLEINDEX_MIDIOPTION, 00014 MIDIINPUTTABLEINDEX_CONTROLOBJECTDESCRIPTION, 00015 MIDIINPUTTABLEINDEX_NUMCOLS //Number of columns 00016 }; 00017 00018 class MidiInputMappingTableModel : public QAbstractTableModel 00019 { 00020 Q_OBJECT 00021 public: 00022 MidiInputMappingTableModel(MidiMapping* mapping); 00023 ~MidiInputMappingTableModel(); 00024 void setMapping(MidiMapping* mapping); 00025 QVariant data(const QModelIndex &index, int role) const; 00026 Qt::ItemFlags flags(const QModelIndex &index) const; 00027 bool setData(const QModelIndex &index, const QVariant &value, 00028 int role = Qt::EditRole); 00029 int rowCount(const QModelIndex& parent=QModelIndex()) const; 00030 int columnCount(const QModelIndex& parent=QModelIndex()) const; 00031 QVariant headerData(int section, Qt::Orientation orientation, int role) const; 00032 bool removeRow(int row, const QModelIndex& parent=QModelIndex()); 00033 bool removeRows(int row, int count, const QModelIndex& parent=QModelIndex()); 00034 00035 public slots: 00036 void slotInputMappingChanged(); 00037 private: 00038 MidiMapping* m_pMapping; 00039 00040 }; 00041 00042 #endif