Salome HOME
add method NameChanged to update title name
[modules/kernel.git] / src / DF / DF_ChildIterator.cxx
index fe4573bcbb50069220f09b1538ecdbc7492c1d02..04111239c54983b25ea46e938fe9a95d7b4bcb17 100644 (file)
@@ -1,7 +1,23 @@
-#include "DF_ChildIterator.hxx"
-
-using namespace std;
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+//
+// 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.
+//
+// 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
+//
 
+#include "DF_ChildIterator.hxx"
 
 //Constructor
 DF_ChildIterator::DF_ChildIterator(const DF_Label& theLabel, bool allLevels)
@@ -38,7 +54,7 @@ DF_Label DF_ChildIterator::Value()
 //Returns true if there is a current Label
 bool DF_ChildIterator::More()
 {
-  return bool(_current);
+  return _current!=0;
 }
 
 //Moves to the next Label
@@ -54,25 +70,25 @@ void DF_ChildIterator::Next()
     }
     else {
       if(_current->_next) { //Next Brother
-       _current = _current->_next;
+        _current = _current->_next;
       }
       else {
-       if(_current->_father && _current->_father != _root) {
-         DF_LabelNode *father = _current->_father;
-         _current = father->_next;
-         if(!_current) {
-           while(father && father != _root) {
-             father = father->_father;
-             if(father->_next) break;
-           } 
-           if(father == _root) father = NULL;
-           if(father) _current = father->_next;
-           else _current = NULL;
-         }
-       }
-       else {
-         _current = NULL; //We iterate the whole sub tree
-       }
+        if(_current->_father && _current->_father != _root) {
+          DF_LabelNode *father = _current->_father;
+          _current = father->_next;
+          if(!_current) {
+            while(father && father != _root) {
+              father = father->_father;
+              if(father->_next) break;
+            
+            if(father == _root) father = NULL;
+            if(father) _current = father->_next;
+            else _current = NULL;
+          }
+        }
+        else {
+          _current = NULL; //We iterate the whole sub tree
+        }
       }
     }
   }