| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 | 
							- /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
 
-  * Qwt Widget Library
 
-  * Copyright (C) 1997   Josef Wilgen
 
-  * Copyright (C) 2002   Uwe Rathmann
 
-  *
 
-  * This library is free software; you can redistribute it and/or
 
-  * modify it under the terms of the Qwt License, Version 1.0
 
-  *****************************************************************************/
 
- #ifndef QWT_PLOT_ITEM_H
 
- #define QWT_PLOT_ITEM_H
 
- #include "qwt_global.h"
 
- #include "qwt_legend_itemmanager.h"
 
- #include "qwt_text.h"
 
- #include <qrect.h>
 
- class QString;
 
- class QPainter;
 
- class QWidget;
 
- class QwtPlot;
 
- class QwtLegend;
 
- class QwtScaleMap;
 
- class QwtScaleDiv;
 
- /*!
 
-   \brief Base class for items on the plot canvas
 
-   A plot item is "something", that can be painted on the plot canvas,
 
-   or only affects the scales of the plot widget. They can be categorized as:
 
-   - Representator\n
 
-     A "Representator" is an item that represents some sort of data
 
-     on the plot canvas. The different representator classes are organized
 
-     according to the characteristics of the data:
 
-     - QwtPlotMarker
 
-       Represents a point or a horizontal/vertical coordinate
 
-     - QwtPlotCurve
 
-       Represents a series of points
 
-     - QwtPlotSpectrogram ( QwtPlotRasterItem )
 
-       Represents raster data
 
-     - ...
 
-   - Decorators\n
 
-     A "Decorator" is an item, that displays additional information, that
 
-     is not related to any data:
 
-     - QwtPlotGrid
 
-     - QwtPlotScaleItem
 
-     - QwtPlotSvgItem
 
-     - ...
 
-   Depending on the QwtPlotItem::ItemAttribute flags, an item is included
 
-   into autoscaling or has an entry on the legnd.
 
-   Before misusing the existing item classes it might be better to
 
-   implement a new type of plot item
 
-   ( don't implement a watermark as spectrogram ).
 
-   Deriving a new type of QwtPlotItem primarily means to implement
 
-   the YourPlotItem::draw() method.
 
-   \sa The cpuplot example shows the implementation of additional plot items.
 
- */
 
- class QWT_EXPORT QwtPlotItem: public QwtLegendItemManager
 
- {
 
- public:
 
-     /*!
 
-         \brief Runtime type information
 
-         RttiValues is used to cast plot items, without
 
-         having to enable runtime type information of the compiler.
 
-      */
 
-     enum RttiValues
 
-     {
 
-         Rtti_PlotItem = 0,
 
-         Rtti_PlotGrid,
 
-         Rtti_PlotScale,
 
-         Rtti_PlotMarker,
 
-         Rtti_PlotCurve,
 
-         Rtti_PlotSpectroCurve,
 
-         Rtti_PlotIntervalCurve,
 
-         Rtti_PlotHistogram,
 
-         Rtti_PlotSpectrogram,
 
-         Rtti_PlotSVG,
 
-         Rtti_PlotUserItem = 1000
 
-     };
 
-     /*!
 
-        Plot Item Attributes
 
-        - Legend\n
 
-          The item is represented on the legend.
 
-        - AutoScale \n
 
-          The boundingRect() of the item is included in the
 
-          autoscaling calculation.
 
-        \sa setItemAttribute(), testItemAttribute()
 
-      */
 
-     enum ItemAttribute
 
-     {
 
-         Legend = 1,
 
-         AutoScale = 2
 
-     };
 
-     //! Render hints
 
-     enum RenderHint
 
-     {
 
-         RenderAntialiased = 1
 
-     };
 
-     explicit QwtPlotItem( const QwtText &title = QwtText() );
 
-     virtual ~QwtPlotItem();
 
-     void attach( QwtPlot *plot );
 
-     /*!
 
-        \brief This method detaches a QwtPlotItem from any QwtPlot it has been
 
-               associated with.
 
-        detach() is equivalent to calling attach( NULL )
 
-        \sa attach( QwtPlot* plot )
 
-     */
 
-     void detach()
 
-     {
 
-         attach( NULL );
 
-     }
 
-     QwtPlot *plot() const;
 
-     void setTitle( const QString &title );
 
-     void setTitle( const QwtText &title );
 
-     const QwtText &title() const;
 
-     virtual int rtti() const;
 
-     void setItemAttribute( ItemAttribute, bool on = true );
 
-     bool testItemAttribute( ItemAttribute ) const;
 
-     void setRenderHint( RenderHint, bool on = true );
 
-     bool testRenderHint( RenderHint ) const;
 
-     double z() const;
 
-     void setZ( double z );
 
-     void show();
 
-     void hide();
 
-     virtual void setVisible( bool );
 
-     bool isVisible () const;
 
-     void setAxes( int xAxis, int yAxis );
 
-     void setXAxis( int axis );
 
-     int xAxis() const;
 
-     void setYAxis( int axis );
 
-     int yAxis() const;
 
-     virtual void itemChanged();
 
-     /*!
 
-       \brief Draw the item
 
-       \param painter Painter
 
-       \param xMap Maps x-values into pixel coordinates.
 
-       \param yMap Maps y-values into pixel coordinates.
 
-       \param canvasRect Contents rect of the canvas in painter coordinates
 
-     */
 
-     virtual void draw( QPainter *painter,
 
-         const QwtScaleMap &xMap, const QwtScaleMap &yMap,
 
-         const QRectF &canvasRect ) const = 0;
 
-     virtual QRectF boundingRect() const;
 
-     virtual void updateLegend( QwtLegend * ) const;
 
-     virtual void updateScaleDiv( 
 
-         const QwtScaleDiv&, const QwtScaleDiv& );
 
-     virtual QWidget *legendItem() const;
 
-     QRectF scaleRect( const QwtScaleMap &, const QwtScaleMap & ) const;
 
-     QRectF paintRect( const QwtScaleMap &, const QwtScaleMap & ) const;
 
- private:
 
-     // Disabled copy constructor and operator=
 
-     QwtPlotItem( const QwtPlotItem & );
 
-     QwtPlotItem &operator=( const QwtPlotItem & );
 
-     class PrivateData;
 
-     PrivateData *d_data;
 
- };
 
- #endif
 
 
  |