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_GUI_OVERLAY_BASE_H
00026 #define IMG_GUI_OVERLAY_BASE_H
00027
00028
00029 #include <ost/base.hh>
00030
00031 #include <ost/gui/module_config.hh>
00032 #include "overlay_base_fw.hh"
00033
00034 #include <QObject>
00035 #include <QEvent>
00036 #include <QPainter>
00037 #include <QMenu>
00038 #include <QMouseEvent>
00039 #include <QKeyEvent>
00040 namespace ost { namespace img { namespace gui {
00041
00042
00043 class DataViewerPanel;
00044
00045
00046 class DLLEXPORT_OST_GUI Overlay: public QObject
00047 {
00048 Q_OBJECT;
00049
00050 public:
00052 Overlay(const String& name);
00053
00055 void SetName (const String& name);
00056
00058 String GetName() const;
00059
00061
00066 virtual void OnDraw(QPainter& pnt, DataViewerPanel* dvp, bool is_active);
00067
00069
00075 virtual bool OnMouseEvent(QMouseEvent* e, DataViewerPanel* dvp,
00076 const QPoint& lastmouse);
00077
00079
00082 virtual bool OnKeyEvent(QKeyEvent* e, DataViewerPanel* dvp);
00083
00085
00086
00087
00088
00089
00090 virtual QMenu* GetMenu();
00091
00092 virtual void OnMenuEvent(QAction* e);
00093
00094 public slots:
00095 void OnMenuEventSlot(QAction* e);
00096
00097 signals:
00098 void SettingsChanged();
00099 void InfoTextChanged(const QString& t);
00100
00101 private:
00102 String name_;
00103
00104 Overlay(const Overlay&) {}
00105 Overlay& operator=(const Overlay&) {return *this;}
00106 };
00107
00108 }}}
00109
00110 #endif