qwt_scale_widget.h
Go to the documentation of this file.
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #ifndef QWT_SCALE_WIDGET_H
00011 #define QWT_SCALE_WIDGET_H
00012 
00013 #include "qwt_global.h"
00014 #include "qwt_text.h"
00015 #include "qwt_scale_draw.h"
00016 #include <qwidget.h>
00017 #include <qfont.h>
00018 #include <qcolor.h>
00019 #include <qstring.h>
00020 
00021 class QPainter;
00022 class QwtTransform;
00023 class QwtScaleDiv;
00024 class QwtColorMap;
00025 
00033 class QWT_EXPORT QwtScaleWidget : public QWidget
00034 {
00035     Q_OBJECT
00036 
00037 public:
00039     enum LayoutFlag
00040     {
00045         TitleInverted = 1
00046     };
00047 
00049     typedef QFlags<LayoutFlag> LayoutFlags;
00050 
00051     explicit QwtScaleWidget( QWidget *parent = NULL );
00052     explicit QwtScaleWidget( QwtScaleDraw::Alignment, QWidget *parent = NULL );
00053     virtual ~QwtScaleWidget();
00054 
00055 Q_SIGNALS:
00057     void scaleDivChanged();
00058 
00059 public:
00060     void setTitle( const QString &title );
00061     void setTitle( const QwtText &title );
00062     QwtText title() const;
00063 
00064     void setLayoutFlag( LayoutFlag, bool on );
00065     bool testLayoutFlag( LayoutFlag ) const;
00066 
00067     void setBorderDist( int start, int end );
00068     int startBorderDist() const;
00069     int endBorderDist() const;
00070 
00071     void getBorderDistHint( int &start, int &end ) const;
00072 
00073     void getMinBorderDist( int &start, int &end ) const;
00074     void setMinBorderDist( int start, int end );
00075 
00076     void setMargin( int );
00077     int margin() const;
00078 
00079     void setSpacing( int td );
00080     int spacing() const;
00081 
00082     void setScaleDiv( const QwtScaleDiv &sd );
00083     void setTransformation( QwtTransform * );
00084 
00085     void setScaleDraw( QwtScaleDraw * );
00086     const QwtScaleDraw *scaleDraw() const;
00087     QwtScaleDraw *scaleDraw();
00088 
00089     void setLabelAlignment( Qt::Alignment );
00090     void setLabelRotation( double rotation );
00091 
00092     void setColorBarEnabled( bool );
00093     bool isColorBarEnabled() const;
00094 
00095     void setColorBarWidth( int );
00096     int colorBarWidth() const;
00097 
00098     void setColorMap( const QwtInterval &, QwtColorMap * );
00099 
00100     QwtInterval colorBarInterval() const;
00101     const QwtColorMap *colorMap() const;
00102 
00103     virtual QSize sizeHint() const;
00104     virtual QSize minimumSizeHint() const;
00105 
00106     int titleHeightForWidth( int width ) const;
00107     int dimForLength( int length, const QFont &scaleFont ) const;
00108 
00109     void drawColorBar( QPainter *painter, const QRectF & ) const;
00110     void drawTitle( QPainter *painter, QwtScaleDraw::Alignment,
00111         const QRectF &rect ) const;
00112 
00113     void setAlignment( QwtScaleDraw::Alignment );
00114     QwtScaleDraw::Alignment alignment() const;
00115 
00116     QRectF colorBarRect( const QRectF& ) const;
00117 
00118 protected:
00119     virtual void paintEvent( QPaintEvent * );
00120     virtual void resizeEvent( QResizeEvent * );
00121     virtual void changeEvent( QEvent * );
00122 
00123     void draw( QPainter *p ) const;
00124 
00125     void scaleChange();
00126     void layoutScale( bool update = true );
00127 
00128 private:
00129     void initScale( QwtScaleDraw::Alignment );
00130 
00131     class PrivateData;
00132     PrivateData *d_data;
00133 };
00134 
00135 Q_DECLARE_OPERATORS_FOR_FLAGS( QwtScaleWidget::LayoutFlags )
00136 
00137 #endif


plotjuggler
Author(s): Davide Faconti
autogenerated on Fri Sep 1 2017 02:41:56