16 #include "mapAlgorithmProfileHelper.h" 22 QAbstractTableModel(parent)
29 SetAlgorithms(::map::deployment::DLLDirectoryBrowser::DLLInfoListType algList)
31 emit beginResetModel();
47 return m_AlgList.size();
62 data(
const QModelIndex &index,
int role)
const 69 if(index.row()<m_AlgList.size())
71 const ::map::deployment::DLLInfo*
info = m_AlgList[index.row()].GetPointer();
73 if(Qt::DisplayRole == role)
75 switch(index.column())
78 result = QVariant(info->getAlgorithmUID().getName().c_str());
81 result = QVariant(info->getAlgorithmUID().getNamespace().c_str());
84 result = QVariant(info->getAlgorithmUID().getVersion().c_str());
87 std::stringstream descriptionString;
88 ::map::algorithm::profile::ValueListType keys = ::map::algorithm::profile::getKeywords(info->getAlgorithmProfileStr());
89 for (::map::algorithm::profile::ValueListType::const_iterator keyPos = keys.begin(); keyPos!=keys.end();++keyPos)
91 if (keyPos != keys.begin())
93 descriptionString <<
"; ";
95 descriptionString << *keyPos;
97 descriptionString <<
"</p>";
98 result = QVariant(descriptionString.str().c_str());
102 else if (Qt::UserRole == role)
104 result = QVariant(index.row());
114 flags(
const QModelIndex &index)
const 116 Qt::ItemFlags
flags = QAbstractItemModel::flags(index);
123 headerData(
int section, Qt::Orientation orientation,
int role)
const 125 if( (Qt::DisplayRole == role) &&
126 (Qt::Horizontal == orientation))
130 return QVariant(
"Name");
134 return QVariant(
"Namespace");
138 return QVariant(
"Version");
142 return QVariant(
"Keywords");
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
static void info(const char *fmt,...)
int rowCount(const QModelIndex &parent=QModelIndex()) const override
QmitkAlgorithmListModel(QObject *parent=nullptr)
Qt::ItemFlags flags(const QModelIndex &index) const override
int columnCount(const QModelIndex &parent=QModelIndex()) const override
QVariant data(const QModelIndex &index, int role) const override
void SetAlgorithms(::map::deployment::DLLDirectoryBrowser::DLLInfoListType algList)