PAL10953. Add possibility to have a custom widget for a hypo parameter

This commit is contained in:
eap 2005-12-28 14:40:18 +00:00
parent 6b471bcc54
commit 3a1c4c87ae
2 changed files with 47 additions and 34 deletions

View File

@ -144,37 +144,38 @@ QFrame* SMESHGUI_GenericHypothesisCreator::buildStdFrame()
QLabel* lab = new QLabel( (*anIt).myName, GroupC1 ); QLabel* lab = new QLabel( (*anIt).myName, GroupC1 );
GroupC1Layout->addWidget( lab, i, 0 ); GroupC1Layout->addWidget( lab, i, 0 );
QWidget* w = 0; QWidget* w = getCustomWidget( *anIt, GroupC1 );
switch( (*anIt).myValue.type() ) if ( !w )
{ switch( (*anIt).myValue.type() )
case QVariant::Int:
{ {
QtxIntSpinBox* sb = new QtxIntSpinBox( GroupC1, (*anIt).myName.latin1() ); case QVariant::Int:
attuneStdWidget( sb, i ); {
sb->setValue( (*anIt).myValue.toInt() ); QtxIntSpinBox* sb = new QtxIntSpinBox( GroupC1, (*anIt).myName.latin1() );
connect( sb, SIGNAL( valueChanged( int ) ), this, SLOT( onValueChanged() ) ); attuneStdWidget( sb, i );
w = sb; sb->setValue( (*anIt).myValue.toInt() );
connect( sb, SIGNAL( valueChanged( int ) ), this, SLOT( onValueChanged() ) );
w = sb;
}
break;
case QVariant::Double:
{
QtxDblSpinBox* sb = new SMESHGUI_SpinBox( GroupC1, (*anIt).myName.latin1() );
attuneStdWidget( sb, i );
sb->setValue( (*anIt).myValue.toDouble() );
connect( sb, SIGNAL( valueChanged( double ) ), this, SLOT( onValueChanged() ) );
w = sb;
}
break;
case QVariant::String:
{
QLineEdit* le = new QLineEdit( GroupC1, (*anIt).myName.latin1() );
attuneStdWidget( le, i );
le->setText( (*anIt).myValue.toString() );
connect( le, SIGNAL( textChanged( const QString& ) ), this, SLOT( onValueChanged() ) );
w = le;
}
break;
} }
break;
case QVariant::Double:
{
QtxDblSpinBox* sb = new SMESHGUI_SpinBox( GroupC1, (*anIt).myName.latin1() );
attuneStdWidget( sb, i );
sb->setValue( (*anIt).myValue.toDouble() );
connect( sb, SIGNAL( valueChanged( double ) ), this, SLOT( onValueChanged() ) );
w = sb;
}
break;
case QVariant::String:
{
QLineEdit* le = new QLineEdit( GroupC1, (*anIt).myName.latin1() );
attuneStdWidget( le, i );
le->setText( (*anIt).myValue.toString() );
connect( le, SIGNAL( textChanged( const QString& ) ), this, SLOT( onValueChanged() ) );
w = le;
}
break;
}
if( w ) if( w )
{ {
@ -224,7 +225,12 @@ bool SMESHGUI_GenericHypothesisCreator::getStdParamFromDlg( ListOfStdParams& par
params.append( item ); params.append( item );
} }
else else if ( getParamFromCustomWidget( item, *anIt ))
{
params.append( item );
}
else
res = false; res = false;
} }
return res; return res;
@ -273,10 +279,15 @@ QString SMESHGUI_GenericHypothesisCreator::type() const
{ {
return QString(); return QString();
} }
QWidget* SMESHGUI_GenericHypothesisCreator::getCustomWidget( const StdParam & /*param*/,
QWidget* /*parent*/) const
{
return 0;
}
bool SMESHGUI_GenericHypothesisCreator::getParamFromCustomWidget( StdParam& , QWidget* ) const
{
return false;
}

View File

@ -77,6 +77,8 @@ protected:
virtual bool stdParams ( ListOfStdParams& ) const; virtual bool stdParams ( ListOfStdParams& ) const;
bool getStdParamFromDlg( ListOfStdParams& ) const; bool getStdParamFromDlg( ListOfStdParams& ) const;
virtual void attuneStdWidget( QWidget*, const int ) const; virtual void attuneStdWidget( QWidget*, const int ) const;
virtual QWidget* getCustomWidget( const StdParam &, QWidget* ) const;
virtual bool getParamFromCustomWidget( StdParam& , QWidget* ) const;
virtual QString caption() const; virtual QString caption() const;
virtual QPixmap icon() const; virtual QPixmap icon() const;
virtual QString type() const; virtual QString type() const;