示例#1
0
        public override void Deserialize(Version documentVersion, XmlElement node)
        {
            base.Deserialize(documentVersion, node);

            BackColor     = ST.DeserializeColor(node, "back_color", BackColor);
            ForeColor     = ST.DeserializeColor(node, "fore_color", ForeColor);
            LineColor     = ST.DeserializeColor(node, "line_color", LineColor);
            BorderColor   = ST.DeserializeColor(node, "border_color", BorderColor);
            Shape         = ST.GetTopicShape(ST.ReadTextNode(node, "shape"), TopicShape.Default);
            RoundRadius   = ST.GetInt(ST.ReadTextNode(node, "round_radius"), TopicStyle.DefaultRoundRadius);
            TextAlignment = ST.GetEnumValue(ST.ReadTextNode(node, "text_align"), HorizontalAlignment.Center);
            FillType      = ST.ReadTextNode(node, "fill_type");

            Padding?padding = ST.GetPadding(ST.ReadTextNode(node, "padding"));

            if (padding.HasValue)
            {
                Padding = padding.Value;
            }
            else
            {
                Padding = new Padding(TopicStyle.DefaultNodePadding);
            }

            XmlElement fontNode = node.SelectSingleNode("font") as XmlElement;

            if (fontNode != null)
            {
                Font = ST.ReadFontNode(fontNode);
            }
        }
示例#2
0
文件: Widget.cs 项目: namit3/BlueMind
        public override void Deserialize(Version documentVersion, XmlElement node)
        {
            //
            if (documentVersion >= Document.DV_3) // 新
            {
                this.Bounds = new Rectangle(
                    ST.GetIntDefault(node.GetAttribute("x")),
                    ST.GetIntDefault(node.GetAttribute("y")),
                    ST.GetIntDefault(node.GetAttribute("width")),
                    ST.GetIntDefault(node.GetAttribute("height")));

                CustomWidth  = ST.GetInt(node.GetAttribute("custom_width"));
                CustomHeight = ST.GetInt(node.GetAttribute("custom_height"));
            }
            else
            {
                CustomWidth  = ST.GetInt(node.GetAttribute("width"));
                CustomHeight = ST.GetInt(node.GetAttribute("height"));
            }

            if (node.HasAttribute("align"))
            {
                Alignment = ST.GetEnumValue <WidgetAlignment>(node.GetAttribute("align"), Alignment);
            }
            Hyperlink    = node.GetAttribute("hyperlink");
            DisplayIndex = ST.GetIntDefault(node.GetAttribute("display_index"));
            Padding      = ST.GetIntDefault(node.GetAttribute("padding"));
            Text         = ST.ReadTextNode(node, "text");
        }
示例#3
0
        public override void Deserialize(Version documentVersion, XmlElement node)
        {
            base.Deserialize(documentVersion, node);

            if (node.HasAttribute("image_url"))
            {
                ImageUrl = node.GetAttribute("image_url");
            }
            SizeType     = ST.GetEnumValue(node.GetAttribute("size_type"), this.SizeType);
            OriginalSize = ST.GetValue(node.GetAttribute("original_size"), Size.Empty);

            if (ST.HasImageNode(node, "thumb"))
            {
                ThumbImage = ST.ReadImageNode(node, "thumb");
            }

            if (ST.HasImageNode(node))
            {
                Data = ST.ReadImageNode(node);
            }
            else if (ST.HasImageNode(node, "data"))
            {
                Data = ST.ReadImageNode(node, "data");
            }

            EmbedIn = ST.GetBool(node.GetAttribute("embed_in"), EmbedIn);
        }
示例#4
0
 public void Deserialize(Version documentVersion, XmlElement node)
 {
     BeginSide      = ST.GetEnumValue(node.GetAttribute("begin_side"), BeginSide);
     EndSide        = ST.GetEnumValue(node.GetAttribute("end_side"), EndSide);
     BeginRectangle = ST.GetRectangle(node.GetAttribute("begin_rect"), BeginRectangle);
     EndRectangle   = ST.GetRectangle(node.GetAttribute("end_rect"), EndRectangle);
 }
示例#5
0
        public override void Deserialize(Version documentVersion, XmlElement node)
        {
            base.Deserialize(documentVersion, node);

            //FromID = node.GetAttribute("from");
            TargetID = node.GetAttribute("target");
            //LayoutData.CPLength1 = ST.GetInt(node.GetAttribute("cp1_length"), 0);
            //LayoutData.CPAngle1 = ST.GetInt(node.GetAttribute("cp1_angle"), 0);
            LayoutData.CP1 = new BezierControlPoint(
                ST.GetInt(node.GetAttribute("cp1_angle"), 0),
                ST.GetInt(node.GetAttribute("cp1_length"), 0));
            //LayoutData.CPLength2 = ST.GetInt(node.GetAttribute("cp2_length"), 0);
            //LayoutData.CPAngle2 = ST.GetInt(node.GetAttribute("cp2_angle"), 0);
            LayoutData.CP2 = new BezierControlPoint(
                ST.GetInt(node.GetAttribute("cp2_angle"), 0),
                ST.GetInt(node.GetAttribute("cp2_length"), 0));
            Color     = ST.GetColor(node.GetAttribute("color"), Color);
            LineWidth = ST.GetInt(node.GetAttribute("width"), LineWidth);
            LineStyle = ST.GetEnumValue(node.GetAttribute("line_style"), LineStyle);
            Text      = node.GetAttribute("text");
            Hyperlink = node.GetAttribute("hyperlink");

            if (node.HasAttribute("start_cap"))
            {
                int c;
                if (int.TryParse(node.GetAttribute("start_cap"), out c))
                {
                    StartCap = ((LineCap)c).ToLineAnchor();
                }
                else if (documentVersion >= Document.DV_3)
                {
                    StartCap = LineAnchorExtensions.Parse(node.GetAttribute("start_cap"));
                }
            }

            if (node.HasAttribute("end_cap"))
            {
                int c;
                if (int.TryParse(node.GetAttribute("end_cap"), out c))
                {
                    EndCap = ((LineCap)c).ToLineAnchor();
                }
                else if (documentVersion >= Document.DV_3)
                {
                    EndCap = LineAnchorExtensions.Parse(node.GetAttribute("end_cap"));
                }
            }

            if (documentVersion >= Document.DV_3)
            {
                Remark = ST.ReadTextNode(node, "remark");
            }
            else
            {
                Remark = ST.ReadTextNode(node, "description");
            }
        }
示例#6
0
        static ChartPage LoadChartDocument(Version documentVersion, XmlElement node)
        {
            ChartPage chart     = null;
            ChartType chartType = ST.GetEnumValue(node.GetAttribute("type"), ChartType.MindMap);

            switch (chartType)
            {
            case ChartType.MindMap:
                chart = new MindMap();    // MindMapIO.LoadAsXml(chartElement);
                break;

            default:
                return(null);
            }

            if (chart != null)
            {
                chart.Deserialize(documentVersion, node);
            }

            return(chart);
        }