#ifndef PACKETLISTWIDGETITEM_H #define PACKETLISTWIDGETITEM_H #include #include "arp.h" class PacketListWidgetItem : public QListWidgetItem { public: PacketListWidgetItem(QListWidget* parent, const arp_t &item) : QListWidgetItem(parent) { setArpData(item); } ~PacketListWidgetItem() { arp_t* oldData = arpData(); if (oldData != NULL) { delete oldData; } } void setArpData(const arp_t &item) { arp_t* oldData = arpData(); if (oldData != NULL) { delete oldData; } arp_t* newData = new arp_t; Arp::copyArp_t(newData, item); QVariant data; data.setValue(newData); setData(Qt::UserRole, data); setText(Arp::arp_tToQString(item)); } arp_t* arpData() const { return data(Qt::UserRole).value(); } }; #endif // PACKETLISTWIDGETITEM_H