Salome HOME
Merge remote-tracking branch 'remotes/origin/BR_2017' into BR_2017_PORTING
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ExportLandCoverMapDlg.cxx
index 28533ef7e4e75cbecbdac33b07cbfc214359c34a..30fcc0c2b38f2869d07b75dff1e1b05c101ed617 100644 (file)
@@ -25,6 +25,7 @@
 #include <QComboBox>
 #include <QLabel>
 #include <QDoubleSpinBox>
+#include <QVBoxLayout>
 
 HYDROGUI_ExportLandCoverMapDlg::HYDROGUI_ExportLandCoverMapDlg( QWidget* theParent, bool IsLinear, const QStringList& theAttrItems )
   : QtxDialog( theParent, false, true, QtxDialog::OKCancel )
@@ -39,7 +40,11 @@ HYDROGUI_ExportLandCoverMapDlg::HYDROGUI_ExportLandCoverMapDlg( QWidget* thePare
   myAvFields->setEnabled(false);
   myAvFields->addItems( theAttrItems );
 
-  QGridLayout* aLayout = new QGridLayout( mainFrame() );
+  QVBoxLayout* aSketchLayout = new QVBoxLayout( mainFrame() );
+  aSketchLayout->setMargin( 0 );
+  aSketchLayout->setSpacing( 5 );
+
+  QGridLayout* aLayout = new QGridLayout();
   aLayout->setMargin( 5 );
   aLayout->setSpacing( 5 );
   aLayout->addWidget( myAttrCheckBox, 0, 0 );
@@ -57,10 +62,24 @@ HYDROGUI_ExportLandCoverMapDlg::HYDROGUI_ExportLandCoverMapDlg( QWidget* thePare
     aLayout->addWidget( myDeflLabel, 3, 0, 1, 1 );
     aLayout->addWidget( myDeflSpinBox, 3, 1, 2, 2 );
   }
+  else
+  {
+    myDeflSpinBox = NULL;
+    myDeflLabel = NULL;
+    myDiscrLabel = NULL;
+  }
+
+  myWarningLabel = new QLabel( tr( "ATTRS_NOT_WRITTEN_TO_DBF" ), mainFrame() );
+  myWarningLabel->setStyleSheet("QLabel { font: italic; color : blue; }");
+  
+  aSketchLayout->addLayout( aLayout );
+  aSketchLayout->addWidget( myWarningLabel, 1, Qt::AlignHCenter );
+  aSketchLayout->addStretch(1);
 
   setMinimumSize( 300, 100 );
 
   connect( myAttrCheckBox, SIGNAL(clicked(bool)), this, SLOT(onAttrCBChecked(bool)));
+  connect( myAvFields, SIGNAL(currentIndexChanged(const QString&)), this, SLOT(onAvFieldsChanged(const QString&)));
 
 }
 
@@ -74,6 +93,13 @@ void HYDROGUI_ExportLandCoverMapDlg::onAttrCBChecked( bool theState )
     myAvFields->setEnabled(true);
   else
     myAvFields->setEnabled(false);
+
+  myWarningLabel->setVisible( !theState || getCurrentItem().isEmpty() );
+}
+
+void HYDROGUI_ExportLandCoverMapDlg::onAvFieldsChanged(const QString& theText)
+{
+  myWarningLabel->setVisible( theText.isEmpty() );
 }
 
 QString HYDROGUI_ExportLandCoverMapDlg::getCurrentItem() const
@@ -88,5 +114,8 @@ bool HYDROGUI_ExportLandCoverMapDlg::getAttrCheckBoxState()
 
 double HYDROGUI_ExportLandCoverMapDlg::getDeflValue() const
 {
-  return myDeflSpinBox->value();
+  if (myDeflSpinBox)
+    return myDeflSpinBox->value();
+  else 
+    return -1; //value is not needed
 }