X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROCurveCreator%2FCurveCreator_Widget.h;h=7da055ae967a3229301a7ac6fdd0a3425afa9289;hb=c363fc5c3541669e07cf4d991cc1e94253147ac1;hp=e3ac5af039514bd3cfe7040676abe86229b6a670;hpb=5de801b5e40ccbf7761fd4a0f115e117123fb12e;p=modules%2Fhydro.git diff --git a/src/HYDROCurveCreator/CurveCreator_Widget.h b/src/HYDROCurveCreator/CurveCreator_Widget.h index e3ac5af0..7da055ae 100644 --- a/src/HYDROCurveCreator/CurveCreator_Widget.h +++ b/src/HYDROCurveCreator/CurveCreator_Widget.h @@ -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,11 +176,11 @@ 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() ); + void stopModificationMode(); + void startCurveModification( CurveCreator_ICurve::SectionToPointList& thePoints, const bool theFillPoints = true ); void finishCurveModification( const CurveCreator_ICurve::SectionToPointList& thePoints =