Salome HOME
refs #568: use ordered list view with selection synchronized with object browser...
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ImportImageDlg.h
index 12c550f935f8feccecfa71f74379aad8c63f2b7e..2adcb89592d532a9bb874e9e6b2da8494969c923 100644 (file)
@@ -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
@@ -42,6 +38,8 @@ class QCheckBox;
 
 class QtxDoubleSpinBox;
 class QtxIntSpinBox;
+class QAbstractSpinBox;
+class QToolButton;
 
 class HYDROGUI_ImportImageDlg : public HYDROGUI_InputPanel
 {
@@ -86,6 +84,8 @@ public:
   QString                    getRefImageName() const;
 
   QString                    getFileName() const;
+  void                       setFileName( const QString& theName );
+  QString                    getGeoreferencementFileName() const;
 
   void                       setImageSize( const QSize& theSize,
                                            const bool theIsRefImage = false );
@@ -106,6 +106,8 @@ public:
 
   void                       initializePointSelection();
 
+  void                       ActivateFile( const QString& theFileName, bool isEnableFilesChoice );
+
 public:
 
   static TransformationData  ComputeTrsfData( const int      theMode,
@@ -114,6 +116,7 @@ public:
 
 protected slots:
   void                       onBrowse();
+  void                       onGeoBrowse();
   void                       onModeActivated( int );
   void                       onRefImageActivated( const QString& );
   void                       onPointBtnToggled( bool );
@@ -127,8 +130,10 @@ protected slots:
   void                       onCartesianCoordChanged( const int thePointType );
 
 private:
-  void                       blockSignalsGeodesic( const bool theState );
-  void                       blockSignalsCartesian( const bool theState );
+  void                       clearSpins( QAbstractSpinBox* theSpin );
+  bool                       blockSignalsPoints( const bool theState );
+  bool                       blockSignalsGeodesic( const bool theState );
+  bool                       blockSignalsCartesian( const bool theState );
 
 signals:
   void                       createPreview( QImage );
@@ -140,10 +145,12 @@ signals:
   void                       modeActivated( int );
   void                       refImageActivated( const QString& );
   void                       setCIsUsed( bool theIsByTwoPoints );
+  void                       filesSelected( const QStringList& );
 
 private:
   QGroupBox*                   myFileNameGroup;    //!< The group for the source image file selection
   QLineEdit*                   myFileName;         //!< Source image file name input field
+  QToolButton*                 myBrowseBtn;
 
   QGroupBox*                   myImageNameGroup;   //!< The group for the image name input field
   QLineEdit*                   myImageName;        //!< The image name input field
@@ -153,6 +160,8 @@ private:
   QButtonGroup*                myModeGroup;        //!< The group for the input mode selector
   QComboBox*                   myRefImage;         //!< Reference image selector
 
+  QLineEdit*                   myGeoFileName;      //!< Image georeferencement file name input field
+
   QList<QLabel*>               myGeodesicLabels;   //!< Labels for geodesic coords input fields
 
   QMap<int, QPushButton*>      myPointBtnMap;      //!< A,B,C points selection modes activators