X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_SetColorOp.cxx;h=732635279f5e216e9a4f47c4645587ef7622f54b;hb=d037276948abd700ed330e4d43e223c68421ce46;hp=511f56b8bb289c6ea208ffc1ad6cc2522580529e;hpb=2d99821157e770385d7af917b2d22d6aa3cacb7e;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_SetColorOp.cxx b/src/HYDROGUI/HYDROGUI_SetColorOp.cxx index 511f56b8..73263527 100644 --- a/src/HYDROGUI/HYDROGUI_SetColorOp.cxx +++ b/src/HYDROGUI/HYDROGUI_SetColorOp.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 @@ -25,11 +21,12 @@ #include "HYDROGUI_ColorDlg.h" #include "HYDROGUI_DataModel.h" #include "HYDROGUI_Module.h" -#include "HYDROGUI_Tool.h" +#include "HYDROGUI_Tool2.h" #include "HYDROGUI_UpdateFlags.h" #include #include +#include #include #include @@ -47,13 +44,17 @@ HYDROGUI_SetColorOp::~HYDROGUI_SetColorOp() { } -bool HYDROGUI_SetColorOp::CanObjectBeColored( const Handle(HYDROData_Entity)& theObject ) +bool HYDROGUI_SetColorOp::CanObjectBeColored( const Handle(HYDROData_Entity)& theObject, + HYDROGUI_Module* theModule ) { if ( theObject.IsNull() ) return false; - return theObject->IsKind( STANDARD_TYPE(HYDROData_Object) ) || - theObject->IsKind( STANDARD_TYPE(HYDROData_IPolyline) ); + bool isCanBeColored = + theObject->IsKind( STANDARD_TYPE(HYDROData_Object) ) || + theObject->IsKind( STANDARD_TYPE(HYDROData_IPolyline) ); + + return isCanBeColored; } void HYDROGUI_SetColorOp::startOperation() @@ -63,7 +64,7 @@ void HYDROGUI_SetColorOp::startOperation() // Get the selected object //myEditedObject = Handle(HYDROData_Object)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) ); myEditedObject = HYDROGUI_Tool::GetSelectedObject( module() ); - if ( !CanObjectBeColored( myEditedObject ) ) + if ( !CanObjectBeColored( myEditedObject, module() ) ) { abort(); return; @@ -99,6 +100,16 @@ void HYDROGUI_SetColorOp::startOperation() anIsOneColor = true; } + else if ( myEditedObject->IsKind( STANDARD_TYPE(HYDROData_LandCoverMap) ) ) + { + Handle(HYDROData_LandCoverMap) aLandCoverMap = + Handle(HYDROData_LandCoverMap)::DownCast( myEditedObject ); + + /* TODO + aFirstColor = aLandCoverMap->GetFillingColor(); + aSecondColor = aLandCoverMap->GetBorderColor(); + */ + } // Create color dialog myColorDlg = new HYDROGUI_ColorDlg( module()->getApp()->desktop(), anIsOneColor ); @@ -118,7 +129,8 @@ void HYDROGUI_SetColorOp::startOperation() } bool HYDROGUI_SetColorOp::processApply( int& theUpdateFlags, - QString& theErrorMsg ) + QString& theErrorMsg, + QStringList& theBrowseObjectsEntries ) { if ( !myColorDlg || myEditedObject.IsNull() ) return false; @@ -149,8 +161,20 @@ bool HYDROGUI_SetColorOp::processApply( int& theUpdateFlags, aPolyObject->SetWireColor( aFirstColor ); } + else if ( myEditedObject->IsKind( STANDARD_TYPE(HYDROData_LandCoverMap) ) ) + { + Handle(HYDROData_LandCoverMap) aLandCoverMap = + Handle(HYDROData_LandCoverMap)::DownCast( myEditedObject ); + + /* TODO + aLandCoverMap->SetFillingColor( aFirstColor ); + aLandCoverMap->SetBorderColor( aSecondColor ); + */ + } + + module()->setIsToUpdate( myEditedObject ); - theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced; + theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced | UF_VTKViewer; return true; }