Salome HOME
Creat\Edit stream operation.
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Widget.h
index 03cfd0948a1ff4c188eab8a1b95b5a038ce82d3e..7d8d1ee4d0de56364b1bdd6cb89bce828d4d9622 100644 (file)
 
 #include <SUIT_ViewWindow.h>
 #include <AIS_InteractiveObject.hxx>
+#include <AIS_InteractiveContext.hxx>
 
 #include <Geom_Curve.hxx>
 #include <V3d_View.hxx>
 #include <gp_Pnt.hxx>
 
 class OCCViewer_Viewer;
+class OCCViewer_ViewPort3d;
+class OCCViewer_ViewWidget;
+
+class AIS_ListOfInteractive;
 
 class QAction;
 class QPixmap;
@@ -52,10 +57,16 @@ public:
                                 CurveCreator_ICurve *theCurve,
                                 Qt::WindowFlags fl=0 );
 
+  // OCC viewer manipulation
   void setOCCViewer( OCCViewer_Viewer* theViewer );
-  OCCViewer_Viewer* getOCCViewer();
+  void setOCCViewWidget( OCCViewer_ViewWidget* theViewWidget );
 
-  //virtual bool eventFilter( QObject* theWatched, QEvent* theEvent );
+  Handle(AIS_InteractiveContext) getAISContext();
+  OCCViewer_ViewPort3d* getViewPort();
+  int changeInteractionStyle( int theStyle );
+  void setObjectsSelected(const AIS_ListOfInteractive& theList);
+
+  void reset();
 
   //! Return unique section name
   std::string getUniqSectionName(CurveCreator_ICurve* theCurve) const;
@@ -65,6 +76,9 @@ public:
   QList<int> getSelectedSections();
   QList< QPair< int, int > > getSelectedPoints();
 
+  void  removeSelected();
+  bool  removeEnabled();
+
 signals:
   void selectionChanged();
   void subOperationStarted( QWidget* );
@@ -101,6 +115,11 @@ protected slots:
   void     onMousePress( SUIT_ViewWindow*, QMouseEvent* theEvent );
   void     onMouseRelease( SUIT_ViewWindow*, QMouseEvent* theEvent );
   void     onMouseMove( SUIT_ViewWindow*, QMouseEvent* theEvent );
+  void     onLastViewClosed( SUIT_ViewManager* theManager );
+
+  void     onMousePress( QMouseEvent* theEvent );
+  void     onMouseRelease( QMouseEvent* theEvent );
+  void     onMouseMove( QMouseEvent* theEvent );
 
   void     onCellChanged( int theRow, int theColumn );
 
@@ -134,6 +153,9 @@ protected:
   typedef std::deque< SectionToPoint > SectionToPointList;
 
 private:
+  OCCViewer_Viewer* getOCCViewer();
+  OCCViewer_ViewWidget* getOCCViewWidget();
+
   QAction* createAction( ActionId theId, const QString& theName, const QPixmap& theImage,
                          const QString& theToolTip, const QKeySequence& theShortcut );
   QAction* getAction(ActionId theId);
@@ -187,6 +209,7 @@ private:
   QTableWidget*               myLocalPointView;
   CurveCreator_NewSectionDlg* myNewSectionEditor;
   OCCViewer_Viewer*           myOCCViewer;
+  OCCViewer_ViewWidget*       myOCCViewWidget;
   int                         mySection;
   int                         myPointNum;
   bool                        myDragStarted;