/// <summary> /// 初始化数据 /// </summary> /// <param name="canvas">绘图板实例</param> /// <param name="propertyGrid">属性面板实例</param> public void Init(Canvas canvas) { graphManager = new GraphManager(this, canvas); dataManager = new DataManager(this); dataBaseManager = DataBaseManager.GetDataBaseManager(); int i = path.IndexOf('\\'); mapName = path.Substring(0, i); flowChartInteractor = new FlowChartInteractor(); }
/// <summary> /// 刷新数据 /// </summary> public void Reload(AI_State state) { editSuccess = false; allEventTree.Nodes.Clear(); registedEventTree.Nodes.Clear(); this.m_state = state; flowChartInteractor = Interactor.GetInteractor().CurrentFlowChartInteractor; // 初始化名称 if (string.IsNullOrEmpty(state.Ename)) { state.Ename = string.Format("State{0}", graphElementID.ToString()); } txtName.Text = state.Name; // 初始化所有事件 foreach (AI_Event ai_event in EventTable.EventItems) { // 取消已注册的事件 if (!state.EventList.Contains(ai_event)) { Node node = new Node(); node.Text = ai_event.ToString(); node.Tag = ai_event; if (int.Parse(ai_event.eventid) < 1000) // 系统事件 { node.Image = imageList1.Images[0]; } else { node.Image = imageList1.Images[2]; } allEventTree.Nodes.Add(node); } } // 初始化自定义事件 List<AI_Event> customEventList = flowChartInteractor.CustomTable["CustomEventList"] as List<AI_Event>; if (customEventList != null) { foreach (AI_Event aiEvent in customEventList) { // 去掉已注册的事件 if (!state.EventList.Contains(aiEvent)) { Node node = new Node(); node.Text = aiEvent.ToString(); node.Tag = aiEvent; node.Image = imageList1.Images[2]; allEventTree.Nodes.Add(node); } } } // 初始化选中的事件 foreach (AI_Event aiEvent in state.EventList) { Node node = new Node(); node.Text = aiEvent.ToString(); node.Tag = aiEvent; if (int.Parse(aiEvent.eventid) < 1000) // 系统事件 { node.Image = imageList1.Images[0]; } else { node.Image = imageList1.Images[2]; } registedEventTree.Nodes.Add(node); } // 切换焦点 txtName.Focus(); }