/
MaximU
/
arraywidget
Обзор
Документация
Войти
/
MaximU
/
arraywidget
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
displaycoordinatepicker.cpp
81 строка
2 KB
Максим
Упорядочены #include-ы.
18 июл 2026, 19:00
18 июл 2026, 19:00
8842a35
Код
Авторство
О чём код?
#include "displaycoordinatepicker.h" #include <qwt_painter.h> /*! * \brief Конструктор. * \param xAxis Горизонтальная ось привязки пикера. * \param yAxis Вертикальная ось привязки пикера. * \param canvas Полотно графика. */ DisplayCoordinatePicker::DisplayCoordinatePicker(int xAxis, int yAxis, QWidget *canvas) : QwtPlotPicker(xAxis, yAxis, canvas) { } /*! * \brief Возвращает координаты положения пикера на графике в текстовом формате. * \param point Координаты положения пикера на графике. * \return Координаты в текстовом формате. */ QwtText DisplayCoordinatePicker::trackerTextF(const QPointF &point) const { QwtText text; const_cast<DisplayCoordinatePicker *>(this)->emit getTrackerText(point, text); if (text.isEmpty()) { text.setText(QString("%1, %2").arg(int(point.x() + 0.5)).arg(point.y())); } return text; } /*! * \brief Рисует растяжку пикера. * \param painter Объект рисования. */ void DisplayCoordinatePicker::drawRubberBand(QPainter *painter) const { int band = rubberBand(); if (band == HorizontalInterval || band == VerticalInterval) { QPolygon points = adjustedPoints(selection()); QRect rect = pickArea().boundingRect().toRect(); switch (band) { case HorizontalInterval: if (points.count() > 0) { QwtPainter::drawLine(painter, points.first().x(), rect.top(), points.first().x(), rect.bottom()); } if (points.count() > 1) { QwtPainter::drawLine(painter, points.last().x(), rect.top(), points.last().x(), rect.bottom()); } break; case VerticalInterval: if (points.count() > 0) { QwtPainter::drawLine(painter, rect.left(), points.first().y(), rect.right(), points.first().y()); } if (points.count() > 1) { QwtPainter::drawLine(painter, rect.left(), points.last().y(), rect.right(), points.last().y()); } break; default: break; } return; } QwtPlotPicker::drawRubberBand(painter); }