~fenics-core/meshbuilder/main

« back to all changes in this revision

Viewing changes to gui/Axes_2D.cpp

  • Committer: Benjamin Kehlet
  • Date: 2011-05-23 11:30:50 UTC
  • Revision ID: benjamik@ifi.uio.no-20110523113050-7g9ygnf4gnl74gon
Plot axes in 2D.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "Axes_2D.h"
 
2
 
 
3
#include <QPainter>
 
4
#include <QStyleOptionGraphicsItem>
 
5
#include <QWidget>
 
6
#include <QGraphicsSimpleTextItem>
 
7
#include <QString>
 
8
#include <math.h>
 
9
#include <dolfin/common/constants.h>
 
10
#include <QDebug>
 
11
 
 
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)
 
17
{
 
18
  //qDebug() << "min x = " << min_x << ", max x = " << max_x;
 
19
  //qDebug() << "min y = " << min_y << ", max y = " << max_y;
 
20
 
 
21
  QGraphicsLineItem* x_axis = new QGraphicsLineItem(QLineF(lower_x, upper_x), this);
 
22
  QGraphicsLineItem* y_axis = new QGraphicsLineItem(QLineF(lower_y, upper_y), this);
 
23
 
 
24
  double scale_factor = .05;
 
25
 
 
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));
 
32
 
 
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));
 
37
 
 
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));
 
43
 
 
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));
 
48
 
 
49
  //setFlags(QGraphicsItem::ItemIgnoresTransformations);
 
50
}
 
51