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);
Handle(AIS_InteractiveContext) getAISContext();
OCCViewer_ViewPort3d* getViewPort();
int changeInteractionStyle( int theStyle );
- void setObjectsSelected(const AIS_ListOfInteractive& theList);
void reset();
void setCurve( CurveCreator_ICurve* theCurve );
void onModeChanged(bool checked);
void onNewSection();
void onSelectionChanged();
- void onAddNewPoint(const CurveCreator::Coordinates& theCoords);
void onAddNewSection();
void onEditSection( int theSection );
void onModifySection();
void onRedo();
void onUndoSettings();
void onContextMenu(QPoint thePoint);
- void onGetCoordsByClick( QMouseEvent* );
void onMousePress( SUIT_ViewWindow*, QMouseEvent* theEvent );
void onMouseRelease( SUIT_ViewWindow*, QMouseEvent* theEvent );
void onCellChanged( int theRow, int theColumn );
+protected:
+ void addCoordsByClick( QMouseEvent* );
+
protected:
enum ActionId{ UNDO_ID,
REDO_ID,
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 );
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 =