X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Ftextelement.h;h=021db883cbb3dc2693b092543e682b5ad6ea6b8a;hb=HEAD;hp=02e34f802af594618b5505b8708b252a9cec261c;hpb=64f0d552c4c5235f19988138edeb3048ac7ec151;p=jspeed diff --git a/src/textelement.h b/src/textelement.h index 02e34f8..021db88 100644 --- a/src/textelement.h +++ b/src/textelement.h @@ -21,31 +21,43 @@ #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, POITEXT, ANGLE, LATITUDE, LONGITUDE, ALTITUDE, DISTANCEUNIT, 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 specialFields_; }; #endif