Salome HOME
Merge V9_dev branch into master
[modules/gui.git] / src / OCCViewer / OCCViewer_ViewFrame.h
index 0f10e19f0f8090743d61846b05d2c32b2072bf18..dbc87d48c3d2178efd794427b2f03863759e4f6c 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -46,6 +46,8 @@ public:
 
   OCCViewer_ViewWindow*   getView( const int ) const;
 
+  OCCViewer_ViewWindow*   getActiveView() const;
+
   virtual OCCViewer_ViewPort3d* getViewPort() { return getView(MAIN_VIEW)->getViewPort(); }
   OCCViewer_ViewPort3d* getViewPort(int theView);
 
@@ -70,6 +72,32 @@ public:
   virtual int  interactionStyle() const { return getView(MAIN_VIEW)->interactionStyle(); }
   virtual void setInteractionStyle( const int i );
 
+  virtual int projectionType() const;
+  virtual void setProjectionType( int );
+
+  virtual int stereoType() const;
+  virtual void setStereoType( const int );
+
+  virtual int anaglyphFilter() const;
+  virtual void setAnaglyphFilter( const int );
+
+  virtual void setStereographicFocus( const int, const double );
+  virtual int stereographicFocusType() const;
+  virtual double stereographicFocusValue() const;
+
+  virtual void setInterocularDistance( const int, const double );
+  virtual int interocularDistanceType() const;
+  virtual double interocularDistanceValue() const;
+
+  virtual bool isReverseStereo() const;
+  virtual void setReverseStereo( const bool );
+
+  virtual bool isVSync() const;
+  virtual void setVSync( const bool );
+
+  virtual bool isQuadBufferSupport() const;
+  virtual void setQuadBufferSupport( const bool );
+
   virtual int  zoomingStyle() const { return getView(MAIN_VIEW)->zoomingStyle(); }
   virtual void setZoomingStyle( const int );
 
@@ -79,6 +107,8 @@ public:
   virtual bool isPreselectionEnabled() const { return getView(MAIN_VIEW)->isPreselectionEnabled(); }
   virtual void enablePreselection( bool );
 
+  virtual bool enableDrawMode( bool );
+
   virtual void setViewManager( SUIT_ViewManager* );
 
   virtual bool eventFilter(QObject* watched, QEvent* e) { return SUIT_ViewWindow::eventFilter(watched, e); }
@@ -135,16 +165,19 @@ protected:
 
 private slots:
   void onContextMenuRequested(QContextMenuEvent*);
+  void onMousePressed(SUIT_ViewWindow*, QMouseEvent*);
 
 private:
   void connectViewSignals( OCCViewer_ViewWindow* theView );
   void updateWindowTitle( OCCViewer_ViewWindow* theView );
   void createSubViews();
   void splitSubViews();
+  void setSubViewParams( OCCViewer_ViewWindow* theView );
 
   QList<OCCViewer_ViewWindow*> myViews;
   QGridLayout* myLayout;
   OCCViewer_ViewWindow* myMaximizedView;
+  OCCViewer_ViewWindow* myActiveView;
   int mySplitMode;
   QList<int> myViewsMode;