summaryrefslogtreecommitdiff
path: root/src/libpcp_qwt/src/qwt_scale_widget.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libpcp_qwt/src/qwt_scale_widget.h')
-rw-r--r--src/libpcp_qwt/src/qwt_scale_widget.h135
1 files changed, 135 insertions, 0 deletions
diff --git a/src/libpcp_qwt/src/qwt_scale_widget.h b/src/libpcp_qwt/src/qwt_scale_widget.h
new file mode 100644
index 0000000..7007902
--- /dev/null
+++ b/src/libpcp_qwt/src/qwt_scale_widget.h
@@ -0,0 +1,135 @@
+/* -*- 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_SCALE_WIDGET_H
+#define QWT_SCALE_WIDGET_H
+
+#include "qwt_global.h"
+#include "qwt_text.h"
+#include "qwt_scale_draw.h"
+#include <qwidget.h>
+#include <qfont.h>
+#include <qcolor.h>
+#include <qstring.h>
+
+class QPainter;
+class QwtScaleTransformation;
+class QwtScaleDiv;
+class QwtColorMap;
+
+/*!
+ \brief A Widget which contains a scale
+
+ This Widget can be used to decorate composite widgets with
+ a scale.
+*/
+
+class QWT_EXPORT QwtScaleWidget : public QWidget
+{
+ Q_OBJECT
+
+public:
+ //! Layout flags of the title
+ enum LayoutFlag
+ {
+ /*!
+ The title of vertical scales is painted from top to bottom.
+ Otherwise it is painted from bottom to top.
+ */
+ TitleInverted = 1
+ };
+
+ //! Layout flags of the title
+ typedef QFlags<LayoutFlag> LayoutFlags;
+
+ explicit QwtScaleWidget( QWidget *parent = NULL );
+ explicit QwtScaleWidget( QwtScaleDraw::Alignment, QWidget *parent = NULL );
+ virtual ~QwtScaleWidget();
+
+Q_SIGNALS:
+ //! Signal emitted, whenever the scale divison changes
+ void scaleDivChanged();
+
+public:
+ void setTitle( const QString &title );
+ void setTitle( const QwtText &title );
+ QwtText title() const;
+
+ void setLayoutFlag( LayoutFlag, bool on );
+ bool testLayoutFlag( LayoutFlag ) const;
+
+ void setBorderDist( int start, int end );
+ int startBorderDist() const;
+ int endBorderDist() const;
+
+ void getBorderDistHint( int &start, int &end ) const;
+
+ void getMinBorderDist( int &start, int &end ) const;
+ void setMinBorderDist( int start, int end );
+
+ void setMargin( int );
+ int margin() const;
+
+ void setSpacing( int td );
+ int spacing() const;
+
+ void setScaleDiv( QwtScaleTransformation *, const QwtScaleDiv &sd );
+
+ void setScaleDraw( QwtScaleDraw * );
+ const QwtScaleDraw *scaleDraw() const;
+ QwtScaleDraw *scaleDraw();
+
+ void setLabelAlignment( Qt::Alignment );
+ void setLabelRotation( double rotation );
+
+ void setColorBarEnabled( bool );
+ bool isColorBarEnabled() const;
+
+ void setColorBarWidth( int );
+ int colorBarWidth() const;
+
+ void setColorMap( const QwtInterval &, QwtColorMap * );
+
+ QwtInterval colorBarInterval() const;
+ const QwtColorMap *colorMap() const;
+
+ virtual QSize sizeHint() const;
+ virtual QSize minimumSizeHint() const;
+
+ int titleHeightForWidth( int width ) const;
+ int dimForLength( int length, const QFont &scaleFont ) const;
+
+ void drawColorBar( QPainter *painter, const QRectF & ) const;
+ void drawTitle( QPainter *painter, QwtScaleDraw::Alignment,
+ const QRectF &rect ) const;
+
+ void setAlignment( QwtScaleDraw::Alignment );
+ QwtScaleDraw::Alignment alignment() const;
+
+ QRectF colorBarRect( const QRectF& ) const;
+
+protected:
+ virtual void paintEvent( QPaintEvent * );
+ virtual void resizeEvent( QResizeEvent * );
+
+ void draw( QPainter *p ) const;
+
+ void scaleChange();
+ void layoutScale( bool update = true );
+
+private:
+ void initScale( QwtScaleDraw::Alignment );
+
+ class PrivateData;
+ PrivateData *d_data;
+};
+
+Q_DECLARE_OPERATORS_FOR_FLAGS( QwtScaleWidget::LayoutFlags )
+
+#endif