/*******************************************************************************
*                                                                              *
* Société de Transports de Montréal.                                    	   *
* 2012 - 2013                                                                        *
*                                                                              *
* Projet Zones Tests                                                           *
*                                                                              *
*                                                                              *
*                                                                              *
*******************************************************************************/
/*
    Description:
    Description du fichier si nécessaire.

*/

/* ************************************************************************** */
/* Revision:
### 20131030 JFM
    Verision d'origine.

### 20131107 Description du besoin ou du bug
    Description du changement.
 */

/* ************************************************************************** */

#ifndef EVENTSRULERWIDGET_H
#define EVENTSRULERWIDGET_H

#include "GlobalDefine.h"
#include <QGraphicsWidget>

class CEventRulerWidgetItem
{
public:
    QString mLabel;
    quint64 mEventTime;
};

class CEventRulerWidget : public QGraphicsWidget
{
    Q_OBJECT
public:
    CEventRulerWidget(qreal RulerPixelWidth,QGraphicsItem *Parent = 0);

    virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);

    unsigned int SetRange(quint64 StartTime, quint64 EndTime);
    unsigned int AddEventItem(QString EventLabel,quint64 EventTime);
    void SetLabel(QString Label,int Offset);
	void ClearRuler();


private:
    qreal mPixelWidth;
    quint64 mStartTime, mEndTime;
    qreal mPixelPitch;
    QGraphicsTextItem *mLabel;

    QList<CEventRulerWidgetItem> mEventItems;

};

#endif // RANKRULERWIDGET_H
