-// 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
// 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;
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 );
connect( anAddBtn, SIGNAL( clicked() ), SIGNAL( addObjects() ) );
connect( aRemoveBtn, SIGNAL( clicked() ), SIGNAL( removeObjects() ) );
+ connect( myGeomObjects, SIGNAL( orderChanged() ), SLOT( onOrderChanged() ) );
+
return aPage;
}
// 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 );
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 );
connect( myBrowser,
SIGNAL( dropped( const QList<SUIT_DataObject*>&, SUIT_DataObject*, int, Qt::DropAction ) ),
SLOT( onZonesDropped( const QList<SUIT_DataObject*>&, SUIT_DataObject*, int, Qt::DropAction ) ) );
+ connect( myBrowser, SIGNAL( newRegion() ), this, SLOT( OnNewRegion() ) );
return aPage;
}
}
}
+void HYDROGUI_CalculationDlg::OnNewRegion()
+{
+ emit createRegion( myBrowser->getSelected() );
+}
+
void HYDROGUI_CalculationDlg::onMergeTypeSelected( int theIndex )
{
int aType = myBathymetryChoice->itemData( theIndex ).toInt();
}
myBathymetryChoice->setVisible( doShow );
- myBatimetryLabel->setVisible( doShow );
+ myBathymetryChoice->setEnabled( getMode() == HYDROData_CalculationCase::MANUAL );
+ myBathymetryLabel->setVisible( doShow );
}
void HYDROGUI_CalculationDlg::setObjectName( const QString& theName )
/**
Set rules.
@param theRules the list of rules
-*/
+ */
void HYDROGUI_CalculationDlg::setRules( const HYDROData_ListOfRules& theRules ) const
{
myPriorityWidget->setRules( theRules );
-}
\ No newline at end of file
+}
+
+/**
+ Slot called when objects order is changed.
+ */
+void HYDROGUI_CalculationDlg::onOrderChanged()
+{
+ bool isConfirmed = true;
+ emit orderChanged( isConfirmed );
+ if( isConfirmed )
+ myPriorityWidget->setObjects( getGeometryObjects() );
+ else
+ myGeomObjects->undoLastMove();
+}