Sélectionner une révision Git
-
Théotime DONNENFELD a rédigéThéotime DONNENFELD a rédigé
AssLinesModel.hh 1,65 Kio
#pragma once
#include "PreCompiledHeaders.hh"
#include "Lib/Utils.hh"
#include "Lib/Ass/Ass.hh"
namespace Vivy
{
class AssLinesModel final : public QAbstractItemModel {
Q_OBJECT
VIVY_UNMOVABLE_OBJECT(AssLinesModel)
private:
class Item final {
VIVY_UNMOVABLE_OBJECT(Item)
public:
Item(Ass::LineWeakPtr linePtr) noexcept;
~Item() noexcept = default;
enum class Field : int {
Text,
TotalFieldCount // Last, the count
};
bool getIsComment() const noexcept;
quint64 getLineNumber() const noexcept;
QString getLineText() const noexcept;
QString getLineStyle() const noexcept;
private:
Ass::LineWeakPtr line;
};
static inline const QStringList headers{ "", "Style", "Text" };
public:
explicit AssLinesModel(const QVector<Ass::LinePtr> &) noexcept;
~AssLinesModel() noexcept override;
QVariant data(const QModelIndex &, int role) const noexcept override;
bool setData(const QModelIndex &, const QVariant &v, int r = Qt::EditRole) noexcept override;
QVariant headerData(int section, Qt::Orientation, int r) const noexcept override;
QModelIndex parent(const QModelIndex &) const noexcept override;
QModelIndex index(int, int, const QModelIndex &parent = QModelIndex()) const noexcept override;
int rowCount(const QModelIndex &parent = QModelIndex()) const noexcept override;
int columnCount(const QModelIndex &parent = QModelIndex()) const noexcept override;
Qt::ItemFlags flags(const QModelIndex &) const noexcept override;
private:
QVector<Item *> childs;
const QVector<Ass::LinePtr> &lineRealData;
};
}