Salome HOME
Using stl container instead of Qt.
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Curve.cxx
index 69b0c38d4fc207f525c5bbc4949f1ba4c95cdfd8..f056b03426ae1b2c486c6de592bacf4d73193df8 100644 (file)
@@ -347,6 +347,48 @@ void CurveCreator_Curve::redisplayCurve()
   }
 }
 
+//! For internal use only! Undo/Redo are not used here.
+bool CurveCreator_Curve::moveSectionInternal(const int theISection,
+                                             const int theNewIndex)
+{
+  bool res = false;
+  if (theISection != theNewIndex) {
+    CurveCreator_Section *aSection = mySections.at(theISection);
+
+    // Remove section
+    CurveCreator::Sections::iterator anIter = mySections.begin() + theISection;
+
+    mySections.erase(anIter);
+
+    // Insert section.
+    anIter = mySections.begin() + theNewIndex;
+    mySections.insert(anIter, aSection);
+    res = true;
+  }
+  return res;
+}
+
+//=======================================================================
+// function: moveSection
+// purpose:
+//=======================================================================
+bool CurveCreator_Curve::moveSection(const int theISection,
+                                     const int theNewIndex)
+{
+  bool res = false;
+  // Set the difference.
+  startOperation();
+  if (addEmptyDiff()) {
+    myListDiffs.back().init(this, CurveCreator_Operation::MoveSection,
+                            theISection, theNewIndex);
+  }
+
+  // Update the curve.
+  res = moveSectionInternal(theISection, theNewIndex);
+  finishOperation();
+  return res;
+}
+
 /************   Implementation of INTERFACE methods   ************/
 
 /***********************************************/
@@ -818,6 +860,12 @@ bool CurveCreator_Curve::setPoint( const int theISection,
   return res; 
 }
 
+//! Set coordinates of specified points from different sections
+bool CurveCreator_Curve::setSeveralPoints( const SectionToPointCoordsList &theSectionToPntCoords)
+{
+  return false;
+}
+
 //! For internal use only! Undo/Redo are not used here.
 bool CurveCreator_Curve::removePointsInternal( const std::vector<int> &theISections, 
                                                const std::vector<int> &theIPnts )
@@ -862,7 +910,13 @@ bool CurveCreator_Curve::removePoint( const int theISection, const int theIPnt )
   return res;
 }
 
-//=======================================================================
+//! Remove several points from different sections with given ids
+bool CurveCreator_Curve::removeSeveralPoints( const SectionToPointList &theSectionToPntIDs)
+{
+  return false;
+}
+
+  //=======================================================================
 // function: getCoordinates
 // purpose:
 //=======================================================================