X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_SetColorOp.cxx;h=732635279f5e216e9a4f47c4645587ef7622f54b;hb=d37ac478f4055b8698aa200b8878af2cb6af5e45;hp=f09f4d2add71ff666914ee12a5e3ada00e21c25b;hpb=474c2cd65280d793f1c81ca528bc92e1cff988e6;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_SetColorOp.cxx b/src/HYDROGUI/HYDROGUI_SetColorOp.cxx index f09f4d2a..73263527 100644 --- a/src/HYDROGUI/HYDROGUI_SetColorOp.cxx +++ b/src/HYDROGUI/HYDROGUI_SetColorOp.cxx @@ -1,8 +1,4 @@ -// 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 @@ -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 ); @@ -150,6 +161,16 @@ 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 );