X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROCurveCreator%2FCurveCreator_Widget.h;h=cba56e0e018ae26fcc051f755283032ed345f5be;hb=65c66988575cb4fc8de7d838cde08b4731a6e54b;hp=fcb6cc34cd7bf8cfa6dd13b49ee591a0775bd899;hpb=bc94f7ba1f12d74aee550ceae01684f1438bd8ac;p=modules%2Fhydro.git diff --git a/src/HYDROCurveCreator/CurveCreator_Widget.h b/src/HYDROCurveCreator/CurveCreator_Widget.h index fcb6cc34..cba56e0e 100644 --- a/src/HYDROCurveCreator/CurveCreator_Widget.h +++ b/src/HYDROCurveCreator/CurveCreator_Widget.h @@ -51,10 +51,20 @@ 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, - Qt::WindowFlags fl=0 ); + const int theActionFlags = NoFlags, + Qt::WindowFlags fl=0, + int theLocalPointRowLimit = 20); // OCC viewer manipulation void setOCCViewer( OCCViewer_Viewer* theViewer ); @@ -62,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 ); @@ -87,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(); @@ -104,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 ); @@ -117,6 +124,9 @@ protected slots: void onCellChanged( int theRow, int theColumn ); +protected: + void addCoordsByClick( QMouseEvent* ); + protected: enum ActionId{ UNDO_ID, REDO_ID, @@ -156,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 ); @@ -164,10 +175,8 @@ private: void setDragStarted( const bool theState, const QPoint& thePoint = QPoint() ); - void getSelectedPonts( CurveCreator_ICurve::SectionToPointList& thePoints ); - bool isIntersectVertexToPoint( const TopoDS_Vertex& theVertex, - const CurveCreator_ICurve::SectionToPoint& theSToPoint ); - void setSelectedPonts( const CurveCreator_ICurve::SectionToPointList& = + void getSelectedPoints( CurveCreator_ICurve::SectionToPointList& thePoints ); + void setSelectedPoints( const CurveCreator_ICurve::SectionToPointList& = CurveCreator_ICurve::SectionToPointList() ); void startCurveModification( CurveCreator_ICurve::SectionToPointList& thePoints, @@ -190,8 +199,10 @@ private: CurveCreator_ICurve* myCurve; CurveCreator_TreeView* mySectionView; CurveCreator_TableView* myLocalPointView; + CurveCreator_ICurve::SectionToPointList myLocalPoints; CurveCreator_NewSectionDlg* myNewSectionEditor; OCCViewer_Viewer* myOCCViewer; + int myLocalPointRowLimit; int mySection; int myPointNum; bool myDragStarted;