X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FGenerationGUI%2FGenerationGUI_PipeDlg.h;h=193a50189cfea2dbe64ed3a59bb3620e171bb17c;hb=d6f16273ade8fc4eba4d41c1ffa0d5d79baaf47b;hp=6df389000dec1fc6f5fa1f587326c6779dd63f4b;hpb=d3dd282390888d7dc091ba2c2ffe7923bd7458e6;p=modules%2Fgeom.git diff --git a/src/GenerationGUI/GenerationGUI_PipeDlg.h b/src/GenerationGUI/GenerationGUI_PipeDlg.h index 6df389000..193a50189 100644 --- a/src/GenerationGUI/GenerationGUI_PipeDlg.h +++ b/src/GenerationGUI/GenerationGUI_PipeDlg.h @@ -1,36 +1,40 @@ -// GEOM GEOMGUI : GUI for Geometry component +// Copyright (C) 2007-2021 CEA/DEN, EDF R&D, OPEN CASCADE // -// Copyright (C) 2003 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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// 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, 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 +// 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 : GenerationGUI_PipeDlg.h -// Author : Lucien PIGNOLONI -// Module : GEOM -// $Header$ -#ifndef DIALOGBOX_PIPE_H -#define DIALOGBOX_PIPE_H +// GEOM GEOMGUI : GUI for Geometry component +// File : GenerationGUI_PipeDlg.h +// Author : Lucien PIGNOLONI, Open CASCADE S.A.S. +// +#ifndef GENERATIONGUI_PIPEDLG_H +#define GENERATIONGUI_PIPEDLG_H #include "GEOMBase_Skeleton.h" -#include "DlgRef_2Sel_QTD.h" +#include "GEOM_GenericObjPtr.h" + +typedef std::map > ObjectMap; + + +class DlgRef_3Sel1Check; +class DlgRef_3Sel2Check3Spin; //================================================================================= // class : GenerationGUI_PipeDlg @@ -38,37 +42,60 @@ //================================================================================= class GenerationGUI_PipeDlg : public GEOMBase_Skeleton { - Q_OBJECT + Q_OBJECT public: - GenerationGUI_PipeDlg(QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0); - ~GenerationGUI_PipeDlg(); - + GenerationGUI_PipeDlg( GeometryGUI*, QWidget* = 0, bool = false, Qt::WindowFlags = 0 ); + ~GenerationGUI_PipeDlg(); + protected: - // redefined from GEOMBase_Helper - virtual GEOM::GEOM_IOperations_ptr createOperation(); - virtual bool isValid( QString& msg ); - virtual bool execute( ObjectList& objects ); + // redefined from GEOMBase_Helper + virtual GEOM::GEOM_IOperations_ptr createOperation(); + virtual bool isValid( QString& ); + virtual bool execute( ObjectList& ); + virtual void addSubshapesToStudy(); + virtual bool extractPrefix() const; + virtual void restoreSubShapes(SALOMEDS::SObject_ptr); + virtual QList getSourceObjects(); private: - void Init(); - void enterEvent(QEvent* e); - - GEOM::GEOM_Object_var myBase; /* Base shape */ - GEOM::GEOM_Object_var myPath; /* Shape, defining the path */ - bool myOkBase; - bool myOkPath ; /* to check when arguments are defined */ - - DlgRef_2Sel_QTD* GroupPoints; + void Init(); + void enterEvent( QEvent* ); + void updateGenGroup(); + void resetGenGroup + (QCheckBox *theGenGroup, + const bool isChecked, + const bool isClearPrefix); + void addGroups + (GEOM::ListOfGO_var &theResult); + +private: + QList myBaseObjects; /* Base shapes */ + GEOM::GeomObjPtr myPath; /* Shape, defining the path */ + GEOM::GeomObjPtr myVec; /* Vector, defining the constant binormal direction */ + QList myLocations; /* Locations on the path corresponding specified list of the Base shapes */ + + DlgRef_3Sel1Check* GroupPoints; + DlgRef_3Sel2Check3Spin* GroupMakePoints; + QCheckBox *myGenGroupCheckGP; + QLabel *myPrefixLblGP; + QLineEdit *myPrefixEditGP; + QCheckBox *myStepByStepCheckGMP; + QCheckBox *myGenGroupCheckGMP; + QLabel *myPrefixLblGMP; + QLineEdit *myPrefixEditGMP; + ObjectMap myGroupObjectsMap; private slots: - void ClickOnOk(); - bool ClickOnApply(); - void ActivateThisDialog(); - void LineEditReturnPressed(); - void SelectionIntoArgument(); - void SetEditCurrentArgument(); - + void ClickOnOk(); + bool ClickOnApply(); + void ActivateThisDialog(); + void SelectionIntoArgument(); + void SetEditCurrentArgument(); + void ConstructorsClicked( int ); + void SelectionTypeButtonClicked(); + void GenGroupClicked(bool); + void StepByStepClicked(bool); }; -#endif // DIALOGBOX_PIPE_H +#endif // GENERATIONGUI_PIPEDLG_H