public virtual void loadFrom(BinaryReader reader, PersistContext ctx) { toolTip = ""; hyperLink = ""; text = reader.ReadString(); textFormat = ctx.loadStringFormat(); ctx.loadReference(this); if (ctx.FileVersion > 5) { // new in save format 6 picturePos = (ImageAlign)reader.ReadInt32(); picture = ctx.loadImage(); if (ctx.FileVersion > 13) { // new in save format 14 textColor = ctx.loadColor(); ctx.loadReference(this); // brush if (ctx.FileVersion > 17) { // new in save format 18 toolTip = reader.ReadString(); if (ctx.FileVersion > 18) { // new in save format 19 hyperLink = reader.ReadString(); if (ctx.FileVersion > 21) { // new in save format 22 columnSpan = reader.ReadInt32(); rowSpan = reader.ReadInt32(); tag = null; bool tagAvailable = reader.ReadBoolean(); if (tagAvailable) tag = ctx.loadTag(); } } } } } txOptions = new Text.LayoutOptions(); txLayout = new Text.Layout(); }
/// <summary> /// Loads the FlowChart document from a stream. /// </summary> public void LoadFromStream(Stream stream) { try { loading = true; SuspendLayout(); ClearAll(); PersistContext ctx = new PersistContext(stream, this); ctx.readHeader(); // read basic-type flowchart properties DocInfoVer1 docInfo1 = (DocInfoVer1)ctx.loadObject(); DocInfoVer2 docInfo2 = (DocInfoVer2)ctx.loadObject(); docInfo1.apply(this); docInfo2.apply(this); textFormat = ctx.loadStringFormat(); Font = ctx.loadFont(); BackgroundImage = ctx.loadImage(); // read diagram objects zOrder = (ChartObjectCollection)ctx.loadObject(); groups = (GroupCollection)ctx.loadObject(); selection = (Selection)ctx.loadObject(); ctx.loadReference(this); if (ctx.FileVersion > 2) { shapeTemplate = (ShapeTemplate)ctx.loadObject(); if (ctx.FileVersion > 3) { Brush.RestoreBrushes(this, new BinaryReader(stream), ctx); boxPen = (Pen)ctx.loadObject(); arrowPen = (Pen)ctx.loadObject(); tablePen = (Pen)ctx.loadObject(); ctx.loadReference(this); ctx.loadReference(this); ctx.loadReference(this); boxSelStyle = (HandlesStyle)ctx.reader.ReadInt32(); tableSelStyle = (HandlesStyle)ctx.reader.ReadInt32(); if (ctx.FileVersion > 4) { // new in save format 5 allowLinksRepeat = ctx.reader.ReadBoolean(); if (ctx.FileVersion > 5) { // new in save format 6 PolyTextLayout = ctx.reader.ReadBoolean(); ShapeOrientation = ctx.reader.ReadSingle(); if (ctx.FileVersion > 7) { // new in save format 8 routeArrows = ctx.reader.ReadBoolean(); arrowsRetainForm = ctx.reader.ReadBoolean(); arrowTextStyle = (ArrowTextStyle)ctx.reader.ReadInt32(); tableLinkStyle = (TableLinkStyle)ctx.reader.ReadInt32(); if (ctx.FileVersion >= 12) { // new in save format 12 measureUnit = (GraphicsUnit)ctx.reader.ReadInt32(); docExtentsMin = ctx.loadRectF(); if (ctx.FileVersion > 13) { // new in save format 14 expandBtnPos = (ExpandButtonPosition)ctx.reader.ReadInt32(); // not used anymore ctx.reader.ReadInt32(); ctx.reader.ReadInt32(); enableStyledText = ctx.reader.ReadBoolean(); usePolyTextLt = ctx.reader.ReadBoolean(); ctx.loadReference(this); // brush if (ctx.FileVersion > 16) { // new in save format 17 arrowText = ctx.reader.ReadString(); boxText = ctx.reader.ReadString(); arrowCrossings = (ArrowCrossings)ctx.reader.ReadInt32(); gridStyle = (GridStyle)ctx.reader.ReadInt32(); crossRadius = ctx.reader.ReadSingle(); if (ctx.FileVersion > 19) { // new in save format 20 ctx.loadReference(this); // exteriorBrush arrowsSnapToBorders = ctx.reader.ReadBoolean(); arrowSelStyle = (HandlesStyle)ctx.reader.ReadInt32(); if (ctx.FileVersion > 20) { // new in save format 21 Tag = null; bool tagAvailable = ctx.reader.ReadBoolean(); if (tagAvailable) Tag = ctx.loadTag(); if (ctx.FileVersion > 26) { // new in save format 27 roundedArrows = ctx.reader.ReadBoolean(); roundedArrowsRadius = ctx.reader.ReadSingle(); } } } } } } } } } } } // finish load ctx.loadRemainingObjects(); ctx.setReferences(); // add the objects to their specialized collections foreach (ChartObject obj in zOrder) addToObjColl(obj); foreach (Group group in groups) group.updateObjCol(); Brush.freeUnusedBrushes(); foreach (ChartObject obj in zOrder) obj.onLoad(); dirty = false; Invalidate(); } finally { loading = false; ResumeLayout(true); } }
public override void loadFrom(BinaryReader reader, PersistContext ctx) { base.loadFrom(reader, ctx); hasHeaderRows = false; hasSpanningCells = false; ctx.loadReference(this); // load cells ctx.loadReference(this); // load rows ctx.loadReference(this); // load columns currScrollRow = reader.ReadInt32(); scrollable = reader.ReadBoolean(); setScrollable(scrollable); fillColor = ctx.loadColor(); frameColor = ctx.loadColor(); caption = reader.ReadString(); captionColor = ctx.loadColor(); captionFormat = ctx.loadStringFormat(); captionHeight = (float)reader.ReadDouble(); cellBorders = (CellFrameStyle)reader.ReadInt32(); rowsCount = reader.ReadInt32(); rowHeight = (float)reader.ReadDouble(); columnsCount = reader.ReadInt32(); columnWidth = (float)reader.ReadDouble(); textColor = ctx.loadColor(); picturePos = (ImageAlign)reader.ReadInt32(); picture = ctx.loadImage(); pen.Width = PenWidth; pen.Color = frameColor; pen.DashStyle = PenDashStyle; brush.Release(); brush = new SolidBrush(fillColor); brush.AddRef(); if (ctx.FileVersion > 3) { pen = (Pen)ctx.loadObject(); ctx.loadReference(this); selStyle = (HandlesStyle)reader.ReadInt32(); if (ctx.FileVersion > 5) { // new in save format 6 rowAnchorPattern = ctx.loadAnchorPattern(); enabledHandles = (Handles)reader.ReadInt64(); style = (TableStyle)reader.ReadInt32(); if (ctx.FileVersion > 7) { // new in file format 8 linkStyle = (TableLinkStyle)reader.ReadInt32(); if (ctx.FileVersion > 8) { // new in save format 9 anchorPattern = ctx.loadAnchorPattern(); // Load table arrows ctx.loadReference(this); ctx.loadReference(this); if (ctx.FileVersion > 13) { // new in save format 14 setExpanded(reader.ReadBoolean()); setExpandable(reader.ReadBoolean()); useStyledText = reader.ReadBoolean(); if (ctx.FileVersion > 18) { // new in save format 19 customDraw = (CustomDraw)reader.ReadInt32(); cellCustomDraw = (CustomDraw)reader.ReadInt32(); if (ctx.FileVersion > 21) { // new in save format 22 offsetHeaderRows = reader.ReadBoolean(); if (ctx.FileVersion > 24) { // new in save format 25 ctx.loadReference(this); // captionBackBrush } } } } } } } } resetCoveredCells(); updateText(); layoutText(); }
public override void loadFrom(BinaryReader reader, PersistContext ctx) { base.loadFrom(reader, ctx); int intStyle = 0; ShapeTemplate polyShape = null; setExpanded(reader.ReadBoolean()); setExpandable(reader.ReadBoolean()); enabledHandles = (Handles)reader.ReadInt64(); intStyle = reader.ReadInt32(); if (intStyle == 4) // Polygon style = BoxStyle.Shape; else style = (BoxStyle)intStyle; fillColor = ctx.loadColor(); frameColor = ctx.loadColor(); picturePos = (ImageAlign)reader.ReadInt32(); text = reader.ReadString(); textColor = ctx.loadColor(); textFormat = ctx.loadStringFormat(); transparent = reader.ReadBoolean(); // this was used with the now obsolete bsPolygon boxes if (ctx.FileVersion < 22) { ctx.loadPtfArray(); int c = reader.ReadInt32(); byte[] b = reader.ReadBytes(c); if (intStyle == 4) // Polygon polyShape = new ShapeTemplate(b); } ctx.loadReference(this); ctx.loadReference(this); ArrowAnchor anchorIncoming =(ArrowAnchor)reader.ReadInt32(); ArrowAnchor anchorOutgoing= (ArrowAnchor)reader.ReadInt32(); customDraw = (CustomDraw)reader.ReadInt32(); image = ctx.loadImage(); pen.Width = PenWidth; pen.Color = frameColor; pen.DashStyle = PenDashStyle; brush.Release(); brush = new SolidBrush(fillColor); brush.AddRef(); if (ctx.FileVersion > 2) { if (ctx.FileVersion < 6) { shapeTemplate = (ShapeTemplate)ctx.loadObject(); shapeData = (ShapeTemplate.PathData)ctx.loadObject(); } if (ctx.FileVersion > 3) { pen = (Pen)ctx.loadObject(); ctx.loadReference(this); selStyle = (HandlesStyle)reader.ReadInt32(); if (ctx.FileVersion > 4) { // new in save format 5 anchorPattern = ctx.loadAnchorPattern(); if (ctx.FileVersion > 5) { // new in save format 6 PolyTextLayout = reader.ReadBoolean(); ShapeOrientation = (float)reader.ReadDouble(); int hasShape = reader.ReadInt32(); if (hasShape != -1) { string shpId = reader.ReadString(); if (shpId == "") { shapeTemplate = (ShapeTemplate)ctx.loadObject(); shapeData = (ShapeTemplate.PathData)ctx.loadObject(); } else { ShapeTemplate stvalue = ShapeTemplate.FromId(shpId); ShapeTemplate newVal = flowChart.DefaultShape; if (stvalue != null) newVal = stvalue; if (newVal.Id == "") shapeTemplate = (ShapeTemplate)newVal.Clone(); else shapeTemplate = newVal; shapeData = null; } updateShapePoints(); } if (intStyle == 4) // Polygon { shapeTemplate = polyShape; shapeData = null; updateShapePoints(); } if (ctx.FileVersion > 12) { // new in save format 13 // now loaded in Node::loadFrom if (ctx.FileVersion < 15) hyperLink = reader.ReadString(); if (ctx.FileVersion > 13) { // new in save format 14 useStyledText = reader.ReadBoolean(); if (ctx.FileVersion > 21) { // new in save format 22 rotationAngle = reader.ReadSingle(); rotateContents = reader.ReadBoolean(); } } } } } } } updateText(); layoutText(); }