Salome HOME
Merge from V6_main_20120808 08Aug12
[modules/geom.git] / src / AdvancedGUI / AdvancedGUI_PipeTShapeDlg.h
diff --git a/src/AdvancedGUI/AdvancedGUI_PipeTShapeDlg.h b/src/AdvancedGUI/AdvancedGUI_PipeTShapeDlg.h
new file mode 100644 (file)
index 0000000..04147ea
--- /dev/null
@@ -0,0 +1,96 @@
+// Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
+
+#ifndef ADVANCEDGUI_PIPETSHAPEDLG_H
+#define ADVANCEDGUI_PIPETSHAPEDLG_H
+
+#include <GEOMBase_Skeleton.h>
+
+class DlgRef_1Spin;
+class DlgRef_2Spin;
+class DlgRef_3Spin;
+class DlgRef_3Sel;
+class DlgRef_6Sel;
+class QCheckBox;
+class QLineEdit;
+class QLabel;
+
+//=================================================================================
+// class    : AdvancedGUI_PipeTShapeDlg
+// purpose  :
+//=================================================================================
+class AdvancedGUI_PipeTShapeDlg: public GEOMBase_Skeleton {
+Q_OBJECT
+
+public:
+       AdvancedGUI_PipeTShapeDlg(GeometryGUI*, QWidget* = 0);
+       ~AdvancedGUI_PipeTShapeDlg();
+
+protected:
+       // redefined from GEOMBase_Helper
+       virtual GEOM::GEOM_IOperations_ptr createOperation();
+       virtual bool isValid(QString&);
+       virtual bool execute(ObjectList&);
+       virtual void restoreSubShapes(SALOMEDS::Study_ptr, SALOMEDS::SObject_ptr);
+
+private:
+       void Init();
+       void enterEvent(QEvent*);
+    void resizeEvent(QResizeEvent *event);
+    void updateTshapeScreenshotLabel();
+       bool CheckCompatiblePosition(GEOM::GEOM_Object_var theP1, 
+                                 GEOM::GEOM_Object_var theP2,
+                                 GEOM::GEOM_Object_var theP3, double theTolerance);
+
+private:
+       QPixmap imagePipeTShape;
+    QLabel* tshapeScreenShotLabel;
+       DlgRef_3Spin* MainTubeGroupParams;
+       DlgRef_3Spin* IncidentTubeGroupParams;
+       DlgRef_2Spin* ChamferGroupParams;
+       DlgRef_1Spin* FilletGroupParams;
+       DlgRef_6Sel*  JunctionPointsSel;
+    QPixmap imageImp;
+    QString CssNormal, CssAcceptable, CssRefused;
+       QCheckBox* HexMeshCheckBox;
+       GEOM::GEOM_Object_var myPoint1, myPoint2, myPoint3;
+       bool myOkPoint1, myOkPoint2, myOkPoint3;
+       bool isPreview;
+       ObjectList pipeTShapeGroupObjects;
+
+private slots:
+       void ClickOnOk();
+       bool ClickOnApply();
+       void ActivateThisDialog();
+       void SelectionIntoArgument();
+       void SetEditCurrentArgument();
+       void DisplayPreview(const bool activate = false, const bool update = true,
+                       const bool toRemoveFromEngine = true, const double lineWidth = -1,
+                       const int displayMode = -1, const int color = -1);
+       virtual void processPreview();
+       void SetPosition(bool);
+       void ChamferOrFillet(bool);
+       void SetDoubleSpinBoxStep(double);
+       void ValueChangedInSpinBox( double );
+       void UpdatePicture(QWidget* old, QWidget* now);
+    void ApplyNewDimensions();
+    bool executeNoCheck( ObjectList& objects );
+};
+
+#endif // ADVANCEDGUI_PIPETSHAPEDLG_H