#include <QColor>
+const size_t MotifModel::model_column_size = 4;
+
MotifModel::MotifModel(MussaRef m, QObject *parent)
- : QAbstractTableModel(parent)
+ : analysis(m),
+ QAbstractTableModel(parent)
{
const std::set<Sequence>& motif_set = m->motifs();
boost::shared_ptr<AnnotationColors> cm = m->colorMapper();
- if (motif_set.size() == 0) {
- push_empty();
- } else {
- std::set<Sequence>::const_iterator motif_i;
- for(motif_i = motif_set.begin();
- motif_i != motif_set.end();
- ++motif_i)
- {
- // ideally we'd know what the motif color was?
- MotifElement new_element(*motif_i, cm->lookup("motif", motif_i->get_sequence()));
- push_back(new_element);
- }
+ std::set<Sequence>::const_iterator motif_i;
+ for(motif_i = motif_set.begin();
+ motif_i != motif_set.end();
+ ++motif_i)
+ {
+ // ideally we'd know what the motif color was?
+ MotifElement new_element(*motif_i, cm->lookup("motif", motif_i->get_sequence()));
+ push_back(new_element);
}
+ push_empty();
+}
+
+const MussaRef MotifModel::getAnalysis() const {
+ return analysis;
}
void MotifModel::assign(
int
MotifModel::columnCount(const QModelIndex& parent) const
{
- return 4;
+ return model_column_size;
}
QVariant
if (index.row() >= motifs.size())
return QVariant();
- if (index.column() >= 4)
+ if (index.column() >= model_column_size)
return QVariant();
const MotifElement& motif = motifs[index.row()];