-// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
-//
-// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
+// Copyright (C) 2014-2015 EDF-R&D
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
#include <HYDROGUI_Module.h>
#include <HYDROGUI_ProfileOp.h>
#include <HYDROGUI_ProfileDlg.h>
-#include <HYDROGUI_Tool.h>
+#include <HYDROGUI_Tool2.h>
#include <HYDROGUI_UpdateFlags.h>
#include <HYDROGUI_DataObject.h>
#include <HYDROData_Document.h>
#include <HYDROData_Profile.h>
#include <HYDROGUI_CurveCreatorProfile.h>
+#include <HYDROGUI_DeleteOp.h>
#include <CurveCreator_Displayer.hxx>
#include <LightApp_Application.h>
HYDROGUI_ProfileDlg* aPanel = (HYDROGUI_ProfileDlg*)inputPanel();
aPanel->reset();
+ setPreviewManager( aPanel->viewManager() );
+ setCursor();
if( myIsEdit )
- myEditedObject = Handle(HYDROData_Profile)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
+ if ( isApplyAndClose() )
+ myEditedObject = Handle(HYDROData_Profile)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
QString aProfileName;
if( !myEditedObject.IsNull() )
void HYDROGUI_ProfileOp::abortOperation()
{
erasePreview();
+ restoreCursor();
HYDROGUI_Operation::abortOperation();
}
void HYDROGUI_ProfileOp::commitOperation()
{
erasePreview();
+ restoreCursor();
HYDROGUI_Operation::commitOperation();
}
HYDROData_ProfileUZ::PointsList aProfileParamPoints;
- CurveCreator::Coordinates aCurveCoords = myProfile->getPoints( 0 );
- if ( aCurveCoords.size() <= 2 )
+ Handle(TColgp_HArray1OfPnt) aCurveCoords = myProfile->GetDifferentPoints( 0 );
+ if ( aCurveCoords.IsNull() || aCurveCoords->Size() <= 2 )
{
theErrorMsg = tr( "NUMBER_OF_PROFILE_POINTS_INCORRECT" );
return false;
}
- for ( int k = 0 ; k + 1 < aCurveCoords.size() ; k++ )
+ for ( int k = aCurveCoords->Lower(); k <= aCurveCoords->Upper() ; k++ )
{
HYDROData_ProfileUZ::Point aProfileParamPoint;
- aProfileParamPoint.SetX( aCurveCoords.at( k ) );
- k++;
- aProfileParamPoint.SetY( aCurveCoords.at( k ) );
+ aProfileParamPoint.SetX( aCurveCoords->Value( k ).X() );
+ aProfileParamPoint.SetY( aCurveCoords->Value( k ).Y() );
aProfileParamPoints.Append( aProfileParamPoint );
}
if ( !myIsEdit )
{
- aProfileObj->SetBorderColor( HYDROData_Profile::DefaultBorderColor() );
+ aProfileObj->SetBorderColor( aProfileObj->DefaultBorderColor() );
}
// At first we update the child u,z profile object
- aProfileUZ->SetToUpdate( true );
+ aProfileUZ->Changed( HYDROData_Entity::Geom_2d );
aProfileUZ->Update();
// And now we update our edited object
}
}
}
+
+bool HYDROGUI_ProfileOp::isValid( SUIT_Operation* theOtherOp ) const
+{
+ HYDROGUI_DeleteOp* aDelOp = dynamic_cast<HYDROGUI_DeleteOp*>( theOtherOp );
+ if( aDelOp )
+ return true;
+ else
+ return false;
+}