X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_MakeNodeAtPointDlg.h;h=0cb611c3cc79686f747519f7849abd5fcd5703a3;hb=HEAD;hp=6df8ba72239fa2b034386f192c8ca0f41c6e47ff;hpb=0635c9fc80f67d1e5dc0e94ec85f487286a92070;p=modules%2Fsmesh.git diff --git a/src/SMESHGUI/SMESHGUI_MakeNodeAtPointDlg.h b/src/SMESHGUI/SMESHGUI_MakeNodeAtPointDlg.h index 6df8ba722..0cb611c3c 100644 --- a/src/SMESHGUI/SMESHGUI_MakeNodeAtPointDlg.h +++ b/src/SMESHGUI/SMESHGUI_MakeNodeAtPointDlg.h @@ -1,24 +1,25 @@ -// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// 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 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, or (at your option) any later version. // -// 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. +// 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 +// 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 +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + // File : SMESHGUI_MakeNodeAtPointDlg.h // Author : Edward AGAPOV, Open CASCADE S.A.S. // @@ -29,54 +30,75 @@ #include "SMESH_SMESHGUI.hxx" #include "SMESHGUI_Dialog.h" -#include "SMESHGUI_SelectionOp.h" +#include "SMESHGUI_InteractiveOp.h" + +#include +class QButtonGroup; +class QCheckBox; class QGroupBox; class QLineEdit; class QPushButton; -class QCheckBox; class QRadioButton; class SMESHGUI_SpinBox; class SMESHGUI_MeshEditPreview; class SMESHGUI_MakeNodeAtPointDlg; + /*! * \brief Operation to make a mesh pass through a point */ -class SMESHGUI_EXPORT SMESHGUI_MakeNodeAtPointOp: public SMESHGUI_SelectionOp +class SMESHGUI_EXPORT SMESHGUI_MakeNodeAtPointOp: public SMESHGUI_InteractiveOp { Q_OBJECT public: - SMESHGUI_MakeNodeAtPointOp(); + SMESHGUI_MakeNodeAtPointOp(int defaultConstructor = 0); virtual ~SMESHGUI_MakeNodeAtPointOp(); virtual LightApp_Dialog* dlg() const; protected: - virtual void startOperation(); - virtual void stopOperation(); + virtual void startOperation() override; + virtual void stopOperation() override; - virtual void activateSelection(); + virtual void activateSelection() override; bool isValid( QString& ); + virtual void processStyleEvents(unsigned long event, + void* calldata) override; + + virtual void processInteractorEvents(unsigned long event, + void* calldata) override; + protected slots: virtual bool onApply(); private slots: void onSelectionDone(); void redisplayPreview(); + void onTextChange( const QString& ); + void onUpdateDestination(); + void onDestCoordChanged(); + void onOpenView(); + void onCloseView(); + void constructorChanged(); private: + int GetConstructorId(); + + int myDefaultConstructor; SMESHGUI_MakeNodeAtPointDlg* myDlg; SUIT_SelectionFilter* myFilter; - int myMeshOldDisplayMode; + SMESHGUI* mySMESHGUI; SMESHGUI_MeshEditPreview* mySimulation; SMESH_Actor* myMeshActor; bool myNoPreview; + bool myUpdateDestination; + bool myDestCoordChanged; }; /*! @@ -93,16 +115,30 @@ public: private: QWidget* createMainFrame( QWidget* ); - QPushButton* myCoordBtn; - SMESHGUI_SpinBox* myX; - SMESHGUI_SpinBox* myY; - SMESHGUI_SpinBox* myZ; - QRadioButton* myMoveRBtn; - QRadioButton* myCreateRBtn; + QWidget* myMainFrame; + + QButtonGroup* myButtonGroup; + QRadioButton* myRButNodeToMove; + QRadioButton* myRButMoveWithoutNode; + QRadioButton* myRButMoveInteractive; + QPushButton* myDestBtn; + QPushButton* myUpdateBtn; + QGroupBox* myDestinationGrp; QGroupBox* myNodeToMoveGrp; QPushButton* myIdBtn; QLineEdit* myId; - QCheckBox* myAutoSearchChkBox; + SMESHGUI_SpinBox* myCurrentX; + SMESHGUI_SpinBox* myCurrentY; + SMESHGUI_SpinBox* myCurrentZ; + SMESHGUI_SpinBox* myDestinationX; + SMESHGUI_SpinBox* myDestinationY; + SMESHGUI_SpinBox* myDestinationZ; + QLabel* myDestDXLabel; + QLabel* myDestDYLabel; + QLabel* myDestDZLabel; + SMESHGUI_SpinBox* myDestDX; + SMESHGUI_SpinBox* myDestDY; + SMESHGUI_SpinBox* myDestDZ; QCheckBox* myPreviewChkBox; QString myHelpFileName; @@ -111,6 +147,7 @@ private: private slots: void ButtonToggled( bool ); + void ConstructorsClicked( int ); }; #endif // SMESHGUI_MAKENODEATPOINTDLG_H