private PageReport PaintInvalid(Page page,PageReport report,string mode) { int invalidCount=0; Hashtable shapeHandlers=new Hashtable(); CgoConfig[] Cgo=CgoConfigs.Search(); GroupElementTable groupElementTable=new GroupElementTable(); ElementTable elementTable=new ElementTable(); foreach(Shape shape in page.Shapes) { string shapeName=VisioUtils.GetProperty(shape,"User","ScreenShape"); if(shapeName==null) continue; IShapeHandler shapeHandler=GetShapeHandler(shapeHandlers,shape,shapeName,mode); if(shape.Data1==_INVALID) { shapeHandler.PaintAsInvalid(); } else { if(Cgo!=null) { XmlNode shapeProperties=shapeHandler.GetProperties(); XmlNode cgoNode=shapeProperties.SelectSingleNode("cgoName"); if(cgoNode!=null) { string cgoCode=cgoNode.InnerText; if(!CgoConfigs.Exists(Cgo,cgoCode)) { } } } } invalidCount++; string groupElementName=VisioUtils.GetProperty(shape,"Prop","Group"); string elementName=VisioUtils.GetProperty(shape,"Prop","Element"); if((groupElementName==null)||(elementName==null)) continue; GroupElement groupElement=new GroupElement(groupElementName); groupElementTable.AddGroupElement(groupElement); Element element=new Element(elementName); elementTable.AddElement(element); } report=ShapeGroupValidation.Validate(groupElementTable,elementTable,report); return report; }
/// <summary> /// /// </summary> public void AddElement(Element element) { bool found=false; for(int i=0;i<this._elementTable.Count;i++) { Element iterator=(Element)this._elementTable[i]; if(iterator.ToString()==element.ToString()) { iterator.AddCount(1); found=true; i=this._elementTable.Count; } } if(found==false) { this._elementTable.Add(element); } }