Revert "fix bug on non existing path in path search" 01/14001/1
Vincent COUVERT [Wed, 12 Mar 2014 18:46:33 +0000 (19:46 +0100)]
(Fails to compile under Linux)

This reverts commit f98c7ac7587ce40c012d61f53c8fd918a63ea444.

Change-Id: I0b11ccc7279ae3786b88e2b898c4fd1cd22c120c

scilab/modules/graphic_objects/src/cpp/ScilabView.cpp
scilab/modules/graphic_objects/tests/unit_tests/path.dia.ref [deleted file]
scilab/modules/graphic_objects/tests/unit_tests/path.tst [deleted file]

index 88dfcb0..23ddc0e 100644 (file)
@@ -494,13 +494,27 @@ PathItem* ScilabView::getItem(std::string _pstTag)
 
 PathItem* ScilabView::getItem(std::string _pstTag, std::list<int>& _ignoredList)
 {
+    /*
+    */
     __pathList_iterator it = m_pathList.begin();
     for (; it != m_pathList.end(); it++)
     {
         PathItem * item = it->second;
         if (item->tag == _pstTag)
         {
-            if (std::find(_ignoredList.begin(), _ignoredList.end(), item->uid) == _ignoredList.end())
+            bool ignored = false;
+            //check if this handle is not in ignoredList
+            std::list<int>::iterator itIgnored = _ignoredList.begin();
+            for (; itIgnored != _ignoredList.end(); itIgnored++)
+            {
+                if ((*itIgnored) == item->uid)
+                {
+                    ignored = true;
+                    break;
+                }
+            }
+
+            if (ignored == false)
             {
                 return item;
             }
@@ -551,19 +565,13 @@ int ScilabView::search_path(char* _pstPath)
                         break;
                     }
                 }
-
-                //if figure is in ignore list, reeturn not found
-                if (std::find(ignoredList.begin(), ignoredList.end(), path->uid) != ignoredList.end())
-                {
-                    return 0;
-                }
             }
             else
             {
                 PathItem* newPath = search_children(path, pstSubPath, bDeep, ignoredList);
                 if (newPath == NULL)
                 {
-                    //flag handle to ignore and restart parsing
+                    //flag handle to ingnore and restart parsing
                     ignoredList.push_back(path->uid);
                     pstPath = strdup(_pstPath);
                     pstSubPath = strtok(pstPath, "/");
@@ -605,7 +613,17 @@ PathItem* ScilabView::search_children(PathItem* _path, std::string _subPath, boo
         {
             bool ignored = false;
             //check if this handle is not in ignoredList
-            if (std::find(_ignoredList.begin(), _ignoredList.end(), child->uid) == _ignoredList.end())
+            std::list<int>::iterator itIgnored = _ignoredList.begin();
+            for (; itIgnored != _ignoredList.end(); itIgnored++)
+            {
+                if ((*itIgnored) == child->uid)
+                {
+                    ignored = true;
+                    break;
+                }
+            }
+
+            if (ignored == false)
             {
                 return child;
             }
diff --git a/scilab/modules/graphic_objects/tests/unit_tests/path.dia.ref b/scilab/modules/graphic_objects/tests/unit_tests/path.dia.ref
deleted file mode 100644 (file)
index 631ba18..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-f = figure("tag", "mainFigure", "visible", "off");
-    f1 = uicontrol(f, "style", "frame", "tag", "f1");
-        f11 = uicontrol(f1, "style", "frame", "tag", "f11");
-        f12 = uicontrol(f1, "style", "frame", "tag", "f12");
-        f13 = uicontrol(f1, "style", "frame", "tag", "f13");
-        f14 = uicontrol(f1, "style", "frame", "tag", "leaf");
-            f141 = uicontrol(f14, "style", "frame", "tag", "leaf1");
-            f142 = uicontrol(f14, "style", "frame", "tag", "leaf2");
-            f143 = uicontrol(f14, "style", "frame", "tag", "f143");
-    f2 = uicontrol(f, "style", "frame", "tag", "f2");
-        f21 = uicontrol(f2, "style", "frame", "tag", "f21");
-        f22 = uicontrol(f2, "style", "frame", "tag", "f22");
-        f23 = uicontrol(f2, "style", "frame", "tag", "f23");
-        f24 = uicontrol(f2, "style", "frame", "tag", "leaf");
-            f241 = uicontrol(f24, "style", "frame", "tag", "leaf1");
-            f242 = uicontrol(f24, "style", "frame", "tag", "leaf2");
-            f243 = uicontrol(f24, "style", "frame", "tag", "f243");
-res = get("mainFigure");
-assert_checkequal(f.UID, res.UID);
-res = get("mainFigure/f1");
-assert_checkequal(f1.UID, res.UID);
-res = get("mainFigure/f2");
-assert_checkequal(f2.UID, res.UID);
-res = get("mainFigure/f1/f12");
-assert_checkequal(f12.UID, res.UID);
-res = get("mainFigure/f2/f22");
-assert_checkequal(f22.UID, res.UID);
-res = get("f1");
-assert_checkequal(f1.UID, res.UID);
-res = get("f13");
-assert_checkequal(f13.UID, res.UID);
-res = get("f5");
-assert_checkequal([], res);
-res = get("*/f2");
-assert_checkequal(f2.UID, res.UID);
-res = get("*/*/leaf");
-assert_checktrue(or(res.UID == [f14.UID, f24.UID]));
-res = get("*/leaf");
-assert_checktrue(or(res.UID == [f14.UID, f24.UID]));
-res = get("*/*/toto");
-assert_checkequal([], res);
-res = get("*/toto");
-assert_checkequal([], res);
-res = get("mainFigure/*/f23");
-assert_checkequal(f23.UID, res.UID);
-res = get("mainFigure/*/toto");
-assert_checkequal([], res);
-res = get("mainFigure/*/leaf/f143");
-assert_checkequal(f143.UID, res.UID);
-res = get("mainFigure/*/leaf/leaf1");
-assert_checktrue(or(res.UID == [f141.UID, f241.UID]));
-res = get("mainFigure/*/leaf/leaf2");
-assert_checktrue(or(res.UID == [f142.UID, f242.UID]));
diff --git a/scilab/modules/graphic_objects/tests/unit_tests/path.tst b/scilab/modules/graphic_objects/tests/unit_tests/path.tst
deleted file mode 100644 (file)
index e46f09b..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-// =============================================================================
-// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
-// Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET
-//
-//  This file is distributed under the same license as the Scilab package.
-// =============================================================================
-
-f = figure("tag", "mainFigure", "visible", "off");
-    f1 = uicontrol(f, "style", "frame", "tag", "f1");
-        f11 = uicontrol(f1, "style", "frame", "tag", "f11");
-        f12 = uicontrol(f1, "style", "frame", "tag", "f12");
-        f13 = uicontrol(f1, "style", "frame", "tag", "f13");
-        f14 = uicontrol(f1, "style", "frame", "tag", "leaf");
-            f141 = uicontrol(f14, "style", "frame", "tag", "leaf1");
-            f142 = uicontrol(f14, "style", "frame", "tag", "leaf2");
-            f143 = uicontrol(f14, "style", "frame", "tag", "f143");
-    f2 = uicontrol(f, "style", "frame", "tag", "f2");
-        f21 = uicontrol(f2, "style", "frame", "tag", "f21");
-        f22 = uicontrol(f2, "style", "frame", "tag", "f22");
-        f23 = uicontrol(f2, "style", "frame", "tag", "f23");
-        f24 = uicontrol(f2, "style", "frame", "tag", "leaf");
-            f241 = uicontrol(f24, "style", "frame", "tag", "leaf1");
-            f242 = uicontrol(f24, "style", "frame", "tag", "leaf2");
-            f243 = uicontrol(f24, "style", "frame", "tag", "f243");
-
-res = get("mainFigure");
-assert_checkequal(f.UID, res.UID);
-
-res = get("mainFigure/f1");
-assert_checkequal(f1.UID, res.UID);
-
-res = get("mainFigure/f2");
-assert_checkequal(f2.UID, res.UID);
-
-res = get("mainFigure/f1/f12");
-assert_checkequal(f12.UID, res.UID);
-
-res = get("mainFigure/f2/f22");
-assert_checkequal(f22.UID, res.UID);
-
-res = get("f1");
-assert_checkequal(f1.UID, res.UID);
-res = get("f13");
-assert_checkequal(f13.UID, res.UID);
-
-res = get("f5");
-assert_checkequal([], res);
-
-res = get("*/f2");
-assert_checkequal(f2.UID, res.UID);
-
-res = get("*/*/leaf");
-assert_checktrue(or(res.UID == [f14.UID, f24.UID]));
-
-res = get("*/leaf");
-assert_checktrue(or(res.UID == [f14.UID, f24.UID]));
-
-res = get("*/*/toto");
-assert_checkequal([], res);
-
-res = get("*/toto");
-assert_checkequal([], res);
-
-res = get("mainFigure/*/f23");
-assert_checkequal(f23.UID, res.UID);
-
-res = get("mainFigure/*/toto");
-assert_checkequal([], res);
-
-res = get("mainFigure/*/leaf/f143");
-assert_checkequal(f143.UID, res.UID);
-
-res = get("mainFigure/*/leaf/leaf1");
-assert_checktrue(or(res.UID == [f141.UID, f241.UID]));
-
-res = get("mainFigure/*/leaf/leaf2");
-assert_checktrue(or(res.UID == [f142.UID, f242.UID]));