160 lines
3.4 KiB
C++
160 lines
3.4 KiB
C++
#include <QStringList>
|
|
#include "CAlarmDeviceTreeItem.h"
|
|
#include "pub_logger_api/logger.h"
|
|
#include "Common.h"
|
|
|
|
const int TypeRole = Qt::UserRole + 1;
|
|
const int TagRole = Qt::UserRole + 2;
|
|
const int DomainRole = Qt::UserRole + 3;
|
|
const int LocationRole = Qt::UserRole + 4;
|
|
const int SubsystemRole = Qt::UserRole + 5;
|
|
const int RegionRole = Qt::UserRole + 6;
|
|
|
|
CAlarmDeviceTreeItem::CAlarmDeviceTreeItem(const QString &data, CAlarmDeviceTreeItem *parent)
|
|
: m_tag(QString()),
|
|
m_nDomain(CN_InvalidDomainId),
|
|
m_nLocation(CN_InvalidLocationId),
|
|
m_nSubsystem(CN_InvalidSubsystemId),
|
|
m_nType(0),
|
|
m_nRegion(0),
|
|
m_parentItem(parent)
|
|
{
|
|
if(m_parentItem)
|
|
{
|
|
m_parentItem->m_childItems.append(this);
|
|
}
|
|
|
|
m_data = data;
|
|
m_checkState = Qt::Checked;
|
|
}
|
|
|
|
CAlarmDeviceTreeItem::~CAlarmDeviceTreeItem()
|
|
{
|
|
qDeleteAll(m_childItems);
|
|
m_childItems.clear();
|
|
}
|
|
|
|
CAlarmDeviceTreeItem *CAlarmDeviceTreeItem::child(int row)
|
|
{
|
|
return m_childItems.value(row);
|
|
}
|
|
|
|
CAlarmDeviceTreeItem *CAlarmDeviceTreeItem::parentItem()
|
|
{
|
|
return m_parentItem;
|
|
}
|
|
|
|
int CAlarmDeviceTreeItem::row() const
|
|
{
|
|
if (m_parentItem)
|
|
{
|
|
return m_parentItem->m_childItems.indexOf(const_cast<CAlarmDeviceTreeItem*>(this));
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
int CAlarmDeviceTreeItem::childCount() const
|
|
{
|
|
return m_childItems.count();
|
|
}
|
|
|
|
int CAlarmDeviceTreeItem::columnCount() const
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
QVariant CAlarmDeviceTreeItem::data(Qt::ItemDataRole role) const
|
|
{
|
|
if(Qt::DisplayRole == role)
|
|
{
|
|
return m_data;
|
|
}
|
|
else if(Qt::CheckStateRole == role)
|
|
{
|
|
return m_checkState;
|
|
}
|
|
else if(Qt::ItemDataRole(TypeRole) == role)
|
|
{
|
|
return m_nType;
|
|
}
|
|
else if(Qt::ItemDataRole(TagRole) == role)
|
|
{
|
|
return m_tag;
|
|
}
|
|
else if(Qt::ItemDataRole(DomainRole) == role)
|
|
{
|
|
return m_nDomain;
|
|
}
|
|
else if(Qt::ItemDataRole(LocationRole) == role)
|
|
{
|
|
return m_nLocation;
|
|
}
|
|
else if(Qt::ItemDataRole(SubsystemRole) == role)
|
|
{
|
|
return m_nSubsystem;
|
|
}
|
|
else if(Qt::ItemDataRole(RegionRole) == role)
|
|
{
|
|
return m_nRegion;
|
|
}
|
|
return QVariant();
|
|
}
|
|
|
|
bool CAlarmDeviceTreeItem::setData(const QVariant &value, Qt::ItemDataRole role)
|
|
{
|
|
if(Qt::DisplayRole == role)
|
|
{
|
|
m_data = value.toString();
|
|
return true;
|
|
}
|
|
else if(Qt::CheckStateRole == role)
|
|
{
|
|
m_checkState = (Qt::CheckState)value.toInt();
|
|
return true;
|
|
}
|
|
else if(TypeRole == role)
|
|
{
|
|
m_nType = value.toInt();
|
|
return true;
|
|
}
|
|
else if(TagRole == role)
|
|
{
|
|
m_tag = value.toString();
|
|
return true;
|
|
}
|
|
else if(DomainRole == role)
|
|
{
|
|
m_nDomain = value.toInt();
|
|
return true;
|
|
}
|
|
else if(LocationRole == role)
|
|
{
|
|
m_nLocation = value.toInt();
|
|
return true;
|
|
}
|
|
else if(SubsystemRole == role)
|
|
{
|
|
m_nSubsystem = value.toInt();
|
|
return true;
|
|
}
|
|
else if(RegionRole == role)
|
|
{
|
|
m_nRegion = value.toInt();
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
bool CAlarmDeviceTreeItem::removeChildren(int position, int count, int columns)
|
|
{
|
|
Q_UNUSED(columns)
|
|
if (position < 0 || position + count > m_childItems.size())
|
|
return false;
|
|
|
|
for (int row = 0; row < count; ++row)
|
|
delete m_childItems.takeAt(position);
|
|
|
|
return true;
|
|
}
|