Salome HOME
037cea3ae7a26b769e7970a3405c99b7b232416c
[modules/geom.git] / src / MeasureGUI / MeasureGUI_CheckCompoundOfBlocksDlg.h
1 // Copyright (C) 2007-2023  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 // GEOM GEOMGUI : GUI for Geometry component
24 // File   : MeasureGUI_CheckCompoundOfBlocksDlg.h
25 // Author : Vladimir KLYACHIN, Open CASCADE S.A.S. (vladimir.klyachin@opencascade.com)
26 //
27 #ifndef MEASUREGUI_CHECKCOMPOUNDOFBLOCKSDLG_H
28 #define MEASUREGUI_CHECKCOMPOUNDOFBLOCKSDLG_H
29
30 #include <GEOMBase_Skeleton.h>
31
32 class QCheckBox;
33 class QLabel;
34 class QLineEdit;
35 class QListWidget;
36 class QPushButton;
37 class QTextBrowser;
38 class SalomeApp_DoubleSpinBox;
39
40 //=================================================================================
41 // class    : MeasureGUI_CheckCompoundOfBlocksDlg
42 // purpose  :
43 //=================================================================================
44
45 class MeasureGUI_CheckCompoundOfBlocksDlg : public GEOMBase_Skeleton
46 {
47   Q_OBJECT
48
49 public:
50   MeasureGUI_CheckCompoundOfBlocksDlg( GeometryGUI*, QWidget* );
51   ~MeasureGUI_CheckCompoundOfBlocksDlg();
52   
53 protected:
54   // redefined from GEOMBase_Helper and GEOMBase_Skeleton
55   virtual GEOM::GEOM_IOperations_ptr  createOperation();
56   virtual bool                        isValid( QString &msg );
57   virtual bool                        execute( ObjectList& );
58   virtual void                        processObject();
59
60 private slots:
61   void                                ClickOnOk();
62   bool                                ClickOnApply();
63   void                                ActivateThisDialog();
64   void                                LineEditReturnPressed();
65   void                                SelectionIntoArgument();
66   void                                SetEditCurrentArgument();
67   
68   void                                onErrorsListSelectionChanged();
69   void                                onSubShapesListSelectionChanged();
70   void                                SetUseC1Tolerance();
71   void                                onDisplayPreview();
72   
73 private:
74   void                                Init();
75   void                                enterEvent( QEvent* );
76   bool                                getBCErrors( bool&,
77                                                    GEOM::GEOM_IBlocksOperations::BCErrors& );
78   void                                activateSelection();
79
80 private:
81   GEOM::GEOM_Object_var               myObj;
82   QLineEdit                          *myObjectName;
83   QPushButton                        *mySelButton;
84   QCheckBox                          *myUseC1Check;
85   QLabel                             *myTolLbl;
86   SalomeApp_DoubleSpinBox            *mySpinTol;
87   QTextBrowser                       *myTextView;
88   QListWidget                        *myListBox1;
89   QListWidget                        *myListBox2;
90 };
91
92 #endif // MEASUREGUI_CHECKCOMPOUNDOFBLOCKSDLG_H