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_text.h"
00020 #include "qwt_scale_draw.h"
00021 
00022 class QPainter;
00023 class QwtScaleTransformation;
00024 class QwtScaleDiv;
00025 
00033 class QWT_EXPORT QwtScaleWidget : public QWidget
00034 {
00035     Q_OBJECT 
00036 
00037 public:
00038     explicit QwtScaleWidget(QWidget *parent = NULL);
00039     explicit QwtScaleWidget(QwtScaleDraw::Alignment, QWidget *parent = NULL);
00040     virtual ~QwtScaleWidget();
00041 
00042     void setTitle(const QString &title);
00043     void setTitle(const QwtText &title);
00044     QwtText title() const;
00045 
00046     void setBorderDist(int start, int end);
00047     int startBorderDist() const;
00048     int endBorderDist() const;
00049 
00050     void getBorderDistHint(int &start, int &end) const;
00051 
00052     void getMinBorderDist(int &start, int &end) const;
00053     void setMinBorderDist(int start, int end);
00054 
00055     void setBaselineDist(int bd);
00056     int baseLineDist() const;
00057 
00058     void setTitleDist(int td);
00059     int titleDist() const;
00060 
00061     void setScaleDiv(const QwtScaleTransformation&, const QwtScaleDiv &sd);
00062     void setScaleDraw(QwtScaleDraw *);
00063     const QwtScaleDraw *scaleDraw() const;
00064     QwtScaleDraw *scaleDraw();
00065 
00066 #if QT_VERSION < 0x040000
00067     void setLabelAlignment(int);
00068 #else
00069     void setLabelAlignment(Qt::Alignment);
00070 #endif
00071     void setLabelRotation(double rotation);
00072 
00073     virtual QSize sizeHint() const;
00074     virtual QSize minimumSizeHint() const;
00075 
00076     int titleHeightForWidth(int width) const;
00077     int dimForLength(int length, const QFont &scaleFont) const;
00078 
00079     void drawTitle(QPainter *painter, QwtScaleDraw::Alignment,
00080         const QRect &rect) const;
00081         
00082     void setAlignment(QwtScaleDraw::Alignment);
00083     QwtScaleDraw::Alignment alignment() const;
00084 
00085 protected:
00086     virtual void paintEvent(QPaintEvent *e);
00087     virtual void resizeEvent(QResizeEvent *e);
00088 
00089 #if QT_VERSION < 0x040000
00090     virtual void fontChange(const QFont &oldfont);
00091 #endif
00092 
00093     void draw(QPainter *p) const;
00094 
00095     void scaleChange();
00096     void layoutScale( bool update = true );
00097 
00098 private:
00099     void initScale(QwtScaleDraw::Alignment);
00100 
00101     class PrivateData;
00102     PrivateData *d_data;
00103 };
00104 
00105 #endif

Generated on Mon Jan 30 22:16:26 2006 for Qwt User's Guide by  doxygen 1.4.4