Example #1
0
 /// <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();
 }                
Example #2
0
        /// <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();
        }