X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_CalculationDlg.cxx;h=0718b48b3858ad1c74525bcd46b00278ee877501;hb=cd6ea20d9a76665a24a533d0340385a335961f05;hp=3406908ad58f3b31b4ba6728315076c980fec032;hpb=317431d65778c8a444ad012b356e1f3c2ff6c038;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_CalculationDlg.cxx b/src/HYDROGUI/HYDROGUI_CalculationDlg.cxx index 3406908a..0718b48b 100644 --- a/src/HYDROGUI/HYDROGUI_CalculationDlg.cxx +++ b/src/HYDROGUI/HYDROGUI_CalculationDlg.cxx @@ -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 @@ -91,6 +91,10 @@ void HYDROGUI_CalculationDlg::reset() // Activate the automatic mode setMode( HYDROData_CalculationCase::AUTOMATIC ); + + // Reset the priority widget state + QList anObjects; + myPriorityWidget->setObjects( anObjects ); } QWizardPage* HYDROGUI_CalculationDlg::createObjectsPage() { @@ -179,9 +183,9 @@ QWizardPage* HYDROGUI_CalculationDlg::createObjectsPage() { // fill the objects frame with two lists, two labels and with buttons frame anObjsLayout->addWidget( anObjectsLabel, 0, 0, Qt::AlignHCenter ); anObjsLayout->addWidget( anIncludedLabel, 0, 2, Qt::AlignHCenter ); - anObjsLayout->addWidget( myAvailableGeomObjects, 1, 0, Qt::AlignHCenter ); + anObjsLayout->addWidget( myAvailableGeomObjects, 1, 0 ); anObjsLayout->addWidget( aBtnsFrame, 1, 1, Qt::AlignHCenter ); - anObjsLayout->addWidget( myGeomObjects, 1, 2, Qt::AlignHCenter ); + anObjsLayout->addWidget( myGeomObjects, 1, 2 ); // fill the top of the page QGridLayout* aTopLayout = new QGridLayout; @@ -193,7 +197,7 @@ QWizardPage* HYDROGUI_CalculationDlg::createObjectsPage() { aTopLayout->addWidget( aLimitsLabel, 1, 0, Qt::AlignHCenter ); aTopLayout->addWidget( myPolylineName, 1, 1 ); aTopLayout->addWidget( aModeGroup, 2, 0, 1, 2 ); - aTopLayout->addWidget( anObjectsFrame, 3, 0, 1, 2, Qt::AlignHCenter ); + aTopLayout->addWidget( anObjectsFrame, 3, 0, 1, 2 ); aTopContainer->setLayout( aTopLayout ); @@ -235,6 +239,8 @@ QWizardPage* HYDROGUI_CalculationDlg::createObjectsPage() { connect( anAddBtn, SIGNAL( clicked() ), SIGNAL( addObjects() ) ); connect( aRemoveBtn, SIGNAL( clicked() ), SIGNAL( removeObjects() ) ); + connect( myGeomObjects, SIGNAL( orderChanged() ), SLOT( onOrderChanged() ) ); + return aPage; } @@ -282,16 +288,16 @@ QWizardPage* HYDROGUI_CalculationDlg::createGroupsPage() { // Fill the objects frame with two lists, two labels and with buttons frame aGroupsLayout->addWidget( anAvailableLabel, 0, 0, Qt::AlignHCenter ); aGroupsLayout->addWidget( anIncludedLabel, 0, 2, Qt::AlignHCenter ); - aGroupsLayout->addWidget( myAvailableGroups, 1, 0, Qt::AlignHCenter ); + aGroupsLayout->addWidget( myAvailableGroups, 1, 0 ); aGroupsLayout->addWidget( aBtnsFrame, 1, 1, Qt::AlignHCenter ); - aGroupsLayout->addWidget( myGroups, 1, 2, Qt::AlignHCenter ); + aGroupsLayout->addWidget( myGroups, 1, 2 ); // Fill the page QGridLayout* aPageLayout = new QGridLayout( aPage ); aPageLayout->setMargin( 5 ); aPageLayout->setSpacing( 5 ); aPageLayout->setVerticalSpacing( 10 ); - aPageLayout->addWidget( aGroupsFrame, 0, 0, Qt::AlignHCenter ); + aPageLayout->addWidget( aGroupsFrame, 0, 0 ); aPage->setLayout( aPageLayout ); @@ -314,13 +320,13 @@ QWizardPage* HYDROGUI_CalculationDlg::createZonesPage() { aLayout->addWidget( myBrowser, 0, 0, 1, 2 ); - myBatimetryLabel = new QLabel( tr( "BATHYMETRY" ), aFrame ); + myBathymetryLabel = new QLabel( tr( "BATHYMETRY" ), aFrame ); myBathymetryChoice = new QComboBox( aFrame ); myBathymetryChoice->setVisible( false ); - myBatimetryLabel->setVisible( false ); + myBathymetryLabel->setVisible( false ); - aLayout->addWidget( myBatimetryLabel, 1, 0 ); + aLayout->addWidget( myBathymetryLabel, 1, 0 ); aLayout->addWidget( myBathymetryChoice, 1, 1 ); aPage->setLayout( aLayout ); @@ -457,7 +463,8 @@ void HYDROGUI_CalculationDlg::onSelected( SUIT_DataObject* theObject ) } myBathymetryChoice->setVisible( doShow ); - myBatimetryLabel->setVisible( doShow ); + myBathymetryChoice->setEnabled( getMode() == HYDROData_CalculationCase::MANUAL ); + myBathymetryLabel->setVisible( doShow ); } void HYDROGUI_CalculationDlg::setObjectName( const QString& theName ) @@ -677,15 +684,12 @@ void HYDROGUI_CalculationDlg::setMode( int theMode ) } /** - Enable/disable zones drag and drop. - @param theIsEnabled if true - zones drag and drop will be enabled + Enable/disable zones drag'n'drop and renaming. + @param theIsEnabled if true - zones drag'n'drop and renaming will be enabled */ -void HYDROGUI_CalculationDlg::setMoveZonesEnabled( const bool theIsEnabled ) +void HYDROGUI_CalculationDlg::setEditZonesEnabled( const bool theIsEnabled ) { - //TODO: to be reimplemented - foreach ( QTreeView* aView, myBrowser->findChildren() ) { - aView->setDragEnabled ( theIsEnabled ); - } + myBrowser->setReadOnly( !theIsEnabled ); } /** @@ -721,8 +725,16 @@ HYDROData_ListOfRules HYDROGUI_CalculationDlg::getRules() const /** Set rules. @param theRules the list of rules -*/ + */ void HYDROGUI_CalculationDlg::setRules( const HYDROData_ListOfRules& theRules ) const { myPriorityWidget->setRules( theRules ); +} + +/** + Slot called when objects order is changed. + */ +void HYDROGUI_CalculationDlg::onOrderChanged() +{ + myPriorityWidget->setObjects( getGeometryObjects() ); } \ No newline at end of file