Salome HOME
Add a new 'moveSection' operation to change position of section in the list.
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Curve.hxx
index f199805173a818d8ffb9fec50f0ac77654537467..f9e415884ca273883a370f966a5f7822b03eeea3 100644 (file)
@@ -91,6 +91,13 @@ public:
 
   ListAISObjects constructSection( int theISection ) const;
 
+  //! For internal use only! Undo/Redo are not used here.
+  virtual bool moveSectionInternal(const int theISection,
+                           const int theNewIndex);
+  //! Move section to new position in list
+  virtual bool moveSection(const int theISection,
+                   const int theNewIndex);
+
 protected:
   /** This method updates all undo/redo information required to be updated
    *  after curve modification operation. It returns false if undo/redo
@@ -128,9 +135,14 @@ public:
   /***           Section methods               ***/
   /***********************************************/
 
+  //! For internal use only! Undo/Redo are not used here.
+  virtual bool clearInternal();
   //! Clear the polyline (remove all sections)
   virtual bool clear();
 
+  //! For internal use only! Undo/Redo are not used here.
+  virtual bool joinInternal( const int theISectionTo = -1, 
+                             const int theISectionFrom = -1 );
   //! Join range of sections to one section (join all sections if -1 is passed in one of arguments)
   virtual bool join( const int theISectionTo = -1, 
                      const int theISectionFrom = -1 );
@@ -138,7 +150,7 @@ public:
   //! Get number of sections
   virtual int getNbSections() const;
 
-  //! For internal use only! Undo/Redo is not used here.
+  //! For internal use only! Undo/Redo are not used here.
   virtual int addSectionInternal( const std::string &theName, 
                                   const CurveCreator::SectionType theType,
                                   const bool theIsClosed,
@@ -153,7 +165,7 @@ public:
                            const bool theIsClosed,
                            const CurveCreator::Coordinates &thePoints);
   
-  //! For internal use only! Undo/Redo is not used here.
+  //! For internal use only! Undo/Redo are not used here.
   virtual bool removeSectionInternal( const int theISection );
   //! Removes the given sections.
   virtual bool removeSection( const int theISection );
@@ -161,6 +173,9 @@ public:
   //! Get "closed" flag of the specified section
   virtual bool isClosed( const int theISection ) const;
 
+  //! For internal use only! Undo/Redo are not used here.
+  virtual bool setClosedInternal( const int theISection, 
+                                  const bool theIsClosed );
   /**
    *  Set "closed" flag of the specified section (all sections if
    *  \a theISection is -1).
@@ -171,6 +186,9 @@ public:
   //! Returns specifyed section name
   virtual std::string getSectionName( const int theISection ) const;
 
+  //! For internal use only! Undo/Redo are not used here.
+  virtual bool setSectionNameInternal( const int theISection, 
+                                       const std::string& theName );
   /** Set name of the specified section */
   virtual bool setSectionName( const int theISection, 
                                const std::string& theName );
@@ -178,6 +196,9 @@ public:
   //! Get type of the specified section
   virtual CurveCreator::SectionType getSectionType( const int theISection ) const;
 
+  //! For internal use only! Undo/Redo are not used here.
+  virtual bool setSectionTypeInternal( const int theISection, 
+                                       const CurveCreator::SectionType theType );
   /**
    *  Set type of the specified section (or all sections
    *  if \a theISection is -1).
@@ -190,7 +211,7 @@ public:
   /***           Point methods                 ***/
   /***********************************************/
 
-  //! For internal use only! Undo/Redo is not used here.
+  //! For internal use only! Undo/Redo are not used here.
   virtual bool addPointsInternal( const CurveCreator::Coordinates &theCoords,
                                   const std::vector<int> &theISections,
                                   const std::vector<int> &theIPnts );
@@ -202,12 +223,16 @@ public:
                           const int theISection,
                           const int theIPnt = -1 );
 
+  //! For internal use only! Undo/Redo are not used here.
+  virtual bool setPointInternal( const int theISection,
+                                 const int theIPnt,
+                                 const CurveCreator::Coordinates& theNewCoords );
    //! Set coordinates of specified point
   virtual bool setPoint( const int theISection,
                          const int theIPnt,
                          const CurveCreator::Coordinates& theNewCoords );
 
-  //! For internal use only! Undo/Redo is not used here.
+  //! For internal use only! Undo/Redo are not used here.
   virtual bool removePointsInternal( const std::vector<int> &theISections, 
                                      const std::vector<int> &theIPnts );
   /** Remove point with given id */