X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_ImportObstacleFromFileOp.cxx;h=5a639978d1e1eb1117568d4c8f829e6949ec5e3f;hb=343c9561e2046ef5cab4368dbac8c30e829b6b56;hp=9735ef8a0261bc08f87e5b03ae3c42ba56e6eb39;hpb=e2376a365faec2bda67784ce385594f90b8c06dd;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_ImportObstacleFromFileOp.cxx b/src/HYDROGUI/HYDROGUI_ImportObstacleFromFileOp.cxx index 9735ef8a..5a639978 100644 --- a/src/HYDROGUI/HYDROGUI_ImportObstacleFromFileOp.cxx +++ b/src/HYDROGUI/HYDROGUI_ImportObstacleFromFileOp.cxx @@ -1,12 +1,8 @@ -// 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 @@ -22,11 +18,12 @@ #include "HYDROGUI_ImportObstacleFromFileOp.h" -#include "HYDROGUI_ObstacleDlg.h" - +#include "HYDROGUI_GeomObjectDlg.h" +#include #include "HYDROGUI_DataModel.h" #include "HYDROGUI_Module.h" #include "HYDROGUI_Tool.h" +#include "HYDROGUI_Tool2.h" #include "HYDROGUI_UpdateFlags.h" #include @@ -61,17 +58,17 @@ void HYDROGUI_ImportObstacleFromFileOp::startOperation() HYDROGUI_Operation::startOperation(); // Get panel - HYDROGUI_ObstacleDlg* aPanel = ::qobject_cast( inputPanel() ); + HYDROGUI_GeomObjectDlg* aPanel = ::qobject_cast( inputPanel() ); if ( aPanel ) { // Reset the panel state aPanel->reset(); // Pass the existing obstacle names to the panel - QStringList anObstacles = + QStringList anObstacleNames = HYDROGUI_Tool::FindExistingObjectsNames( doc(), KIND_OBSTACLE ); - aPanel->setObstacleNames( anObstacles ); + aPanel->setObjectNames( anObstacleNames ); } else { myFileDlg = new SUIT_FileDlg( module()->getApp()->desktop(), true ); myFileDlg->setWindowTitle( getName() ); @@ -98,19 +95,20 @@ void HYDROGUI_ImportObstacleFromFileOp::commitOperation() } bool HYDROGUI_ImportObstacleFromFileOp::processApply( int& theUpdateFlags, - QString& theErrorMsg ) + QString& theErrorMsg, + QStringList& theBrowseObjectsEntries ) { QString aFileName; QString anObstacleName; Handle(HYDROData_Obstacle) anObstacle; // Get panel - HYDROGUI_ObstacleDlg* aPanel = ::qobject_cast( inputPanel() ); + HYDROGUI_GeomObjectDlg* aPanel = ::qobject_cast( inputPanel() ); if ( aPanel ) { // Get file name and obstacle name defined by the user aFileName = aPanel->getFileName(); - QString anEditedName = aPanel->getEditedObstacleName().simplified(); + QString anEditedName = aPanel->getEditedObjectName().simplified(); // Get obstacle to edit if ( !anEditedName.isEmpty() ) { @@ -134,7 +132,7 @@ bool HYDROGUI_ImportObstacleFromFileOp::processApply( int& theUpdateFlags, } // Check obstacle name - anObstacleName = aPanel->getObstacleName().simplified(); + anObstacleName = aPanel->getObjectName().simplified(); if ( anObstacleName.isEmpty() ) { theErrorMsg = tr( "INCORRECT_OBJECT_NAME" ); return false; @@ -155,8 +153,8 @@ bool HYDROGUI_ImportObstacleFromFileOp::processApply( int& theUpdateFlags, if ( anObstacle.IsNull() ) { anObstacle = Handle(HYDROData_Obstacle)::DownCast( doc()->CreateObject(KIND_OBSTACLE) ); - anObstacle->SetFillingColor( HYDROData_Obstacle::DefaultFillingColor() ); - anObstacle->SetBorderColor( HYDROData_Obstacle::DefaultBorderColor() ); + anObstacle->SetFillingColor( anObstacle->DefaultFillingColor() ); + anObstacle->SetBorderColor( anObstacle->DefaultBorderColor() ); } if ( !anObstacle.IsNull() ) { @@ -174,7 +172,12 @@ bool HYDROGUI_ImportObstacleFromFileOp::processApply( int& theUpdateFlags, // Set operation status anIsOk = true; - theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced;; + module()->setIsToUpdate( anObstacle ); + theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced | UF_VTKViewer; + QString anEntry = HYDROGUI_DataObject::dataObjectEntry( anObstacle ); + theBrowseObjectsEntries.append( anEntry ); + + } else { theErrorMsg = tr( "BAD_IMPORTED_OBSTACLE_FILE" ).arg( aFileName ); } @@ -187,7 +190,8 @@ HYDROGUI_InputPanel* HYDROGUI_ImportObstacleFromFileOp::createInputPanel() const { HYDROGUI_InputPanel* aPanel = 0; if ( myIsToShowPanel ) { - aPanel = new HYDROGUI_ObstacleDlg( module(), getName(), true ); + aPanel = new HYDROGUI_GeomObjectDlg( module(), getName(), + tr( "DEFAULT_OBSTACLE_NAME" ), true ); } return aPanel;