X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_AddMeshElementDlg.cxx;h=44cba417c84887f55bb10c98755ca80dc2c491db;hp=734ab30502a882759807644bd90044470477faa2;hb=5c19bc1e1684ec6a466423361949ed7b60556968;hpb=251f8c052dd12dd29922210dc901b295fe999a0e diff --git a/src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx b/src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx index 734ab3050..44cba417c 100644 --- a/src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_AddMeshElementDlg.cxx @@ -169,7 +169,8 @@ namespace SMESH // Preview for the balls vtkProperty* aBallProp = vtkProperty::New(); aBallProp->SetColor(ffc.red() / 255. , ffc.green() / 255. , ffc.blue() / 255.); - double aBallElemSize = SMESH::GetFloat("SMESH:ball_elem_size",10); + //double aBallElemSize = SMESH::GetFloat("SMESH:ball_elem_size",10); + double aBallElemSize = SMESH::GetFloat("SMESH:ball_elem_diameter",1); aBallProp->SetPointSize(aBallElemSize); myBallPolyData = vtkPolyData::New(); @@ -427,7 +428,7 @@ SMESHGUI_AddMeshElementDlg::SMESHGUI_AddMeshElementDlg( SMESHGUI* theMo GroupC1Layout->addWidget(DiameterSpinBox, 1, 1, 1, 2); DiameterSpinBox->RangeStepAndValidator( 1e-7, 1e+9, 0.1 ); - DiameterSpinBox->SetValue( 1. ); + DiameterSpinBox->SetValue( SMESH::GetFloat("SMESH:ball_elem_diameter", 1) ); connect( DiameterSpinBox, SIGNAL( valueChanged ( double ) ), this, SLOT( onDiameterChanged( ) ) ); } /* Add to group ************************************************/ @@ -514,10 +515,13 @@ void SMESHGUI_AddMeshElementDlg::Init() connect(SelectButtonC1A1,SIGNAL(clicked()), SLOT(SetEditCurrentArgument())); connect(LineEditC1A1, SIGNAL(textChanged(const QString&)), SLOT(onTextChange(const QString&))); connect(mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()),SLOT(DeactivateActiveDialog())); + connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(SelectionIntoArgument())); /* to close dialog if study frame change */ connect(mySMESHGUI, SIGNAL(SignalStudyFrameChanged()), SLOT(reject())); - connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(reject())); + connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(reject())); + connect(mySMESHGUI, SIGNAL(SignalActivatedViewManager()), SLOT(onOpenView())); + connect(mySMESHGUI, SIGNAL(SignalCloseView()), SLOT(onCloseView())); if (Reverse) connect(Reverse, SIGNAL(stateChanged(int)), SLOT(CheckBox(int))); @@ -941,9 +945,15 @@ void SMESHGUI_AddMeshElementDlg::ActivateThisDialog() //================================================================================= void SMESHGUI_AddMeshElementDlg::enterEvent (QEvent*) { - if (GroupConstructors->isEnabled()) - return; - ActivateThisDialog(); + if ( !GroupConstructors->isEnabled() ) { + SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ); + if ( aViewWindow && !mySelector && !mySimulation) { + mySelector = aViewWindow->GetSelector(); + mySimulation = new SMESH::TElementSimulation( + dynamic_cast( mySMESHGUI->application() ) ); + } + ActivateThisDialog(); + } } //================================================================================= @@ -978,7 +988,7 @@ void SMESHGUI_AddMeshElementDlg::keyPressEvent( QKeyEvent* e ) } //================================================================================= -// function : isValid +// function : onDiameterChanged() // purpose : //================================================================================= void SMESHGUI_AddMeshElementDlg::onDiameterChanged(){ @@ -986,7 +996,37 @@ void SMESHGUI_AddMeshElementDlg::onDiameterChanged(){ } //================================================================================= -// function : isValid +// function : onOpenView() +// purpose : +//================================================================================= +void SMESHGUI_AddMeshElementDlg::onOpenView() +{ + if ( mySelector && mySimulation ) { + mySimulation->SetVisibility(false); + SMESH::SetPointRepresentation(false); + } + else { + mySelector = SMESH::GetViewWindow( mySMESHGUI )->GetSelector(); + mySimulation = new SMESH::TElementSimulation( + dynamic_cast( mySMESHGUI->application() ) ); + ActivateThisDialog(); + } +} + +//================================================================================= +// function : onCloseView() +// purpose : +//================================================================================= +void SMESHGUI_AddMeshElementDlg::onCloseView() +{ + DeactivateActiveDialog(); + mySelector = 0; + delete mySimulation; + mySimulation = 0; +} + +//================================================================================= +// function : isValid() // purpose : //================================================================================= bool SMESHGUI_AddMeshElementDlg::isValid()