예제 #1
0
 public Bitmap GetImage(Node.DrawObjectType type)
 {
     switch(type)
     {
         case Node.DrawObjectType.DrawNodeBegin:
             return	this.startNode;
         case Node.DrawObjectType.DrawNodeGeneral:
             return this.generalNode;
         case Node.DrawObjectType.DrawSpecificallyOperation:
             return this.specificallyOperationNode;
         case Node.DrawObjectType.DrawGradation:
             return this.gradationNode;
         case Node.DrawObjectType.DrawSynchronization:
             return this.synchronizationNode;
         case Node.DrawObjectType.DrawAsunder:
             return  this.asunderNode;
         case Node.DrawObjectType.DrawConverge:
             return this.convergeNode;
         case Node.DrawObjectType.DrawGather:
             return this.gatherNode;
         case Node.DrawObjectType.DrawJudgement:
             return this.judgementNode;
         case Node.DrawObjectType.DrawDataNode:
             return this.DataNode;
         case Node.DrawObjectType.DrawNodeEnd:
             return this.endNode;
         case Node.DrawObjectType.DrawRectangle:
             return null;
         case Node.DrawObjectType.DrawEllipse:
             return null;
     }
     return new Bitmap(GetType(),"images.Rectangle.png");
 }
예제 #2
0
        private System.Windows.Forms.TextBox tb_OutConnectCondition; //�����ڵ�Ĺ�ϵ����

        #endregion Fields

        #region Constructors

        public flowAttribute(Node node,DrawFlowControl control)
        {
            //
            // Windows ���������֧���������
            //
            InitializeComponent();

            //
            // TODO: �� InitializeComponent ���ú�����κι��캯������
            //
            this.node=node;
            this.control=control;
            this.arr_InFlowLineList=new ArrayList();
            this.arr_OutFlowLineList=new ArrayList();
            this.FormInterfaceInit();
            this.FormContentInit();
            this.BackgroundImage=new Bitmap(GetType(),"images.attribute.png");
        }
예제 #3
0
        /// <summary>
        /// �ӷ�������XML�ļ��У���ȡ����ͼ����
        /// </summary>
        public void CreateArrDraw()
        {
            arrNodeList=new ArrayList ();
            arrLineList=new ArrayList ();
            arrStringList=new ArrayList();

            XmlDocument doc=new XmlDocument ();
            doc.LoadXml(serverXml);

            //��ȡ����б�
            XmlNodeList nodeChilds=doc.SelectNodes("//arrNodeList//node");

            foreach (XmlNode node in nodeChilds)
            {
                XmlNodeList xnl=node.ChildNodes;
                int index=Convert.ToInt32(node.Attributes.Item(0).InnerText);
                int nodetype=Convert.ToInt32(node.Attributes.Item(1).InnerText);
                string nodetext=xnl.Item(0).InnerText;
                Node xmlnode=new Node (index,(Node.DrawObjectType)nodetype,nodetext);
                string fontname=xnl.Item(1).InnerText;
                int fontSize=Convert.ToInt32(xnl.Item(2).InnerText);
                xmlnode.NodeTextFont=new System.Drawing.Font (fontname,fontSize);
                xmlnode.TextSize=fontSize;
                xmlnode.NodeTextColor=System.Drawing.Color.FromArgb(int.Parse(xnl.Item(3).InnerText));
                xmlnode.BorderColor=Color.FromArgb(int.Parse(xnl.Item(4).InnerText));
                xmlnode.FillColor=Color.FromArgb(int.Parse(xnl.Item(5).InnerText));
                xmlnode.Height=Convert.ToInt32(xnl.Item(6).InnerText);
                xmlnode.Width=Convert.ToInt32(xnl.Item(7).InnerText);
                xmlnode.X=Convert.ToInt32(xnl.Item(8).InnerText);
                xmlnode.Y=Convert.ToInt32(xnl.Item(9).InnerText);
                xmlnode.ConnectInCount=Convert.ToInt32(xnl.Item(10).InnerText);
                xmlnode.ConnectOutCount=Convert.ToInt32(xnl.Item(11).InnerText);
                xmlnode.InFolwTime=Convert.ToDateTime(xnl.Item(12).InnerText);
                xmlnode.OutFlowTime=Convert.ToDateTime(xnl.Item(13).InnerText);
                xmlnode.Function=xnl.Item(14).InnerText;
                xmlnode.OperationRole=xnl.Item(15).InnerText;
                xmlnode.FunctionInfo=xnl.Item(16).InnerText;
                xmlnode.Info=xnl.Item(17).InnerText;
                arrNodeList.Add(xmlnode);
            }

            //��ȡ���б�
            XmlNodeList lineChilds=doc.SelectNodes("//arrLineList//line");
            foreach (XmlNode node in lineChilds)
            {
                XmlNodeList xnl=node.ChildNodes;

                int index=Convert.ToInt32(node.Attributes.Item(0).InnerText);
                int lineType=Convert.ToInt32(node.Attributes.Item(1).InnerText);

                Line line=new Line ((Line.DrawObjectType)lineType,index);
                line.X0=Convert.ToInt32(xnl.Item(0).InnerText);
                line.Y0=Convert.ToInt32(xnl.Item(1).InnerText);
                line.X1=Convert.ToInt32(xnl.Item(2).InnerText);
                line.Y1=Convert.ToInt32(xnl.Item(3).InnerText);

                if(lineType==1)
                {
                    line.X2=Convert.ToInt32(xnl.Item(4).InnerText);
                    line.Y2=Convert.ToInt32(xnl.Item(5).InnerText);
                    line.X3=Convert.ToInt32(xnl.Item(6).InnerText);
                    line.Y3=Convert.ToInt32(xnl.Item(7).InnerText);
                    line.LineNodeCount=Convert.ToInt32(xnl.Item(8).InnerText);
                    if(xnl.Item(9).InnerText=="null")
                    {
                        line.FirstNode=null;
                    }
                    else
                    {
                        int firstIndex=Convert.ToInt32(xnl.Item(9).InnerText);
                        line.FirstNode=(Node)arrNodeList[firstIndex];
                    }

                    if(xnl.Item(10).InnerText=="null")
                    {
                        line.SecondNode=null;
                    }
                    else
                    {
                        int secondIndex=Convert.ToInt32(xnl.Item(10).InnerText);
                        line.SecondNode=(Node)arrNodeList[secondIndex];
                    }
                    line.FirNodeInterfaceIndex=Convert.ToInt32(xnl.Item(11).InnerText);
                    line.SecNodeInterfaceIndex=Convert.ToInt32(xnl.Item(12).InnerText);
                    line.LineSize=Convert.ToInt32(xnl.Item(13).InnerText);
                    line.LineColor=System.Drawing.Color.FromArgb(int.Parse(xnl.Item(14).InnerText));
                    line.Content=xnl.Item(15).InnerText;
                    arrLineList.Add(line);
                }
                else if(lineType==0)
                {
                    line.LineNodeCount=Convert.ToInt32(xnl.Item(4).InnerText);
                    if(xnl.Item(5).InnerText=="null")
                    {
                        line.FirstNode=null;
                    }
                    else
                    {
                        line.FirstNode=(Node)arrNodeList[Convert.ToInt32(xnl.Item(5).InnerText)];
                    }
                    if(xnl.Item(6).InnerText=="null")
                    {
                        line.SecondNode=null;
                    }
                    else
                    {
                        line.SecondNode=(Node)arrNodeList[Convert.ToInt32(xnl.Item(6).InnerText)];
                    }
                    line.FirNodeInterfaceIndex=Convert.ToInt32(xnl.Item(7).InnerText);
                    line.SecNodeInterfaceIndex=Convert.ToInt32(xnl.Item(8).InnerText);
                    line.LineSize=Convert.ToInt32(xnl.Item(9).InnerText);
                    line.LineColor=System.Drawing.Color.FromArgb(int.Parse(xnl.Item(10).InnerText));
                    line.Content=xnl.Item(11).InnerText;
                    arrLineList.Add(line);

                }

            }

            //��ȡ˵������
            XmlNodeList textChilds=doc.SelectNodes("//arrStringList//textString");
            foreach (XmlNode node in textChilds)
            {
                XmlNodeList xnl=node.ChildNodes;

                int index=Convert.ToInt32(node.Attributes.Item(0).InnerText);
                DrawString ds=new DrawString (index);
                ds.Content=xnl.Item(0).InnerText;
                ds.X=Convert.ToInt32(xnl.Item(1).InnerText);
                ds.Y=Convert.ToInt32(xnl.Item(2).InnerText);
                ds.Height=Convert.ToInt32(xnl.Item(3).InnerText );
                ds.Width=Convert.ToInt32(xnl.Item(4).InnerText);
                ds.DSTextColor=System.Drawing.Color.FromArgb(int.Parse(xnl.Item(5).InnerText));
                string fontName=xnl.Item(6).InnerText;
                int fontSize=Convert.ToInt32(xnl.Item(7).InnerText);
                ds.DSTextFont=new System.Drawing.Font (fontName,fontSize);
                ds.TextSize=fontSize;
                arrStringList.Add(ds);

            }
        }