Eneboo - Documentación para desarrolladores
|
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 class QwtColorMap; 00026 00034 class QWT_EXPORT QwtScaleWidget : public QWidget 00035 { 00036 Q_OBJECT 00037 00038 public: 00039 explicit QwtScaleWidget(QWidget *parent = NULL); 00040 #if QT_VERSION < 0x040000 00041 explicit QwtScaleWidget(QWidget *parent, const char *name); 00042 #endif 00043 explicit QwtScaleWidget(QwtScaleDraw::Alignment, QWidget *parent = NULL); 00044 virtual ~QwtScaleWidget(); 00045 00046 signals: 00048 void scaleDivChanged(); 00049 00050 public: 00051 void setTitle(const QString &title); 00052 void setTitle(const QwtText &title); 00053 QwtText title() const; 00054 00055 void setBorderDist(int start, int end); 00056 int startBorderDist() const; 00057 int endBorderDist() const; 00058 00059 void getBorderDistHint(int &start, int &end) const; 00060 00061 void getMinBorderDist(int &start, int &end) const; 00062 void setMinBorderDist(int start, int end); 00063 00064 void setMargin(int); 00065 int margin() const; 00066 00067 void setSpacing(int td); 00068 int spacing() const; 00069 00070 void setPenWidth(int); 00071 int penWidth() const; 00072 00073 void setScaleDiv(QwtScaleTransformation *, const QwtScaleDiv &sd); 00074 00075 void setScaleDraw(QwtScaleDraw *); 00076 const QwtScaleDraw *scaleDraw() const; 00077 QwtScaleDraw *scaleDraw(); 00078 00079 #if QT_VERSION < 0x040000 00080 void setLabelAlignment(int); 00081 #else 00082 void setLabelAlignment(Qt::Alignment); 00083 #endif 00084 void setLabelRotation(double rotation); 00085 00086 void setColorBarEnabled(bool); 00087 bool isColorBarEnabled() const; 00088 00089 void setColorBarWidth(int); 00090 int colorBarWidth() const; 00091 00092 void setColorMap(const QwtDoubleInterval &, const QwtColorMap &); 00093 00094 QwtDoubleInterval colorBarInterval() const; 00095 const QwtColorMap &colorMap() const; 00096 00097 virtual QSize sizeHint() const; 00098 virtual QSize minimumSizeHint() const; 00099 00100 int titleHeightForWidth(int width) const; 00101 int dimForLength(int length, const QFont &scaleFont) const; 00102 00103 void drawColorBar(QPainter *painter, const QRect &rect) const; 00104 void drawTitle(QPainter *painter, QwtScaleDraw::Alignment, 00105 const QRect &rect) const; 00106 00107 void setAlignment(QwtScaleDraw::Alignment); 00108 QwtScaleDraw::Alignment alignment() const; 00109 00110 QRect colorBarRect(const QRect&) const; 00111 00112 protected: 00113 virtual void paintEvent(QPaintEvent *e); 00114 virtual void resizeEvent(QResizeEvent *e); 00115 00116 #if QT_VERSION < 0x040000 00117 virtual void fontChange(const QFont &oldfont); 00118 #endif 00119 00120 void draw(QPainter *p) const; 00121 00122 void scaleChange(); 00123 void layoutScale( bool update = true ); 00124 00125 private: 00126 void initScale(QwtScaleDraw::Alignment); 00127 00128 class PrivateData; 00129 PrivateData *d_data; 00130 }; 00131 00132 #endif