diff --git a/src/recon/PACSSettingsDataModel.cpp b/src/recon/PACSSettingsDataModel.cpp new file mode 100644 index 0000000..dfff461 --- /dev/null +++ b/src/recon/PACSSettingsDataModel.cpp @@ -0,0 +1,62 @@ +#include "PACSSettingsDataModel.h" + +QVariant PACSSettingsDataModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid()) return QVariant(); + if (role == Qt::TextAlignmentRole) { + return Qt::AlignCenter; + } + if (role == Qt::DisplayRole || role == Qt::EditRole ) + { + auto item = mData[index.row()]; + switch (index.column()) + { + case 0: + return QString(item.AETitle.data()); + case 1: + return QString(item.ServerIP.data()); + case 2: + return item.Port; + case 3: + return QString(item.ServerAETitle.data()); + case 4: + return item.StorageCommitment?tr("Yes"):tr("No"); + default: + break; + } + } + return QVariant(); +} +int PACSSettingsDataModel::rowCount(const QModelIndex &parent) const +{ + return mData.length(); +} + +int PACSSettingsDataModel::columnCount(const QModelIndex &parent) const +{ + return 5; +} + +QVariant PACSSettingsDataModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + if(role != Qt::DisplayRole) + return QVariant(); + if(orientation == Qt::Horizontal) + return mHeaderStrings.at(section); + return QVariant(); +} + +PACSSettingsDataModel::PACSSettingsDataModel(QObject *parent) +{ + mHeaderStrings<& aSettings) +{ + mData.append(aSettings); +} + +const QList& PACSSettingsDataModel::getPACSSettings() +{ + return mData; +} diff --git a/src/recon/PACSSettingsDataModel.h b/src/recon/PACSSettingsDataModel.h new file mode 100644 index 0000000..2bebfb1 --- /dev/null +++ b/src/recon/PACSSettingsDataModel.h @@ -0,0 +1,27 @@ +#ifndef CA811840_265F_40C4_8668_60C49659E34A +#define CA811840_265F_40C4_8668_60C49659E34A +#include "ProtocolStructs.h" + +#include +#include + +class PACSSettingsDataModel : public QAbstractTableModel{ +public: + PACSSettingsDataModel(QObject *parent = nullptr); + ~PACSSettingsDataModel(){} + void setPACSSettings(const QList& aSettings); + const QList& getPACSSettings(); +protected: + //数据展示用 + QVariant data(const QModelIndex &index, int role) const; + int rowCount(const QModelIndex &parent) const; + //列数,重新实现 + int columnCount(const QModelIndex &parent) const; + //标头 + QVariant headerData(int section, Qt::Orientation orientation, int role) const; +private: + QList mData; + QStringList mHeaderStrings; +}; + +#endif /* CA811840_265F_40C4_8668_60C49659E34A */