return anAction;
}
-void CurveCreator_Widget::setActionMode( const ActionMode& theMode )
-{
- ActionMode aPrevMode = getActionMode();
- QAction* aPrevAction = getAction( aPrevMode );
- switch ( theMode ) {
- case NoneMode: {
- if ( aPrevAction ) {
- if ( aPrevAction->isChecked() )
- aPrevAction->setChecked( false );
- }
- if ( aPrevMode == ModificationMode )
- onModificationMode( false );
- if ( aPrevMode == AdditionMode )
- onAdditionMode( false );
- }
- break;
- case AdditionMode: {
- // TODO
- }
- break;
- case ModificationMode:
- {
- //TODO
- }
- break;
- case DetectionMode:
- break;
- }
-}
-
-CurveCreator_Widget::ActionMode CurveCreator_Widget::getActionMode() const
-{
- ActionMode aMode = NoneMode;
-
- if ( myActionMap[ADDITION_MODE_ID]->isChecked() )
- aMode = AdditionMode;
- else if ( myActionMap[MODIFICATION_MODE_ID]->isChecked() )
- aMode = ModificationMode;
- else if ( myActionMap[DETECTION_MODE_ID]->isChecked() )
- aMode = DetectionMode;
-
- return aMode;
-}
-
void CurveCreator_Widget::onEditSection( int theSection )
{
if( !myCurve )
return mySectionView->getSelectedSections();
}
+void CurveCreator_Widget::setSelectedSections( const QList<int>& theSections )
+{
+ mySectionView->setSelectedSections( theSections );
+ updateActionsStates();
+ updateUndoRedo();
+}
+
/**
* According to the widget state, performs the remove action
*/
return isEnabled;
}
+void CurveCreator_Widget::setActionMode( const ActionMode& theMode )
+{
+ ActionMode aPrevMode = getActionMode();
+ QAction* aPrevAction = getAction( aPrevMode );
+ QAction* anAction = getAction( theMode );
+ switch ( theMode ) {
+ case NoneMode:
+ case AdditionMode: {
+ if ( aPrevAction ) {
+ if ( aPrevAction->isChecked() ) {
+ aPrevAction->setChecked( false );
+ }
+ }
+ if ( aPrevMode == ModificationMode )
+ onModificationMode( false );
+ if ( aPrevMode == AdditionMode )
+ onAdditionMode( false );
+
+ if ( theMode == AdditionMode )
+ {
+ anAction->setChecked( true );
+ onModeChanged( true );
+ }
+ }
+ break;
+ break;
+ case ModificationMode:
+ {
+ //TODO
+ }
+ break;
+ case DetectionMode:
+ break;
+ }
+}
+
+CurveCreator_Widget::ActionMode CurveCreator_Widget::getActionMode() const
+{
+ ActionMode aMode = NoneMode;
+
+ if ( myActionMap[ADDITION_MODE_ID]->isChecked() )
+ aMode = AdditionMode;
+ else if ( myActionMap[MODIFICATION_MODE_ID]->isChecked() )
+ aMode = ModificationMode;
+ else if ( myActionMap[DETECTION_MODE_ID]->isChecked() )
+ aMode = DetectionMode;
+
+ return aMode;
+}
//=================================================================================
// function : GeometryGUI::addCoordsByClick()
DisableClosedSection = 0x00000004
};
+ enum ActionMode {
+ NoneMode,
+ AdditionMode,
+ ModificationMode,
+ DetectionMode
+ };
+
public:
explicit CurveCreator_Widget( QWidget* parent,
CurveCreator_ICurve *theCurve,
void setCurve( CurveCreator_ICurve* theCurve );
QList<int> getSelectedSections();
+ void setSelectedSections( const QList<int>& theSections );
void removeSelected();
bool removeEnabled();
+ void setActionMode( const ActionMode& theMode );
+ ActionMode getActionMode() const;
+
signals:
void selectionChanged();
void subOperationStarted( QWidget*, bool );
DETECTION_MODE_ID
};
- enum ActionMode {
- NoneMode,
- AdditionMode,
- ModificationMode,
- DetectionMode
- };
-
private:
OCCViewer_Viewer* getOCCViewer();
QAction* getAction(ActionId theId);
QAction* getAction(ActionMode theMode);
- void setActionMode( const ActionMode& theMode );
- ActionMode getActionMode() const;
-
void updateActionsStates();
void updateUndoRedo();
void HYDROGUI_ProfileDlg::reset()
{
myEditorWidget->reset();
+ myEditorWidget->setActionMode( CurveCreator_Widget::AdditionMode );
}
Handle(AIS_InteractiveContext) HYDROGUI_ProfileDlg::getAISContext()
void HYDROGUI_ProfileDlg::setProfile( CurveCreator_ICurve* theProfile )
{
myEditorWidget->setCurve( theProfile );
+
+ // select the single section by default
+ QList<int> aSections;
+ aSections << 0;
+ myEditorWidget->setSelectedSections( aSections );
}
QList<int> HYDROGUI_ProfileDlg::getSelectedSections()