X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FGroupGUI%2FGroupGUI_GroupDlg.h;h=d33bb51439178275151c1076ae7b640f65c96f6d;hb=614185e8fd155a9af27fb7c31cf2bf6fc51d3d24;hp=a42fad91e6ec2aadc953f77ff7b60afce66de64f;hpb=9499b99fe2dcb53e1ea364f97986f8f432b04600;p=modules%2Fgeom.git diff --git a/src/GroupGUI/GroupGUI_GroupDlg.h b/src/GroupGUI/GroupGUI_GroupDlg.h index a42fad91e..d33bb5143 100644 --- a/src/GroupGUI/GroupGUI_GroupDlg.h +++ b/src/GroupGUI/GroupGUI_GroupDlg.h @@ -1,39 +1,42 @@ -// GEOM GEOMGUI : GUI for Geometry component +// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2004 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 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 -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// 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 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 +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// File : GroupGUI_GroupDlg.h -// Author : Sergey ANIKIN -// Module : GEOM +// 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 -#include "GEOMBase_Skeleton.h" +#include #include +#include +#include +class QGroupBox; class QLineEdit; -class QListBox; +class QListWidget; +class QButtonGroup; //================================================================================= // class : GroupGUI_GroupDlg @@ -41,61 +44,76 @@ class QListBox; //================================================================================= class GroupGUI_GroupDlg : public GEOMBase_Skeleton { - Q_OBJECT + Q_OBJECT public: - typedef enum { - CreateGroup, - EditGroup - } Mode; + typedef enum { + CreateGroup, + EditGroup + } Mode; - GroupGUI_GroupDlg(Mode mode, GeometryGUI*, QWidget* parent = 0); - ~GroupGUI_GroupDlg(); + 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& msg ); - virtual bool execute( ObjectList& objects ); - virtual GEOM::GEOM_Object_ptr getFather( GEOM::GEOM_Object_ptr theObj ); + // 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* ); private slots: - void ClickOnOk(); - bool ClickOnApply(); - void ActivateThisDialog(); - void LineEditReturnPressed(); - void SelectionIntoArgument(); - void SetEditCurrentArgument(); - void ConstructorsClicked( int constructorId ); + void ClickOnOk(); + bool ClickOnApply(); + void ActivateThisDialog(); + void SelectionIntoArgument(); + void SetEditCurrentArgument(); + void ConstructorsClicked( int ); - void selectAllSubShapes(); - void add(); - void remove(); - void selectionChanged(); + void selectAllSubShapes(); + void add(); + void remove(); + void showOnlySelected(); + void selectionChanged(); private: - void Init(); - void enterEvent( QEvent* e ); - int getConstructorId() const; - TopAbs_ShapeEnum getShapeType() const; - void setShapeType( const TopAbs_ShapeEnum ); - void activateSelection(); - void updateState(); - void highlightSubShapes(); + void Init(); + void enterEvent( QEvent* ); + int subSelectionWay() const; + TopAbs_ShapeEnum getShapeType() const; + void setShapeType( const TopAbs_ShapeEnum ); + void activateSelection(); + void updateState(bool isAdd = false); + void highlightSubShapes(); + void onGetInPlace(); + void setInPlaceObj( GEOM::GEOM_Object_var, const bool isVisible=1); + int getSelectedSubshapes (TColStd_IndexedMapOfInteger& theMapIndex); private: - Mode myMode; - bool myBusy; - GEOM::GEOM_Object_var myMainObj; - GEOM::GEOM_Object_var myGroup; + Mode myMode; + bool myBusy; + bool myIsShapeType; + GEOM::GEOM_Object_var myMainObj; + GEOM::GEOM_Object_var myGroup; + GEOM::GEOM_Object_var myInPlaceObj; + int myInPlaceObjSelectState; + TColStd_DataMapOfIntegerInteger myMain2InPlaceIndices; - QPushButton* mySelBtn; - QLineEdit* myMainName; - QPushButton* mySelSubBtn; - QPushButton* mySelAllBtn; - QPushButton* myAddBtn; - QPushButton* myRemBtn; - QListBox* myIdList; + QPushButton* mySelBtn; + QLineEdit* myMainName; + QPushButton* mySelBtn2; + QLineEdit* myShape2Name; + QGroupBox* myRestrictGroupBox; + QButtonGroup* myRestrictGroup; + QPushButton* mySelAllBtn; + QPushButton* myAddBtn; + QPushButton* myRemBtn; + QPushButton* myShowOnlyBtn; + QPushButton* myHideSelBtn; + QPushButton* myShowAllBtn; + QListWidget* myIdList; }; #endif