1 // Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 // SMESH SMESHGUI : GUI for SMESH component
23 // File : SMESHGUI_GroupOnShapeDlg.h
24 // Author : Edard AGAPOV
27 #ifndef SMESHGUI_GroupOnShapeDlg_H_H
28 #define SMESHGUI_GroupOnShapeDlg_H_H
30 #include "SMESH_SMESHGUI.hxx"
32 // #include "LightApp_SelectionMgr.h"
33 // //#include "SMESH_TypeFilter.hxx"
34 // #include "SUIT_SelectionFilter.h"
35 #include "SMESHGUI_SelectionOp.h"
38 // #include <qdialog.h>
39 // #include <qvaluelist.h>
53 class SMESHGUI_FilterDlg;
54 class SMESHGUI_ShapeByMeshOp;
57 class SVTK_ViewWindow;
58 class SMESHGUI_GroupOnShapeDlg;
60 //=================================================================================
61 // class : SMESHGUI_GroupOnShapeOp
62 // purpose : create groups on shapes of nodes and element at once, Issue 19970
63 //=================================================================================
65 class SMESHGUI_EXPORT SMESHGUI_GroupOnShapeOp : public SMESHGUI_SelectionOp
70 SMESHGUI_GroupOnShapeOp();
71 ~SMESHGUI_GroupOnShapeOp();
73 virtual LightApp_Dialog* dlg() const;
74 static QString GetDefaultName(const QString& theOperation);
80 virtual void startOperation();
81 virtual void selectionDone();
82 virtual SUIT_SelectionFilter* createFilter( const int ) const;
83 //virtual bool isValid( SUIT_Operation* ) const;
90 //void onSelectColor();
95 void setGroupColor( const SALOMEDS::Color& );
96 SALOMEDS::Color getGroupColor() const;
98 void setGroupQColor( const QColor& );
99 QColor getGroupQColor() const;
101 void setDefaultGroupColor();
105 SMESHGUI_GroupOnShapeDlg* myDlg;
108 QStringList myElemGeoIDs, myNodeGeoIDs;
109 //GEOM::ListOfGO_var myElemGObj;
112 class SMESHGUI_EXPORT SMESHGUI_GroupOnShapeDlg : public SMESHGUI_Dialog
117 SMESHGUI_GroupOnShapeDlg();
121 void updateButtons();
126 //QLineEdit* myGrpNameLine;
128 QPushButton* myMeshBtn;
129 QLineEdit* myMeshLine;
131 QPushButton* myElemGeomBtn;
132 QListBox* myElemGeomList;
134 QPushButton* myNodeGeomBtn;
135 QListBox* myNodeGeomList;
137 // QPushButton* myColorBtn;
139 // bool myCreate, myIsBusy;
141 // QString myHelpFileName;
143 friend class SMESHGUI_GroupOnShapeOp;
146 #endif // SMESHGUI_GroupOnShapeDlg_H_H