[Igarden-commit] Garden/source/LayoutDB Element.cpp, 1.40.2.8, 1.40.2.9
Status: Beta
Brought to you by:
jlbedell
|
From: Jeffrey B. <jlb...@us...> - 2008-04-16 10:20:55
|
Update of /cvsroot/igarden/Garden/source/LayoutDB In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv7350/source/LayoutDB Modified Files: Tag: Release_branch_v1 Element.cpp Log Message: Fix problem reading overlap warnings from documents Index: Element.cpp =================================================================== RCS file: /cvsroot/igarden/Garden/source/LayoutDB/Element.cpp,v retrieving revision 1.40.2.8 retrieving revision 1.40.2.9 diff -C2 -d -r1.40.2.8 -r1.40.2.9 *** Element.cpp 26 Mar 2008 22:23:05 -0000 1.40.2.8 --- Element.cpp 16 Apr 2008 10:20:58 -0000 1.40.2.9 *************** *** 257,312 **** } } ! } ! ! stringObj = dynamic_cast<XGXMLStringData*>(obj); ! if(stringObj != NULL) ! { ! overlapPoint_t pointData; ! ! // <Element>[2074,2326,0], [220,220,0]</Element> ! // ! val = stringObj->GetValue(); ! for(ptr = val; ptr != NULL; ) { ! StringToPlanPoint(ptr, pointData.point); ! ptr = strchr(ptr, ']'); ! if(ptr != NULL) { ! ptr++; ! if(*ptr == '(') // Newer format { ! ptr++; ! if(CIstrncmp(ptr, "Current", 7) == 0) ! { ! pointData.style = kBeyondCurrentSize; ! ptr += 7; ! } ! else if(CIstrncmp(ptr, "Trunk", 5) == 0) ! { ! pointData.style = kBeyondTrunk; ! ptr += 5; ! } ! else if(CIstrncmp(ptr, "All", 3) == 0) { - pointData.style = kAllOverlap; - ptr += 3; - } - else - pointData.style = kBeyondMaximumGrowth; - if(CIstrncmp(ptr, "/Ack", 3) == 0) - pointData.ack = true; - else - pointData.ack = false; - while(*ptr != ',' && *ptr != ' ') ptr++; } - else - pointData.style = kBeyondMaximumGrowth; - while(*ptr == ',' || *ptr == ' ') - ptr++; - if(*ptr == '\0') - ptr = NULL; } - _overlapPoints.push_back(pointData); } } --- 257,314 ---- } } ! else if(strcmp(dataObj->GetTag(), "Overlap") == 0) { ! stringObj = dynamic_cast<XGXMLStringData*>(dataObj->GetChild()); ! if(stringObj != NULL) { ! overlapPoint_t pointData; ! ! // <Element>[2074,2326,0], [220,220,0]</Element> ! // ! val = stringObj->GetValue(); ! for(ptr = val; ptr != NULL; ) { ! StringToPlanPoint(ptr, pointData.point); ! ptr = strchr(ptr, ']'); ! if(ptr != NULL) { ptr++; + if(*ptr == '(') // Newer format + { + ptr++; + if(CIstrncmp(ptr, "Current", 7) == 0) + { + pointData.style = kBeyondCurrentSize; + ptr += 7; + } + else if(CIstrncmp(ptr, "Trunk", 5) == 0) + { + pointData.style = kBeyondTrunk; + ptr += 5; + } + else if(CIstrncmp(ptr, "All", 3) == 0) + { + pointData.style = kAllOverlap; + ptr += 3; + } + else + pointData.style = kBeyondMaximumGrowth; + if(CIstrncmp(ptr, "/Ack", 3) == 0) + pointData.ack = true; + else + pointData.ack = false; + while(*ptr != ',' && *ptr != ' '&& *ptr != '\0') + ptr++; + } + else + pointData.style = kBeyondMaximumGrowth; + while(*ptr == ',' || *ptr == ' ') + ptr++; + if(*ptr == '\0') + ptr = NULL; + } + _overlapPoints.push_back(pointData); } } } } |