2015-10-19 14:19:41 +02:00
|
|
|
%{Cpp:LicenseTemplate}\
|
2019-01-03 10:56:36 +01:00
|
|
|
@if '%{Cpp:PragmaOnce}'
|
|
|
|
|
#pragma once
|
|
|
|
|
@else
|
2015-10-19 14:19:41 +02:00
|
|
|
#ifndef %{GUARD}
|
|
|
|
|
#define %{GUARD}
|
2019-01-03 10:56:36 +01:00
|
|
|
@endif
|
2015-10-19 14:19:41 +02:00
|
|
|
|
|
|
|
|
%{JS: QtSupport.qtIncludes([ 'QtCore/%{Base}' ], [ 'QtCore/%{Base}' ])}\
|
|
|
|
|
%{JS: Cpp.openNamespaces('%{Class}')}\
|
|
|
|
|
|
|
|
|
|
class %{CN} : public %{Base}
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
public:
|
2016-10-07 16:34:26 +02:00
|
|
|
explicit %{CN}(QObject *parent = nullptr);
|
2015-10-19 14:19:41 +02:00
|
|
|
|
|
|
|
|
@if %{CustomHeader}
|
|
|
|
|
// Header:
|
|
|
|
|
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
|
|
|
|
|
|
|
|
|
|
@if %{Editable}
|
|
|
|
|
bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role = Qt::EditRole) override;
|
|
|
|
|
|
|
|
|
|
@endif
|
|
|
|
|
@endif
|
|
|
|
|
// Basic functionality:
|
|
|
|
|
QModelIndex index(int row, int column,
|
|
|
|
|
const QModelIndex &parent = QModelIndex()) const override;
|
|
|
|
|
QModelIndex parent(const QModelIndex &index) const override;
|
|
|
|
|
|
|
|
|
|
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
|
|
|
|
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
|
|
|
|
|
|
|
|
|
|
@if %{DynamicFetch}
|
|
|
|
|
// Fetch data dynamically:
|
|
|
|
|
bool hasChildren(const QModelIndex &parent = QModelIndex()) const override;
|
|
|
|
|
|
|
|
|
|
bool canFetchMore(const QModelIndex &parent) const override;
|
|
|
|
|
void fetchMore(const QModelIndex &parent) override;
|
|
|
|
|
|
|
|
|
|
@endif
|
|
|
|
|
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
|
|
|
|
|
|
|
|
|
@if %{Editable}
|
|
|
|
|
// Editable:
|
|
|
|
|
bool setData(const QModelIndex &index, const QVariant &value,
|
|
|
|
|
int role = Qt::EditRole) override;
|
|
|
|
|
|
|
|
|
|
Qt::ItemFlags flags(const QModelIndex& index) const override;
|
|
|
|
|
|
|
|
|
|
@endif
|
|
|
|
|
@if %{AddData}
|
|
|
|
|
// Add data:
|
|
|
|
|
bool insertRows(int row, int count, const QModelIndex &parent = QModelIndex()) override;
|
|
|
|
|
bool insertColumns(int column, int count, const QModelIndex &parent = QModelIndex()) override;
|
|
|
|
|
|
|
|
|
|
@endif
|
|
|
|
|
@if %{RemoveData}
|
|
|
|
|
// Remove data:
|
|
|
|
|
bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex()) override;
|
|
|
|
|
bool removeColumns(int column, int count, const QModelIndex &parent = QModelIndex()) override;
|
|
|
|
|
|
|
|
|
|
@endif
|
|
|
|
|
private:
|
|
|
|
|
};
|
|
|
|
|
%{JS: Cpp.closeNamespaces('%{Class}')}
|
2019-01-03 10:56:36 +01:00
|
|
|
@if ! '%{Cpp:PragmaOnce}'
|
|
|
|
|
#endif // %{GUARD}
|
|
|
|
|
@endif
|