X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_ShapeByMeshDlg.h;h=4eb3f6c2407c0dbaebd55b3a9d826effaa80aa2e;hb=062f1da5dde14e9ca8755c2eda44cbe8850f1d3a;hp=1f1a50c6e63174ba1082f4890693f9de520400ed;hpb=d0f366c4a3a66a71b0be94f7a6e2d146f80a94c4;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.h b/src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.h index 1f1a50c6e..4eb3f6c24 100644 --- a/src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.h +++ b/src/SMESHGUI/SMESHGUI_ShapeByMeshDlg.h @@ -1,4 +1,6 @@ -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// 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 // // This library is free software; you can redistribute it and/or @@ -15,101 +17,99 @@ // 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 -// -// +// 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 +#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 QDialog +class SMESHGUI_EXPORT SMESHGUI_ShapeByMeshDlg : public SMESHGUI_Dialog { Q_OBJECT public: - SMESHGUI_ShapeByMeshDlg( SMESHGUI* theModule, - const char* theName = 0); - virtual ~SMESHGUI_ShapeByMeshDlg(); - - void Init(); - void SetMesh (SMESH::SMESH_Mesh_ptr); - SMESH::SMESH_Mesh_ptr GetMesh () { return myMesh; } - GEOM::GEOM_Object_ptr GetShape(); - -signals: - - void PublishShape(); - void Close(); + SMESHGUI_ShapeByMeshDlg(); + virtual ~SMESHGUI_ShapeByMeshDlg(); private: + QFrame* createMainFrame( QWidget* ); - void closeEvent (QCloseEvent* e); - void enterEvent (QEvent*); + QGroupBox* myElemTypeBox; + QButtonGroup* myElemTypeGroup; + QLineEdit* myElementId; + QLineEdit* myGeomName; -private slots: + bool myIsMultipleAllowed; + void setMultipleAllowed( bool ); - void onOk(); - void onClose(); + friend class SMESHGUI_ShapeByMeshOp; +}; - void onDeactivate(); +/*! + * \brief Operation to publish a sub-shape of the mesh main shape + * by selecting mesh elements + */ +class SMESHGUI_ShapeByMeshOp: public SMESHGUI_SelectionOp +{ + Q_OBJECT - void onSelectionDone(); - void onTypeChanged (int); - void onElemIdChanged (const QString&); +public: + SMESHGUI_ShapeByMeshOp( bool = false ); + virtual ~SMESHGUI_ShapeByMeshOp(); -private: + virtual LightApp_Dialog* dlg() const; - QFrame* createButtonFrame (QWidget*); - QFrame* createMainFrame (QWidget*); - //void displayPreview(); - //void erasePreview(); - void activateSelection(); - void setElementID(const QString&); + void Init(); + void SetMesh( SMESH::SMESH_Mesh_ptr ); + SMESH::SMESH_Mesh_ptr GetMesh(); + GEOM::GEOM_Object_ptr GetShape(); -private: +protected: + virtual void commitOperation(); + virtual void startOperation(); - QButtonGroup* myElemTypeGroup; - QLineEdit* myElementId; - QLineEdit* myGeomName; + void activateSelection(); + void setElementID( const QString& ); - QPushButton* myOkBtn; - QPushButton* myCloseBtn; +protected slots: + virtual bool onApply(); - SMESHGUI* mySMESHGUI; - LightApp_SelectionMgr* mySelectionMgr; - SVTK_ViewWindow* myViewWindow; +private slots: + void onSelectionDone(); + 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