X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_TwoImagesDlg.h;h=92e1799d1540d112d2d88b2b3bb8d4fe1d72abe8;hb=81c9f5cdf82909d0aebd2c491c50fa7516cc80b7;hp=0bd57bc5d34bfe9ca3f3cfb4d47428b7242a4c14;hpb=c66fbd26a75a044039dc2b2f8dea2249582deabc;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_TwoImagesDlg.h b/src/HYDROGUI/HYDROGUI_TwoImagesDlg.h index 0bd57bc5..92e1799d 100644 --- a/src/HYDROGUI/HYDROGUI_TwoImagesDlg.h +++ b/src/HYDROGUI/HYDROGUI_TwoImagesDlg.h @@ -1,27 +1,105 @@ +// 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 +// +// 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. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// -#ifndef HYDROGUI_TWO_IMAGE_DLG_HEADER -#define HYDROGUI_TWO_IMAGE_DLG_HEADER +#ifndef HYDROGUI_TWOIMAGESDLG_H +#define HYDROGUI_TWOIMAGESDLG_H -#include +#include "HYDROGUI_InputPanel.h" +class QCheckBox; +class QLabel; class QLineEdit; -class HYDROGUI_ObjSelector; class QRadioButton; +class QFrame; + class HYDROGUI_ColorWidget; +class HYDROGUI_ObjSelector; class HYDROGUI_TwoImagesDlg : public HYDROGUI_InputPanel { + Q_OBJECT + +public: + enum Mode { TwoFuseImage = 0, TwoCutImage, ImageAndPolyline }; + public: HYDROGUI_TwoImagesDlg( HYDROGUI_Module* theModule, const QString& theTitle ); virtual ~HYDROGUI_TwoImagesDlg(); - void GetSelectedImages( QString& theEntry1, QString& theEntry2 ) const; + void reset(); + + void setMode( const int theMode, const bool theIsEdit ); + + bool isModifySelected() const; + + void setImageName( const QString& theName ); + QString getImageName() const; + + void setSelectedObjects( const QString& theName1, + const QString& theName2 ); + bool getSelectedObjects( QString& theName1, + QString& theName2 ) const; + + void setPreselectedObject( const QString& theName ); + + void setColor( const QColor& theColor ); + QColor getColor() const; + +signals: + /** Signal is emitted if the name has already been selected + * in other selector of the same parent widget. + * @param theName the selected object name + */ + void alreadySelected( const QString& theName ); + +protected slots: + void onModifySelectedImage( bool theState ); + +private: + /** + * Returns whether the mode is to select two images, that corresponds to cut or fuse mode + */ + bool isTwoImagesMode() const; private: - QLineEdit* myName; - HYDROGUI_ObjSelector *myImage1, *myImage2; - QRadioButton *myTransparent, *myColor; - HYDROGUI_ColorWidget* myColorBox; + int myMode; + bool myIsEdit; + + QLineEdit* myImageName; + QCheckBox* myModifySelectedImage; + + QLabel* myImage1Label; + HYDROGUI_ObjSelector* myImage1; + + QLabel* myImage2Label; + HYDROGUI_ObjSelector* myImage2; + + QLabel* myPolylineLabel; + HYDROGUI_ObjSelector* myPolyline; + + QFrame* myBackgroundFrame; + QRadioButton* myTransparent; + QRadioButton* myColor; + HYDROGUI_ColorWidget* myColorBox; }; #endif