X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MeshPatternDlg.cxx;h=2ff82955f21c08879022ade7695a2847d77c9ac4;hp=a61175651a9172c7a9e45d7abb2d9b2d56578714;hb=88141f757b048eaa5aae0be49faaf274448bbcaf;hpb=ae29d465091933df101dfac6ae99d3becf4efde7 diff --git a/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx b/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx index a61175651..2ff82955f 100755 --- a/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx +++ b/src/SMESHGUI/SMESHGUI_MeshPatternDlg.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -119,17 +119,17 @@ SMESHGUI_MeshPatternDlg::SMESHGUI_MeshPatternDlg( SMESHGUI* theModule ) aDlgLay->setMargin( MARGIN ); aDlgLay->setSpacing( SPACING ); - QWidget* aMainFrame = createMainFrame ( this ); + myMainFrame = createMainFrame ( this ); QWidget* aBtnFrame = createButtonFrame( this ); - aDlgLay->addWidget( aMainFrame ); + aDlgLay->addWidget( myMainFrame ); aDlgLay->addWidget( aBtnFrame ); - aDlgLay->setStretchFactor( aMainFrame, 1 ); + aDlgLay->setStretchFactor( myMainFrame, 1 ); mySelector = (SMESH::GetViewWindow( mySMESHGUI ))->GetSelector(); - myHelpFileName = "pattern_mapping_page.html"; + myHelpFileName = "pattern_mapping.html"; Init(); } @@ -391,6 +391,8 @@ void SMESHGUI_MeshPatternDlg::Init() connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone())); connect(mySMESHGUI, SIGNAL(SignalDeactivateActiveDialog()), SLOT(onDeactivate())); connect(mySMESHGUI, SIGNAL(SignalCloseAllDialogs()), SLOT(reject())); + connect(mySMESHGUI, SIGNAL(SignalActivatedViewManager()), SLOT( onOpenView())); + connect(mySMESHGUI, SIGNAL(SignalCloseView()), SLOT( onCloseView())); myTypeGrp->button(Type_2d)->setChecked(true); onTypeChanged(Type_2d); @@ -558,6 +560,32 @@ void SMESHGUI_MeshPatternDlg::reject() QDialog::reject(); } +//================================================================================= +// function : onOpenView() +// purpose : +//================================================================================= +void SMESHGUI_MeshPatternDlg::onOpenView() +{ + if(!mySelector) { + mySelector = SMESH::GetViewWindow( mySMESHGUI )->GetSelector(); + mySMESHGUI->EmitSignalDeactivateDialog(); + setEnabled(true); + activateSelection(); + connect(mySelectionMgr, SIGNAL(currentSelectionChanged()), SLOT(onSelectionDone())); + } +} + +//================================================================================= +// function : onCloseView() +// purpose : +//================================================================================= +void SMESHGUI_MeshPatternDlg::onCloseView() +{ + onDeactivate(); + mySelector = 0; +} + + //================================================================================= // function : onHelp() // purpose : @@ -695,7 +723,7 @@ void SMESHGUI_MeshPatternDlg::resetSelInput() //======================================================================= // name : SMESHGUI_MeshPatternDlg::onDeactivate -// Purpose : SLOT called when dialog must be deativated +// Purpose : SLOT called when dialog must be deactivated //======================================================================= void SMESHGUI_MeshPatternDlg::onDeactivate() { @@ -715,8 +743,13 @@ void SMESHGUI_MeshPatternDlg::enterEvent (QEvent*) if (myIsCreateDlgOpen) return; - if (myReverseChk->isChecked()) + if (myReverseChk->isChecked()) { + SVTK_ViewWindow* aViewWindow = SMESH::GetViewWindow( mySMESHGUI ); + if ( aViewWindow && !mySelector) { + mySelector = aViewWindow->GetSelector(); + } displayPreview(); + } mySMESHGUI->EmitSignalDeactivateDialog(); setEnabled(true); activateSelection(); @@ -776,10 +809,10 @@ void SMESHGUI_MeshPatternDlg::onOpen() SUIT_FileDlg* aDlg = new SUIT_FileDlg (this, true); aDlg->setWindowTitle(tr("LOAD_PATTERN")); aDlg->setFileMode(QFileDialog::ExistingFile); - aDlg->setFilters(prepareFilters()); + aDlg->setNameFilters(prepareFilters()); if (!myName->text().isEmpty()) aDlg->selectFile(myName->text() + ".smp"); - QPushButton* anOkBtn = qFindChild( aDlg, "OK" ); + QPushButton* anOkBtn = aDlg->findChild( "OK" ); if (anOkBtn != 0) anOkBtn->setText(tr("SMESH_BUT_OK")); @@ -793,9 +826,9 @@ void SMESHGUI_MeshPatternDlg::onOpen() if (QFileInfo(fName).suffix().isEmpty()) fName = autoExtension(fName); - fName = QDir::convertSeparators(fName); + fName = QDir::toNativeSeparators(fName); - QString prev = QDir::convertSeparators(myName->text()); + QString prev = QDir::toNativeSeparators(myName->text()); if (prev == fName) return; @@ -1201,11 +1234,16 @@ void SMESHGUI_MeshPatternDlg::onTypeChanged (int theType) myNode2Lbl->show(); myNode2 ->show(); } - mySelInput = Mesh; activateSelection(); updateWgState(); displayPreview(); + myPicture2d->hide(); + myPicture2d->show(); + myPicture2d->resize(minimumSizeHint()); + myMainFrame->hide(); + myMainFrame->show(); + resize(minimumSizeHint()); } //======================================================================= @@ -1264,7 +1302,7 @@ vtkUnstructuredGrid* SMESHGUI_MeshPatternDlg::getGrid() for (int i = 0, n = elemPoints->length(); i < n; i++) aCellsSize += elemPoints[ i ].length(); - // Create unstructured grid and other usefull arrays + // Create unstructured grid and other useful arrays vtkUnstructuredGrid* aGrid = vtkUnstructuredGrid::New(); vtkCellArray* aConnectivity = vtkCellArray::New(); @@ -1331,8 +1369,10 @@ void SMESHGUI_MeshPatternDlg::onModeToggled (bool on) { on ? myRefineGrp->show() : myRefineGrp->hide(); on ? myGeomGrp->hide() : myGeomGrp->show(); - + myMainFrame->hide(); + myMainFrame->show(); displayPreview(); + resize(minimumSizeHint()); } //======================================================================= @@ -1360,7 +1400,7 @@ void SMESHGUI_MeshPatternDlg::onTextChanged (const QString& theNewText) activateSelection(); } - // hilight entered elements/nodes + // highlight entered elements/nodes SMDS_Mesh* aMesh = 0; SMESH_Actor* anActor = SMESH::FindActorByObject(myMesh); if (anActor)