This repository has been archived by the owner on May 8, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
channelcommandmodel.h
61 lines (55 loc) · 2.19 KB
/
channelcommandmodel.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//This file is part of VDJartnetConfig.
//
//VDJartnetConfig is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//
//VDJartnetConfig 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 VDJartnetConfig. If not, see <http://www.gnu.org/licenses/>.
#ifndef CHANNELCOMMANDMODEL_H
#define CHANNELCOMMANDMODEL_H
#include <QAbstractTableModel>
#include <QString>
#include <QFile>
#include <QSaveFile>
#include <QMessageBox>
#include <QLineEdit>
#include <string>
#include <fstream>
#include <QMimeData>
#include <QDebug>
#include <QStandardPaths>
#include <QUndoStack>
#include "textundocommand.h"
const int commandLength = 512;
const int dmxChannels = 512;
class ChannelCommandModel : public QAbstractTableModel, public Refreshable {
public:
ChannelCommandModel(QObject *parent);
int rowCount(const QModelIndex &parent = QModelIndex()) const;
int columnCount(const QModelIndex &parent = QModelIndex()) const;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
Qt::ItemFlags flags(const QModelIndex & index) const;
std::string ipAddr;
std::string channelCommands[dmxChannels];
void save();
Qt::DropActions supportedDropActions() const;
bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent);
bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const;
void openFromPath(std::string openPath);
void saveToPath(std::string savePath);
void refresh();
QUndoStack* undoStack = new QUndoStack();
private:
//QFile* fileRead;
QSaveFile* fileWrite;
std::string path;
};
#endif // CHANNELCOMMANDMODEL_H