Salome HOME
Bug #183: regression: polyline - unnecessary table in Additition mode.
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Widget.h
index e3ac5af039514bd3cfe7040676abe86229b6a670..cba56e0e018ae26fcc051f755283032ed345f5be 100644 (file)
@@ -51,9 +51,18 @@ class CurveCreator_NewSectionDlg;
 class CURVECREATOR_EXPORT CurveCreator_Widget : public QWidget
 {
   Q_OBJECT
+
+public:
+  enum ActionFlags {
+    NoFlags              = 0x00000000,
+    DisableDetectionMode = 0x00000001,
+    DisableNewSection    = 0x00000002
+  };
+
 public:
   explicit CurveCreator_Widget( QWidget* parent,
                                 CurveCreator_ICurve *theCurve,
+                                const int theActionFlags = NoFlags,
                                 Qt::WindowFlags fl=0,
                                 int theLocalPointRowLimit = 20);
 
@@ -63,7 +72,6 @@ public:
   Handle(AIS_InteractiveContext) getAISContext();
   OCCViewer_ViewPort3d* getViewPort();
   int changeInteractionStyle( int theStyle );
-  void setObjectsSelected(const AIS_ListOfInteractive& theList);
 
   void reset();
   void setCurve( CurveCreator_ICurve* theCurve );
@@ -88,7 +96,6 @@ protected slots:
   void     onModeChanged(bool checked);
   void     onNewSection();
   void     onSelectionChanged();
-  void     onAddNewPoint(const CurveCreator::Coordinates& theCoords);
   void     onAddNewSection();
   void     onEditSection( int theSection );
   void     onModifySection();
@@ -105,7 +112,6 @@ protected slots:
   void     onRedo();
   void     onUndoSettings();
   void     onContextMenu(QPoint thePoint);
-  void     onGetCoordsByClick( QMouseEvent* );
 
   void     onMousePress( SUIT_ViewWindow*, QMouseEvent* theEvent );
   void     onMouseRelease( SUIT_ViewWindow*, QMouseEvent* theEvent );
@@ -118,6 +124,9 @@ protected slots:
 
   void     onCellChanged( int theRow, int theColumn );
 
+protected:
+  void     addCoordsByClick( QMouseEvent* );
+
 protected:
   enum ActionId{ UNDO_ID, 
                  REDO_ID, 
@@ -157,6 +166,7 @@ private:
 
   void removeSection();
   void removePoint();
+  void addNewPoint(const CurveCreator::Coordinates& theCoords);
   void insertPointToSelectedSegment( const int theXPosition,
                                      const int theYPosition );
   void moveSelectedPoints( const int theXPosition, const int theYPosition );
@@ -166,8 +176,6 @@ private:
   void setDragStarted( const bool theState, const QPoint& thePoint = QPoint() );
 
   void getSelectedPoints( CurveCreator_ICurve::SectionToPointList& thePoints );
-  bool isIntersectVertexToPoint( const TopoDS_Vertex& theVertex,
-                               const CurveCreator_ICurve::SectionToPoint& theSToPoint );
   void setSelectedPoints( const CurveCreator_ICurve::SectionToPointList& =
                                CurveCreator_ICurve::SectionToPointList() );