示例#1
0
        public override void loadFrom(BinaryReader reader, PersistContext ctx)
        {
            base.loadFrom(reader, ctx);
            ctx.loadReference(this);
            ctx.loadReference(this);
            ctx.loadReference(this);
            ctx.loadReference(this);
            style = (SelectionStyle)reader.ReadInt32();

            if (ctx.FileVersion >= 12)
            {
                // new in file format 12
                ctx.loadReference(this);                        // selectedHosts
            }
        }
示例#2
0
        public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
        {
            rect          = ctx.loadRectF();
            constructed   = reader.ReadBoolean();
            locked        = reader.ReadBoolean();
            zIndex        = reader.ReadInt32();
            penDashStyle  = (DashStyle)reader.ReadInt32();
            penWidth      = (float)reader.ReadDouble();
            shadowOffsetX = (float)reader.ReadDouble();
            shadowOffsetY = (float)reader.ReadDouble();
            invisible     = reader.ReadBoolean();
            selected      = reader.ReadBoolean();

            tag = null;
            bool tagAvailable = reader.ReadBoolean();

            if (tagAvailable)
            {
                tag = ctx.loadTag();
            }

            manipulators = new ArrayList();

            font    = ctx.loadFont();
            toolTip = reader.ReadString();

            ctx.loadReference(this);
            ctx.loadReference(this);

            if (ctx.FileVersion > 9)
            {
                // new in file format 10
                shadowColor  = ctx.loadColor();
                ignoreLayout = reader.ReadBoolean();

                if (ctx.FileVersion > 14)
                {
                    // new in file format 15
                    printable = reader.ReadBoolean();

                    if (ctx.FileVersion > 15)
                    {
                        // new in file format 16
                        weight = reader.ReadSingle();
                    }
                }
            }
        }
示例#3
0
        public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
        {
            int count = reader.ReadInt32();

            InnerList.Capacity = count;
            for (int i = 0; i < count; ++i)
            {
                InnerList.Add(null);
                ctx.loadReference(this);
            }
        }
示例#4
0
 public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
 {
     ctx.loadReference(this);
     _color         = ctx.loadColor();
     _compoundArray = ctx.loadFloatArray();
     _dashStyle     = (DashStyle)reader.ReadInt32();
     _dashPattern   = ctx.loadFloatArray();
     _dashOffset    = (float)reader.ReadDouble();
     _width         = (float)reader.ReadDouble();
     _lineJoin      = (LineJoin)reader.ReadInt32();
     _miterLimit    = (float)reader.ReadDouble();
 }
示例#5
0
        public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
        {
            ctx.loadReference(this);
            prevRect = ctx.loadRectF();
            int c = reader.ReadInt32();

            for (int i = 0; i < c; ++i)
            {
                Attachment atch = (Attachment)ctx.loadObject();
                attachments.Add(atch);
            }
            ctx.loadReference(this);
            visible = reader.ReadBoolean();

            tag = null;
            bool tagAvailable = reader.ReadBoolean();

            if (tagAvailable)
            {
                tag = ctx.loadTag();
            }

            if (ctx.FileVersion > 16)
            {
                // new in save format 17
                autoDeleteItems = reader.ReadBoolean();

                if (ctx.FileVersion > 20)
                {
                    // new in save format 21
                    expandable = reader.ReadBoolean();

                    if (ctx.FileVersion > 21)
                    {
                        // new in save format 22
                        followMasterRotation = reader.ReadBoolean();
                    }
                }
            }
        }
示例#6
0
        public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
        {
            ctx.loadReference(this);
            type    = (AttachTo)reader.ReadInt32();
            attData = reader.ReadInt32();

            // in format revision 28 'percents' changed from Rectangle to RectangleF
            if (ctx.FileVersion < 28)
            {
                Rectangle r = ctx.loadRect();
                percents = RectangleF.FromLTRB(r.Left, r.Top, r.Right, r.Bottom);
            }
            else
            {
                percents = ctx.loadRectF();
            }
        }
示例#7
0
		public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
		{
			ctx.loadReference(this);
			type = (AttachTo)reader.ReadInt32();
			attData = reader.ReadInt32();

			// in format revision 28 'percents' changed from Rectangle to RectangleF
			if (ctx.FileVersion < 28)
			{
				Rectangle r = ctx.loadRect();
				percents = RectangleF.FromLTRB(r.Left, r.Top, r.Right, r.Bottom);
			}
			else
			{
				percents = ctx.loadRectF();
			}
		}
示例#8
0
        public override void loadFrom(BinaryReader reader, PersistContext ctx)
        {
            base.loadFrom(reader, ctx);
            ctx.loadReference(this);
            row = reader.ReadInt32();

            if (ctx.FileVersion < 6)
            {
                // fix the mess from old versions
                if (relativePosition.X == -1)
                {
                    relativePosition.X = 0;
                }
                if (relativePosition.X == 1)
                {
                    relativePosition.X = 100;
                }
                relativePosition.Y = 50;
            }
        }
示例#9
0
        public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
        {
            ctx.loadReference(this);

            if (ctx.FileVersion <= 21)
            {
                // not used any more
                float x  = (float)reader.ReadDouble();
                float y  = (float)reader.ReadDouble();
                int   rx = reader.ReadInt32();
                int   ry = reader.ReadInt32();
                relativePosition = new PointF(rx, ry);
            }

            incoming = reader.ReadBoolean();

            if (ctx.FileVersion > 21)
            {
                // in format revision 22 these become float:
                float rx = reader.ReadSingle();
                float ry = reader.ReadSingle();
                relativePosition = new PointF(rx, ry);
            }
        }
示例#10
0
		public override void loadFrom(BinaryReader reader, PersistContext ctx)
		{
			base.loadFrom(reader, ctx);

			style = (ArrowStyle)reader.ReadInt32();
			penColor = ctx.loadColor();
			ctx.loadReference(this);
			ctx.loadReference(this);
			segmentCount = reader.ReadInt16();
			text = reader.ReadString();
			textColor = ctx.loadColor();
			arrowHead = (ArrowHead)reader.ReadInt32();
			arrowBase = (ArrowHead)reader.ReadInt32();
			arrowInterm = (ArrowHead)reader.ReadInt32();
			headSize = (float)reader.ReadDouble();
			baseSize = (float)reader.ReadDouble();
			intermSize = (float)reader.ReadDouble();
			fillColor = ctx.loadColor();
			dynamic = reader.ReadBoolean();
			cascadeOrientation = (Orientation)reader.ReadInt32();
			cascadeStartHorizontal = reader.ReadBoolean();
			reflexive = reader.ReadBoolean();
			ctx.loadReference(this);
			ctx.loadReference(this);

			ahHead = new ArrowHeadShape(headSize);
			ahBase = new ArrowHeadShape(baseSize);
			ahInterm = new ArrowHeadShape(intermSize);

			headTemplates[(int)arrowHead].initArrowHead(ahHead);
			headTemplates[(int)arrowBase].initArrowHead(ahBase);
			headTemplates[(int)arrowInterm].initArrowHead(ahInterm);

			pen.Width = PenWidth;
			pen.Color = frameColor;
			pen.DashStyle = PenDashStyle;
			brush.Release();
			brush = new SolidBrush(fillColor);
			brush.AddRef();
			headPen.Width = PenWidth;
			headPen.Color = frameColor;
			headPen.DashStyle = PenDashStyle;

			if (ctx.FileVersion > 3)
			{
				pen = (Pen)ctx.loadObject();
				ctx.loadReference(this);

				if (ctx.FileVersion > 4)
				{
					// new in file format 5
					allowMoveStart = reader.ReadBoolean();
					allowMoveEnd = reader.ReadBoolean();
					orgnAnchor = reader.ReadInt32();
					destAnchor = reader.ReadInt32();

					if (ctx.FileVersion > 7)
					{
						// new in file format 8
						autoRoute = reader.ReadBoolean();
						retainForm = reader.ReadBoolean();
						textStyle = (ArrowTextStyle)reader.ReadInt32();

						if (ctx.FileVersion > 9)
						{
							// new in file format 10
							headPen = (Pen)ctx.loadObject();

							if (ctx.FileVersion > 16)
							{
								// new in file format 17
								customDraw = (CustomDraw)reader.ReadInt32();

								if (ctx.FileVersion > 19)
								{
									// new in file format 20
									snapToNodeBorder = reader.ReadBoolean();
									selStyle = (HandlesStyle)ctx.reader.ReadInt32();

									if (ctx.FileVersion > 25)
									{
										// new in file format 26
										hyperLink = reader.ReadString();

										if (ctx.FileVersion > 28)
										{
											// new in file format 29
											drawCrossings = reader.ReadBoolean();
										}
									}
								}
							}
						}
					}
				}
			}

			updateText();
		}
示例#11
0
		public override void loadFrom(BinaryReader reader, PersistContext ctx)
		{
			base.loadFrom(reader, ctx);

			enabledHandles = (Handles)reader.ReadInt64();
			ctrlMouseAction = (HostMouseAction)reader.ReadInt32();
			ctx.loadReference(this); // incoming arrows
			ctx.loadReference(this); // outgoing arrows

			// Load control
			if (reader.ReadBoolean())
			{
				string assemblyName = reader.ReadString();
				string typeName = reader.ReadString();

				System.Type type = Utilities.getLoadedType(typeName, assemblyName);
				if (type == null)
					throw new FileLoadException("Cannot load hosted control of type " + typeName);

				ConstructorInfo ctorInfo = type.GetConstructor(System.Type.EmptyTypes);

				// Instantiate
				Control = (System.Windows.Forms.Control)ctorInfo.Invoke(null);

				// Read properties
				while (reader.ReadBoolean())
				{
					string propName = reader.ReadString();
					object val = ctx.loadTag();
					try
					{
						PropertyInfo prop = type.GetProperty(propName);
						prop.SetValue(_control, val, null);
					}
					catch
					{
						// Exceptions happen
					}
				}

				flowChart.fireControlHostDeserializing(this, reader);
			}
			else
			{
				Control = null;
			}

			if (ctx.FileVersion > 13)
			{
				// new in save format 14
				setExpanded(reader.ReadBoolean());
				setExpandable(reader.ReadBoolean());

				if (ctx.FileVersion > 21)
				{
					// new in save format 22
					selStyle = (HandlesStyle)reader.ReadInt32();
				}
			}
		}
示例#12
0
        public override void loadFrom(BinaryReader reader, PersistContext ctx)
        {
            base.loadFrom(reader, ctx);

            enabledHandles  = (Handles)reader.ReadInt64();
            ctrlMouseAction = (HostMouseAction)reader.ReadInt32();
            ctx.loadReference(this);             // incoming arrows
            ctx.loadReference(this);             // outgoing arrows

            // Load control
            if (reader.ReadBoolean())
            {
                string assemblyName = reader.ReadString();
                string typeName     = reader.ReadString();

                System.Type type = Utilities.getLoadedType(typeName, assemblyName);
                if (type == null)
                {
                    throw new FileLoadException("Cannot load hosted control of type " + typeName);
                }

                ConstructorInfo ctorInfo = type.GetConstructor(System.Type.EmptyTypes);

                // Instantiate
                Control = (System.Windows.Forms.Control)ctorInfo.Invoke(null);

                // Read properties
                while (reader.ReadBoolean())
                {
                    string propName = reader.ReadString();
                    object val      = ctx.loadTag();
                    try
                    {
                        PropertyInfo prop = type.GetProperty(propName);
                        prop.SetValue(_control, val, null);
                    }
                    catch
                    {
                        // Exceptions happen
                    }
                }

                flowChart.fireControlHostDeserializing(this, reader);
            }
            else
            {
                Control = null;
            }

            if (ctx.FileVersion > 13)
            {
                // new in save format 14
                setExpanded(reader.ReadBoolean());
                setExpandable(reader.ReadBoolean());

                if (ctx.FileVersion > 21)
                {
                    // new in save format 22
                    selStyle = (HandlesStyle)reader.ReadInt32();
                }
            }
        }
示例#13
0
		/// <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);
			}
		}
示例#14
0
		public override void loadFrom(BinaryReader reader, PersistContext ctx)
		{
			base.loadFrom(reader, ctx);
			ctx.loadReference(this);
			ctx.loadReference(this);
			ctx.loadReference(this);
			ctx.loadReference(this);
			style = (SelectionStyle)reader.ReadInt32();

			if (ctx.FileVersion >= 12)
			{
				// new in file format 12
				ctx.loadReference(this);	// selectedHosts
			}
		}
示例#15
0
			public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
			{
				int count = reader.ReadInt32();
				InnerList.Capacity = count;
				for (int i = 0; i < count; ++i)
				{
					InnerList.Add(null);
					ctx.loadReference(this);
				}
			}
示例#16
0
		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();
		}
示例#17
0
 public override void loadFrom(BinaryReader reader, PersistContext ctx)
 {
     base.loadFrom(reader, ctx);
     ctx.loadReference(this);
 }
示例#18
0
文件: GDI.cs 项目: ChrisMoreton/Test3
		public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
		{
			ctx.loadReference(this);
			_color = ctx.loadColor();
			_compoundArray = ctx.loadFloatArray();
			_dashStyle = (DashStyle)reader.ReadInt32();
			_dashPattern = ctx.loadFloatArray();
			_dashOffset = (float)reader.ReadDouble();
			_width = (float)reader.ReadDouble();
			_lineJoin = (LineJoin)reader.ReadInt32();
			_miterLimit = (float)reader.ReadDouble();
		}
示例#19
0
		public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
		{
			rect = ctx.loadRectF();
			constructed = reader.ReadBoolean();
			locked = reader.ReadBoolean();
			zIndex = reader.ReadInt32();
			penDashStyle = (DashStyle)reader.ReadInt32();
			penWidth = (float)reader.ReadDouble();
			shadowOffsetX = (float)reader.ReadDouble();
			shadowOffsetY = (float)reader.ReadDouble();
			invisible = reader.ReadBoolean();
			selected = reader.ReadBoolean();

			tag = null;
			bool tagAvailable = reader.ReadBoolean();
			if (tagAvailable)
				tag = ctx.loadTag();

			manipulators = new ArrayList();

			font = ctx.loadFont();
			toolTip = reader.ReadString();

			ctx.loadReference(this);
			ctx.loadReference(this);

			if (ctx.FileVersion > 9)
			{
				// new in file format 10
				shadowColor = ctx.loadColor();
				ignoreLayout = reader.ReadBoolean();

				if (ctx.FileVersion > 14)
				{
					// new in file format 15
					printable = reader.ReadBoolean();

					if (ctx.FileVersion > 15)
					{
						// new in file format 16
						weight = reader.ReadSingle();
					}
				}
			}
		}
示例#20
0
			public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
			{
				ctx.loadReference(this);
				width = (float)reader.ReadDouble();
				columnStyle = (ColumnStyle)reader.ReadInt32();
			}
示例#21
0
		public override void loadFrom(BinaryReader reader, PersistContext ctx)
		{
			base.loadFrom(reader, ctx);
			ctx.loadReference(this);
			row = reader.ReadInt32();

			if (ctx.FileVersion < 6)
			{
				// fix the mess from old versions
				if (relativePosition.X == -1) relativePosition.X = 0;
				if (relativePosition.X == 1) relativePosition.X = 100;
				relativePosition.Y = 50;
			}
		}
示例#22
0
			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();
			}
示例#23
0
		public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
		{
			ctx.loadReference(this);
			prevRect = ctx.loadRectF();
			int c = reader.ReadInt32();
			for (int i = 0; i < c; ++i)
			{
				Attachment atch = (Attachment)ctx.loadObject();
				attachments.Add(atch);
			}
			ctx.loadReference(this);
			visible = reader.ReadBoolean();

			tag = null;
			bool tagAvailable = reader.ReadBoolean();
			if (tagAvailable)
				tag = ctx.loadTag();

			if (ctx.FileVersion > 16)
			{
				// new in save format 17
				autoDeleteItems = reader.ReadBoolean();

				if (ctx.FileVersion > 20)
				{
					// new in save format 21
					expandable = reader.ReadBoolean();

					if (ctx.FileVersion > 21)
					{
						// new in save format 22
						followMasterRotation = reader.ReadBoolean();
					}
				}
			}
		}
示例#24
0
			public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
			{
				height = (float)reader.ReadDouble();
				ctx.loadReference(this);
				ctx.loadReference(this);
				ctx.loadReference(this);
				ctx.loadReference(this);
				ctx.loadReference(this);

				if (ctx.FileVersion > 5)
				{
					// new in save format 6
					anchorPattern = ctx.loadAnchorPattern();

					if (ctx.FileVersion > 21)
					{
						// new in save format 22
						header = reader.ReadBoolean();
						expanded = reader.ReadBoolean();
					}
				}
			}
示例#25
0
		public override void loadFrom(BinaryReader reader, PersistContext ctx)
		{
			base.loadFrom(reader, ctx);
			ctx.loadReference(this);
		}
示例#26
0
		public virtual void loadFrom(BinaryReader reader, PersistContext ctx)
		{
			ctx.loadReference(this);

			if (ctx.FileVersion <= 21)
			{
				// not used any more
				float x = (float)reader.ReadDouble();
				float y = (float)reader.ReadDouble();
				int rx = reader.ReadInt32();
				int ry = reader.ReadInt32();
				relativePosition = new PointF(rx, ry);
			}

			incoming = reader.ReadBoolean();

			if (ctx.FileVersion > 21)
			{
				// in format revision 22 these become float:
				float rx = reader.ReadSingle();
				float ry = reader.ReadSingle();
				relativePosition = new PointF(rx, ry);
			}
		}
示例#27
0
文件: Box.cs 项目: ChrisMoreton/Test3
		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();
		}