#ifndef _CUSTOM_DATA_TYPE_H
#define _CUSTOM_DATA_TYPE_H
#include <QicsDataItem.h>
#include <QPoint>
class QicsDataQPoint : public QicsDataItem
{
public:
QicsDataQPoint();
QicsDataQPoint(const QPoint &p);
QicsDataQPoint(const QicsDataQPoint &di);
inline QicsDataItem *create(void) const
{ return new QicsDataQPoint(); }
inline QicsDataItem *clone(void) const
{ return new QicsDataQPoint(*this); }
inline virtual QicsDataItemType type(void) const
{ return (QicsDataItem_UserDefined); }
inline static QString typeName(void)
{ return QString("qpoint"); }
inline virtual QString typeString(void) const
{ return QicsDataQPoint::typeName(); }
inline virtual QicsDataQPoint& operator=(const QPoint & p)
{ setData(p); return *this;}
inline virtual const QString string(void) const
{ return QString("(%1, %2)").arg(myData.x()) .arg(myData.y()); }
virtual bool setString(const QString &str);
inline QPoint data(void) const
{ return myData; }
inline void setData(const QPoint & p)
{ myData = p;}
virtual QString format(const char *fmt_string) const;
int compareTo(const QicsDataItem &x) const;
void encode(QDataStream &ds) const;
static QicsDataItem *fromString(const QString &str);
static QicsDataItem *decode(QDataStream &ds);
protected:
QPoint myData;
};
#endif