11 #ifndef TASKEDITDLG_HPP
12 #define TASKEDITDLG_HPP
16 #include <QAbstractItemModel>
20 #include <ui_TaskEditor.h>
32 typedef QList<mgx::ProcessDefinition>
task_t;
37 int rowCount(
const QModelIndex& parent = QModelIndex())
const;
38 int columnCount(
const QModelIndex& parent = QModelIndex())
const;
39 QVariant data(
const QModelIndex& index,
int role)
const;
40 QMap<int, QVariant> itemData(
const QModelIndex& index)
const;
41 QVariant headerData(
int section, Qt::Orientation orientation,
int role = Qt::DisplayRole)
const;
42 Qt::ItemFlags flags(
const QModelIndex& index)
const;
43 bool setData(
const QModelIndex& index,
const QVariant& value,
int role = Qt::EditRole);
44 bool setItemData(
const QModelIndex& index,
const QMap<int, QVariant>& roles);
45 QModelIndex index(
int row,
int column,
const QModelIndex& parent = QModelIndex())
const;
47 return index(task_id, 0);
49 QModelIndex
taskIndex(
const QString& task_name)
const {
50 return index(task_names.indexOf(task_name), 0);
53 return index(row, 0, taskIndex(task_id));
56 QModelIndex parent(
const QModelIndex& index)
const;
58 bool insertRows(
int position,
int rows,
const QModelIndex& index = QModelIndex());
59 bool removeRows(
int position,
int rows,
const QModelIndex& index = QModelIndex());
60 bool dropMimeData(
const QMimeData* data, Qt::DropAction action,
int row,
int column,
const QModelIndex& parent);
61 QStringList mimeTypes()
const;
62 Qt::DropActions supportedDropActions()
const;
64 QMimeData* mimeData(
const QModelIndexList& indexes)
const;
66 bool addTask(
const QString& name);
68 bool deleteTask(
const QString& name);
69 bool renameTask(
const QString& old_name,
const QString& new_name);
70 bool copyTask(
const QString& old_name,
const QString& new_name);
72 void deleteItems(
const QModelIndexList& lst);
73 void deleteItems(QList<QList<int> > lst);
79 bool isTask(
const QModelIndex& idx)
const;
92 QWidget* parent = 0, Qt::WindowFlags f = 0);
98 static void readTasks(
const QString& filename, QMap<QString, ProcessDefinition>& procs,
100 static void writeTask(QTextStream& pout,
const QString& name,
const task_t& task);
125 QMap<QString, ProcessDefinition>& procs;