Salome HOME
Fix for the bug #45: check and warning when the same image is used in 2 arguments.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_GeoreferencementDlg.h
index a2a1c0bd5e16a7179edd27b99c252be30bb407a3..1d2a72a05d85844e2494c3050638799017934595 100644 (file)
 
 #include "HYDROGUI_InputPanel.h"
 
+class SUIT_ViewWindow;
+
 class QGroupBox;
 class QButtonGroup;
 class QTableWidget;
+class QPushButton;
 
 class HYDROGUI_GeoreferencementDlg : public HYDROGUI_InputPanel
 {
   Q_OBJECT
 
+  class Delegate;
+
 public:
   enum ProfilesMode { AllProfiles, SelectedProfiles };
 
@@ -43,13 +48,18 @@ public:
     double Xd;
     double Yd;
 
-    bool isValid;
+    bool isIncomplete, isEmpty;
 
     ProfileGeoData() :
-      isValid( false ) {}
+      isEmpty( true ), isIncomplete( false ) {}
+
+    ProfileGeoData( const QString& theXg, const QString& theYg, 
+                    const QString& theXd, const QString& theYd );
 
-    ProfileGeoData( double theXg, double theYg, double theXd, double theYd ) :
-      Xg( theXg ), Yg( theYg ), Xd( theXd ), Yd( theYd ), isValid( true ) {}
+    ProfileGeoData( double theXg, double theYg, 
+                    double theXd, double theYd )
+      : Xg( theXg ), Yg( theYg ), Xd( theXd ), Yd( theYd ),
+      isIncomplete(false), isEmpty(false) {}
   };
   typedef QMap< QString, ProfileGeoData > ProfilesGeoDataMap;
 
@@ -64,16 +74,25 @@ public:
   void                       setData( const ProfilesGeoDataMap& theMap );
   void                       getData( ProfilesGeoDataMap& theMap );
 
+  bool                       isModified() const;
+
+public slots:
+  void                       onMousePress( SUIT_ViewWindow*, QMouseEvent* );
+
 protected slots:
   void                       onModeActivated( int );
-  void                       onProfilesSelectionChanged();
+  void                       onDataChanged();
 
 signals:
   void                       modeActivated( int );
+  void                       updateSelection();
 
 private:
   QButtonGroup* myModeButtons;
+  QPushButton* myUpdateSelBtn;
   QTableWidget* myTable;
+
+  bool myIsModified;
 };
 
 #endif