X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FBasicGUI%2FBasicGUI_PointDlg.h;h=af1c38438b4f5ad6cd8c2de5f4ad6a5b0559af3d;hb=0c1af31f5408860fef60c451bb2692ffbc352d63;hp=8a19f1ab96612c2f9945ae736e658fd1ddac354b;hpb=239f8109c64fa0c5a2e1d87a420bad5529b57f48;p=modules%2Fgeom.git diff --git a/src/BasicGUI/BasicGUI_PointDlg.h b/src/BasicGUI/BasicGUI_PointDlg.h index 8a19f1ab9..af1c38438 100644 --- a/src/BasicGUI/BasicGUI_PointDlg.h +++ b/src/BasicGUI/BasicGUI_PointDlg.h @@ -1,100 +1,123 @@ -// GEOM GEOMGUI : GUI for Geometry component +// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE // -// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// Copyright (C) 2003-2007 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.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// File : BasicGUI_PointDlg.h -// Author : Lucien PIGNOLONI -// Module : GEOM -#ifndef DIALOGBOX_POINT_H -#define DIALOGBOX_POINT_H +// GEOM GEOMGUI : GUI for Geometry component +// File : BasicGUI_PointDlg.h +// Author : Lucien PIGNOLONI, Open CASCADE S.A.S. -#include "GEOM_BasicGUI.hxx" +#ifndef BASICGUI_POINTDLG_H +#define BASICGUI_POINTDLG_H #include "GEOMBase_Skeleton.h" -#include "DlgRef_1Sel1Spin.h" -#include "DlgRef_3Spin.h" -#include "DlgRef_2Sel_QTD.h" -#include "DlgRef_1Sel3Spin.h" +#include "GEOM_GenericObjPtr.h" +#include + +class DlgRef_2Sel1Spin; +class DlgRef_3Spin; +class DlgRef_2Sel; +class DlgRef_1Sel3Spin; +class DlgRef_1Sel2Spin; class QLineEdit; class QGroupBox; +class QButtonGroup; +class QMenu; +class QAction; + +class gp_Pnt; //================================================================================= // class : BasicGUI_PointDlg // purpose : //================================================================================= -class GEOM_BASICGUI_EXPORT BasicGUI_PointDlg : public GEOMBase_Skeleton +class BasicGUI_PointDlg : public GEOMBase_Skeleton { - Q_OBJECT + Q_OBJECT public: - BasicGUI_PointDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, - const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BasicGUI_PointDlg( GeometryGUI*, QWidget* = 0, bool = false, Qt::WindowFlags = 0 ); - ~BasicGUI_PointDlg(); + ~BasicGUI_PointDlg(); - bool acceptMouseEvent() const { return ( getConstructorId() == 0 ); }; - void OnPointSelected( const gp_Pnt& ); // called by BasicGUI::OnMousePress() + bool acceptMouseEvent() const { return ( getConstructorId() == 0 ); } + void OnPointSelected( const gp_Pnt& ); // called by BasicGUI::OnMousePress() protected: - // redefined from GEOMBase_Helper - virtual GEOM::GEOM_IOperations_ptr createOperation(); - virtual bool isValid( QString& ); - virtual bool execute( ObjectList& objects ); - virtual void addSubshapesToStudy(); - virtual void closeEvent( QCloseEvent* e ); - -private : - void Init(); - void enterEvent(QEvent* e); - double getParameter() const; - - GEOM::GEOM_Object_var myEdge; - GEOM::GEOM_Object_var myRefPoint; - GEOM::GEOM_Object_var myLine1; - GEOM::GEOM_Object_var myLine2; - - DlgRef_3Spin* GroupXYZ; - DlgRef_1Sel3Spin* GroupRefPoint; - DlgRef_1Sel1Spin* GroupOnCurve; - DlgRef_2Sel_QTD* GroupLineIntersection; - - QGroupBox* myCoordGrp; - QLineEdit* myX; - QLineEdit* myY; - QLineEdit* myZ; + // redefined from GEOMBase_Helper + virtual GEOM::GEOM_IOperations_ptr createOperation(); + virtual bool isValid( QString& ); + virtual bool execute( ObjectList& ); + virtual void addSubshapesToStudy(); + +private: + void Init(); + void enterEvent( QEvent* ); + double getParameter() const; + double getUParameter() const; + double getVParameter() const; + void updateParamCoord(bool theIsUpdate); + +private: + GEOM::GeomObjPtr myEdge; + GEOM::GeomObjPtr myFace; + GEOM::GeomObjPtr myRefPoint; + GEOM::GeomObjPtr myLine1; + GEOM::GeomObjPtr myLine2; + + bool myBusy; + + DlgRef_3Spin* GroupXYZ; + DlgRef_1Sel3Spin* GroupRefPoint; + DlgRef_2Sel1Spin* GroupOnCurve; + DlgRef_2Sel* GroupLineIntersection; + DlgRef_1Sel2Spin* GroupOnSurface; + + QGroupBox* myCoordGrp; + QLineEdit* myX; + QLineEdit* myY; + QLineEdit* myZ; + + QGroupBox* myParamGroup; + QButtonGroup* myParamCoord; + + QMenu* myBtnPopup; + QMap myActions; + TopAbs_ShapeEnum myNeedType; + private slots: - void ClickOnOk(); - void ClickOnCancel(); - bool ClickOnApply(); - void ActivateThisDialog(); - void DeactivateActiveDialog(); - void LineEditReturnPressed(); - void SelectionIntoArgument(); - void SetEditCurrentArgument(); - void ConstructorsClicked(int constructorId); - void ValueChangedInSpinBox(double newValue); + void ClickOnOk(); + bool ClickOnApply(); + void ActivateThisDialog(); + void DeactivateActiveDialog(); + void SelectionIntoArgument(); + void SetEditCurrentArgument(); + void ConstructorsClicked( int ); + void ValueChangedInSpinBox( double ); + void SetDoubleSpinBoxStep( double ); + void ClickParamCoord( int ); + void CheckBoxClicked( int ); + void onBtnPopup( QAction* ); + void updateSize(); }; -#endif // DIALOGBOX_POINT_H +#endif // BASICGUI_POINTDLG_H