Ejemplo n.º 1
0
        public Element CreateElementNS(String namespaceURI, String tagName)
        {
            Element element = null;

            if (namespaceURI == Namespaces.Html)
            {
                element = HTMLFactory.Create(tagName, this);
            }
            else if (namespaceURI == Namespaces.Svg)
            {
                element = SVGFactory.Create(tagName, this);
            }
            else if (namespaceURI == Namespaces.MathML)
            {
                element = MathFactory.Create(tagName, this);
            }
            else
            {
                element = new Element {
                    NamespaceURI = namespaceURI, NodeName = tagName, OwnerDocument = this
                }
            };

            return(element);
        }
Ejemplo n.º 2
0
        public override void OnMouseDown(DrawArea drawArea, MouseEventArgs e)
        {
            currentDeviceId = drawArea.DeviceId;//获取当前的设备Id

            //TODO:根据不同的设备Id找到对用的设备信息
            SymbolUnit._Dic.TryGetValue(currentDeviceId, out SymbolUnit value);
            var id = DateTime.Now.Ticks.ToString();
            DeviceDrawObjectBase deviceDrawObjectBase = SVGFactory.CreateDeviceDrawObjectBase((float)e.X, (float)e.Y,
                                                                                              10, 20, currentDeviceId, id);

            drawArea.GraphicsList.Add(deviceDrawObjectBase);


            base.OnMouseDown(drawArea, e);
        }
Ejemplo n.º 3
0
        public bool LoadModelFromXml(string fileName)
        {
            var svgForm = new WorkspaceHolder {
                Dock = DockStyle.Fill, Name = fileName
            };

            svgForm.svgDrawForm.ToolDone      += OnToolDoneComplete;
            svgForm.svgDrawForm.ItemsSelected += SvgDrawFormItemsSelected;

            svgForm.svgDrawForm.drawArea.Width  = 1600;
            svgForm.svgDrawForm.drawArea.Height = 900;

            XmlTextReader reader = null;

            //XmlReader reader = null;
            //var txt = File.ReadAllText(fileName);
            try
            {
                // FileStream fs = new FileStream(fileName,FileMode.Open);


                //reader =  XmlReader.Create(fileName);
                reader = new XmlTextReader(fileName);//从本地读取xml文件

                SVGErr.Log("DrawArea", "LoadFromXML", "", SVGErr._LogPriority.Info);
                var svg = new SVGWord();
                if (!svg.LoadFromFile(reader))
                {
                    return(false);
                }
                SVGRoot root = svg.GetSvgRoot();

                if (root == null)
                {
                    return(false);
                }
                SVGUnit ele = root.getChild();
                if (ele != null)
                {
                    //1 收集symbol获取svg上的设备
                    //2 从svg元数据中收集symbol之间的关系
                    //3 将所有use的设备实体生成
                    //4 绘制list集合将图素绘制出来
                    SVGFactory.CreateProjectFromXML(ele, svgForm.svgDrawForm.drawArea.GraphicsList);
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }

            tabbedView.Add(svgForm);
            svgForm.Refresh();

            return(true);
        }