Salome HOME
bos #26454 [EDF] (2021) SMESH: interactive mesh modification
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_MakeNodeAtPointDlg.h
index d1d0f09ba5528b4f5f92424c54418631702a8a62..945f08f6ed025dbc1e512f3071173d63dd1563b2 100644 (file)
@@ -30,7 +30,9 @@
 #include "SMESH_SMESHGUI.hxx"
 
 #include "SMESHGUI_Dialog.h"
-#include "SMESHGUI_SelectionOp.h"
+#include "SMESHGUI_InteractiveOp.h"
+
+#include <vtkSmartPointer.h>
 
 class QButtonGroup;
 class QCheckBox;
@@ -42,28 +44,35 @@ 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();
 
@@ -75,14 +84,15 @@ private slots:
   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;
@@ -110,6 +120,7 @@ private:
   QButtonGroup*                 myButtonGroup;
   QRadioButton*                 myRButNodeToMove;
   QRadioButton*                 myRButMoveWithoutNode;
+  QRadioButton*                 myRButMoveInteractive;
   QPushButton*                  myDestBtn;
   QPushButton*                  myUpdateBtn;
   QGroupBox*                    myDestinationGrp;