#include "graphicselement.h"
-class Reader;
class QString;
-class GraphicsScene;
+class QGraphicsItem;
class QGraphicsTextItem;
+class Reader;
+class GraphicsScene;
class TextElement : public GraphicsElement
{
public:
- enum Attribute {XPOS, YPOS, DATA, FORMAT, WIDTH, ALIGN, COLOR, SIZE, FONT, ATTRIBUTE_COUNT};
+ enum Attribute {XPOS, YPOS, ZPOS, VISIBLEWHEN, DATA, FORMAT, WIDTH, ALIGN, COLOR, SIZE, FONT, BOLD, ITALIC, UPPERCASE, LETTERSPACING, TIMEFORMAT, DATEFORMAT, ATTRIBUTE_COUNT};
+ enum Field {TRIP, TOTAL, SPEED, MAXSPEED, AVGSPEED, UNIT, SPEEDUNIT, TIME, DATE, POIDISTANCE, ANGLE, LATITUDE, LONGITUDE, FIELD_COUNT};
TextElement(Reader* reader);
virtual bool setAttribute(QString const& name, QString const& value);
virtual void addToScene(GraphicsScene* scene);
virtual void update();
+ virtual QGraphicsItem* getElement() const;
private:
- void updateHtml(QString const& data);
- bool replaceSpecialField(QString& value);
+ QString handleEmpty(double value);
+ void updateHtml(QString data);
+ void replaceSpecialFields(QString& value);
+ void replaceValue(QString& value, Field field, QString const& replace);
+ bool applyFont();
QString formatString(double val);
QGraphicsTextItem* element_;
QString data_;
QString format_;
QString align_;
+ QString timeFormat_;
+ QString dateFormat_;
int fontSize_;
+ bool bold_;
+ bool italic_;
+ bool uppercase_;
+ int letterSpacing_;
QString fontFile_;
- bool hasSpecialField_;
+ QList<Field> specialFields_;
};
#endif