/* Copyright (c) 2015, 2016 Hubert Denkmair This file is part of cangaroo. cangaroo 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 2 of the License, or (at your option) any later version. cangaroo 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 cangaroo. If not, see . */ #pragma once #include #include #include #include "BaseTraceViewModel.h" class Backend; class LinearTraceViewModel : public BaseTraceViewModel { Q_OBJECT public: LinearTraceViewModel(Backend &backend); virtual QModelIndex index(int row, int column, const QModelIndex &parent) const; virtual QModelIndex parent(const QModelIndex &child) const; virtual int rowCount(const QModelIndex &parent) const; virtual int columnCount(const QModelIndex &parent) const; virtual bool hasChildren(const QModelIndex &parent) const; private slots: void beforeAppend(int num_messages); void afterAppend(); void beforeClear(); void afterClear(); private: virtual QVariant data_DisplayRole(const QModelIndex &index, int role) const; virtual QVariant data_TextColorRole(const QModelIndex &index, int role) const; };