4 #include <QSortFilterProxyModel> 5 #include <QAbstractItemModel> 15 QAbstractListModel(parent)
17 zDebug() <<
"Constructing ZLogReclinkModel object";
26 zDebug() <<
"Destroying ZLogReclinkModel object";
49 void ZLogReclinkModel::insertLink(
52 const QString& messageText)
56 cellBuf.append(recordID);
57 cellBuf.append(seekPosition);
58 cellBuf.append(messageText);
60 zDebug() <<
"inserting log record link: " << cellBuf;
62 m_model->appendCells(cellBuf);
66 QObject* ZLogReclinkModel::model()
75 const QModelIndex & parent)
const 84 count =
m_d->zModel()->rowCount(QModelIndex());
94 const QModelIndex & index,
103 if(index.column() < 0 ||
107 qDebug() <<
"ZLogReclinkModel::data - Warning out of bounds: " << index.row() <<
", " << index.column();
126 QHash<int, QByteArray> retval;
137 return m_d->getData(index, role);
143 return QVariant(
"no");
156 QHash<int, QByteArray> hash =
roleNames();
158 QList<int> keys = hash.keys();
160 const int keyCount = keys.size();
162 for(
int i=0; i<keyCount; i++)
164 const int nextRole = keys.at(i);
166 map.insert(QString::fromUtf8(hash.value(nextRole)), QVariant(nextRole));
172 QMetaObject::invokeMethod(const_cast<ZLogReclinkModel*>(
this),
"roleMap",
173 Qt::BlockingQueuedConnection,
174 Q_RETURN_ARG(QVariantMap, map));
195 value =
m_d->getData(row, role);
199 QMetaObject::invokeMethod(const_cast<ZLogReclinkModel*>(
this),
"getValue",
200 Qt::BlockingQueuedConnection,
201 Q_RETURN_ARG(QVariant, value),
224 value =
m_d->getData(row, role);
228 QMetaObject::invokeMethod(const_cast<ZLogReclinkModel*>(
this),
"getValue",
229 Qt::BlockingQueuedConnection,
230 Q_RETURN_ARG(QVariant, value),
253 QMetaObject::invokeMethod(
this,
"invalidateModel",
254 Qt::BlockingQueuedConnection
A data model containing a list of log record links. This is used for displaying a ZLogMap object...
virtual ~ZLogReclinkModel()
ZLogReclinkModel(QSharedPointer< ZblLogReclinkData > data, QObject *parent=0)
QVariant getData(int index, int role)
#define ZBL_REGISTER_LOGGED_OBJECT
static void registerLoggedObject()
QVariantMap roleMap() const
#define ZBL_SLOT_BEGIN_TRY
#define ZBL_DEFINE_LOGGED_OBJECT(class_name)
This two dimensional table model is used to store and manipulate data.
static bool m_initialized
Used to optimize logging initializer.
#define ZBL_SLOT_END_VOID(facility, code, error_message)
virtual QHash< int, QByteArray > roleNames() const
QAbstractTableModel override.
bool inObjectThread(const QObject &object)
virtual QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
Obtains the embedded data model.
void invalidateModel()
Sends begin and end reset signals to the model forcing views to refetch data from the entire model...
QVariant getValue(int role, int row)
Obtains the value of the specified data cell.
QSharedPointer< ZblLogReclinkData > m_d
#define ZBL_REGISTER_LOGGED_CATEGORY(variable_name)
virtual int rowCount(const QModelIndex &parent=QModelIndex()) const
QAbstractTableModel override.
#define ZBL_SLOT_END_RETURN(return_success, return_failed, facility, code, error_message)
QList< QVariant > ZDataRow
Represents a single row (or column for column headers) of data cell values for a single role...