4
#include <QStyleOptionGraphicsItem>
6
#include <QGraphicsSimpleTextItem>
9
#include <dolfin/common/constants.h>
12
//----------------------------------------------------------
13
Axes_2D::Axes_2D(double min_x, double max_x, double min_y, double max_y)
14
//----------------------------------------------------------
15
: lower_x(min_x, min_y), upper_x(max_x, min_y),
16
lower_y(min_x, min_y), upper_y(min_x, max_y), arrowSize(10)
18
//qDebug() << "min x = " << min_x << ", max x = " << max_x;
19
//qDebug() << "min y = " << min_y << ", max y = " << max_y;
21
QGraphicsLineItem* x_axis = new QGraphicsLineItem(QLineF(lower_x, upper_x), this);
22
QGraphicsLineItem* y_axis = new QGraphicsLineItem(QLineF(lower_y, upper_y), this);
24
double scale_factor = .05;
26
QFont font("helvetica", -1);
27
QGraphicsSimpleTextItem* lower_x_label = new QGraphicsSimpleTextItem(QString::number(lower_x.x()), this);
28
lower_x_label->setFont(font);
29
lower_x_label->setTransform(QTransform::fromScale ( scale_factor, -1*scale_factor));
30
lower_x_label->setPos(lower_x);// - QPoint(lower_x_label->boundingRect().width()*scale_factor,
31
// -1*lower_x_label->boundingRect().height()*scale_factor));
33
QGraphicsSimpleTextItem* upper_x_label = new QGraphicsSimpleTextItem(QString::number(upper_x.x()), this);
34
upper_x_label->setFont(font);
35
upper_x_label->setTransform(QTransform::fromScale ( scale_factor, -1*scale_factor));
36
upper_x_label->setPos(upper_x - QPoint(upper_x_label->boundingRect().width()*scale_factor, 0.0));
38
QGraphicsSimpleTextItem* lower_y_label = new QGraphicsSimpleTextItem(QString::number(lower_y.y()), this);
39
lower_y_label->setFont(font);
40
lower_y_label->setTransform(QTransform::fromScale ( scale_factor, -1*scale_factor));
41
lower_y_label->setPos(lower_y - QPoint(lower_y_label->boundingRect().width()*scale_factor,
42
-1*lower_y_label->boundingRect().height()*scale_factor));
44
QGraphicsSimpleTextItem* upper_y_label = new QGraphicsSimpleTextItem(QString::number(upper_y.y()), this);
45
upper_y_label->setFont(font);
46
upper_y_label->setTransform(QTransform::fromScale ( scale_factor, -1*scale_factor));
47
upper_y_label->setPos(upper_y - QPoint(upper_y_label->boundingRect().width()*scale_factor, .0));
49
//setFlags(QGraphicsItem::ItemIgnoresTransformations);