From e0d2d8d420543b743e061cf681a50fb9f716df31 Mon Sep 17 00:00:00 2001 From: dmv Date: Tue, 23 Mar 2010 14:57:14 +0000 Subject: [PATCH] IPAL21643 Point construction dialog appearance is wrong for 1st mode --- src/BasicGUI/BasicGUI_PointDlg.cxx | 32 +++++++++++++++++++----------- src/BasicGUI/BasicGUI_PointDlg.h | 3 ++- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/src/BasicGUI/BasicGUI_PointDlg.cxx b/src/BasicGUI/BasicGUI_PointDlg.cxx index 6dbd90b26..45ca5e8fa 100644 --- a/src/BasicGUI/BasicGUI_PointDlg.cxx +++ b/src/BasicGUI/BasicGUI_PointDlg.cxx @@ -43,6 +43,7 @@ #include #include #include +#include #include #include @@ -263,8 +264,7 @@ void BasicGUI_PointDlg::Init() connect( this, SIGNAL( constructorsClicked( int ) ), this, SLOT( ConstructorsClicked( int ) ) ); - connect( myParamCoord->button( PARAM_VALUE ), SIGNAL( clicked() ), this, SLOT( ClickParamCoord() ) ); - connect( myParamCoord->button( COORD_VALUE ), SIGNAL( clicked() ), this, SLOT( ClickParamCoord() ) ); + connect( myParamCoord, SIGNAL( buttonClicked( int ) ), this, SLOT( ClickParamCoord( int ) ) ); connect( GroupOnCurve->PushButton1, SIGNAL( clicked() ), this, SLOT( SetEditCurrentArgument() ) ); connect( GroupOnCurve->LineEdit1, SIGNAL( returnPressed() ), this, SLOT( LineEditReturnPressed() ) ); @@ -420,9 +420,7 @@ void BasicGUI_PointDlg::ConstructorsClicked(int constructorId) myY->setText( "" ); myZ->setText( "" ); - qApp->processEvents(); - updateGeometry(); - resize( 100, 100 ); + QTimer::singleShot(50, this, SLOT(updateSize())); SelectionIntoArgument(); } @@ -952,7 +950,7 @@ void BasicGUI_PointDlg::addSubshapesToStudy() // function : ClickParamCoord() // purpose : //================================================================================= -void BasicGUI_PointDlg::ClickParamCoord() +void BasicGUI_PointDlg::ClickParamCoord( int id ) { updateParamCoord( true ); displayPreview(); @@ -965,7 +963,6 @@ void BasicGUI_PointDlg::ClickParamCoord() void BasicGUI_PointDlg::updateParamCoord(bool theIsUpdate) { bool isParam = myParamCoord->checkedId() == PARAM_VALUE; - GroupXYZ->setShown( !isParam ); const int id = getConstructorId(); if ( id == GEOM_POINT_EDGE ) { @@ -978,11 +975,11 @@ void BasicGUI_PointDlg::updateParamCoord(bool theIsUpdate) GroupOnSurface->SpinBox_DX->setShown( isParam ); GroupOnSurface->SpinBox_DY->setShown( isParam ); } - if ( theIsUpdate ) { - qApp->processEvents(); - updateGeometry(); - resize( minimumSizeHint() ); - } + + GroupXYZ->setShown( !isParam ); + + if ( theIsUpdate ) + QTimer::singleShot(50, this, SLOT(updateSize())); } //================================================================================= @@ -1001,3 +998,14 @@ void BasicGUI_PointDlg::onBtnPopup( QAction* a ) localSelection( GEOM::GEOM_Object::_nil(), myNeedType ); } + +//================================================================================= +// function : updateSize +// purpose : adjust dialog size to minimum +//================================================================================= +void BasicGUI_PointDlg::updateSize() +{ + qApp->processEvents(); + updateGeometry(); + resize( minimumSizeHint() ); +} diff --git a/src/BasicGUI/BasicGUI_PointDlg.h b/src/BasicGUI/BasicGUI_PointDlg.h index f12f74bf1..4e145186d 100644 --- a/src/BasicGUI/BasicGUI_PointDlg.h +++ b/src/BasicGUI/BasicGUI_PointDlg.h @@ -111,8 +111,9 @@ private slots: void ConstructorsClicked( int ); void ValueChangedInSpinBox( double ); void SetDoubleSpinBoxStep( double ); - void ClickParamCoord(); + void ClickParamCoord( int ); void onBtnPopup( QAction* ); + void updateSize(); }; #endif // BASICGUI_POINTDLG_H -- 2.39.2