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

qwt_scale_widget.h

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 <qwidget.h>
00014 #include <qfont.h>
00015 #include <qcolor.h>
00016 #include <qstring.h>
00017 
00018 #include "qwt_global.h"
00019 #include "qwt_scale_draw.h"
00020 
00021 class QPainter;
00022 class QwtScaleTransformation;
00023 class QwtScaleDiv;
00024 class QwtText;
00025 
00033 class QWT_EXPORT QwtScaleWidget : public QWidget
00034 {
00035     Q_OBJECT 
00036     Q_ENUMS(Position)
00037     Q_PROPERTY( Position position READ position WRITE setPosition )
00038     Q_PROPERTY( QString title READ title WRITE setTitle )
00039     Q_PROPERTY( QFont titleFont READ titleFont WRITE setTitleFont )
00040     Q_PROPERTY( QColor titleColor READ titleColor WRITE setTitleColor )
00041 
00042 public:
00048     enum Position { Left, Right, Top, Bottom };
00049 
00050     explicit QwtScaleWidget(QWidget *parent = NULL);
00051     explicit QwtScaleWidget(Position, QWidget *parent = NULL);
00052     virtual ~QwtScaleWidget();
00053 
00054     void setTitle(const QString &title);
00055     const QString title() const;
00056 
00057     void setTitleColor(const QColor &c);
00058     const QColor titleColor() const;
00059 
00060     void setTitleFont(const QFont &f);
00061     const QFont titleFont() const;
00062 
00063     void setTitleFlags(int flags);
00064     int titleFlags() const;
00065 
00066     void setBorderDist(int start, int end);
00067     int startBorderDist() const;
00068     int endBorderDist() const;
00069     void minBorderDist(int &start, int &end) const;
00070 
00071     void setBaselineDist(int bd);
00072     int baseLineDist() const;
00073 
00074     void setTitleDist(int td);
00075     int titleDist() const;
00076 
00077     void setScaleDiv(const QwtScaleTransformation&, const QwtScaleDiv &sd);
00078     void setScaleDraw(QwtScaleDraw *);
00079     const QwtScaleDraw *scaleDraw() const;
00080 
00081     void setLabelFormat(char f, int prec, int fieldWidth);
00082     void labelFormat(char &f, int &prec, int &fieldWidth) const;
00083 
00084     void setLabelFlags(int flags);
00085     void setLabelRotation(double rotation);
00086 
00087     virtual QSize sizeHint() const;
00088     virtual QSize minimumSizeHint() const;
00089 
00090     int titleHeightForWidth(int width) const;
00091     int dimForLength(int length, const QFont &scaleFont) const;
00092 
00093     void drawTitle(QPainter *painter, QwtScaleDraw::Orientation o,
00094         const QRect &rect) const;
00095         
00096     void setPosition(Position o);
00097     Position position() const;
00098 
00099 protected:
00100     void draw(QPainter *p) const;
00101     void paintEvent(QPaintEvent *e);
00102     void resizeEvent(QResizeEvent *e);
00103     void scaleChange();
00104     void fontChange(const QFont &oldfont);
00105     void layoutScale( bool update = true );
00106 
00107 private:
00108     void initScale(Position);
00109 
00110     class PrivateData;
00111     PrivateData *d_data;
00112 };
00113 
00114 #endif

Generated on Wed Aug 31 23:02:30 2005 for Qwt User's Guide by  doxygen 1.4.1