00001
00002
00014 #ifndef CanvasViewProxy_H
00015 #define CanvasViewProxy_H
00016
00017 #include "libqthippo.h"
00018
00019 #include "qobject.h"
00020
00021 #include <string>
00022
00023 namespace hippodraw {
00024
00025 class CanvasView;
00026 class PlotterBase;
00027
00045 class MDL_QTHIPPOPLOT_API CanvasViewProxy : private QObject
00046 {
00047 Q_OBJECT
00048
00049 private:
00050
00053 CanvasView * m_canvas_view;
00054
00057 CanvasViewProxy ( const CanvasViewProxy & );
00058
00061 void lock ();
00062
00065 void unlock ();
00066
00067 public:
00068
00071 CanvasViewProxy ( CanvasView * view );
00072
00075 virtual ~CanvasViewProxy();
00076
00079 void addDisplay ( PlotterBase * plotter );
00080
00083 void clear ();
00084
00087 void saveAsImage ( const PlotterBase *, const std::string & filename );
00088
00091 void swapOrientation ();
00092
00093 signals:
00094
00097 void addDisplaySignal ( PlotterBase * plotter );
00098
00101 void clearSignal ();
00102
00105 void saveAsImageSignal ( const PlotterBase * plotter,
00106 const std::string & filename );
00107
00110 void swapOrientationSignal ();
00111
00112 };
00113
00114 }
00115
00116 #endif // CanvasViewProxy_H