X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_GroupDlg.h;h=f5d9430b507717f229d4ec8b8ad972fe1be881ee;hb=b1e72cfac7a6d0d0f603e7e868b75c50b335ddd2;hp=303c382235f5b8e0e7ff2bc3679ccd3ee5a8bddc;hpb=1335ea88437f94da949b901919146911db3aebcb;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_GroupDlg.h b/src/SMESHGUI/SMESHGUI_GroupDlg.h index 303c38223..f5d9430b5 100644 --- a/src/SMESHGUI/SMESHGUI_GroupDlg.h +++ b/src/SMESHGUI/SMESHGUI_GroupDlg.h @@ -28,6 +28,8 @@ #ifndef DIALOGBOX_GROUP_H #define DIALOGBOX_GROUP_H +#include "SMESH_SMESHGUI.hxx" + #include "LightApp_SelectionMgr.h" //#include "SMESH_TypeFilter.hxx" #include "SUIT_SelectionFilter.h" @@ -45,13 +47,17 @@ class QLineEdit; class QButtonGroup; class QGroupBox; class QListBox; +class QPopupMenu; class QPushButton; +class QToolButton; class QCheckBox; class QWidgetStack; class QtxIntSpinBox; class SMESHGUI; class SMESH_Actor; class SMESHGUI_FilterDlg; +class SMESHGUI_ShapeByMeshOp; +class SUIT_Operation; class SVTK_Selector; class SVTK_ViewWindow; @@ -59,7 +65,7 @@ class SVTK_ViewWindow; // class : SMESHGUI_GroupDlg // purpose : //================================================================================= -class SMESHGUI_GroupDlg : public QDialog +class SMESHGUI_EXPORT SMESHGUI_GroupDlg : public QDialog { Q_OBJECT @@ -74,6 +80,8 @@ public: bool modal = FALSE, WFlags fl = 0 ); ~SMESHGUI_GroupDlg(); + static QString GetDefaultName(const QString& theOperation); + public slots: void onAdd(); @@ -97,16 +105,22 @@ private slots: void onSelectSubMesh(bool on); void onSelectGroup(bool on); void onSelectGeomGroup(bool on); - void onSelectColorGroup(bool on); void setCurrentSelection(); void setFilters(); void onSort(); void onNameChanged(const QString& text); - void onNbColorsChanged(const QString& text); void onFilterAccepted(); + void onSelectColor(); + + void onGeomPopup( int ); + void onGeomSelectionButton( bool ); + + void onPublishShapeByMeshDlg(SUIT_Operation*); + void onCloseShapeByMeshDlg(SUIT_Operation*); + private: void initDialog(bool create); void init(SMESH::SMESH_Mesh_ptr theMesh); @@ -117,6 +131,15 @@ private: void keyPressEvent(QKeyEvent*); void setSelectionMode(int theMode); void updateButtons(); + void updateGeomPopup(); + + void setGroupColor( const SALOMEDS::Color& ); + SALOMEDS::Color getGroupColor() const; + + void setGroupQColor( const QColor& ); + QColor getGroupQColor() const; + + void setDefaultGroupColor(); SMESHGUI* mySMESHGUI; /* Current SMESHGUI object */ LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */ @@ -131,6 +154,7 @@ private: QButtonGroup* myTypeGroup; QLineEdit* myName; + QString myOldName; QButtonGroup* myGrpTypeGroup; @@ -146,18 +170,20 @@ private: QPushButton* myGroupBtn; QLineEdit* myGroupLine; - QCheckBox* mySelectColorGroup; - QtxIntSpinBox* myColorSpinBox; + QPushButton* myColorBtn; QCheckBox* mySelectGeomGroup; - QPushButton* myGeomGroupBtn; + QToolButton* myGeomGroupBtn; QLineEdit* myGeomGroupLine; + QPopupMenu* myGeomPopup; + + SMESHGUI_ShapeByMeshOp* myShapeByMeshOp; SMESH::SMESH_Mesh_var myMesh; SMESH::SMESH_Group_var myGroup; SMESH::SMESH_GroupOnGeom_var myGroupOnGeom; QValueList myIdList; - GEOM::GEOM_Object_var myGeomGroup; + GEOM::ListOfGO_var myGeomObjects; int mySelectionMode; //Handle(SMESH_TypeFilter) myMeshFilter; @@ -166,6 +192,7 @@ private: SUIT_SelectionFilter* myMeshFilter; SUIT_SelectionFilter* mySubMeshFilter; SUIT_SelectionFilter* myGroupFilter; + SUIT_SelectionFilter* myGeomFilter; SMESHGUI_FilterDlg* myFilterDlg;