qwt_plot_item.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_PLOT_ITEM_H 00011 #define QWT_PLOT_ITEM_H 00012 00013 #include "qwt_global.h" 00014 #include "qwt_legend_itemmanager.h" 00015 #include "qwt_text.h" 00016 #include "qwt_double_rect.h" 00017 00018 class QString; 00019 class QRect; 00020 class QPainter; 00021 class QWidget; 00022 class QwtPlot; 00023 class QwtLegend; 00024 class QwtScaleMap; 00025 class QwtScaleDiv; 00026 00065 class QWT_EXPORT QwtPlotItem: public QwtLegendItemManager 00066 { 00067 public: 00074 enum RttiValues 00075 { 00076 Rtti_PlotItem = 0, 00077 00078 Rtti_PlotGrid, 00079 Rtti_PlotScale, 00080 Rtti_PlotMarker, 00081 Rtti_PlotCurve, 00082 Rtti_PlotHistogram, 00083 Rtti_PlotSpectrogram, 00084 Rtti_PlotSVG, 00085 00086 Rtti_PlotUserItem = 1000 00087 }; 00088 00100 enum ItemAttribute 00101 { 00102 Legend = 1, 00103 AutoScale = 2 00104 }; 00105 00106 #if QT_VERSION >= 0x040000 00108 enum RenderHint 00109 { 00110 RenderAntialiased = 1 00111 }; 00112 #endif 00113 00114 explicit QwtPlotItem(const QwtText &title = QwtText()); 00115 virtual ~QwtPlotItem(); 00116 00117 void attach(QwtPlot *plot); 00118 00126 void detach() { attach(NULL); } 00127 00128 QwtPlot *plot() const; 00129 00130 void setTitle(const QString &title); 00131 void setTitle(const QwtText &title); 00132 const QwtText &title() const; 00133 00134 virtual int rtti() const; 00135 00136 void setItemAttribute(ItemAttribute, bool on = true); 00137 bool testItemAttribute(ItemAttribute) const; 00138 00139 #if QT_VERSION >= 0x040000 00140 void setRenderHint(RenderHint, bool on = true); 00141 bool testRenderHint(RenderHint) const; 00142 #endif 00143 00144 double z() const; 00145 void setZ(double z); 00146 00147 void show(); 00148 void hide(); 00149 virtual void setVisible(bool); 00150 bool isVisible () const; 00151 00152 void setAxis(int xAxis, int yAxis); 00153 00154 void setXAxis(int axis); 00155 int xAxis() const; 00156 00157 void setYAxis(int axis); 00158 int yAxis() const; 00159 00160 virtual void itemChanged(); 00161 00170 virtual void draw(QPainter *painter, 00171 const QwtScaleMap &xMap, const QwtScaleMap &yMap, 00172 const QRect &canvasRect) const = 0; 00173 00174 virtual QwtDoubleRect boundingRect() const; 00175 00176 virtual void updateLegend(QwtLegend *) const; 00177 virtual void updateScaleDiv(const QwtScaleDiv&, 00178 const QwtScaleDiv&); 00179 00180 virtual QWidget *legendItem() const; 00181 00182 QwtDoubleRect scaleRect(const QwtScaleMap &, const QwtScaleMap &) const; 00183 QRect paintRect(const QwtScaleMap &, const QwtScaleMap &) const; 00184 00185 QRect transform(const QwtScaleMap &, const QwtScaleMap &, 00186 const QwtDoubleRect&) const; 00187 QwtDoubleRect invTransform(const QwtScaleMap &, const QwtScaleMap &, 00188 const QRect&) const; 00189 00190 private: 00191 // Disabled copy constructor and operator= 00192 QwtPlotItem( const QwtPlotItem & ); 00193 QwtPlotItem &operator=( const QwtPlotItem & ); 00194 00195 class PrivateData; 00196 PrivateData *d_data; 00197 }; 00198 00199 #endif
Generated on Wed Sep 2 18:37:22 2009 for Qwt User's Guide by 1.6.1