Salome HOME
Stream object creation improved to do not use the transaction during it modification.
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Widget.h
index ae382682d7f84057a6c93f8619d3e4f1cfcfc2e8..31b4db039e842234c039fda0e007ce125c1378f1 100644 (file)
@@ -60,10 +60,18 @@ public:
     DisableClosedSection = 0x00000004
   };
 
+  enum ActionMode {
+    NoneMode,
+    AdditionMode,
+    ModificationMode,
+    DetectionMode
+  };
+
 public:
   explicit CurveCreator_Widget( QWidget* parent,
                                 CurveCreator_ICurve *theCurve,
                                 const int theActionFlags = NoFlags,
+                                const QStringList& theCoordTitles = QStringList(),
                                 Qt::WindowFlags fl=0,
                                 int theLocalPointRowLimit = 20);
 
@@ -78,11 +86,14 @@ public:
   void setCurve( CurveCreator_ICurve* theCurve );
 
   QList<int> getSelectedSections();
-  QList< QPair< int, int > > getSelectedPoints();
+  void setSelectedSections( const QList<int>& theSections );
 
   void  removeSelected();
   bool  removeEnabled();
 
+  void setActionMode( const ActionMode& theMode );
+  ActionMode getActionMode() const;
+
 signals:
   void selectionChanged();
   void subOperationStarted( QWidget*, bool );
@@ -148,13 +159,6 @@ protected:
                  DETECTION_MODE_ID 
   };
 
-  enum ActionMode {
-    NoneMode,
-    AdditionMode,
-    ModificationMode,
-    DetectionMode
-  };
-
 private:
   OCCViewer_Viewer* getOCCViewer();
 
@@ -163,9 +167,6 @@ private:
   QAction* getAction(ActionId theId);
   QAction* getAction(ActionMode theMode);
 
-  void setActionMode( const ActionMode& theMode );
-  ActionMode getActionMode() const;
-
   void updateActionsStates();
   void updateUndoRedo();
 
@@ -216,8 +217,11 @@ private:
   QPoint                      myDragStartPosition;
   int                         myDragInteractionStyle;
   CurveCreator_ICurve::SectionToPointList myDragPoints;
+  QMap<CurveCreator_ICurve::SectionToPoint, CurveCreator::Coordinates> myInitialDragPointsCoords;
   bool                        myDragged;
   QByteArray                  myGuiState;
+  int                         myPressedX;
+  int                         myPressedY;
 };
 
 #endif // CURVECREATOR_WIDGET_H