00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef PLOT_DATA_GRAPHICS_ITEM_BASE_HH_
00020 #define PLOT_DATA_GRAPHICS_ITEM_BASE_HH_
00021
00022
00023
00024
00025
00026 #include <QGraphicsItem>
00027 #include <QObject>
00028
00029 #include <ost/gui/module_config.hh>
00030 #include "plot_info_base.hh"
00031
00032 namespace ost{namespace gui{
00033
00034 class DLLEXPORT_OST_GUI PlotDataGraphicsItemBase: public QObject, public QGraphicsItem
00035 {
00036 Q_OBJECT
00037 public:
00038 PlotDataGraphicsItemBase(const PlotInfoBasePtr& info,QGraphicsItem * parent = 0);
00039 virtual ~PlotDataGraphicsItemBase();
00040 virtual void paint( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 );
00041 virtual QRectF boundingRect() const;
00042 virtual void Redraw();
00043
00044 public slots:
00045 void OnAppearanceChange();
00046 void OnVisibilityChange();
00047 void update ( const QRectF & rect = QRectF() );
00048
00049 protected:
00050 PlotInfoBasePtr infoptr_;
00051 bool dirty_;
00052 };
00053
00054 }}
00055
00056 #endif