X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_TwoImagesDlg.cxx;h=6813eb863e5cef73514d966b485555e013cb6f3c;hb=91509fc95d80a88365f84eb941df6139d8a87dde;hp=1ba4a66897f3d1fd30992ee7251faaa36805bd3e;hpb=d84fadb6fba0d9ef3926995eab878175cc24e291;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_TwoImagesDlg.cxx b/src/HYDROGUI/HYDROGUI_TwoImagesDlg.cxx index 1ba4a668..6813eb86 100644 --- a/src/HYDROGUI/HYDROGUI_TwoImagesDlg.cxx +++ b/src/HYDROGUI/HYDROGUI_TwoImagesDlg.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 @@ -34,7 +30,7 @@ HYDROGUI_TwoImagesDlg::HYDROGUI_TwoImagesDlg( HYDROGUI_Module* theModule, const QString& theTitle ) : HYDROGUI_InputPanel( theModule, theTitle ), - myMode( TwoImages ), + myMode( TwoFuseImage ), myIsEdit( false ) { // Image name @@ -62,16 +58,17 @@ HYDROGUI_TwoImagesDlg::HYDROGUI_TwoImagesDlg( HYDROGUI_Module* theModule, const myImage2 = new HYDROGUI_ObjSelector( theModule, KIND_IMAGE, aParamGroup ); myPolylineLabel = new QLabel( tr( "POLYLINE" ), aParamGroup ); - myPolyline = new HYDROGUI_ObjSelector( theModule, KIND_POLYLINEXY, aParamGroup ); + myPolyline = new HYDROGUI_ObjSelector( theModule, KIND_POLYLINEXY, aParamGroup, + HYDROGUI_ObjSelector::ClosedPolyline); - QFrame* aBackgroundFrame = new QFrame( aParamGroup ); - QLabel* aBackgroundLabel = new QLabel( tr( "BACKGROUND" ), aBackgroundFrame ); - myTransparent = new QRadioButton( tr( "TRANSPARENT" ), aBackgroundFrame ); + myBackgroundFrame = new QFrame( aParamGroup ); + QLabel* aBackgroundLabel = new QLabel( tr( "BACKGROUND" ), myBackgroundFrame ); + myTransparent = new QRadioButton( tr( "TRANSPARENT" ), myBackgroundFrame ); myTransparent->setChecked( true ); - myColor = new QRadioButton( tr( "COLOR" ), aBackgroundFrame ); - myColorBox = new HYDROGUI_ColorWidget( aBackgroundFrame ); + myColor = new QRadioButton( tr( "COLOR" ), myBackgroundFrame ); + myColorBox = new HYDROGUI_ColorWidget( myBackgroundFrame ); - QGridLayout* aBackgroundLayout = new QGridLayout( aBackgroundFrame ); + QGridLayout* aBackgroundLayout = new QGridLayout( myBackgroundFrame ); aBackgroundLayout->setMargin( 0 ); aBackgroundLayout->setSpacing( 5 ); aBackgroundLayout->addWidget( aBackgroundLabel, 0, 0, 2, 1 ); @@ -88,7 +85,7 @@ HYDROGUI_TwoImagesDlg::HYDROGUI_TwoImagesDlg( HYDROGUI_Module* theModule, const aParamLayout->addWidget( myImage2, 1, 1 ); aParamLayout->addWidget( myPolylineLabel, 1, 0 ); aParamLayout->addWidget( myPolyline, 1, 1 ); - aParamLayout->addWidget( aBackgroundFrame, 2, 0, 1, 2 ); + aParamLayout->addWidget( myBackgroundFrame, 2, 0, 1, 2 ); // Common addWidget( anImageNameGroup ); @@ -97,6 +94,12 @@ HYDROGUI_TwoImagesDlg::HYDROGUI_TwoImagesDlg( HYDROGUI_Module* theModule, const connect( myModifySelectedImage, SIGNAL( toggled( bool ) ), this, SLOT( onModifySelectedImage( bool ) ) ); + connect( myTransparent, SIGNAL( toggled( bool ) ), + myColorBox, SLOT( setDisabled( bool ) ) ); + connect( myImage1, SIGNAL( alreadySelected( const QString& ) ), + this, SIGNAL( alreadySelected( const QString& ) ) ); + connect( myImage2, SIGNAL( alreadySelected( const QString& ) ), + this, SIGNAL( alreadySelected( const QString& ) ) ); setMode( myMode, myIsEdit ); } @@ -114,6 +117,7 @@ void HYDROGUI_TwoImagesDlg::reset() myPolyline->Clear(); myTransparent->setChecked( true ); myColorBox->resetColor(); + myColorBox->setDisabled( true ); } void HYDROGUI_TwoImagesDlg::setMode( const int theMode, const bool theIsEdit ) @@ -121,7 +125,9 @@ void HYDROGUI_TwoImagesDlg::setMode( const int theMode, const bool theIsEdit ) myMode = theMode; myIsEdit = theIsEdit; - bool anIsTwoImages = myMode == TwoImages; + bool anIsTwoImages = isTwoImagesMode(); + + myBackgroundFrame->setVisible( theMode != TwoCutImage ); myModifySelectedImage->setVisible( !anIsTwoImages && !myIsEdit ); @@ -152,7 +158,7 @@ void HYDROGUI_TwoImagesDlg::setSelectedObjects( const QString& theName1, const QString& theName2 ) { myImage1->SetName( theName1 ); - if( myMode == TwoImages ) + if( isTwoImagesMode() ) myImage2->SetName( theName2 ); else myPolyline->SetName( theName2 ); @@ -162,7 +168,7 @@ bool HYDROGUI_TwoImagesDlg::getSelectedObjects( QString& theName1, QString& theName2 ) const { theName1 = myImage1->GetName(); - if( myMode == TwoImages ) + if( isTwoImagesMode() ) theName2 = myImage2->GetName(); else theName2 = myPolyline->GetName(); @@ -173,18 +179,21 @@ void HYDROGUI_TwoImagesDlg::setPreselectedObject( const QString& theName ) { myImage1->SetName( theName ); - HYDROGUI_ObjSelector* aSelector = myMode == TwoImages ? myImage2 : myPolyline; + HYDROGUI_ObjSelector* aSelector = isTwoImagesMode() ? myImage2 : myPolyline; aSelector->SetChecked( true ); aSelector->SetName( QString() ); } void HYDROGUI_TwoImagesDlg::setColor( const QColor& theColor ) { - if( theColor.alpha() == 0 ) // transparent + if( theColor.alpha() == 0 ) { // transparent myTransparent->setChecked( true ); - else + myColorBox->resetColor(); + } + else { myColor->setChecked( true ); - myColorBox->setColor( theColor ); + myColorBox->setColor( theColor ); + } } QColor HYDROGUI_TwoImagesDlg::getColor() const @@ -199,3 +208,8 @@ void HYDROGUI_TwoImagesDlg::onModifySelectedImage( bool theState ) { myImageName->setEnabled( !theState ); } + +bool HYDROGUI_TwoImagesDlg::isTwoImagesMode() const +{ + return myMode == TwoFuseImage || myMode == TwoCutImage; +}