Position the X and Y labels of the Rulers

Position the X and Y labels of the rulers, this way
it's a bit more clear the deepness and the length
of the trip. It's still not the best approach, but
I'm getting close.

Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
This commit is contained in:
Tomaz Canabrava 2013-09-16 11:09:54 -03:00
parent f5b33dede3
commit 4e06c52f68
2 changed files with 20 additions and 1 deletions

View file

@ -673,21 +673,38 @@ void DiveHandler::mousePressEvent(QGraphicsSceneMouseEvent* event)
void Ruler::setMaximum(double maximum)
{
maxText->setText(QString::number(maximum));
if(orientation == Qt::Horizontal)
maxText->setPos( line().x2(), line().y2() -5 );
else
maxText->setPos( line().x1() - 50, line().y2());
max = maximum;
}
void Ruler::setMinimum(double minimum)
{
minText->setText(QString::number(minimum));
if(orientation == Qt::Horizontal)
minText->setPos( line().x1(), line().y2() -5 );
else
minText->setPos( line().x1() - 50, line().y1());
min = minimum;
}
Ruler::Ruler() : orientation(Qt::Horizontal)
Ruler::Ruler() : orientation(Qt::Horizontal),
minText(new QGraphicsSimpleTextItem(this)),
maxText(new QGraphicsSimpleTextItem(this))
{
minText->setFlag(QGraphicsItem::ItemIgnoresTransformations);
maxText->setFlag(QGraphicsItem::ItemIgnoresTransformations);
}
void Ruler::setOrientation(Qt::Orientation o)
{
orientation = o;
// position the elements on the screen.
setMinimum(minimum());
setMaximum(maximum());
}
void Ruler::updateTicks()

View file

@ -99,6 +99,8 @@ public:
private:
Qt::Orientation orientation;
QList<QGraphicsLineItem*> ticks;
QGraphicsSimpleTextItem *minText;
QGraphicsSimpleTextItem *maxText;
double min;
double max;
double interval;