X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FEntityGUI%2FEntityGUI_SketcherDlg.h;h=63cf7d5dbbb07fd4d32d3e379c81ada5173179e7;hb=8f2d0b5697219b8b53289bd9c25a60ddc354ab53;hp=3a304abf10c0950be352d841559cd5a65692567a;hpb=392885c1a8d50369708bbe5e6b44033ed8b8ba51;p=modules%2Fgeom.git diff --git a/src/EntityGUI/EntityGUI_SketcherDlg.h b/src/EntityGUI/EntityGUI_SketcherDlg.h index 3a304abf1..63cf7d5db 100644 --- a/src/EntityGUI/EntityGUI_SketcherDlg.h +++ b/src/EntityGUI/EntityGUI_SketcherDlg.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -19,6 +19,7 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // GEOM GEOMGUI : GUI for Geometry component // File : EntityGUI_SketcherDlg.h // Author : Damien COQUERET, Open CASCADE S.A.S. @@ -28,15 +29,22 @@ #include +#include +#include #include +#include + +#include class QLineEdit; class SalomeApp_DoubleSpinBox; class EntityGUI_1Sel; +class EntityGUI_2Sel1Check; +class EntityGUI_1Sel1Spin1Check; class EntityGUI_1Spin; class EntityGUI_2Spin; -class EntityGUI_3Spin; -class EntityGUI_4Spin; +class EntityGUI_3Spin1Check; +class EntityGUI_4Spin1Check; class EntityGUI_Point; class EntityGUI_Dir1; class EntityGUI_Dir2; @@ -60,15 +68,15 @@ class EntityGUI_SketcherDlg : public QDialog, GEOMBase_Helper public: EntityGUI_SketcherDlg( GeometryGUI*, QWidget* = 0, bool = false, Qt::WindowFlags = 0, - const double = 2. ); + const double = 2. ); ~EntityGUI_SketcherDlg(); bool eventFilter (QObject* object, QEvent* event); protected: void initSpinBox( SalomeApp_DoubleSpinBox*, - double, double, double = 0.1, - int = 3 ); + double, double, double = 0.1, + const char* quantity = "length_precision" ); // redefined from GEOMBase_Helper virtual GEOM::GEOM_IOperations_ptr createOperation(); @@ -88,20 +96,21 @@ private: QString GetNewCommand( QString& ); virtual void displayPreview( GEOM::GEOM_Object_ptr, - const bool = false, - const bool = false, - const bool = true, - const double = -1, - const int = -1, - const int = -1); + const bool = false, + const bool = false, + const bool = true, + const double = -1, + const int = -1, + const int = -1); bool createShapes( GEOM::GEOM_Object_ptr, - TopoDS_Shape&, - TopoDS_Shape& ); + TopoDS_Shape&, + TopoDS_Shape& ); private: int myConstructorId; int myConstructorDirId; + int myConstructorPntId; int mySketchType; int mySketchState; @@ -117,11 +126,13 @@ private: QStringList myUndoParameters; Standard_Real myX, myY, myDX, myDY; + Standard_Real myXc, myYc, myDXc, myDYc; Standard_Real myLength, myAngle, myRadius; Standard_Real myLastX1, myLastY1; Standard_Real myLastX2, myLastY2; QString myXStr, myYStr, myDXStr, myDYStr; + QString myXcStr, myYcStr, myDXcStr, myDYcStr; QString myLengthStr, myAngleStr, myRadiusStr; QString myLastX1Str, myLastY1Str; QString myLastX2Str, myLastY2Str; @@ -129,14 +140,23 @@ private: EntityGUI_Skeleton* MainWidget; EntityGUI_Point* GroupPt; + EntityGUI_Point* GroupPt2; EntityGUI_Dir1* GroupD1; EntityGUI_Dir2* GroupD2; EntityGUI_1Sel* Group1Sel; + EntityGUI_2Sel1Check* Group2Sel; + EntityGUI_1Sel1Spin1Check* Group1Sel1Spin; EntityGUI_1Spin* Group1Spin; EntityGUI_2Spin* Group2Spin; - EntityGUI_3Spin* Group3Spin; - EntityGUI_4Spin* Group4Spin; + EntityGUI_3Spin1Check* Group3Spin; + EntityGUI_4Spin1Check* Group4Spin; + + QLabel* myErrLabel; + + QGroupBox* GroupBox1; + QComboBox* ComboBox1; + QPushButton* planeButton; GeometryGUI* myGeometryGUI; @@ -144,14 +164,20 @@ private: double myLineWidth; + QList myLCSList; + + int myCheckFlag; + private: enum SketchState { FIRST_POINT, NEXT_POINT }; enum SketchType { PT_ABS, PT_RELATIVE, PT_SEL, - DIR_ANGLE_LENGTH, DIR_ANGLE_X, DIR_ANGLE_Y, - DIR_PER_LENGTH, DIR_PER_X, DIR_PER_Y, - DIR_TAN_LENGTH, DIR_TAN_X, DIR_TAN_Y, - DIR_DXDY_LENGTH, DIR_DXDY_X, DIR_DXDY_Y }; + PT_ABS_RADIUS,PT_REL_RADIUS,PT_SEL_RADIUS, + PT_ABS_CENTER,PT_REL_CENTER,PT_SEL_CENTER, + DIR_ANGLE_LENGTH, DIR_ANGLE_X, DIR_ANGLE_Y, + DIR_PER_LENGTH, DIR_PER_X, DIR_PER_Y, + DIR_TAN_LENGTH, DIR_TAN_X, DIR_TAN_Y, + DIR_DXDY_LENGTH, DIR_DXDY_X, DIR_DXDY_Y }; private slots: void ClickOnEnd(); @@ -168,10 +194,15 @@ private slots: void TypeClicked( int ); void DestClicked( int ); void PointClicked( int ); + void Point2Clicked( int ); void Dir1Clicked( int ); void Dir2Clicked( int ); + void CheckBoxClicked( int ); void ValueChangedInSpinBox( double ); void SetDoubleSpinBoxStep( double ); + void FindLocalCS(); + gp_Ax3 GetActiveLocalCS(); + void ActivateLocalCS(); }; #endif // ENTITYGUI_SKETCHERDLG_H