public virtual void Rollback(ArrayList snapshot) { this.marker = (Int32)snapshot[0]; snapshot.RemoveAt(0); if (this.marker == MarkerStart) { ResetMarker(); return; } else if ((this.marker == -1) || children.Count == 0) { return; } if (this.marker <= MarkerStart) { return; } int numChildren = children.Count; for (int i = this.marker + 1; i < numChildren; i++) { FONode fo = (FONode)children[i]; fo.ResetMarker(); } ((FONode)children[this.marker]).Rollback(snapshot); }
protected internal override void AddChild(FONode child) { if (child is XMLObj) { ((XMLObj)child).addGraphic(doc, element); } }
public void AddMarker(string markerClassName) { if (children != null) { for (int i = 0; i < children.Count; i++) { FONode child = (FONode)children[i]; if (!child.MayPrecedeMarker()) { throw new FonetException( String.Format("A fo:marker must be an initial child of '{0}'", GetName())); } } } if (markerClassNames == null) { markerClassNames = new Hashtable(); markerClassNames.Add(markerClassName, String.Empty); } else if (!markerClassNames.ContainsKey(markerClassName)) { markerClassNames.Add(markerClassName, String.Empty); } else { throw new FonetException( String.Format("marker-class-name '{0}' already exists for this parent", markerClassName)); } }
protected internal override void AddChild(FONode child) { if (doc == null) { CreateBasicDocument(); } base.AddChild(child); }
protected internal override void AddChild(FONode child) { var xmlChild = child as XMLObj; if (xmlChild != null) { xmlChild.addGraphic(doc, element); } }
public virtual void RemoveID(IDReferences idReferences) { if (((FObj)this).properties.GetProperty("id") == null || ((FObj)this).properties.GetProperty("id").GetString() == null) { return; } idReferences.RemoveID(((FObj)this).properties.GetProperty("id").GetString()); int numChildren = this.children.Count; for (int i = 0; i < numChildren; i++) { FONode child = (FONode)children[i]; if ((child is FObj)) { ((FObj)child).RemoveID(idReferences); } } }
public override Status Layout(Area area) { if (this.properties != null) { Property prop = this.properties.GetProperty("id"); if (prop != null) { string id = prop.GetString(); if (this.marker == MarkerStart) { if (area.getIDReferences() != null) { area.getIDReferences().CreateID(id); } this.marker = 0; } if (this.marker == 0) { if (area.getIDReferences() != null) { area.getIDReferences().ConfigureID(id, area); } } } } int numChildren = this.children.Count; for (int i = this.marker; i < numChildren; i++) { FONode fo = (FONode)children[i]; Status status; if ((status = fo.Layout(area)).isIncomplete()) { this.marker = i; return(status); } } return(new Status(Status.OK)); }
protected internal virtual void AddChild(FONode child) { children.Add(child); }