コード例 #1
0
        /// <summary>
        /// 添加一个事件
        /// </summary>
        /// <param name="eType"></param>
        public ConfigEvent AddNewEvent(string eType)
        {
            ConfigEvent newE = null;

            switch (eType)
            {
            case "NormalEvent":
                newE = new ConfigEvent(eType);
                break;

            case "SubProcess":
                newE = new ConfigSubEvent(eType);
                break;

            case "StartEvent":
                newE = new ConfigEvent(eType);
                break;

            case "EndEvent":
                newE = new ConfigEvent(eType);
                break;

            case "LoopEvent":
                newE = new ConfigLoopEvent(eType);
                break;

            default:
                newE = null;
                break;
            }
            if (newE == null)
            {
                return(null);
            }

            newE.name        = "event" + for_events.ToString();
            newE.description = "event" + for_events.ToString();
            newE.OnSelected += this.Proj.win_main.OnConfigItem_Selected;
            if (eType != "StartEvent" && eType != "EndEvent")
            {
                newE.OnRightButtonUp += ((MainWindow)Application.Current.MainWindow).pop_itemmenu;
            }
            wf_itmes.Add(newE);
            for_events += 1;
            return(newE);
        }
コード例 #2
0
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            Source_Params.ItemsSource = ((MainWindow)Application.Current.MainWindow).main_proj.CurrentWF.params_table;
            ConfigSubEvent se = (ConfigSubEvent)(((MainWindow)Application.Current.MainWindow).main_proj.CurrentWF.SelectedItem);

            Dest_Params.ItemsSource = ((MainWindow)Application.Current.MainWindow).main_proj.GetWorkFlow(se.LinkWorkFLow).params_table;

            foreach (paramtransfer_item pi in params_transfer)
            {
                if (pi.direction == transfer_direction.to)
                {
                    Param_transfer.Items.Add(pi.parent + "--->" + pi.child);
                }
                else if (pi.direction == transfer_direction.from)
                {
                    Param_transfer.Items.Add(pi.parent + "<---" + pi.child);
                }
            }
        }
コード例 #3
0
        private XmlElement CompleLinkWorkFlowForSubEvent(XmlDocument Owner, ConfigSubEvent se)
        {
            XmlElement link = Owner.CreateElement("linkworkflow");

            link.SetAttribute("name", se.LinkWorkFLow);
            link.SetAttribute("workingmodel", se.WorkingModel.ToString());

            XmlElement pt = Owner.CreateElement("paramtransfer");

            foreach (paramtransfer_item pi in se.ParamTransfer)
            {
                XmlElement tr = Owner.CreateElement("item");
                tr.SetAttribute("parent", pi.parent);
                tr.SetAttribute("child", pi.child);
                tr.SetAttribute("direction", pi.direction.ToString());
                pt.AppendChild(tr);
            }
            link.AppendChild(pt);

            return(link);
        }