Public Member Functions
TapeCoordinateItem Class Reference

Brief description of class still missing. More...

#include <TapeCoordinateItem.h>

List of all members.

Public Member Functions

void add (const QString &name)
virtual int columnCount (const QModelIndex &parent) const
virtual QVariant data (const QModelIndex &index, int role) const
Qt::ItemFlags flags (const QModelIndex &index) const
virtual QVariant headerData (int section, Qt::Orientation orientation, int role) const
int indexOf (const QString &name) const
const QList< TapePoint > & points () const
virtual int rowCount (const QModelIndex &parent) const
virtual bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
void setPoint (const QString &name, const Point2D &p)
 TapeCoordinateItem (QObject *parent=0)

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

TapeCoordinateItem::TapeCoordinateItem ( QObject *  parent = 0)

Description of constructor still missing

References TRACE.

  : QAbstractTableModel(parent)
{
  TRACE;
}

Member Function Documentation

void TapeCoordinateItem::add ( const QString &  name)

References TRACE.

{
  TRACE;
  beginInsertRows(QModelIndex(), _points.count(), _points.count());
  _points.append(TapePoint(name));
  endInsertRows();
}
int TapeCoordinateItem::columnCount ( const QModelIndex &  parent) const [virtual]

References TRACE.

{
  TRACE;
  return 4;
}
QVariant TapeCoordinateItem::data ( const QModelIndex &  index,
int  role 
) const [virtual]

References QGpCoreTools::NamedPoint::name(), TRACE, TapePoint::typeString(), QGpCoreTools::Point2D::x(), and QGpCoreTools::Point2D::y().

{
  TRACE;
  const TapePoint& p=_points.at(index.row());
  switch(role) {
  case Qt::EditRole:
  case Qt::DisplayRole:
    switch(index.column()) {
    case 0:
      return p.name();
    case 1:
      return p.x();
    case 2:
      return p.y();
    case 3:
      return p.typeString();
    default:
      break;
    }
    break;
  default:
    break;
  }
  return QVariant();
}
Qt::ItemFlags TapeCoordinateItem::flags ( const QModelIndex &  index) const

References TRACE.

{
  TRACE;
  if(index.column()==0) {
    return Qt::ItemIsSelectable | Qt::ItemIsEnabled;
  } else {
    return Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable;
  }
}
QVariant TapeCoordinateItem::headerData ( int  section,
Qt::Orientation  orientation,
int  role 
) const [virtual]

References QGpCoreTools::tr(), and TRACE.

{
  TRACE;
  if(orientation==Qt::Horizontal && role==Qt::DisplayRole) {
    switch(section) {
    case 0: return tr("Name");
    case 1: return tr("X");
    case 2: return tr("Y");
    case 3: return tr("Type");
    default:
      break;
    }
  }
  return QVariant();
}
int TapeCoordinateItem::indexOf ( const QString &  name) const

References TRACE.

Referenced by setPoint().

{
  TRACE;
  for(int i=_points.count()-1; i>=0; i--) {
    if(name==_points.at(i).name()) {
      return i;
    }
  }
  return -1;
}
const QList<TapePoint>& TapeCoordinateItem::points ( ) const [inline]
{return _points;}
int TapeCoordinateItem::rowCount ( const QModelIndex &  parent) const [virtual]

References TRACE.

{
  TRACE;
  return _points.count();
}
bool TapeCoordinateItem::setData ( const QModelIndex &  index,
const QVariant &  value,
int  role = Qt::EditRole 
) [virtual]

References TapePoint::setType(), QGpCoreTools::Point2D::setX(), QGpCoreTools::Point2D::setY(), and TRACE.

{
  TRACE;
  if(role!=Qt::EditRole) {
    return false;
  }
  TapePoint& p=_points[index.row()];
  switch(index.column()) {
  case 0:
    return false;
  case 1:
    p.setX(value.toDouble());
    return true;
  case 2:
    p.setY(value.toDouble());
    return true;
  case 3:
    p.setType(value.toString());
    return true;
  default:
    break;
  }
  return false;
}
void TapeCoordinateItem::setPoint ( const QString &  name,
const Point2D p 
)

References indexOf(), and TRACE.

{
  TRACE;
  int i=indexOf(name);
  if(i>=0) {
    _points[i]=p;
    emit dataChanged(index(i, 1), index(i, 2));
  }
}

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