mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-02-15 01:13:08 +05:00
rnc: Modified "Number Of Segment" window so that the use of table density is more convenient.
This commit is contained in:
parent
c67b2bfd8f
commit
ed17a76996
@ -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" ) );
|
||||
|
||||
|
@ -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() ) );
|
||||
|
@ -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);
|
||||
|
||||
// 6) conversion (radiogroup)
|
||||
// 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 );
|
||||
|
||||
// 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();
|
||||
|
@ -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 );
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user