X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_SewingDlg.h;h=ecc0f5200f31b45d2235f912f3d833f1f4659451;hp=e34ad4a46efc7aef9ac969584f46ca5c79ba13d8;hb=e85e13ee2a8e2484050471ff8e4dea298abe481a;hpb=bd8f1aee7c78f7d2eb82bd4fec5e08c9e3d280ce diff --git a/src/SMESHGUI/SMESHGUI_SewingDlg.h b/src/SMESHGUI/SMESHGUI_SewingDlg.h index e34ad4a46..ecc0f5200 100644 --- a/src/SMESHGUI/SMESHGUI_SewingDlg.h +++ b/src/SMESHGUI/SMESHGUI_SewingDlg.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -36,6 +36,9 @@ // IDL includes #include #include CORBA_SERVER_HEADER(SMESH_Mesh) +#include CORBA_SERVER_HEADER(SMESH_MeshEditor) + +#include class QButtonGroup; class QGroupBox; @@ -48,6 +51,10 @@ class SMESHGUI; class SMESH_Actor; class SVTK_Selector; class LightApp_SelectionMgr; +class SMESHGUI_SpinBox; +class SalomeApp_IntSpinBox; +class QListWidget; +class QListWidgetItem; //================================================================================= // class : SMESHGUI_SewingDlg @@ -67,7 +74,8 @@ private: void keyPressEvent( QKeyEvent* ); int GetConstructorId(); bool IsValid(); - + void UpdateButtons(); + SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ int myOk1, myOk2, myOk3, myOk4, myOk5, myOk6; @@ -114,13 +122,67 @@ private: QCheckBox* CheckBoxPolygons; QCheckBox* CheckBoxPolyedrs; + QWidget* SewFreeBordersWidget; + QGroupBox* ModeGroup; + QButtonGroup* ModeButGrp; + //QPushButton* SelectMeshButton; + QLineEdit* LineEditMesh; + + SMESHGUI_SpinBox* SpinBoxTolerance; + QCheckBox* AutoSewCheck; + + QWidget* GroupCoincidentWidget; + QListWidget* ListCoincident; + QPushButton* DetectButton; + QPushButton* RemoveGroupButton; + QCheckBox* SelectAllCheck; + + QListWidget* ListEdit; + QButtonGroup* MoveBorderEndsButGrp; + QLineEdit* BorderEndLine[2]; + QPushButton* SwapBut; + QPushButton* SetFirstButton; + QPushButton* RemoveElemButton; + SalomeApp_IntSpinBox* StepSpin; + QString myHelpFileName; -protected slots: + + struct BorderGroupDisplayer; + std::vector< BorderGroupDisplayer* > myBorderDisplayers; + SMESH::CoincidentFreeBorders_var myBorders; + int myCurGroupIndex; + int myCurPartIndex; + int myStoredRepresentation; + unsigned int myStoredEntityMode; + + bool haveBorders(); + QString getGroupText( int groupIndex ); + QString getPartText( const SMESH::FreeBorderPart& part ); + void showGroup( QListWidgetItem* item ); + bool setCurrentGroup(); + bool setCurrentPart(); + void onGroupChange(bool partChange=false); + void setDisplayMode(); + void restoreDisplayMode(); + + + protected slots: virtual void reject(); -private slots: + private slots: void ConstructorsClicked( int ); + void onModeChange( int ); + void onAutoSew( int ); + void onDetectClicked(); + void onRemoveGroupClicked(); + void onSelectGroup(); + void onSelectAll(int); + void onSelectBorderPartFromGroup(); + void onSetFirstClicked(); + void onRemoveElemClicked(); + void onMoveBorderEnd(int); + void onSwapClicked(); void ClickOnOk(); bool ClickOnApply(); void ClickOnHelp(); @@ -129,6 +191,8 @@ private slots: void DeactivateActiveDialog(); void ActivateThisDialog(); void onTextChange( const QString& ); + void onOpenView(); + void onCloseView(); }; #endif // SMESHGUI_SEWINGDLG_H