Version: 9.12.0
SMESHGUI_OffsetDlg.h
Go to the documentation of this file.
1 // Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
2 //
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
7 //
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
12 //
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 //
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 //
19 
20 // SMESH SMESHGUI : GUI for SMESH component
21 // File : SMESHGUI_OffsetDlg.h
22 //
23 #ifndef SMESHGUI_OffsetDLG_H
24 #define SMESHGUI_OffsetDLG_H
25 
26 // SMESH includes
27 #include "SMESH_SMESHGUI.hxx"
28 #include "SMESHGUI_PreviewDlg.h"
29 
30 // IDL includes
31 #include <SALOMEconfig.h>
32 #include CORBA_SERVER_HEADER(SMESH_Mesh)
33 
34 class QButtonGroup;
35 class QGroupBox;
36 class QLabel;
37 class QLineEdit;
38 class QPushButton;
39 class QRadioButton;
40 class QCheckBox;
41 class SMESHGUI;
43 class SMESHGUI_SpinBox;
44 class SMESHGUI_FilterDlg;
45 class SMESH_Actor;
46 class SVTK_Selector;
47 class LightApp_SelectionMgr;
49 
50 //=================================================================================
51 // class : SMESHGUI_OffsetDlg
52 // purpose :
53 //=================================================================================
55 {
56  Q_OBJECT
57 
58  public:
61 
62  private:
63  void Init( bool = true );
64  void enterEvent( QEvent* ); /* mouse enter the QWidget */
65  void keyPressEvent( QKeyEvent* );
67  void setNewMeshName();
68 
69  bool isValid();
70  void getOffset( SMESH::PointStruct& thePoint,
71  SMESH::double_array_var& theOffsetFact);
72 
74  LightApp_SelectionMgr* mySelectionMgr; /* User shape selection */
75  QString myElementsId;
76  int myNbOkElements; /* to check when elements are defined */
77 
78  SVTK_Selector* mySelector;
79 
81 
82  bool myBusy;
85 
86  QList<SMESH::SMESH_IDSource_var> myObjects;
87  QList<QString> myObjectsNames;
88  QList<SMESH::SMESH_Mesh_var> myMeshes;
89 
90 
93  QPushButton* buttonOk;
94  QPushButton* buttonCancel;
95  QPushButton* buttonApply;
96  QPushButton* buttonHelp;
99  //QPushButton* SelectElementsButton;
100  QLineEdit* LineEditElements;
101  QCheckBox* CheckBoxMesh;
104  QButtonGroup* ActionGroup;
105  QCheckBox* MakeGroupsCheck;
106  QLineEdit* LineEditNewMesh;
107 
108  QString myHelpFileName;
109 
110  QPushButton* myFilterBtn;
112 
113 
114 protected slots:
115  virtual void onDisplaySimulation( bool );
116  virtual void reject();
117  void onFilterAccepted();
118 
119 private slots:
120  void ClickOnOk();
121  bool ClickOnApply();
122  void ClickOnHelp();
123  void SelectionIntoArgument();
124  void DeactivateActiveDialog();
125  void ActivateThisDialog();
126  void onTextChange( const QString& );
127  void onSelectMesh( bool );
128  void onActionClicked( int );
129  void onOpenView();
130  void onCloseView();
131  void setFilters();
132 };
133 
134 #endif // SMESHGUI_OffsetDLG_H
#define SMESHGUI_EXPORT
Definition: SMESH_SMESHGUI.hxx:36
Class : SMESHGUI_FilterDlg Description : Dialog to specify filters for VTK viewer.
Definition: SMESHGUI_FilterDlg.h:217
Definition: SMESHGUI_IdValidator.h:39
Definition: SMESHGUI_PreviewDlg.h:72
void onCloseView()
Definition: SMESHGUI_PreviewDlg.cxx:259
virtual void onDisplaySimulation(bool)
Definition: SMESHGUI_PreviewDlg.cxx:215
Definition: SMESHGUI_OffsetDlg.h:55
SMESHGUI_FilterDlg * myFilterDlg
Definition: SMESHGUI_OffsetDlg.h:111
QLabel * TextLabelElements
Definition: SMESHGUI_OffsetDlg.h:98
SMESHGUI_SpinBox * SpinBox
Definition: SMESHGUI_OffsetDlg.h:102
QPushButton * myFilterBtn
Definition: SMESHGUI_OffsetDlg.h:110
int myNbOkElements
Definition: SMESHGUI_OffsetDlg.h:76
QCheckBox * MakeGroupsCheck
Definition: SMESHGUI_OffsetDlg.h:105
SMESH_LogicalFilter * myMeshOrSubMeshOrGroupFilter
Definition: SMESHGUI_OffsetDlg.h:84
LightApp_SelectionMgr * mySelectionMgr
Definition: SMESHGUI_OffsetDlg.h:74
QPushButton * buttonHelp
Definition: SMESHGUI_OffsetDlg.h:96
QButtonGroup * ActionGroup
Definition: SMESHGUI_OffsetDlg.h:104
QGroupBox * ConstructorsBox
Definition: SMESHGUI_OffsetDlg.h:91
QString myHelpFileName
Definition: SMESHGUI_OffsetDlg.h:108
QGroupBox * GroupButtons
Definition: SMESHGUI_OffsetDlg.h:92
QPushButton * buttonApply
Definition: SMESHGUI_OffsetDlg.h:95
QWidget * myEditCurrentArgument
Definition: SMESHGUI_OffsetDlg.h:80
QString myElementsId
Definition: SMESHGUI_OffsetDlg.h:75
QList< SMESH::SMESH_Mesh_var > myMeshes
Definition: SMESHGUI_OffsetDlg.h:88
QPushButton * buttonOk
Definition: SMESHGUI_OffsetDlg.h:93
QList< QString > myObjectsNames
Definition: SMESHGUI_OffsetDlg.h:87
SMESHGUI_IdValidator * myIdValidator
Definition: SMESHGUI_OffsetDlg.h:73
QGroupBox * ActionBox
Definition: SMESHGUI_OffsetDlg.h:103
QGroupBox * GroupArguments
Definition: SMESHGUI_OffsetDlg.h:97
bool myBusy
Definition: SMESHGUI_OffsetDlg.h:82
SMESH_Actor * myActor
Definition: SMESHGUI_OffsetDlg.h:83
QLineEdit * LineEditElements
Definition: SMESHGUI_OffsetDlg.h:100
QLineEdit * LineEditNewMesh
Definition: SMESHGUI_OffsetDlg.h:106
void getOffset(SMESH::PointStruct &thePoint, SMESH::double_array_var &theOffsetFact)
QCheckBox * CheckBoxMesh
Definition: SMESHGUI_OffsetDlg.h:101
QPushButton * buttonCancel
Definition: SMESHGUI_OffsetDlg.h:94
SVTK_Selector * mySelector
Definition: SMESHGUI_OffsetDlg.h:78
QList< SMESH::SMESH_IDSource_var > myObjects
Definition: SMESHGUI_OffsetDlg.h:86
Definition: SMESHGUI_SpinBox.h:48
Definition: SMESHGUI.h:84
Definition: SMESH_Actor.h:55
Definition: SMESH_LogicalFilter.hxx:36
Definition: SMESH_Mesh.idl:93