summaryrefslogtreecommitdiff
path: root/src/libpcp_qwt/src/qwt_plot_scaleitem.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libpcp_qwt/src/qwt_plot_scaleitem.h')
-rw-r--r--src/libpcp_qwt/src/qwt_plot_scaleitem.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/libpcp_qwt/src/qwt_plot_scaleitem.h b/src/libpcp_qwt/src/qwt_plot_scaleitem.h
new file mode 100644
index 0000000..ead67a3
--- /dev/null
+++ b/src/libpcp_qwt/src/qwt_plot_scaleitem.h
@@ -0,0 +1,94 @@
+/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
+ * Qwt Widget Library
+ * Copyright (C) 1997 Josef Wilgen
+ * Copyright (C) 2002 Uwe Rathmann
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the Qwt License, Version 1.0
+ *****************************************************************************/
+
+#ifndef QWT_PLOT_SCALE_ITEM_H
+#define QWT_PLOT_SCALE_ITEM_H
+
+#include "qwt_global.h"
+#include "qwt_plot_item.h"
+#include "qwt_scale_draw.h"
+
+class QPalette;
+
+/*!
+ \brief A class which draws a scale inside the plot canvas
+
+ QwtPlotScaleItem can be used to draw an axis inside the plot canvas.
+ It might by synchronized to one of the axis of the plot, but can
+ also display its own ticks and labels.
+
+ It is allowed to synchronize the scale item with a disabled axis.
+ In plots with vertical and horizontal scale items, it might be
+ necessary to remove ticks at the intersections, by overloading
+ updateScaleDiv().
+
+ The scale might be at a specific position (f.e 0.0) or it might be
+ aligned to a canvas border.
+
+ \par Example
+ The following example shows how to replace the left axis, by a scale item
+ at the x position 0.0.
+ \verbatim
+QwtPlotScaleItem *scaleItem =
+ new QwtPlotScaleItem(QwtScaleDraw::RightScale, 0.0);
+scaleItem->setFont(plot->axisWidget(QwtPlot::yLeft)->font());
+scaleItem->attach(plot);
+
+plot->enableAxis(QwtPlot::yLeft, false);
+\endverbatim
+*/
+
+class QWT_EXPORT QwtPlotScaleItem: public QwtPlotItem
+{
+public:
+ explicit QwtPlotScaleItem(
+ QwtScaleDraw::Alignment = QwtScaleDraw::BottomScale,
+ const double pos = 0.0 );
+
+ virtual ~QwtPlotScaleItem();
+
+ virtual int rtti() const;
+
+ void setScaleDiv( const QwtScaleDiv& );
+ const QwtScaleDiv& scaleDiv() const;
+
+ void setScaleDivFromAxis( bool on );
+ bool isScaleDivFromAxis() const;
+
+ void setPalette( const QPalette & );
+ QPalette palette() const;
+
+ void setFont( const QFont& );
+ QFont font() const;
+
+ void setScaleDraw( QwtScaleDraw * );
+
+ const QwtScaleDraw *scaleDraw() const;
+ QwtScaleDraw *scaleDraw();
+
+ void setPosition( double pos );
+ double position() const;
+
+ void setBorderDistance( int numPixels );
+ int borderDistance() const;
+
+ void setAlignment( QwtScaleDraw::Alignment );
+
+ virtual void draw( QPainter *p,
+ const QwtScaleMap &xMap, const QwtScaleMap &yMap,
+ const QRectF &rect ) const;
+
+ virtual void updateScaleDiv( const QwtScaleDiv &, const QwtScaleDiv & );
+
+private:
+ class PrivateData;
+ PrivateData *d_data;
+};
+
+#endif