All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Member Functions
SciFigs::CurveSelectorItem Class Reference

Brief description of class still missing. More...

#include <CurveSelectorItem.h>

List of all members.

Public Member Functions

void addCurve (CurveProperties *p)
void addGroup (const QString &g)
virtual int columnCount (const QModelIndex &parent=QModelIndex()) const
QList< CurveProperties * > curves (const QModelIndexList &list)
 CurveSelectorItem (QObject *parent=0)
virtual QVariant data (const QModelIndex &index, int role) const
virtual Qt::ItemFlags flags (const QModelIndex &) const
bool hasChildren (const QModelIndex &parent) const
virtual QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const
virtual QModelIndex parent (const QModelIndex &index) const
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const
 ~CurveSelectorItem ()

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

Description of constructor still missing

References TRACE.

    : QAbstractItemModel(parent)
  {
    TRACE;
  }

Description of destructor still missing

References TRACE.

  {
    TRACE;
  }

Member Function Documentation

References addGroup().

Referenced by SciFigs::CurveSelector::addCurve().

  {
    if(_curves.isEmpty()) {
      addGroup("");
    }
    _curves.last().append(p);
  }
void SciFigs::CurveSelectorItem::addGroup ( const QString &  g)

References TRACE.

Referenced by addCurve(), and SciFigs::CurveSelector::addGroup().

  {
    TRACE;
    _groups.append(g);
    _curves.append(QList<CurveProperties *>());
  }
int SciFigs::CurveSelectorItem::columnCount ( const QModelIndex &  parent = QModelIndex()) const [virtual]

References TRACE.

  {
    TRACE;
    return 1;
  }
QList< CurveProperties * > SciFigs::CurveSelectorItem::curves ( const QModelIndexList &  list)

References index(), and TRACE.

Referenced by SciFigs::CurveSelector::selectedCurves().

  {
    TRACE;
    QList<CurveProperties *> l;
    for(QModelIndexList::const_iterator it=list.begin();it!=list.end();++it) {
      const QModelIndex& index=*it;
      if(_groups.count()==1) {
        l.append(_curves.last().at(index.row()));
      } else {
        l.append(_curves.at(index.internalId()).at(index.row()));
      }
    }
    return l;
  }
QVariant SciFigs::CurveSelectorItem::data ( const QModelIndex &  index,
int  role 
) const [virtual]

References SciFigs::CurveBrowserProxy::maximumX(), SciFigs::CurveBrowserProxy::minimumX(), SciFigs::CurveBrowserProxy::name(), SciFigs::CurveProperties::proxy(), SciFigs::CurveBrowserProxy::sampleCount(), TRACE, and SciFigs::CurveBrowserProxy::xUnit().

  {
    TRACE;
    if(!index.isValid()) return QVariant();
    CurveProperties * p=0;
    switch(_groups.count()) {
    case 0:
      return QVariant();
    case 1:
      p=_curves.last().at(index.row());
      break;
    default:
      if(index.internalId()>-1) {
        p=_curves.at(index.parent().row()).at(index.row());
      } else {
        switch (role) {
        case Qt::DisplayRole:
          return _groups.at(index.row());
        default:
          return QVariant();
        }
      }
    }
    CurveBrowserProxy * px=p->proxy();
    switch (role) {
    case Qt::DisplayRole:
      return px->name();
    case Qt::ToolTipRole:
      return QString("%1 samples from %2 to %3 %4")
          .arg(px->sampleCount())
          .arg(px->minimumX())
          .arg(px->maximumX())
          .arg(px->xUnit());
    default:
      return QVariant();
    }
  }
Qt::ItemFlags SciFigs::CurveSelectorItem::flags ( const QModelIndex &  index) const [virtual]
  {
    if(index.internalId()==-1 && _groups.count()>1) {
      return Qt::ItemIsEnabled;
    } else {
      return Qt::ItemIsSelectable | Qt::ItemIsEnabled;
    }
  }
bool SciFigs::CurveSelectorItem::hasChildren ( const QModelIndex &  parent) const

References TRACE.

  {
    TRACE;
    if(_groups.count()<2) {
      return !parent.isValid();
    } else {
      return parent.internalId()==-1 || !parent.isValid();
    }
  }
QModelIndex SciFigs::CurveSelectorItem::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const [virtual]

References TRACE.

Referenced by curves().

  {
    TRACE;
    if(!parent.isValid())
      return createIndex(row, column, -1);
    else {
      return createIndex(row, column, row);
    }
  }
QModelIndex SciFigs::CurveSelectorItem::parent ( const QModelIndex &  index) const [virtual]

References TRACE.

  {
    TRACE;
    if(!index.isValid()) return QModelIndex();
    qint64 id=index.internalId();
    if(id==-1) {
      return QModelIndex();
    } else {
      return createIndex(id, 0, -1);
    }
  }
int SciFigs::CurveSelectorItem::rowCount ( const QModelIndex &  parent = QModelIndex()) const [virtual]

References TRACE.

  {
    TRACE;
    switch(_curves.count()) {
    case 0:
      break;
    case 1:
      if(!parent.isValid()) {
        return _curves.last().count();
      }
      break;
    default:
      if(!parent.isValid()) {
        return _curves.count();
      } else if(parent.internalId()==-1) {
        return _curves.at(parent.row()).count();
      }
      break;
    }
    return 0;
  }

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines