Salome HOME
Update GUI documentation for bugs 16559
[modules/geom.git] / src / EntityGUI / EntityGUI_SketcherDlg.h
index 4fc1149d5070f2341cf47121d24c7b60af9c8fb1..64260b2ae166c2bd28a3a6fc4cd3506ca24effb9 100644 (file)
@@ -1,34 +1,35 @@
 //  GEOM GEOMGUI : GUI for Geometry component
 //
 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-// 
-//  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.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+//  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
 //
 //
 //
 //  File   : EntityGUI_SketcherDlg.h
 //  Author : Damine COQUERET
 //  Module : GEOM
-//  $Header: 
 
 #ifndef ENTITYGUI_SKETCHERDLG_H
 #define ENTITYGUI_SKETCHERDLG_H
 
+#include "GEOM_EntityGUI.hxx"
+
 #include "GEOMBase_Helper.h"
 
 #include "EntityGUI_Skeleton_QTD.h"
 // class    : EntityGUI_Dlg
 // purpose  :
 //=================================================================================
-class EntityGUI_SketcherDlg : public EntityGUI_Skeleton_QTD, public GEOMBase_Helper
+class GEOM_ENTITYGUI_EXPORT EntityGUI_SketcherDlg : public EntityGUI_Skeleton_QTD, public GEOMBase_Helper
 { 
     Q_OBJECT
 
 public:
-    EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0);
+    EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent = 0,
+                         const char* name = 0, bool modal = FALSE, WFlags fl = 0,
+                         const double lineWidth = 2.);
     ~EntityGUI_SketcherDlg();
 
+    bool eventFilter (QObject* object, QEvent* event);
+
 protected:
     // redefined from GEOMBase_Helper
     virtual GEOM::GEOM_IOperations_ptr createOperation();
@@ -73,8 +78,7 @@ protected:
     virtual bool execute( ObjectList& objects );
 
     void closeEvent( QCloseEvent* e );
-
-    virtual SUIT_Desktop* getDesktop() const;
+    void keyPressEvent( QKeyEvent* e );
 
 private :
     void Init();
@@ -91,9 +95,9 @@ private :
     int mySketchState;
 
     bool myIsAllAdded;
-    
+
     QLineEdit* myEditCurrentArgument;   /* Current LineEdit */
-    
+
     QStringList myCommand;
     QStringList myUndoCommand;
 
@@ -114,6 +118,8 @@ private :
 
     GeometryGUI*  myGeometryGUI;
 
+    QString myHelpFileName;
+
     enum SketchState {FIRST_POINT, NEXT_POINT};
 
     enum SketchType {PT_ABS, PT_RELATIVE, PT_SEL,
@@ -122,6 +128,7 @@ private :
                     DIR_TAN_LENGTH, DIR_TAN_X, DIR_TAN_Y,
                     DIR_DXDY_LENGTH, DIR_DXDY_X, DIR_DXDY_Y};
 
+  double myLineWidth;
   virtual void displayPreview  ( GEOM::GEOM_Object_ptr obj,
                                  const bool            append = false,
                                  const bool            activate = false,
@@ -131,12 +138,14 @@ private :
   bool createShapes( GEOM::GEOM_Object_ptr theObject,
                      TopoDS_Shape&         theApplyedWire,
                      TopoDS_Shape&         theLastSegment );
+
 private slots:
     void ClickOnEnd();
     void ClickOnCancel();
     bool ClickOnApply();
     void ClickOnUndo();
     void ClickOnRedo();
+    void ClickOnHelp();
     void LineEditReturnPressed();
     void SelectionIntoArgument();
     void SetEditCurrentArgument();
@@ -148,7 +157,6 @@ private slots:
     void Dir1Clicked(int constructorId);
     void Dir2Clicked(int constructorId);
     void ValueChangedInSpinBox(double newValue);
-
 };
 
 #endif // ENTITYGUI_SKETCHERDLG_H