/// <summary> /// Constructor /// </summary> /// <param name="canvas"></param> /// <param name="edgeInfo"></param> public PPathwayEdge(CanvasControl canvas, EdgeInfo edgeInfo) { m_canvas = canvas; m_edgeInfo = edgeInfo; SetEdge(m_brush, m_width); }
/// <summary> /// Constructor /// </summary> /// <param name="canvas"></param> /// <param name="edgeInfo"></param> /// <param name="process"></param> /// <param name="variable"></param> public PPathwayEdge(CanvasControl canvas, EdgeInfo edgeInfo, PPathwayProcess process, PPathwayVariable variable) : this(canvas, edgeInfo) { m_variable = variable; m_process = process; m_variable.Edges.Add(this); m_process.Edges.Add(this); SetEdge(m_brush, LINE_WIDTH); base.Pickable = (variable.Visible && process.Visible); base.Visible = (variable.Visible && process.Visible); m_varPoint = variable.GetContactPoint(process.Center); m_proPoint = process.GetContactPoint(m_varPoint); this.DrawLine(); }
/// <summary> /// /// </summary> /// <param name="process"></param> /// <param name="list"></param> /// <returns></returns> private List<EdgeInfo> CreateEdgeInfos(string process, List<EcellReference> list) { Dictionary<string, EdgeInfo> dic = new Dictionary<string, EdgeInfo>(); List<EdgeInfo> infos = new List<EdgeInfo>(); foreach (EcellReference er in list) { if (!base.m_canvas.Variables.ContainsKey(er.Key)) continue; // register if (!dic.ContainsKey(er.Key)) { EdgeInfo info = new EdgeInfo(process, list, er); dic.Add(er.Key, info); continue; } // set edge type. if (dic[er.Key].Direction == EdgeDirection.None) { EdgeInfo tmp = new EdgeInfo(process, list, er); dic[er.Key].Direction = tmp.Direction; dic[er.Key].LineType = tmp.LineType; } } infos.AddRange(dic.Values); return infos; }