X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_ViewPort.h;h=fa4104508146186d34225fd27926d5dbb23209c7;hb=622014f62af50bfd219fb242df168760849e2006;hp=d3f6eddf1d3c123cbda1fd4ceb598000ed24c4a0;hpb=0cd4fa50f143cc929b39862fd6ce52758c5580fa;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_ViewPort.h b/src/XGUI/XGUI_ViewPort.h index d3f6eddf1..fa4104508 100644 --- a/src/XGUI/XGUI_ViewPort.h +++ b/src/XGUI/XGUI_ViewPort.h @@ -1,57 +1,102 @@ - #ifndef XGUI_ViewPort_H #define XGUI_ViewPort_H +#include "XGUI.h" +#include "XGUI_ViewBackground.h" + #include #include #include +#include class XGUI_ViewWindow; -class XGUI_ViewPort : public QWidget +class XGUI_EXPORT XGUI_ViewPort: public QWidget { - Q_OBJECT +Q_OBJECT public: - XGUI_ViewPort(XGUI_ViewWindow* theParent, - const Handle(V3d_Viewer)& theViewer, - V3d_TypeOfView theType = V3d_ORTHOGRAPHIC); - ~XGUI_ViewPort(); - - virtual QPaintEngine* paintEngine() const { return 0; } - - QImage dumpView(QRect theRect = QRect(), bool toUpdate = true); - - Handle(V3d_View) getView() const { return activeView(); } + XGUI_ViewPort(XGUI_ViewWindow* theParent, const Handle(V3d_Viewer)& theViewer, + V3d_TypeOfView theType = V3d_ORTHOGRAPHIC); + ~XGUI_ViewPort(); + + virtual QPaintEngine* paintEngine() const + { + return 0; + } + + QImage dumpView(QRect theRect = QRect(), bool toUpdate = true); + + Handle(V3d_View) getView() const + { + return activeView(); + } + + void startRotation(int x, int y, int theRotationPointType, const gp_Pnt& theSelectedPoint); + void rotate(int, int, int, const gp_Pnt&); + void endRotation(); + + // TRANSFORMATIONS + void pan(int dx, int dy); + void setCenter(int x, int y); + void fitRect(const QRect& rect); + void startZoomAtPoint(int x, int y); + void zoom(int x0, int y0, int x, int y); + void fitAll(bool theKeepScale = false, bool theWithZ = true, bool theUpd = true); + + void setAdvancedZoomingEnabled(const bool theState) + { + myIsAdvancedZoomingEnabled = theState; + } + bool isAdvancedZoomingEnabled() const + { + return myIsAdvancedZoomingEnabled; + } + + XGUI_ViewBackground background() const + { + return myBackground; + } + + void setBackground(const XGUI_ViewBackground& bgData); + + void syncronizeWith( const XGUI_ViewPort* ref ); signals: - //void vpChangeBackground( const Qtx::BackgroundData& ); - void vpClosed(); - void vpMapped(); - + void vpChangeBackground(const XGUI_ViewBackground&); + void vpClosed(); + void vpMapped(); + void vpTransformed(); + void vpUpdated(); + void resized(); protected: - virtual void paintEvent( QPaintEvent* ); - virtual void resizeEvent( QResizeEvent* ); - + virtual void paintEvent(QPaintEvent*); + virtual void resizeEvent(QResizeEvent*); private: - Handle(V3d_View) activeView() const { return myActiveView; } + Handle(V3d_View) activeView() const + { + return myActiveView; + } - bool mapView( const Handle(V3d_View)& theView); - bool setWindow( const Handle(V3d_View)& theView); - bool mapped( const Handle(V3d_View)& theView) const; - void updateBackground(); - void attachWindow( const Handle(V3d_View)& theView, const Handle(Aspect_Window)& theWnd); + bool mapView(const Handle(V3d_View)& theView); + bool setWindow(const Handle(V3d_View)& theView); + bool mapped(const Handle(V3d_View)& theView) const; + void updateBackground(); + void attachWindow(const Handle(V3d_View)& theView, const Handle(Aspect_Window)& theWnd); + Handle(V3d_View) myOrthoView;Handle(V3d_View) myPerspView;Handle(V3d_View) myActiveView; - Handle(V3d_View) myOrthoView; - Handle(V3d_View) myPerspView; - Handle(V3d_View) myActiveView; + Handle(Aspect_Window) myWindow; - Handle(Aspect_Window) myWindow; - - bool myPaintersRedrawing; -}; + bool myPaintersRedrawing; + bool myIsAdvancedZoomingEnabled; + double myScale; + + XGUI_ViewBackground myBackground; + int myBgImgHeight; + int myBgImgWidth; +}; -#endif \ No newline at end of file +#endif