Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

qwt_scale.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_H
00011 #define QWT_SCALE_H
00012 
00013 #include <qwidget.h>
00014 #include <qfont.h>
00015 #include <qcolor.h>
00016 #include <qstring.h>
00017 
00018 #include "qwt_global.h"
00019 #include "qwt_scldiv.h"
00020 #include "qwt_scldraw.h"
00021 
00022 class QPainter;
00023 
00031 class QWT_EXPORT QwtScale : public QWidget
00032 {
00033     Q_OBJECT 
00034     Q_ENUMS(Position)
00035     Q_PROPERTY( Position position READ position WRITE setPosition )
00036     Q_PROPERTY( QString title READ title WRITE setTitle )
00037     Q_PROPERTY( QFont titleFont READ titleFont WRITE setTitleFont )
00038     Q_PROPERTY( QColor titleColor READ titleColor WRITE setTitleColor )
00039 
00040 public:
00046     enum Position { Left, Right, Top, Bottom };
00047 
00048     QwtScale(Position, QWidget *parent, const char *name = 0);
00049     virtual ~QwtScale();
00050 
00051     void setTitle(const QString &title);
00052     const QString& title() const;
00053 
00054     void setTitleColor(const QColor &c);
00055     const QColor &titleColor() const;
00056 
00057     void setTitleFont(const QFont &f);
00058     const QFont &titleFont() const;
00059 
00060     void setTitleAlignment(int flags);
00061     int titleAlignment() const;
00062 
00063     void setBorderDist(int start, int end);
00064     int startBorderDist() const;
00065     int endBorderDist() const;
00066     void minBorderDist(int &start, int &end) const;
00067 
00068     void setBaselineDist(int bd);
00069     int baseLineDist() const;
00070 
00071     void setScaleDiv(const QwtScaleDiv &sd);
00072     void setScaleDraw(QwtScaleDraw *);
00073     const QwtScaleDraw *scaleDraw() const;
00074 
00075     void setLabelFormat(char f, int prec, int fieldWidth);
00076     void labelFormat(char &f, int &prec, int &fieldWidth) const;
00077 
00078     void setLabelAlignment(int align);
00079     void setLabelRotation(double rotation);
00080 
00081     virtual QSize sizeHint() const;
00082     virtual QSize minimumSizeHint() const;
00083     virtual QSizePolicy sizePolicy() const;
00084 
00085     int dimForLength(int length,
00086         const QFontMetrics &titleFontMetrics,
00087         const QFontMetrics &scaleFontMetrics ) const;
00088 
00089     static void drawTitle(QPainter *, QwtScaleDraw::Orientation o,
00090         const QRect &, int align, const QString &);
00091     
00092     void setPosition(Position o);
00093     Position position() const;
00094 
00095 protected:
00096     void draw(QPainter *p) const;
00097     void paintEvent(QPaintEvent *e);
00098     void resizeEvent(QResizeEvent *e);
00099     void scaleChange();
00100     void fontChange(const QFont &oldfont);
00101     void layoutScale( bool update = TRUE );
00102 
00103 private:
00104     QwtScaleDraw *d_scaleDraw;
00105 
00106     int d_borderDist[2];
00107     int d_scaleLength;
00108     int d_baseDist;
00109 
00110     int d_titleOffset;
00111     QString d_title;
00112     int d_titleDist;
00113     QFont d_titleFont;
00114     QColor d_titleColor;
00115     int d_titleAlign;
00116 };
00117 
00118 #endif

Generated on Fri Nov 7 14:11:46 2003 for Qwt Developer's Guide by doxygen 1.3.2