From: mkr Date: Thu, 4 Jun 2015 09:18:17 +0000 (+0300) Subject: refs #562: GUI to import/modify Strickler table objects. X-Git-Tag: v1.4.1~6^2~4^2~2 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=703cdef641ec2ac5c64e806e7785e64ac802973f;p=modules%2Fhydro.git refs #562: GUI to import/modify Strickler table objects. --- diff --git a/src/HYDROGUI/CMakeLists.txt b/src/HYDROGUI/CMakeLists.txt index dadac13b..62035c76 100644 --- a/src/HYDROGUI/CMakeLists.txt +++ b/src/HYDROGUI/CMakeLists.txt @@ -70,6 +70,7 @@ set(PROJECT_HEADERS HYDROGUI_ShowHideOp.h HYDROGUI_StreamDlg.h HYDROGUI_StreamOp.h + HYDROGUI_LineEditDoubleValidator.h HYDROGUI_StricklerTableDlg.h HYDROGUI_StricklerTableOp.h HYDROGUI_SubmersibleOp.h @@ -185,6 +186,7 @@ set(PROJECT_SOURCES HYDROGUI_ShowHideOp.cxx HYDROGUI_StreamDlg.cxx HYDROGUI_StreamOp.cxx + HYDROGUI_LineEditDoubleValidator.cxx HYDROGUI_StricklerTableDlg.cxx HYDROGUI_StricklerTableOp.cxx HYDROGUI_SubmersibleOp.cxx diff --git a/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.cxx b/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.cxx index 45b8d55a..8c31879e 100644 --- a/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.cxx +++ b/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.cxx @@ -19,6 +19,7 @@ #include "HYDROGUI_GeoreferencementDlg.h" #include "HYDROGUI_Tool.h" +#include "HYDROGUI_LineEditDoubleValidator.h" #include @@ -29,7 +30,6 @@ #include #include -#include #include #include #include @@ -67,64 +67,6 @@ HYDROGUI_GeoreferencementDlg::ProfileGeoData::ProfileGeoData( } } -//! Custom item delegate (line edit with double validator) -class HYDROGUI_GeoreferencementDlg::Delegate : public QItemDelegate -{ -public: - Delegate( QObject* = 0 ); - - QWidget* createEditor( QWidget*, const QStyleOptionViewItem&, - const QModelIndex& ) const; - - void setEditorData( QWidget*, const QModelIndex& ) const; - void setModelData( QWidget*, QAbstractItemModel*, const QModelIndex& ) const; -}; - -HYDROGUI_GeoreferencementDlg::Delegate::Delegate( QObject* theParent ) - : QItemDelegate( theParent ) -{ -} - -QWidget* HYDROGUI_GeoreferencementDlg::Delegate::createEditor( - QWidget* theParent, const QStyleOptionViewItem& theOption, - const QModelIndex& theIndex ) const -{ - QWidget* anEditor = 0; - - if ( theIndex.column() > 0 ) { - QLineEdit* aLineEdit = new QLineEdit( theParent ); - QDoubleValidator* aDoubleValidator = new QDoubleValidator(); - aDoubleValidator->setNotation( QDoubleValidator::StandardNotation ); - aDoubleValidator->setDecimals( 2 ); - aLineEdit->setValidator( aDoubleValidator ); - anEditor = aLineEdit; - } else { - anEditor = QItemDelegate::createEditor( theParent, theOption, theIndex ); - } - - return anEditor; -} - -void HYDROGUI_GeoreferencementDlg::Delegate::setEditorData( - QWidget* theEditor, const QModelIndex& theIndex ) const -{ - if ( QLineEdit* aLineEdit = dynamic_cast( theEditor ) ) { - aLineEdit->setText( theIndex.data( Qt::EditRole ).toString() ); - } else { - QItemDelegate::setEditorData( theEditor, theIndex ); - } -} - -void HYDROGUI_GeoreferencementDlg::Delegate::setModelData( - QWidget* theEditor, QAbstractItemModel* theModel, const QModelIndex& theIndex) const -{ - if ( QLineEdit* aLineEdit = dynamic_cast( theEditor ) ) { - theModel->setData( theIndex, aLineEdit->text() ); - } else { - QItemDelegate::setModelData( theEditor, theModel, theIndex ); - } -} - HYDROGUI_GeoreferencementDlg::HYDROGUI_GeoreferencementDlg( HYDROGUI_Module* theModule, const QString& theTitle ) : HYDROGUI_InputPanel( theModule, theTitle ), myIsModified( false ) { @@ -153,7 +95,7 @@ HYDROGUI_GeoreferencementDlg::HYDROGUI_GeoreferencementDlg( HYDROGUI_Module* the // Table myTable = new QTableWidget( mainFrame() ); - myTable->setItemDelegate( new Delegate( this ) ); + myTable->setItemDelegate( new HYDROGUI_LineEditDoubleValidator( this ) ); myTable->verticalHeader()->setVisible( false ); myTable->setSelectionBehavior( QAbstractItemView::SelectItems ); myTable->setSelectionMode( QAbstractItemView::SingleSelection ); diff --git a/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.h b/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.h index 028c2e75..6c993ec3 100644 --- a/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.h +++ b/src/HYDROGUI/HYDROGUI_GeoreferencementDlg.h @@ -33,8 +33,6 @@ class HYDROGUI_GeoreferencementDlg : public HYDROGUI_InputPanel { Q_OBJECT - class Delegate; - public: enum ProfilesMode { AllProfiles, SelectedProfiles }; diff --git a/src/HYDROGUI/HYDROGUI_LineEditDoubleValidator.cxx b/src/HYDROGUI/HYDROGUI_LineEditDoubleValidator.cxx new file mode 100644 index 00000000..c932ec15 --- /dev/null +++ b/src/HYDROGUI/HYDROGUI_LineEditDoubleValidator.cxx @@ -0,0 +1,66 @@ +// 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, 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 +// 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 +// + +#include "HYDROGUI_LineEditDoubleValidator.h" + +#include + +HYDROGUI_LineEditDoubleValidator::HYDROGUI_LineEditDoubleValidator( QObject* theParent ) + : QItemDelegate( theParent ) +{ +} + +QWidget* HYDROGUI_LineEditDoubleValidator::createEditor( + QWidget* theParent, const QStyleOptionViewItem& theOption, + const QModelIndex& theIndex ) const +{ + QWidget* anEditor = 0; + + if ( theIndex.column() > 0 ) { + QLineEdit* aLineEdit = new QLineEdit( theParent ); + QDoubleValidator* aDoubleValidator = new QDoubleValidator(); + aDoubleValidator->setNotation( QDoubleValidator::StandardNotation ); + aDoubleValidator->setDecimals( 2 ); + aLineEdit->setValidator( aDoubleValidator ); + anEditor = aLineEdit; + } else { + anEditor = QItemDelegate::createEditor( theParent, theOption, theIndex ); + } + + return anEditor; +} + +void HYDROGUI_LineEditDoubleValidator::setEditorData( + QWidget* theEditor, const QModelIndex& theIndex ) const +{ + if ( QLineEdit* aLineEdit = dynamic_cast( theEditor ) ) { + aLineEdit->setText( theIndex.data( Qt::EditRole ).toString() ); + } else { + QItemDelegate::setEditorData( theEditor, theIndex ); + } +} + +void HYDROGUI_LineEditDoubleValidator::setModelData( + QWidget* theEditor, QAbstractItemModel* theModel, const QModelIndex& theIndex) const +{ + if ( QLineEdit* aLineEdit = dynamic_cast( theEditor ) ) { + theModel->setData( theIndex, aLineEdit->text() ); + } else { + QItemDelegate::setModelData( theEditor, theModel, theIndex ); + } +} diff --git a/src/HYDROGUI/HYDROGUI_LineEditDoubleValidator.h b/src/HYDROGUI/HYDROGUI_LineEditDoubleValidator.h new file mode 100644 index 00000000..bd9c8259 --- /dev/null +++ b/src/HYDROGUI/HYDROGUI_LineEditDoubleValidator.h @@ -0,0 +1,37 @@ +// 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, 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 +// 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_LINEEDITDOUBLEVALIDATOR_H +#define HYDROGUI_LINEEDITDOUBLEVALIDATOR_H + +#include + +//! Custom item delegate (line edit with double validator) +class HYDROGUI_LineEditDoubleValidator : public QItemDelegate +{ +public: + HYDROGUI_LineEditDoubleValidator( QObject* = 0 ); + + QWidget* createEditor( QWidget*, const QStyleOptionViewItem&, + const QModelIndex& ) const; + + void setEditorData( QWidget*, const QModelIndex& ) const; + void setModelData( QWidget*, QAbstractItemModel*, const QModelIndex& ) const; +}; + +#endif diff --git a/src/HYDROGUI/HYDROGUI_StricklerTableDlg.cxx b/src/HYDROGUI/HYDROGUI_StricklerTableDlg.cxx index 1d13f24f..3bcab2d8 100644 --- a/src/HYDROGUI/HYDROGUI_StricklerTableDlg.cxx +++ b/src/HYDROGUI/HYDROGUI_StricklerTableDlg.cxx @@ -17,7 +17,10 @@ // #include "HYDROGUI_StricklerTableDlg.h" + #include "HYDROGUI_Module.h" +#include "HYDROGUI_Tool.h" +#include "HYDROGUI_LineEditDoubleValidator.h" #include @@ -32,6 +35,8 @@ #include #include #include +#include +#include HYDROGUI_StricklerTableDlg::HYDROGUI_StricklerTableDlg( HYDROGUI_Module* theModule, const QString& theTitle ) : HYDROGUI_InputPanel( theModule, theTitle ), myName(NULL) @@ -69,15 +74,66 @@ HYDROGUI_StricklerTableDlg::HYDROGUI_StricklerTableDlg( HYDROGUI_Module* theModu anImageNameLayout->addWidget( myName ); // Strickler table - //... + myTableGroup = new QGroupBox( tr( "STRICKLER_TABLE_TABLE" ), this ); + + // Main layout + QVBoxLayout* aTableLayout = new QVBoxLayout( myTableGroup ); + aTableLayout->setMargin( 5 ); + aTableLayout->setSpacing( 5 ); + + // Buttons + myAddBtn = new QToolButton; + myAddBtn->setText( tr( "ADD" ) ); + myRemoveBtn = new QToolButton; + myRemoveBtn->setText( tr( "REMOVE" ) ); + myClearBtn = new QToolButton; + myClearBtn->setText( tr( "CLEAR_ALL" ) ); + + // Table + myTable = new QTableWidget( mainFrame() ); + myTable->setItemDelegate( new HYDROGUI_LineEditDoubleValidator( this ) ); + myTable->setEditTriggers( QAbstractItemView::DoubleClicked | + QAbstractItemView::SelectedClicked | + QAbstractItemView::EditKeyPressed ); + + myTable->setColumnCount( 2 ); + QStringList aColumnNames; + aColumnNames << tr( "STRICKLER_TYPE" ) << tr( "STRICKLER_COEFFICIENT" ); + myTable->setHorizontalHeaderLabels( aColumnNames ); + + myTable->horizontalHeader()->setStretchLastSection( false); + myTable->horizontalHeader()->setResizeMode( 0, QHeaderView::Stretch ); + myTable->horizontalHeader()->setResizeMode( 1, QHeaderView::ResizeToContents ); + myTable->verticalHeader()->setResizeMode( QHeaderView::ResizeToContents ); + + // Layout + // buttons + QHBoxLayout* aButtonsLayout = new QHBoxLayout(); + aButtonsLayout->addWidget( myAddBtn ); + aButtonsLayout->addWidget( myRemoveBtn ); + aButtonsLayout->addStretch( 1 ); + aButtonsLayout->addWidget( myClearBtn ); + + // main + aTableLayout->addLayout( aButtonsLayout ); + aTableLayout->addWidget( myTable ); + // Common addWidget( myFileNameGroup ); addWidget( myNameGroup ); - //addWidget( myTableGroup ); - addStretch(); + addWidget( myTableGroup ); + + // Update controls + updateControls(); + // Connections connect( myBrowseBtn, SIGNAL( clicked() ), this, SLOT( onBrowse() ) ); + connect( myAddBtn, SIGNAL( clicked() ), this, SLOT( onAddCoefficient() ) ); + connect( myRemoveBtn, SIGNAL( clicked() ), this, SLOT( onRemoveCoefficient() ) ); + connect( myClearBtn, SIGNAL( clicked() ), this, SLOT( onClearCoefficients() ) ); + connect( myTable->selectionModel(), SIGNAL( selectionChanged( QItemSelection, QItemSelection ) ), + this, SLOT( onSelectionChanged() ) ); setMinimumWidth( 350 ); } @@ -90,7 +146,9 @@ void HYDROGUI_StricklerTableDlg::setIsEdit( const bool theIsEdit ) { myFileNameGroup->setVisible( !theIsEdit ); myNameGroup->setEnabled( theIsEdit ); - //myTableGroup->setEnabled( theIsEdit ); + myTableGroup->setVisible( theIsEdit ); + if ( !theIsEdit ) + addStretch(); } void HYDROGUI_StricklerTableDlg::reset() @@ -99,10 +157,6 @@ void HYDROGUI_StricklerTableDlg::reset() myName->clear(); myNameGroup->setEnabled( false ); - - //myTableGroup->setEnabled( false ); - - //myIsInitialized = false; } QString HYDROGUI_StricklerTableDlg::getFileName() const @@ -113,6 +167,9 @@ QString HYDROGUI_StricklerTableDlg::getFileName() const void HYDROGUI_StricklerTableDlg::setFileName( const QString& theName ) { myFileName->setText( theName ); + + if ( !myNameGroup->isEnabled() ) + myNameGroup->setEnabled( true ); } void HYDROGUI_StricklerTableDlg::setStricklerTableName( const QString& theName ) @@ -125,6 +182,62 @@ QString HYDROGUI_StricklerTableDlg::getStricklerTableName() const return myName->text(); } +void HYDROGUI_StricklerTableDlg::setData(const StricklerCoefficientList& theData) +{ + myTable->setRowCount( 0 ); + + foreach ( const StricklerCoefficient& aData, theData ) { + // Check the current Strickler type + if ( aData.myType.isEmpty() ) { + continue; + } + + // Get Strickler coefficient value for the current Strickler type + QString aCoefficient = HYDROGUI_Tool::GetCoordinateString( aData.myCoefficient, false ); + + // Insert row with the data + int aRow = myTable->rowCount(); + myTable->insertRow( aRow ); + + // "Type" column + QTableWidgetItem* aTypeItem = new QTableWidgetItem( aData.myType ); + myTable->setItem( aRow, 0, aTypeItem ); + + // "Coefficient" column + myTable->setItem( aRow, 1, new QTableWidgetItem( aCoefficient ) ); + } + + myTable->resizeColumnToContents( 0 ); + myTable->resizeRowsToContents(); + + updateControls(); +} + +void HYDROGUI_StricklerTableDlg::updateControls() +{ + bool isTableNotEmpty = myTable->rowCount() > 0; + myClearBtn->setEnabled( isTableNotEmpty ); + onSelectionChanged(); +} + +void HYDROGUI_StricklerTableDlg::removeRows( const QList theRows ) +{ + QList aSortedRows = theRows; + qSort( aSortedRows ); + + int aRowToRemove = -1; + int aNbRemoved = 0; + foreach ( int aRow, aSortedRows ) { + aRowToRemove = aRow - aNbRemoved; + if ( myTable->model()->removeRow( aRowToRemove ) ) { + aNbRemoved++; + } + } + + if ( aNbRemoved > 0 ) + updateControls(); +} + void HYDROGUI_StricklerTableDlg::onBrowse() { QString aFilter( tr( "STRICKLER_TABLE_FILTER" ) ); @@ -135,3 +248,53 @@ void HYDROGUI_StricklerTableDlg::onBrowse() emit fileSelected( aFileName ); } } + +/** + Add the new default constructed Strickler coefficient. + */ +void HYDROGUI_StricklerTableDlg::onAddCoefficient() +{ + int aRow = myTable->rowCount(); + myTable->insertRow( aRow ); + + // Set default type (=> generate unique type name) and coefficient + //... + + updateControls(); +} + +/** + Remove the selected Strickler coefficient. + */ +void HYDROGUI_StricklerTableDlg::onRemoveCoefficient() +{ + QList aRows; + QModelIndexList aSelectedIndexes = myTable->selectionModel()->selectedRows(); + foreach ( const QModelIndex& anIndex, aSelectedIndexes ) { + aRows << anIndex.row(); + } + + removeRows( aRows ); +} + +/** + Clear all Strickler coefficients. + */ +void HYDROGUI_StricklerTableDlg::onClearCoefficients() +{ + QList aRows; + for ( int i=0; i< myTable->rowCount(); i++ ) { + aRows << i; + } + + removeRows( aRows ); +} + +/** + Slot called on table selection change. +*/ +void HYDROGUI_StricklerTableDlg::onSelectionChanged() +{ + QModelIndexList aSelectedIndexes = myTable->selectionModel()->selectedRows(); + myRemoveBtn->setEnabled( aSelectedIndexes.count() > 0 ); +} diff --git a/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h b/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h index 282648de..fef70326 100644 --- a/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h +++ b/src/HYDROGUI/HYDROGUI_StricklerTableDlg.h @@ -21,14 +21,29 @@ #include "HYDROGUI_InputPanel.h" +class HYDROData_StricklerTable; + class QGroupBox; class QLineEdit; class QToolButton; +class QTableWidget; class HYDROGUI_StricklerTableDlg : public HYDROGUI_InputPanel { Q_OBJECT +public: + struct StricklerCoefficient + { + QString myType; + double myCoefficient; + + StricklerCoefficient( const QString& theType, + double theCoefficient ) + : myType( theType ), myCoefficient( theCoefficient ) {} + }; + typedef QList StricklerCoefficientList; + public: HYDROGUI_StricklerTableDlg( HYDROGUI_Module* theModule, const QString& theTitle ); virtual ~HYDROGUI_StricklerTableDlg(); @@ -42,9 +57,21 @@ public: void setStricklerTableName( const QString& theName ); QString getStricklerTableName() const; + void setData(const StricklerCoefficientList& theData); + +protected: + void updateControls(); + void removeRows( const QList theRows ); + protected slots: void onBrowse(); + void onAddCoefficient(); + void onRemoveCoefficient(); + void onClearCoefficients(); + + void onSelectionChanged(); + signals: void fileSelected( const QString& theFileName ); @@ -56,6 +83,11 @@ private: QGroupBox* myNameGroup; //!< The group for the Strickler table name input field QLineEdit* myName; //!< The Strickler table name input field + QGroupBox* myTableGroup; //!< The group for the Strickler table table control and buttons + QTableWidget* myTable; //!< The table of Strickler coefficients + QToolButton* myAddBtn; //!< The add Strickler coefficient button + QToolButton* myRemoveBtn; //!< The remove Strickler coefficient button + QToolButton* myClearBtn; //!< The clear all Strickler coefficients button }; #endif diff --git a/src/HYDROGUI/HYDROGUI_StricklerTableOp.cxx b/src/HYDROGUI/HYDROGUI_StricklerTableOp.cxx index 88de04a2..464b7485 100644 --- a/src/HYDROGUI/HYDROGUI_StricklerTableOp.cxx +++ b/src/HYDROGUI/HYDROGUI_StricklerTableOp.cxx @@ -24,6 +24,8 @@ #include +#include + #include HYDROGUI_StricklerTableOp::HYDROGUI_StricklerTableOp( HYDROGUI_Module* theModule, bool theIsEdit ) @@ -43,8 +45,8 @@ void HYDROGUI_StricklerTableOp::startOperation() HYDROGUI_Operation::startOperation(); HYDROGUI_StricklerTableDlg* aPanel = (HYDROGUI_StricklerTableDlg*)inputPanel(); - //aPanel->reset(); - //aPanel->setIsEdit( myIsEdit ); + aPanel->reset(); + aPanel->setIsEdit( myIsEdit ); if( myIsEdit ) { @@ -53,6 +55,31 @@ void HYDROGUI_StricklerTableOp::startOperation() if ( !myEditedObject.IsNull() ) { // Edit selected Strickler table + + aPanel->setStricklerTableName( myEditedObject->GetName() ); + + // Get Strickler table data from the data model + // ... + + // The code below is a sample of data filling Strickler table + HYDROGUI_StricklerTableDlg::StricklerCoefficientList aData; + HYDROGUI_StricklerTableDlg::StricklerCoefficient aStricklerCoef1( "Zones de champs, prairies, sans cultures", 20.0 ); + HYDROGUI_StricklerTableDlg::StricklerCoefficient aStricklerCoef2( "Zones de champs cultivé à végétation basse", 17.5 ); + HYDROGUI_StricklerTableDlg::StricklerCoefficient aStricklerCoef3( "Zones de champs cultivé à végétation haute", 12.5 ); + HYDROGUI_StricklerTableDlg::StricklerCoefficient aStricklerCoef4( "Zones d'arbustes, de sous-bois", 10.0 ); + HYDROGUI_StricklerTableDlg::StricklerCoefficient aStricklerCoef5( "Zones à faible urbanization (bourg)", 9.0 ); + HYDROGUI_StricklerTableDlg::StricklerCoefficient aStricklerCoef6( "Zones à forte urbanization (agglomération)", 9.0 ); + HYDROGUI_StricklerTableDlg::StricklerCoefficient aStricklerCoef7( "Canaux naturels", 35.0 ); + HYDROGUI_StricklerTableDlg::StricklerCoefficient aStricklerCoef8( "Canaux artificiels en béton", 65.0 ); + aData.append( aStricklerCoef1 ); + aData.append( aStricklerCoef2 ); + aData.append( aStricklerCoef3 ); + aData.append( aStricklerCoef4 ); + aData.append( aStricklerCoef5 ); + aData.append( aStricklerCoef6 ); + aData.append( aStricklerCoef7 ); + aData.append( aStricklerCoef8 ); + aPanel->setData(aData); } else { @@ -136,10 +163,15 @@ bool HYDROGUI_StricklerTableOp::processApply( int& theUpdateFlags, QString& theE if( myIsEdit ) { // Get data from input panel's table and save it into data model object + + // Check, that type names are unique within the current + // Strickler table and show error message, if needed + + //... } else { - // Import data from Strickler table file into data model model object + // Import data from Strickler table file into data model object aStricklerTableObj->Import( HYDROGUI_Tool::ToAsciiString( aFilePath ) ); } @@ -151,6 +183,8 @@ bool HYDROGUI_StricklerTableOp::processApply( int& theUpdateFlags, QString& theE theBrowseObjectsEntries.append( anEntry ); } + theUpdateFlags |= UF_ObjBrowser; + return true; } diff --git a/src/HYDROGUI/resources/HYDROGUI_msg_en.ts b/src/HYDROGUI/resources/HYDROGUI_msg_en.ts index fa95456b..5022b7ee 100644 --- a/src/HYDROGUI/resources/HYDROGUI_msg_en.ts +++ b/src/HYDROGUI/resources/HYDROGUI_msg_en.ts @@ -2261,10 +2261,6 @@ Polyline should consist from one not closed curve. HYDROGUI_StricklerTableDlg - - STRICKLER_TABLE_NAME - Strickler table name - IMPORT_STRICKLER_TABLE_FROM_FILE Import Strickler table from file @@ -2285,6 +2281,30 @@ Polyline should consist from one not closed curve. DEFAULT_STRICKLER_TABLE_NAME Strickler table + + STRICKLER_TABLE_TABLE + Strickler table definition + + + ADD + Add + + + REMOVE + Remove + + + CLEAR_ALL + Clear all + + + STRICKLER_TYPE + Type + + + STRICKLER_COEFFICIENT + Coefficient +