-// Copyright (C) 2007-2013 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
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
#include "HYDROGUI_Shape.h"
#include "HYDROGUI_StreamDlg.h"
#include "HYDROGUI_Tool.h"
+#include "HYDROGUI_Tool2.h"
#include "HYDROGUI_UpdateFlags.h"
#include <HYDROData_Document.h>
{
HYDROGUI_Operation::startOperation();
- myEditedObject.Nullify();
+ if ( !myIsEdit || isApplyAndClose() )
+ myEditedObject.Nullify();
myHydAxis.clear();
myProfiles.clear();
myProfileParams.clear();
QString anObjectName = HYDROGUI_Tool::GenerateObjectName( module(), tr( "DEFAULT_STREAM_NAME" ) );
if ( myIsEdit )
{
- myEditedObject =
- Handle(HYDROData_Stream)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
+ if ( isApplyAndClose() )
+ myEditedObject =
+ Handle(HYDROData_Stream)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) );
if ( !myEditedObject.IsNull() )
{
anObjectName = myEditedObject->GetName();
myEditedObject->SetHydraulicAxis( aHydAxis );
myEditedObject->SetProfiles( aRefProfiles, false );
- if ( myEditedObject->IsMustBeUpdated() )
+ if ( myEditedObject->IsMustBeUpdated( HYDROData_Entity::Geom_2d ) )
myEditedObject->Update();
if ( !myIsEdit )
{
- myEditedObject->SetFillingColor( HYDROData_Stream::DefaultFillingColor() );
- myEditedObject->SetBorderColor( HYDROData_Stream::DefaultBorderColor() );
+ myEditedObject->SetFillingColor( myEditedObject->DefaultFillingColor() );
+ myEditedObject->SetBorderColor( myEditedObject->DefaultBorderColor() );
}
// Erase preview
{
myPreviewPrs = new HYDROGUI_Shape( aCtx, NULL, getPreviewZLayer() );
- QColor aFillingColor = HYDROData_Stream::DefaultFillingColor();
- QColor aBorderColor = HYDROData_Stream::DefaultBorderColor();
+ QColor aFillingColor = Qt::green;
+ QColor aBorderColor = Qt::transparent;
if ( !myEditedObject.IsNull() )
{
aFillingColor = myEditedObject->GetFillingColor();
void HYDROGUI_StreamOp::onRemoveProfiles( const QStringList& theProfilesToRemove )
{
QStringList aToRemove = theProfilesToRemove;
-
- // Take the Object Browser selection into account
- HYDROData_SequenceOfObjects aSelectedObjects = HYDROGUI_Tool::GetSelectedObjects( module() );
- for( int i = 1, n = aSelectedObjects.Length(); i <= n; i++ )
- {
- Handle(HYDROData_Profile) aProfile =
- Handle(HYDROData_Profile)::DownCast( aSelectedObjects.Value( i ) );
- if ( aProfile.IsNull() )
- continue;
-
- QString aProfileName = aProfile->GetName();
- aToRemove.append( aProfileName );
- }
-
+
aToRemove.removeDuplicates();
if ( aToRemove.isEmpty() )
return;