X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_ShapeByMeshDlg.h;h=63477e34c0b608646e751e5e157b5189a148b971;hp=b90d006e466a44f84fbe9f493fe53ef73d3d6aae;hb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6;hpb=57b43b4d010e2d0a1529d3c131bbb9d416e63258 diff --git a/src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.h b/src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.h index b90d006e4..63477e34c 100644 --- a/src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.h +++ b/src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.h @@ -1,149 +1,115 @@ -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE // -// 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. +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // -// 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 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. // -// 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 +// 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. // -// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// 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 : SMESHGUI_ShapeByMeshDlg.h -// Author : Edward AGAPOV -// Module : SMESH +// File : SMESHGUI_ShapeByMeshDlg.h +// Author : Edward AGAPOV, Open CASCADE S.A.S. +// +#ifndef SMESHGUI_SHAPEBYMESHDLG_H +#define SMESHGUI_SHAPEBYMESHDLG_H -#ifndef SMESHGUI_ShapeByMeshDlg_H -#define SMESHGUI_ShapeByMeshDlg_H +// SMESH includes +#include "SMESH_SMESHGUI.hxx" #include "SMESHGUI_Dialog.h" #include "SMESHGUI_SelectionOp.h" -// IDL Headers +// IDL includes #include -#include CORBA_SERVER_HEADER(GEOM_Gen) #include CORBA_SERVER_HEADER(SMESH_Mesh) -class QCloseEvent; class QFrame; class QLineEdit; -class QPushButton; -class LightApp_SelectionMgr; -class SVTK_ViewWindow; class QButtonGroup; -class SMESHGUI; +class QGroupBox; /*! * \brief Dialog to publish a sub-shape of the mesh main shape * by selecting mesh elements */ -class SMESHGUI_ShapeByMeshDlg : public SMESHGUI_Dialog +class SMESHGUI_EXPORT SMESHGUI_ShapeByMeshDlg : public SMESHGUI_Dialog { Q_OBJECT public: - SMESHGUI_ShapeByMeshDlg(); - virtual ~SMESHGUI_ShapeByMeshDlg(); - -private: - -// void closeEvent (QCloseEvent* e); -// void enterEvent (QEvent*); + SMESHGUI_ShapeByMeshDlg(); + virtual ~SMESHGUI_ShapeByMeshDlg(); private: + QFrame* createMainFrame( QWidget* ); - //QFrame* createButtonFrame (QWidget*); - QFrame* createMainFrame (QWidget*); - //void displayPreview(); - //void erasePreview(); -private: - + QGroupBox* myElemTypeBox; QButtonGroup* myElemTypeGroup; QLineEdit* myElementId; QLineEdit* myGeomName; -// QPushButton* myOkBtn; -// QPushButton* myCloseBtn; - -// SMESHGUI* mySMESHGUI; -// LightApp_SelectionMgr* mySelectionMgr; -// SVTK_ViewWindow* myViewWindow; + bool myIsMultipleAllowed; + void setMultipleAllowed( bool ); friend class SMESHGUI_ShapeByMeshOp; }; +/*! + * \brief Operation to publish a sub-shape of the mesh main shape + * by selecting mesh elements + */ class SMESHGUI_ShapeByMeshOp: public SMESHGUI_SelectionOp { Q_OBJECT public: - SMESHGUI_ShapeByMeshOp(); + SMESHGUI_ShapeByMeshOp( bool = false ); virtual ~SMESHGUI_ShapeByMeshOp(); - virtual LightApp_Dialog* dlg() const; + virtual LightApp_Dialog* dlg() const; void Init(); - void SetMesh (SMESH::SMESH_Mesh_ptr); - SMESH::SMESH_Mesh_ptr GetMesh () { return myMesh; } + void SetMesh( SMESH::SMESH_Mesh_ptr ); + SMESH::SMESH_Mesh_ptr GetMesh(); GEOM::GEOM_Object_ptr GetShape(); protected: - - virtual void commitOperation(); - virtual void startOperation(); - //virtual void selectionDone(); - //virtual SUIT_SelectionFilter* createFilter( const int ) const; - //virtual bool isValid( SUIT_Operation* ) const; + virtual void commitOperation(); + virtual void startOperation(); void activateSelection(); - void setElementID(const QString&); - -/* signals: */ - -/* void PublishShape(); */ -/* void Close(); */ + void setElementID( const QString& ); protected slots: - - virtual bool onApply() { return true; } -/* void onCreateHyp( const int theHypType, const int theIndex ); */ -/* void onEditHyp( const int theHypType, const int theIndex ); */ -/* void onHypoSet( const QString& theSetName ); */ -/* void onGeomSelectionByMesh( bool ); */ -/* void onPublishShapeByMeshDlg(); */ -/* void onCloseShapeByMeshDlg(); */ + virtual bool onApply(); private slots: - -// void onOk(); -// void onClose(); - -// void onDeactivate(); - void onSelectionDone(); - void onTypeChanged (int); - void onElemIdChanged (const QString&); + void onTypeChanged( int ); + void onElemIdChanged( const QString& ); private: - SMESHGUI_ShapeByMeshDlg* myDlg; SMESH::SMESH_Mesh_var myMesh; GEOM::GEOM_Object_var myGeomObj; bool myIsManualIdEnter; bool myHasSolids; + bool myIsMultipleAllowed; }; #endif