X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGroupGUI%2FGroupGUI_GroupDlg.h;h=49faaa0e0c90479f6820d7fbae82fe11335e9a09;hb=92fe1b6a7851c289d93d2f82199680e71bf4ed25;hp=337d0da4f08976d2376f56e19779ed4b0b7e6295;hpb=dd69f2ef27dc8f4e8d1c4df8ee2a8f44ec4bfd67;p=modules%2Fgeom.git diff --git a/src/GroupGUI/GroupGUI_GroupDlg.h b/src/GroupGUI/GroupGUI_GroupDlg.h index 337d0da4f..49faaa0e0 100644 --- a/src/GroupGUI/GroupGUI_GroupDlg.h +++ b/src/GroupGUI/GroupGUI_GroupDlg.h @@ -1,28 +1,29 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2011 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 -// -// GEOM GEOMGUI : GUI for Geometry component -// File : GroupGUI_GroupDlg.h -// Author : Sergey ANIKIN, Open CASCADE S.A.S. (sergey.anikin@opencascade.com) +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + +// GEOM GEOMGUI : GUI for Geometry component +// File : GroupGUI_GroupDlg.h +// Author : Sergey ANIKIN, Open CASCADE S.A.S. (sergey.anikin@opencascade.com) + #ifndef GROUPGUI_GROUPDLG_H #define GROUPGUI_GROUPDLG_H @@ -30,6 +31,7 @@ #include #include +#include class QGroupBox; class QLineEdit; @@ -50,48 +52,51 @@ public: EditGroup } Mode; - GroupGUI_GroupDlg( Mode mode, GeometryGUI*, QWidget* parent = 0 ); + GroupGUI_GroupDlg (Mode mode, GeometryGUI*, QWidget* parent = 0); ~GroupGUI_GroupDlg(); protected: // redefined from GEOMBase_Helper virtual GEOM::GEOM_IOperations_ptr createOperation(); - virtual bool isValid( QString& ); - virtual bool execute( ObjectList& ); - virtual GEOM::GEOM_Object_ptr getFather( GEOM::GEOM_Object_ptr ); - - void closeEvent( QCloseEvent* ); + virtual bool isValid (QString&); + virtual bool execute (ObjectList&); + virtual GEOM::GEOM_Object_ptr getFather (GEOM::GEOM_Object_ptr); + + void closeEvent (QCloseEvent*); private slots: void ClickOnOk(); bool ClickOnApply(); void ActivateThisDialog(); - void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); - void ConstructorsClicked( int ); - + void ConstructorsClicked(int); + void selectAllSubShapes(); void add(); void remove(); + void showOnlySelected(); void selectionChanged(); - + private: void Init(); - void enterEvent( QEvent* ); - int subSelectionWay() const; + void enterEvent (QEvent*); + + int subSelectionWay() const; TopAbs_ShapeEnum getShapeType() const; - void setShapeType( const TopAbs_ShapeEnum ); + void setShapeType (const TopAbs_ShapeEnum); void activateSelection(); - void updateState(); + void updateState (bool isAdd = false); void highlightSubShapes(); void onGetInPlace(); - void setInPlaceObj( GEOM::GEOM_Object_var, const bool isVisible=1); + void setInPlaceObj (GEOM::GEOM_Object_var, const bool isVisible=1); + int getSelectedSubshapes (TColStd_IndexedMapOfInteger& theMapIndex); private: Mode myMode; bool myBusy; bool myIsShapeType; + bool myIsHiddenMain; GEOM::GEOM_Object_var myMainObj; GEOM::GEOM_Object_var myGroup; GEOM::GEOM_Object_var myInPlaceObj; @@ -102,11 +107,14 @@ private: QLineEdit* myMainName; QPushButton* mySelBtn2; QLineEdit* myShape2Name; - QGroupBox* mySelectionWayGroupBox; - QButtonGroup* mySelectionWayGroup; + QGroupBox* myRestrictGroupBox; + QButtonGroup* myRestrictGroup; QPushButton* mySelAllBtn; QPushButton* myAddBtn; QPushButton* myRemBtn; + QPushButton* myShowOnlyBtn; + QPushButton* myHideSelBtn; + QPushButton* myShowAllBtn; QListWidget* myIdList; };