00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef IMG_POINTLIST_OVERLAY_HH
00026 #define IMG_POINTLIST_OVERLAY_HH
00027
00028 #include <ost/img/point_list.hh>
00029
00030 #include <ost/gui/module_config.hh>
00031
00032 #include "pointlist_overlay_base.hh"
00033
00034 namespace ost { namespace img { namespace gui {
00035
00036 class DLLEXPORT_OST_GUI PointlistOverlay: public PointlistOverlayBase
00037 {
00038 public:
00039 PointlistOverlay(const String& name="Pointlist");
00040
00041 PointlistOverlay(const PointList& pl, const String& name="Pointlist");
00042
00043 virtual void OnMenuEvent(QAction* e);
00044 virtual void OnDraw(QPainter& pnt, DataViewerPanel* dvp, bool is_active);
00045 virtual bool OnMouseEvent(QMouseEvent* e, DataViewerPanel* dvp,
00046 const QPoint& lastmouse);
00047
00048 void Add(const Point& pnt, double scale=1.0);
00049 void Add(const PointList& pl, double scale=1.0);
00050
00052 void Remove(const Point& pnt);
00053
00054
00055 void Clear();
00056
00057 private:
00058 std::vector<std::pair<Point,double> > pointlist_;
00059
00060 QAction* a_clr_;
00061
00062 void build_();
00063 };
00064
00065 }}}
00066
00067
00068 #endif