| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | /* -*- 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_OBJECTpublic:    /*!     Layout flags of the title     - TitleInverted\n       The title of vertical scales is painted from top to bottom. Otherwise       it is painted from bottom to top.     */    enum LayoutFlag    {        TitleInverted = 1    };    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;};#endif
 |