示例#1
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();
		}
示例#2
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();
					}
				}
			}
示例#3
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();
		}