Version: 8.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
EntityGUI_PolylineDlg.h
Go to the documentation of this file.
1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
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, or (at your option) any later version.
10 //
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.
15 //
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
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 
23 #ifndef ENTITYGUI_POLYLINEDLG_H
24 #define ENTITYGUI_POLYLINEDLG_H
25 
26 #include <GEOMBase_Skeleton.h>
27 
28 class CurveCreator_Curve;
30 class OCCViewer_ViewManager;
31 class QGroupBox;
32 class QComboBox;
33 
34 //=================================================================================
35 // class : EntityGUI_PolylineDlg
36 // purpose :
37 //=================================================================================
39 {
40  Q_OBJECT
41 
42 public:
43 
45  bool = false, Qt::WindowFlags = 0);
46 
47  virtual ~EntityGUI_PolylineDlg();
48 
49  void deleteSelected();
50  bool deleteEnabled();
51 
52  void setPreviewZLayer( int theLayer );
53  int getPreviewZLayer() const;
54 
55 protected:
56 
57  // redefined from GEOMBase_Helper
58  virtual GEOM::GEOM_IOperations_ptr createOperation();
59  virtual bool isValid( QString& );
60  virtual bool execute( ObjectList& );
61  virtual QList<GEOM::GeomObjPtr> getSourceObjects();
62 
68  void setPreviewManager( OCCViewer_ViewManager* theManager );
69  OCCViewer_ViewManager* getPreviewManager();
70 
75  bool isCheckToSelect();
76 
77 private:
78 
79  void Init();
80  void Clear();
81  void enterEvent(QEvent *);
82 
100  GEOM::string_array &theNames,
101  GEOM::short_array &theTypes,
102  GEOM::ListOfBool &theCloseds);
103 
109  gp_Ax3 GetActiveLocalCS();
110 
117 
126  void AddLocalCS(GEOM::GeomObjPtr theSelectedObject,
127  const bool IsPlane,
128  const gp_Ax3 &theLCS);
129 
137  gp_Ax3 WPlaneToLCS(GEOM::GeomObjPtr theGeomObj);
138 
143  void displayPreview();
144 
149  void erasePreview();
150 
151 protected slots:
152 
153  void ClickOnOk();
154  bool ClickOnApply();
155  void processStartedSubOperation( QWidget*, bool );
157  void SetEditCurrentArgument( bool );
158  void SelectionIntoArgument( bool isForced = false );
159  void ActivateThisDialog();
160  void ActivateLocalCS();
161 
162 private:
163 
167  QComboBox *myPlnComboBox;
168  QPushButton *myPlnButton;
169  QPushButton *myPlnSelButton;
170  QPushButton *myPolylineSelButton;
171  QLineEdit *myWPlaneLineEdit;
172  QLineEdit *myPolylineEdit;
173  QLineEdit *myEditCurrentArgument; /* Current LineEdit */
174  QList<gp_Ax3> myLCSList;
175  QList<GEOM::GeomObjPtr> myWPlaneList;
176  OCCViewer_ViewManager* myPreviewManager;
178 
179 };
180 
181 #endif // ENTITYGUI_POLYLINEDLG_H