X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MergeDlg.h;h=bf59266389a29d5000f7107631b1c5afbe51c813;hb=refs%2Fheads%2Fjfa%2Funiform_refinement;hp=dd9458d616b6c44bd658b356dcd53bc6a7a0c511;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MergeDlg.h b/src/SMESHGUI/SMESHGUI_MergeDlg.h index dd9458d61..bf5926638 100644 --- a/src/SMESHGUI/SMESHGUI_MergeDlg.h +++ b/src/SMESHGUI/SMESHGUI_MergeDlg.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 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 @@ -30,34 +30,37 @@ // SMESH includes #include "SMESH_SMESHGUI.hxx" -// Qt includes +// GUI and Qt includes #include +#include // OCCT includes #include +#include // STL includes #include +#include // IDL includes #include #include CORBA_SERVER_HEADER(SMESH_Mesh) +class LightApp_SelectionMgr; +class QButtonGroup; +class QCheckBox; class QGroupBox; class QLabel; class QLineEdit; +class QListWidget; class QPushButton; class QRadioButton; -class QCheckBox; -class QListWidget; -class QButtonGroup; class SMESHGUI; +class SMESHGUI_IdPreview; class SMESHGUI_SpinBox; class SMESH_Actor; -class SVTK_Selector; -class LightApp_SelectionMgr; class SUIT_SelectionFilter; -class TColStd_MapOfInteger; +class SVTK_Selector; namespace SMESH { @@ -70,47 +73,55 @@ namespace SMESH //================================================================================= class SMESHGUI_EXPORT SMESHGUI_MergeDlg : public QDialog { - Q_OBJECT; + Q_OBJECT public: SMESHGUI_MergeDlg( SMESHGUI*, int ); ~SMESHGUI_MergeDlg(); + static QPixmap IconFirst(); + private: void Init(); - void closeEvent( QCloseEvent* ); void enterEvent( QEvent* ); /* mouse enter the QWidget */ - void hideEvent( QHideEvent* ); /* ESC key */ void keyPressEvent( QKeyEvent* ); void onEditGroup(); + bool isKeepIDsSelection(); + bool isNewKeepGroup( const char* entry ); - void FindGravityCenter( TColStd_MapOfInteger&, + void FindGravityCenter( SVTK_TVtkIDsMap&, + std::vector& , std::list& ); // add the centers of gravity of ElemsIdMap elements to the GrCentersXYZ list private: typedef QList GrpList; - SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ - LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ - SVTK_Selector* mySelector; + SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ + LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ + SVTK_Selector* mySelector; - QWidget* myEditCurrentArgument; + QWidget* myEditCurrentArgument; + + SMESH::SMESH_Mesh_var myMesh; + SMESH::ListOfIDSources_var mySubMeshOrGroups; + GrpList myGroups; + QString myEntry; - SMESH::SMESH_Mesh_var myMesh; - SMESH::SMESH_IDSource_var mySubMeshOrGroup; - SMESH_Actor* myActor; - SUIT_SelectionFilter* myMeshOrSubMeshOrGroupFilter; + SMESH_Actor* myActor; + SUIT_SelectionFilter* myMeshOrSubMeshOrGroupFilter; + SUIT_SelectionFilter* mySubMeshOrGroupFilter; - SMESH::TIdPreview* myIdPreview; + SMESHGUI_IdPreview* myIdPreview; + QString myHelpFileName; + + int myAction; + bool myIsBusy; + int myTypeId; // manual(1) or automatic(0) + - int myAction; - bool myIsBusy; - int myTypeId; // Widgets - QGroupBox* GroupConstructors; - QRadioButton* RadioButton; QGroupBox* GroupButtons; QPushButton* buttonOk; @@ -123,15 +134,19 @@ private: QPushButton* SelectMeshButton; QLineEdit* LineEditMesh; - QGroupBox* GroupCoincident; - QWidget* GroupCoincidentWidget; - QLabel* TextLabelTolerance; + QWidget* NodeSpecWidget; SMESHGUI_SpinBox* SpinBoxTolerance; + QCheckBox* SeparateCornersAndMedium; + QCheckBox* AvoidMakingHoles; + + QGroupBox* GroupCoincident; + //QWidget* GroupCoincidentWidget; QPushButton* DetectButton; QListWidget* ListCoincident; QPushButton* AddGroupButton; QPushButton* RemoveGroupButton; QCheckBox* SelectAllCB; + QCheckBox* ShowIDs; QGroupBox* GroupEdit; QListWidget* ListEdit; @@ -142,21 +157,29 @@ private: QGroupBox* GroupExclude; QListWidget* ListExclude; + QGroupBox* GroupKeep; + QButtonGroup* KeepFromButGroup; + QPushButton* SelectKeepButton; + QPushButton* AddKeepButton; + QPushButton* RemoveKeepButton; + QListWidget* KeepList; + QGroupBox* TypeBox; QButtonGroup* GroupType; - - QString myHelpFileName; - QString myEntry; - GrpList myGroups; +protected slots: + virtual void reject(); private slots: void ClickOnOk(); - void ClickOnCancel(); bool ClickOnApply(); void ClickOnHelp(); void updateControls(); void onDetect(); + void onAddKeep(); + void onRemoveKeep(); + void onSelectKeep(); + void onKeepSourceChanged(int); void onAddGroup(); void onRemoveGroup(); void onSelectGroup(); @@ -170,6 +193,8 @@ private: void DeactivateActiveDialog(); void ActivateThisDialog(); void onTypeChanged(int); + void onOpenView(); + void onCloseView(); }; #endif // SMESHGUI_MergeDlg_H