Salome HOME
rnc: Modified "Number Of Segment" window so that the use of table density is more...
authorgdd <gdd>
Wed, 27 Apr 2011 12:40:02 +0000 (12:40 +0000)
committergdd <gdd>
Wed, 27 Apr 2011 12:40:02 +0000 (12:40 +0000)
src/StdMeshersGUI/StdMeshersGUI_DistrPreview.cxx
src/StdMeshersGUI/StdMeshersGUI_DistrTable.cxx
src/StdMeshersGUI/StdMeshersGUI_NbSegmentsCreator.cxx
src/StdMeshersGUI/StdMeshersGUI_SubShapeSelectorWdg.cxx
src/StdMeshersGUI/StdMeshers_msg_en.ts
src/StdMeshersGUI/StdMeshers_msg_fr.ts

index fb493741754333b6b4b9ecb9d0daa7a51014236f..7befe20489f5c1c44000625cb31d3cb1635f8e3d 100644 (file)
@@ -78,7 +78,7 @@ StdMeshersGUI_DistrPreview::StdMeshersGUI_DistrPreview( QWidget* p, StdMeshers::
   QwtText mt = myMsg->label();
   mt.setBackgroundPen( QPen( Qt::red, 1 ) );
   QFont f = mt.font();
-  f.setPointSize( 14 ); f.setBold( true );
+  f.setPointSize( 14 ); //f.setBold( true );
   mt.setFont( f );
   myMsg->setLabel( mt );
   myDensity->setPen( QPen( Qt::red, 1 ) );
@@ -94,6 +94,17 @@ StdMeshersGUI_DistrPreview::StdMeshersGUI_DistrPreview( QWidget* p, StdMeshers::
   }
   insertLegend( l, QwtPlot::BottomLegend );
 
+  enableAxis(QwtPlot::yLeft, false);
+  enableAxis(QwtPlot::yRight, true);
+  
+  QFont axisFont;
+  axisFont.setPointSize( 8 );
+  setAxisFont(QwtPlot::yRight, axisFont); 
+  setAxisFont(QwtPlot::xBottom, axisFont); 
+  
+  myDensity->setYAxis(QwtPlot::yRight);
+  myDistr->setYAxis(QwtPlot::yRight);
+  myMsg->setYAxis(QwtPlot::yRight);
   myDensity->setTitle( tr( "SMESH_DENSITY_FUNC" ) );
   myDistr->setTitle( tr( "SMESH_DISTR" ) );
   
index 7963dbe360e31e3768951ab435157d127942ec31..28e664096433347e968c9e27312370cbdc573271 100644 (file)
@@ -31,6 +31,7 @@
 // Qt incldues
 #include <QItemDelegate>
 #include <QTableWidget>
+#include <QHeaderView>
 #include <QPushButton>
 #include <QVBoxLayout>
 #include <QHBoxLayout>
@@ -244,6 +245,8 @@ Table( QWidget* parent, int rows )
   QStringList labs;
   labs << "t" << "f(t)";
   setHorizontalHeaderLabels( labs );
+  this->horizontalHeader()->setStretchLastSection(true);
+  this->horizontalHeader()->setDefaultSectionSize(60);
 
   while( rows-- )
     addRow();
@@ -412,14 +415,14 @@ sizeHint() const
   if( cachedSizeHint().isValid() )
     return cachedSizeHint();
 
-  QSize sh = QTableWidget::sizeHint();
-  if( sh.width() < 400 )
-    sh.setWidth( 400 );
-  if( sh.height() < 200 )
-    sh.setHeight( 200 );
-
-  setCachedSizeHint( sh );
-  return sh;
+//   QSize sh = QTableWidget::sizeHint();
+//   if( sh.width() < 400 )
+//     sh.setWidth( 400 );
+//   if( sh.height() < 200 )
+//     sh.setHeight( 200 );
+// 
+//   setCachedSizeHint( sh );
+//   return sh;
 }
 
 void
@@ -507,30 +510,24 @@ StdMeshersGUI_DistrTableFrame::
 StdMeshersGUI_DistrTableFrame( QWidget* parent )
   : QWidget( parent )
 {
-  QVBoxLayout* main = new QVBoxLayout( this );
+  QGridLayout* main = new QGridLayout( this );
   main->setMargin( 0 );
   main->setSpacing( 0 );
 
   // ---
   myTable = new Table( this );
   connect( myTable, SIGNAL( valueChanged( int, int ) ), this, SIGNAL( valueChanged( int, int ) ) );
-  
-  // ---
-  QWidget* aButFrame = new QWidget( this );
-  QHBoxLayout* butLay = new QHBoxLayout( aButFrame );
-  butLay->setContentsMargins( 0, SPACING, 0, SPACING );
-  butLay->setSpacing( SPACING );
 
-  myButtons[ InsertRowBtn ] = new QPushButton( tr( "SMESH_INSERT_ROW" ), aButFrame );
-  myButtons[ RemoveRowBtn ] = new QPushButton( tr( "SMESH_REMOVE_ROW" ), aButFrame );
+  myButtons[ InsertRowBtn ] = new QPushButton( tr( "SMESH_INSERT_ROW" ), this );
+  myButtons[ RemoveRowBtn ] = new QPushButton( tr( "SMESH_REMOVE_ROW" ), this );
 
-  butLay->addWidget( myButtons[ InsertRowBtn ] );
-  butLay->addWidget( myButtons[ RemoveRowBtn ] );
-  butLay->addStretch();
 
   // ---
-  main->addWidget( myTable );
-  main->addWidget( aButFrame );
+  main->addWidget( myTable , 0, 0, 1, 3);
+  main->addWidget( myButtons[ InsertRowBtn ] , 1, 0);
+  main->addWidget( myButtons[ RemoveRowBtn ] , 1, 1);
+  main->setColumnStretch(2, 1);
+  main->setSpacing( SPACING );
   
   // ---
   connect( myButtons[ InsertRowBtn ], SIGNAL( clicked() ), this, SLOT( onInsert() ) );
index 9fce3fe98541f13ac13c4fbfd1a1e2e4ff64a001..ed50c19445435727f8fd38cbef56d145f9468975 100644 (file)
@@ -98,6 +98,7 @@ bool StdMeshersGUI_NbSegmentsCreator::checkParams( QString& msg ) const
 QFrame* StdMeshersGUI_NbSegmentsCreator::buildFrame()
 {
   QFrame* fr = new QFrame();
+  fr->setMinimumWidth(460);
 
   QVBoxLayout* lay = new QVBoxLayout( fr );
   lay->setMargin( 0 );
@@ -108,7 +109,6 @@ QFrame* StdMeshersGUI_NbSegmentsCreator::buildFrame()
 
   StdMeshers::StdMeshers_NumberOfSegments_var h =
     StdMeshers::StdMeshers_NumberOfSegments::_narrow( hypothesis() );
-  myPreview = new StdMeshersGUI_DistrPreview( GroupC1, h.in() );
 
   myGroupLayout = new QGridLayout( GroupC1 );
   myGroupLayout->setSpacing( SPACING );
@@ -127,6 +127,7 @@ QFrame* StdMeshersGUI_NbSegmentsCreator::buildFrame()
     row++;
   }
 
+
   // 1)  number of segments
   myGroupLayout->addWidget( new QLabel( tr( "SMESH_NB_SEGMENTS_PARAM" ), GroupC1 ), row, 0 );
   myNbSeg = new SalomeApp_IntSpinBox( GroupC1 );
@@ -135,6 +136,7 @@ QFrame* StdMeshersGUI_NbSegmentsCreator::buildFrame()
   myGroupLayout->addWidget( myNbSeg, row, 1 );
   row++;
 
+  
   // 2)  type of distribution
   myGroupLayout->addWidget( new QLabel( tr( "SMESH_DISTR_TYPE" ), GroupC1 ), row, 0 );
   myDistr = new QtxComboBox( GroupC1 );
@@ -147,6 +149,7 @@ QFrame* StdMeshersGUI_NbSegmentsCreator::buildFrame()
   myGroupLayout->addWidget( myDistr, row, 1 );
   row++;
 
+  
   // 3)  scale
   myGroupLayout->addWidget( myLScale = new QLabel( tr( "SMESH_NB_SEGMENTS_SCALE_PARAM" ), GroupC1 ), row, 0 );
   myScale = new SMESHGUI_SpinBox( GroupC1 );
@@ -154,25 +157,35 @@ QFrame* StdMeshersGUI_NbSegmentsCreator::buildFrame()
   myGroupLayout->addWidget( myScale, row, 1 );
   row++;
 
-  myInfo = new QLabel( tr( "SMESH_FUNC_DOMAIN" ), GroupC1 );
-  myGroupLayout->addWidget( myInfo, row, 0, 1, 2 );
-  row++;
   
-  // 4)  table
-  myGroupLayout->addWidget( myLTable = new QLabel( tr( "SMESH_TAB_FUNC" ), GroupC1 ), row, 0 );
-  myTable = new StdMeshersGUI_DistrTableFrame( GroupC1 );
-  myGroupLayout->addWidget( myTable, row, 1 );
+  // 4) Distribution definition
+  QGridLayout* myDistLayout = new QGridLayout(GroupC1);
+  myGroupLayout->addLayout( myDistLayout, row, 0, 1, 2 );
   myGroupLayout->setRowStretch( row, 1 );
-  myTableRow = row;
-  row++;
+  row ++;
 
-  // 5)  expression
-  myGroupLayout->addWidget( myLExpr = new QLabel( tr( "SMESH_EXPR_FUNC" ), GroupC1 ), row, 0 );
+       // a)  expression
+  QHBoxLayout* myExprLayout = new QHBoxLayout(GroupC1);
+  myExprLayout->addWidget( myLExpr = new QLabel( "f(t)=", GroupC1 ), 0);
   myExpr = new QLineEdit( GroupC1 );
-  myGroupLayout->addWidget( myExpr, row, 1 );
-  row++;
+  myExprLayout->addWidget( myExpr,1);
+  myDistLayout->addLayout(myExprLayout,1 ,0);
+  myDistLayout->setRowStretch(2, 1);
+
+       // b)  warning
+  myInfo = new QLabel( tr( "SMESH_FUNC_DOMAIN" ), GroupC1 );
+  myDistLayout->addWidget( myInfo, 0, 0, 1, 2);
+  
+       // c)  table
+  myTable = new StdMeshersGUI_DistrTableFrame( GroupC1 );
+  myDistLayout->addWidget( myTable, 1, 0, 2, 1 );
 
-  // 6)  conversion (radiogroup)
+       // d) preview
+  myPreview = new StdMeshersGUI_DistrPreview( GroupC1, h.in() );  
+  myPreview->setMinimumHeight(220);
+  myDistLayout->addWidget( myPreview, 1, 1, 2, 1 );
+  
+  // 5)  conversion (radiogroup)
   myConvBox = new QGroupBox( tr( "SMESH_CONV_MODE" ), GroupC1 );
   myConv = new QButtonGroup( GroupC1 );
 
@@ -191,17 +204,12 @@ QFrame* StdMeshersGUI_NbSegmentsCreator::buildFrame()
   myGroupLayout->addWidget( myConvBox, row, 0, 1, 2 );
   row++;
 
-  // 7) distribution preview
-  myGroupLayout->addWidget( myPreview, row, 0, 1, 2 );
-  myGroupLayout->setRowStretch( row, 1 );
-  myPreviewRow = row;
-  row++;
 
-  // 8) reverce edge parameters
+  // 6) reverse edge parameters
   myReversedEdgesBox = new QGroupBox(tr( "SMESH_REVERSED_EDGES" ), fr);
   QHBoxLayout* edgeLay = new QHBoxLayout( myReversedEdgesBox );
 
-  myDirectionWidget = new StdMeshersGUI_SubShapeSelectorWdg();
+  myDirectionWidget = new StdMeshersGUI_SubShapeSelectorWdg( myReversedEdgesBox );
   QString aGeomEntry = getShapeEntry();
   QString aMainEntry = getMainShapeEntry();
   if ( aGeomEntry == "" )
@@ -212,7 +220,9 @@ QFrame* StdMeshersGUI_NbSegmentsCreator::buildFrame()
   edgeLay->addWidget( myDirectionWidget );
 
   lay->addWidget( myReversedEdgesBox );
-
+  lay->setStretchFactor( GroupC1, 2);
+  lay->setStretchFactor( myReversedEdgesBox, 1);
+  
   connect( myNbSeg, SIGNAL( valueChanged( const QString& ) ), this, SLOT( onValueChanged() ) );
   connect( myDistr, SIGNAL( activated( int ) ), this, SLOT( onValueChanged() ) );
   connect( myTable, SIGNAL( valueChanged( int, int ) ), this, SLOT( onValueChanged() ) );
@@ -428,20 +438,12 @@ void StdMeshersGUI_NbSegmentsCreator::onValueChanged()
 
   bool isFunc = distr==2 || distr==3;
   myPreview->setShown( isFunc );
-  myGroupLayout->setRowStretch( myPreviewRow, isFunc ? 1 : 0 );
-
   myConvBox->setShown( isFunc );
-
-  if( distr==2 )
-    myTable->show();
-  else
-    myTable->hide();
-  myLTable->setShown( distr==2 );
-  myGroupLayout->setRowStretch( myTableRow, distr==2 ? 1 : 0 );
-
+  
+  myTable->setShown( distr==2 );
   myExpr->setShown( distr==3 );
   myLExpr->setShown( distr==3 );
-  myInfo->setShown( isFunc );
+  myInfo->setShown( distr==3);
 
   //change of preview
   int nbSeg = myNbSeg->value();
index a51d6a16d8d269a32e045c906d754814691dbbcf..31136803db182d92cf8db607b5b82776623d9fc5 100644 (file)
@@ -102,7 +102,7 @@ StdMeshersGUI_SubShapeSelectorWdg
   edgesLayout->addWidget(myAddButton,    0, 4);
   edgesLayout->addWidget(myRemoveButton, 1, 4);
 
-  edgesLayout->setRowStretch(2, 5);
+  //edgesLayout->setRowStretch(2, 5);
   edgesLayout->setColumnStretch(2, 5);
 
   setLayout( edgesLayout );
index 584ecc01c941434ed4cadd5060ca248f7bf92aa4..203913c5d501e9c7e714029bb8a07e3924e24a4c 100644 (file)
@@ -77,7 +77,7 @@
     </message>
     <message>
         <source>SMESH_EXPR_FUNC</source>
-        <translation>Density function f(t) = </translation>
+        <translation>Density function</translation>
     </message>
     <message>
         <source>SMESH_EXP_MODE</source>
index 0642c5ba17e011e7f30df47f647ae8c7a6942144..1f2374414fc22fa92026b89ef3c4fd4d4e692ac7 100755 (executable)
@@ -77,7 +77,7 @@
     </message>
     <message>
         <source>SMESH_EXPR_FUNC</source>
-        <translation>Expression de la densité f(t) = </translation>
+        <translation>Expression de la densité</translation>
     </message>
     <message>
         <source>SMESH_EXP_MODE</source>
@@ -89,7 +89,7 @@
     </message>
     <message>
         <source>SMESH_FUNC_DOMAIN</source>
-        <translation>Avertissement: il faut définir la fonction sur le segment [0..1]</translation>
+        <translation>Avertissement: La fonction doit ếtre définie sur le segment [0..1]</translation>
     </message>
     <message>
         <source>SMESH_INSERT_ROW</source>