X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_GroupDlg.h;h=638699e19db5bd8633724ba75d64f40770bb5848;hb=refs%2Ftags%2FdistribGeom_28Feb13;hp=4c5ebbe38e86d95f7262b7da07bb354a82d11f73;hpb=425391ca7c93d64b6a268241cad83b59756372dc;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_GroupDlg.h b/src/SMESHGUI/SMESHGUI_GroupDlg.h index 4c5ebbe38..638699e19 100644 --- a/src/SMESHGUI/SMESHGUI_GroupDlg.h +++ b/src/SMESHGUI/SMESHGUI_GroupDlg.h @@ -1,24 +1,25 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2012 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 +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // -// 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. +// 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. // -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // SMESH SMESHGUI : GUI for SMESH component // File : SMESHGUI_GroupDlg.h // Author : Natalia KOPNOVA, Open CASCADE S.A.S. @@ -38,7 +39,10 @@ #include #include CORBA_SERVER_HEADER(SMESH_Mesh) #include CORBA_SERVER_HEADER(SMESH_Group) +#include CORBA_SERVER_HEADER(SMESH_Filter) +class QGroupBox; +class QLabel; class QLineEdit; class QButtonGroup; class QListWidget; @@ -57,6 +61,7 @@ class SUIT_Operation; class SVTK_Selector; class SUIT_SelectionFilter; class LightApp_SelectionMgr; +class SMESH_LogicalFilter; //================================================================================= // class : SMESHGUI_GroupDlg @@ -80,13 +85,15 @@ public slots: void onAdd(); void onRemove(); +protected slots: + virtual void reject(); + private slots: void onTypeChanged( int ); void onGrpTypeChanged( int ); void onColorChanged( QColor ); void onOK(); - void onClose(); bool onApply(); void onHelp(); void onDeactivate(); @@ -95,6 +102,7 @@ private slots: void onListSelectionChanged(); void onObjectSelectionChanged(); + void onSelectAll(); void onSelectSubMesh( bool ); void onSelectGroup( bool ); void onSelectGeomGroup( bool ); @@ -117,9 +125,7 @@ private: void init( SMESH::SMESH_Mesh_ptr ); void init( SMESH::SMESH_GroupBase_ptr, const bool theIsConvert = false ); - void closeEvent( QCloseEvent* ); void enterEvent( QEvent* ); - void hideEvent( QHideEvent* ); /* ESC key */ void keyPressEvent( QKeyEvent* ); void setSelectionMode( int ); void updateButtons(); @@ -127,15 +133,22 @@ private: bool SetAppropriateActor(); void setShowEntityMode(); void restoreShowEntityMode(); + + bool IsActorVisible( SMESH_Actor* ); void setGroupColor( const SALOMEDS::Color& ); SALOMEDS::Color getGroupColor() const; void setGroupQColor( const QColor& ); QColor getGroupQColor() const; - + void setDefaultName() const; void setDefaultGroupColor(); - + + void setIsApplyAndClose( const bool theFlag ); + bool isApplyAndClose() const; + + private: + SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ int myGrpTypeId; /* Current group type id : standalone or group on geometry */ @@ -154,13 +167,19 @@ private: QButtonGroup* myGrpTypeGroup; QStackedWidget* myWGStack; + QCheckBox* mySelectAll; + QCheckBox* myAllowElemsModif; + QLabel* myElementsLab; QListWidget* myElements; - QPushButton* myFilter; + QPushButton* myFilterBtn; + QPushButton* myAddBtn; + QPushButton* myRemoveBtn; + QPushButton* mySortBtn; + QGroupBox* mySelectBox; QCheckBox* mySelectSubMesh; QPushButton* mySubMeshBtn; QLineEdit* mySubMeshLine; - QCheckBox* mySelectGroup; QPushButton* myGroupBtn; QLineEdit* myGroupLine; @@ -183,6 +202,8 @@ private: QList myActorsList; SMESH::SMESH_Group_var myGroup; SMESH::SMESH_GroupOnGeom_var myGroupOnGeom; + SMESH::SMESH_GroupOnFilter_var myGroupOnFilter; + SMESH::Filter_var myFilter; QList myIdList; GEOM::ListOfGO_var myGeomObjects; @@ -191,8 +212,8 @@ private: //Handle(SMESH_TypeFilter) mySubMeshFilter; //Handle(SMESH_TypeFilter) myGroupFilter; SUIT_SelectionFilter* myMeshFilter; - SUIT_SelectionFilter* mySubMeshFilter; - SUIT_SelectionFilter* myGroupFilter; + SMESH_LogicalFilter* mySubMeshFilter; + SMESH_LogicalFilter* myGroupFilter; SUIT_SelectionFilter* myGeomFilter; SMESHGUI_FilterDlg* myFilterDlg; @@ -204,6 +225,10 @@ private: QMap myActions; bool myNameChanged; //added by skl for IPAL19574 + int myNbChangesOfContents; // nb add's and remove's + + QString myObjectToSelect; + bool myIsApplyAndClose; }; #endif // SMESHGUI_GROUPDLG_H