Ejemplo n.º 1
0
LineChartPicker::LineChartPicker(QwtPlot *plot) :
    QwtPlotPicker(plot->canvas()),
    p(plot)
{
  QwtPlotCanvas *canvas = plot->canvas();

  canvas->installEventFilter(this);

  canvas->setFocusPolicy(Qt::StrongFocus);
  canvas->setMouseTracking(true);
  canvas->setFocusIndicator(QwtPlotCanvas::ItemFocusIndicator);
  canvas->setFocus();
}
Ejemplo n.º 2
0
DialogFunction::DialogFunction( const LinearFunction::Description::Ptr& pDescription,
								const QPolygonF& curveSamples,
								QWidget* pParent)
	: QDialog(pParent)
	, _pDescription(pDescription)
	, _indexSelectedPoint(-1)
	, _relativeIndex(0)
{
	setupUi(this);

	widgetPlot->setMinimumSize(1,1);
	widgetPlot->setAxisScale(QwtPlot::xBottom, _pDescription->xMin, _pDescription->xMax);
	widgetPlot->setAxisScale(QwtPlot::yLeft, _pDescription->yMin, _pDescription->yMax);
	widgetPlot->setAxisMaxMinor(QwtPlot::yLeft, 2);
	widgetPlot->setAxisMaxMinor(QwtPlot::xBottom, 2);
	widgetPlot->setCanvasBackground(QColor(Qt::black));
	widgetPlot->setAxisTitle(QwtPlot::xBottom, _pDescription->szLabelX);
	widgetPlot->setAxisTitle(QwtPlot::yLeft, _pDescription->szLabelY);

	_pCurve.reset(new QwtPlotCurve());
	_pCurve->setStyle(QwtPlotCurve::Lines);
	_pCurve->setPen(Qt::white);
	_pCurve->setSymbol(new QwtSymbol(QwtSymbol::Diamond, Qt::lightGray, _pCurve->pen(), QSize(8,8)));
	QwtArraySeriesData<QPointF>* pSeries = static_cast<QwtArraySeriesData<QPointF>*>(_pCurve->data());
	if (pSeries)
	{
		_pCurve->setSamples(curveSamples);
	}
	_pCurve->attach(widgetPlot);

	QwtPlotGrid* pGrid = new QwtPlotGrid;
	pGrid->setMajorPen(QPen(Qt::gray, 0, Qt::DotLine));
	pGrid->attach(widgetPlot);

	QwtPlotCanvas* pPlotCanvas = static_cast<QwtPlotCanvas*>(widgetPlot->canvas());
	pPlotCanvas->installEventFilter(this);
	pPlotCanvas->setMouseTracking(true);
}