X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_GeoreferencementDlg.h;h=b623c44bf584548539940bcf6cb1520262f89977;hb=cd6ea20d9a76665a24a533d0340385a335961f05;hp=a2a1c0bd5e16a7179edd27b99c252be30bb407a3;hpb=76b254e749b5fcb49f860cbdaa69e7bdd239a587;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.h b/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.h index a2a1c0bd..b623c44b 100644 --- a/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.h +++ b/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// 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 @@ -6,7 +6,7 @@ // 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 @@ -20,19 +20,25 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + #ifndef HYDROGUI_GEOREFERENCEMENT_H #define HYDROGUI_GEOREFERENCEMENT_H #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,15 +49,24 @@ public: double Xd; double Yd; - bool isValid; + bool isIncomplete, isEmpty; + + QString Name; - ProfileGeoData() : - isValid( false ) {} + ProfileGeoData( const QString& theName ) : + Name( theName ), isEmpty( true ), isIncomplete( false ) {} - ProfileGeoData( double theXg, double theYg, double theXd, double theYd ) : - Xg( theXg ), Yg( theYg ), Xd( theXd ), Yd( theYd ), isValid( true ) {} + ProfileGeoData( const QString& theName, + const QString& theXg, const QString& theYg, + const QString& theXd, const QString& theYd ); + + ProfileGeoData( const QString& theName, + double theXg, double theYg, + double theXd, double theYd ) + : Name( theName ), Xg( theXg ), Yg( theYg ), Xd( theXd ), Yd( theYd ), + isIncomplete(false), isEmpty(false) {} }; - typedef QMap< QString, ProfileGeoData > ProfilesGeoDataMap; + typedef QList ProfilesGeoDataList; public: HYDROGUI_GeoreferencementDlg( HYDROGUI_Module* theModule, const QString& theTitle ); @@ -61,19 +76,28 @@ public: void setMode( const int theMode ); - void setData( const ProfilesGeoDataMap& theMap ); - void getData( ProfilesGeoDataMap& theMap ); + void setData( const ProfilesGeoDataList& theData ); + void getData( ProfilesGeoDataList& theData ) const; + + 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