Salome HOME
refs #640: correct width for non-georeferenced profile
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_CalculationDlg.cxx
index 889d2b611b6377d4ce093d674a36ff90989bec53..6a6e60f09f9c528f7577d344bce32d3d729da412 100644 (file)
@@ -245,6 +245,8 @@ QWizardPage* HYDROGUI_CalculationDlg::createObjectsPage() {
 
   connect( myGeomObjects, SIGNAL( orderChanged() ), SLOT( onOrderChanged() ) );
 
+  connect( myPriorityWidget, SIGNAL( ruleChanged() ), SLOT( onRuleChanged() ) );
+
   return aPage;
 }
 
@@ -443,7 +445,9 @@ QWizardPage* HYDROGUI_CalculationDlg::createLandCoversPage() {
   connect( anAddBtn, SIGNAL( clicked() ), SIGNAL( addLandCovers() ) );
   connect( aRemoveBtn, SIGNAL( clicked() ), SIGNAL( removeLandCovers() ) );
 
-  connect( myLandCovers, SIGNAL( orderLandCoverChanged() ), SLOT( onOrderLandCoverChanged() ) );
+  connect( myLandCovers, SIGNAL( orderChanged() ), SLOT( onOrderLandCoverChanged() ) );
+
+  connect( myLandCoverPriorityWidget, SIGNAL( ruleChanged() ), SLOT( onLandCoverRuleChanged() ) );
 
   return aPage;
 }
@@ -473,6 +477,9 @@ QWizardPage* HYDROGUI_CalculationDlg::createZonesPage() {
   aLayout->addWidget( myBathymetryLabel, 2, 0 );
   aLayout->addWidget( myBathymetryChoice, 2, 1 );
 
+  QPushButton* aRegenerateBtn = new QPushButton( tr( "REGENERATE_COLORS" ), this );
+  aLayout->addWidget( aRegenerateBtn, 3, 0 );
+
   aPage->setLayout( aLayout );
 
   connect( myBrowser, SIGNAL( dataChanged() ), SLOT( onDataChanged() ) );
@@ -483,7 +490,7 @@ QWizardPage* HYDROGUI_CalculationDlg::createZonesPage() {
       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() ) );
-
+  connect( aRegenerateBtn, SIGNAL( clicked() ), this, SIGNAL( regenerateColors() ) );
   return aPage;
 }
 
@@ -1144,6 +1151,17 @@ void HYDROGUI_CalculationDlg::onOrderChanged()
     myGeomObjects->undoLastMove();
 }
 
+/**
+  Slot called when priority rule for geometry objects is changed.
+ */
+void HYDROGUI_CalculationDlg::onRuleChanged()
+{
+  bool isConfirmed = true;
+  emit ruleChanged( isConfirmed );
+  if( !isConfirmed )
+    myPriorityWidget->undoLastChange();
+}
+
 void HYDROGUI_CalculationDlg::setStricklerTable( const QString& theStricklerTableName, bool theBlockSignals )
 {
   bool isBlocked;
@@ -1230,3 +1248,14 @@ void HYDROGUI_CalculationDlg::onOrderLandCoverChanged()
   else
     myLandCovers->undoLastMove();  
 }
+
+/**
+  Slot called when priority rule for land covers is changed.
+ */
+void HYDROGUI_CalculationDlg::onLandCoverRuleChanged()
+{
+  bool isConfirmed = true;
+  emit ruleLandCoverChanged( isConfirmed );
+  if( !isConfirmed )
+    myLandCoverPriorityWidget->undoLastChange();
+}