X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_ChannelOp.cxx;h=2f7074aee2ba45c64ee628fa4ef485adf99c79b6;hb=a1431f03eac1d1aed4203d0568d987c41ce939b3;hp=720a3648c77bb48600e56283612c05a5897ce525;hpb=06a6e19d03f1d202e3a58042fdf1abc1000b7c2c;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_ChannelOp.cxx b/src/HYDROGUI/HYDROGUI_ChannelOp.cxx index 720a3648..2f7074ae 100644 --- a/src/HYDROGUI/HYDROGUI_ChannelOp.cxx +++ b/src/HYDROGUI/HYDROGUI_ChannelOp.cxx @@ -68,10 +68,7 @@ void HYDROGUI_ChannelOp::startOperation() aPanel->reset(); - if( myIsEdit ) - myEditedObject = Handle(HYDROData_Channel)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) ); - else - myEditedObject = Handle(HYDROData_Channel)::DownCast( doc()->CreateObject( KIND_CHANNEL ) ); + myEditedObject = getObjectToEdit(); QString aSelectedGuideLine, aSelectedProfile; @@ -108,9 +105,11 @@ void HYDROGUI_ChannelOp::startOperation() onCreatePreview( true ); } + void HYDROGUI_ChannelOp::abortOperation() { erasePreview(); + abortDocOperation(); HYDROGUI_Operation::abortOperation(); } @@ -130,7 +129,7 @@ HYDROGUI_InputPanel* HYDROGUI_ChannelOp::createInputPanel() const } bool HYDROGUI_ChannelOp::processApply( int& theUpdateFlags, - QString& theErrorMsg ) + QString& theErrorMsg ) { HYDROGUI_ChannelDlg* aPanel = ::qobject_cast( inputPanel() ); if ( !aPanel ) @@ -159,7 +158,8 @@ bool HYDROGUI_ChannelOp::processApply( int& theUpdateFlags, myEditedObject->SetName( anObjectName ); - if ( !myIsEdit ) { + if ( !myIsEdit ) + { myEditedObject->SetFillingColor( HYDROData_Channel::DefaultFillingColor() ); myEditedObject->SetBorderColor( HYDROData_Channel::DefaultBorderColor() ); } @@ -169,11 +169,19 @@ bool HYDROGUI_ChannelOp::processApply( int& theUpdateFlags, if( !myIsEdit ) module()->setObjectVisible( HYDROGUI_Tool::GetActiveOCCViewId( module() ), myEditedObject, true ); - theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced; + module()->setIsToUpdate( myEditedObject ); + + theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced | UF_VTKViewer; return true; } +Handle(HYDROData_Channel) HYDROGUI_ChannelOp::getObjectToEdit() const +{ + return myIsEdit ? Handle(HYDROData_Channel)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) ) : + Handle(HYDROData_Channel)::DownCast( doc()->CreateObject( KIND_CHANNEL ) ); +} + void HYDROGUI_ChannelOp::onCreatePreview( const bool theIsInit ) { HYDROGUI_ChannelDlg* aPanel = ::qobject_cast( inputPanel() );