00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __TF_VIEW_WIDGET_DOT_H
00023 #define __TF_VIEW_WIDGET_DOT_H
00024
00025 #include <widget/FrameWidget.h>
00026 #include "TFSurfaceWidget.h"
00027 #include <signalGutz.h>
00028
00029
00030
00031 class TFViewWidget : public FrameWidget {
00032 public:
00033
00034
00035
00036 TFViewWidget(TFSurfaceWidget *const surfProto,
00037 const WidgetFactory &wf,
00038 WidgetItem *parent = 0,
00039 const gutz::vec3f &ll = gutz::vec3f(-1,-1,0),
00040 const gutz::vec3f &lr = gutz::vec3f(1,-1,0),
00041 const gutz::vec3f &ul = gutz::vec3f(-1,1,0),
00042 const gutz::vec3f &ur = gutz::vec3f(1,1,0));
00043
00044 TFViewWidget &operator=(const TFViewWidget &tfv)
00045 {
00046 FrameWidget::operator =(tfv);
00047 return *this;
00048 }
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058 gutz::vec2i getAxes() const { return _axes; }
00059 gutz::vec2i setAxes(const gutz::vec2i &axes) { _axes = axes; }
00060
00061
00062 HAS_SLOTS;
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073 gutz::Signal<const gutz::vec2i&, const gutz::vec2f&> insertElementEvent;
00074
00075
00076
00077
00078
00079
00080
00081 void setTFSurface(TFSurfaceWidget *sw);
00082 TFSurfaceWidgetSP getTFSurface() const { return _tfsurf; }
00083 void delTFSurface();
00084
00085
00086
00087
00088
00089
00090
00091 virtual void drawDef(const gutz::RenderEvent &r)
00092 {
00093 FrameWidget::drawDef(r);
00094 }
00095
00096 virtual bool mouseChild(WidgetItem *child, const gutz::MouseEvent &me);
00097
00098
00099 virtual bool moveChild(WidgetItem *child, const gutz::MouseMoveEvent &mme);
00100
00101
00102
00103
00104 protected:
00105 TFViewWidget();
00106
00107 TFViewWidget(const TFViewWidget &tfv)
00108 : FrameWidget(tfv), _tfsurf(0)
00109 {
00110 if(tfv._tfsurf)
00111 setTFSurface(tfv._tfsurf->cloneTFSurface());
00112 }
00113
00114
00115 TFSurfaceWidgetSP _tfsurf;
00116
00117
00118 gutz::vec2i _axes;
00119 };
00120 typedef gutz::SmartPtr<TFViewWidget> TFViewWidgetSP;
00121
00122 #endif