22 setContentsMargins(1, 1, 1, 1);
32 QPainter painter(
this);
38 painter.setPen(Qt::black);
39 painter.drawText(QPoint(11, 21),
m_Title);
40 painter.setPen(Qt::white);
41 painter.drawText(QPoint(10, 20),
m_Title);
45 QString qs_min = QString::number(
m_Min,
'g', 4);
46 QString qs_max = QString::number(
m_Max,
'g', 4);
48 QRect qr_min = painter.fontMetrics().boundingRect(qs_min);
49 QRect qr_max = painter.fontMetrics().boundingRect(qs_max);
53 y = this->contentsRect().height() - qr_min.height() + 5;
58 painter.setPen(Qt::black);
59 painter.drawText(QPoint(x + 1, y + 1), qs_min);
60 painter.setPen(Qt::white);
61 painter.drawText(QPoint(x, y), qs_min);
63 y = this->contentsRect().height() - qr_max.height() + 5;
64 x = this->contentsRect().width() - qr_max.width() - 6;
66 painter.setPen(Qt::black);
67 painter.drawText(QPoint(x, y + 1), qs_max);
68 painter.setPen(Qt::white);
69 painter.drawText(QPoint(x, y), qs_max);
72 painter.setPen(Qt::gray);
74 QRect contentsRect = this->contentsRect();
75 painter.drawRect(0, 0, contentsRect.width() + 1, contentsRect.height() + 1);
82 painter.setPen(Qt::black);
86 std::pair<int, int> left;
87 std::pair<int, int> right;
97 right = this->
FunctionToCanvas(std::make_pair(dp[(i + 1) * 2], dp[(i + 1) * 2 + 1]));
99 painter.drawLine(left.first, left.second, right.first, right.second);
106 std::pair<int, int> point = this->
FunctionToCanvas(std::make_pair(dp[i * 2], dp[i * 2 + 1]));
110 painter.setBrush(QBrush(Qt::red));
113 int xCursor =
m_XEdit->cursorPosition();
114 int yCursor =
m_YEdit->cursorPosition();
117 m_XEdit->setCursorPosition(xCursor);
118 m_YEdit->setCursorPosition(yCursor);
123 painter.setBrush(QBrush(Qt::green));
125 painter.drawEllipse(point.first - 4, point.second - 4, 8, 8);
128 painter.setBrush(Qt::NoBrush);
137 std::pair<int, int> point = this->
FunctionToCanvas(std::make_pair(dp[i * 2], dp[i * 2 + 1]));
138 if ((
unsigned int)((point.first - x) * (point.first - x) + (point.second - y) * (point.second - y)) <=
double GetFunctionY(int index) override
void paintEvent(QPaintEvent *e) override
double GetFunctionX(int index) override
int GetNearHandle(int x, int y, unsigned int maxSquaredDistance=32) override
QmitkPiecewiseFunctionCanvas(QWidget *parent=nullptr, Qt::WindowFlags f=nullptr)
void PaintHistogram(QPainter &p)
void MoveFunctionPoint(int index, std::pair< double, double > pos) override
void SetTitle(const QString &title)
void RemoveFunctionPoint(double x) override
vtkPiecewiseFunction * m_PiecewiseFunction
int AddFunctionPoint(double x, double val) override
std::pair< int, int > FunctionToCanvas(std::pair< double, double >)