Exemple #1
0
        /// <summary>
        /// 进行参数设置
        /// </summary>
        /// <param name="cmi"></param>
        /// <param name="bac"></param>
        void _ParameterSettings(ContextMenuInfo cmi, XtnBaseActivity bac)
        {
            if (cmi.AssemblyQualifiedName.IsNullOrEmpty())
            {
                return;
            }
            FrameworkElement ui     = Wrapper.CreateControl <FrameworkElement>(cmi.AssemblyQualifiedName);
            ISelectors       select = ui as ISelectors;

            if (null == select)
            {
                return;
            }
            select.IDesignFramework       = this.IDesignFramework;
            select.CurrentContextMenuInfo = cmi;
            select.IActivity        = bac as IActivity;
            select.ActivityName     = bac.Name;
            select.EventControlName = this.EventControlName;
            select.EventName        = this.EventName;
            select.ActivityType     = bac.GetType().Name;
            select.AttributeInfo    = this.AttributeInfo;
            select.CurrentSelectedSetEventControl = this.CurrentSelectedControl;

            //-->弹出窗体来
            XtnChildWindow pcc = new XtnChildWindow(this.IDesignFramework, ui);

            pcc.Closed += pcc_Closed;
            pcc.SetTitle(string.Format("正在对【{0}】控件【{1}】事件参数进行设置...", this.CurrentSelectedControl.Name, this.EventName));
            pcc.Show();
        }
Exemple #2
0
        void mi_Click(object sender, RoutedEventArgs e)
        {
            _Cm.Visibility = System.Windows.Visibility.Collapsed;
            MenuItem mi = sender as MenuItem;

            if (null == mi)
            {
                return;
            }
            ContextMenuInfo cmi = mi.Tag as ContextMenuInfo;
            XtnBaseActivity bac = cmi.Source as XtnBaseActivity;

            switch (cmi.Type)
            {
            case ContextMenuType.Delete:
                RemoveActivity(bac);
                break;

            case ContextMenuType.ModifyContent:
                _ModifyActivityContent(cmi);
                break;

            case ContextMenuType.ParameterSettings:
                _ParameterSettings(cmi, bac);
                break;
            }
        }
 void DisposeActivity(XtnBaseActivity act)
 {
     if (null == act)
     {
         return;
     }
     act.MouseRightButtonDown -= act_MouseRightButtonDown;
     act.Dispose();
 }
Exemple #4
0
        void _ModifyActivityContent(ContextMenuInfo cmi)
        {
            _txtActivityContent.Tag        = cmi;
            _txtActivityContent.Visibility = System.Windows.Visibility.Visible;
            XtnBaseActivity fe = cmi.Source as XtnBaseActivity;

            _txtActivityContent.Text = fe.LabelContent;
            Canvas.SetLeft(_txtActivityContent, Canvas.GetLeft(fe) + fe.Width);
            Canvas.SetTop(_txtActivityContent, Canvas.GetTop(fe));
        }
        void CreateActivity(XtnBaseActivity act)
        {
            act.MouseRightButtonDown += act_MouseRightButtonDown;
            Canvas.SetZIndex(act, 100);
            Canvas.SetLeft(act, 30);
            Canvas.SetTop(act, 30);

            DictControls.Add(act.Name, act);
            print.Children.Add(act);
        }
        void _ModifyActivityContent(ContextMenuInfo cmi)
        {
            //Wrapper.ShowDialog("不能移动。");
            _txtActivityContent.Tag        = cmi;
            _txtActivityContent.Visibility = System.Windows.Visibility.Visible;
            XtnBaseActivity fe = cmi.Source as XtnBaseActivity;

            _txtActivityContent.Text = fe.LabelContent;
            //_txtActivityContent.Height = 30;
            //_txtActivityContent.Width = 120;
            Canvas.SetLeft(_txtActivityContent, Canvas.GetLeft(fe) + fe.Width);
            Canvas.SetTop(_txtActivityContent, Canvas.GetTop(fe));
            Canvas.SetZIndex(_txtActivityContent, 1000);
        }
Exemple #7
0
 void DisposeActivity(XtnBaseActivity act)
 {
     if (null == act)
     {
         return;
     }
     act.DotMouseMove           -= act_DotMouseMove;
     act.DotMouseLeftButtonUp   -= act_DotMouseLeftButtonUp;
     act.DotMouseLeftButtonDown -= act_DotMouseLeftButtonDown;
     act.DotMouseEnter          -= act_DotMouseEnter;
     act.DotMouseLeave          -= act_DotMouseLeave;
     act.MouseLeftButtonDown    -= act_MouseLeftButtonDown;
     act.MouseLeftButtonUp      -= act_MouseLeftButtonUp;
     act.MouseMove            -= act_MouseMove;
     act.MouseRightButtonDown -= act_MouseRightButtonDown;
     act.Dispose();
 }
Exemple #8
0
        void btn_Click(object sender, RoutedEventArgs e)
        {
            Button btn = sender as Button;

            if (null == btn)
            {
                return;
            }
            ActivityConfig  ac  = btn.Tag as ActivityConfig;
            XtnBaseActivity act = Wrapper.CreateControl <XtnBaseActivity>(ac.AssemblyQualifiedName);

            if (null == act)
            {
                return;
            }
            act.Name         = string.Format("Activity_{0}_{1}", ac.Name, ++Index);
            act.LabelContent = ac.Description;
            CreateActivity(act);
        }
Exemple #9
0
        void CreateActivity(XtnBaseActivity act)
        {
            act.DotMouseMove           += act_DotMouseMove;
            act.DotMouseLeftButtonUp   += act_DotMouseLeftButtonUp;
            act.DotMouseLeftButtonDown += act_DotMouseLeftButtonDown;
            act.DotMouseEnter          += act_DotMouseEnter;
            act.DotMouseLeave          += act_DotMouseLeave;
            act.MouseRightButtonDown   += act_MouseRightButtonDown;
            act.MouseLeftButtonDown    += act_MouseLeftButtonDown;
            act.MouseLeftButtonUp      += act_MouseLeftButtonUp;
            act.MouseMove += act_MouseMove;

            Canvas.SetZIndex(act, 100);
            Canvas.SetLeft(act, 30);
            Canvas.SetTop(act, 30);

            DictControls.Add(act.Name, act);
            print.Children.Add(act);
            _CurrentUIElement = act;
        }
Exemple #10
0
        /// <summary>
        /// 删除行为控件
        /// </summary>
        /// <param name="bac"></param>
        void RemoveActivity(XtnBaseActivity bac)
        {
            if (null == bac)
            {
                return;
            }
            List <IArrowLine> items = new List <IArrowLine>();

            foreach (var v in bac.DictArrowCapPoint)
            {
                items.Add(v.Value);
            }
            foreach (var v in bac.DictArrowFootPoint)
            {
                items.Add(v.Value);
            }
            foreach (var v in items)
            {
                RemoveArrowLine(v);
            }
            DisposeActivity(bac);
            DictControls.Remove(bac.Name);
            this.print.Children.Remove(bac);

            //-->删除Activity时,同时删除页面设计时事件链里的连接
            var elItem = this.IDesignFramework.GetCurrentXmlTemplate().EventLinkItem;
            var _eli   = elItem.Where(p => p.ControlName.Equals(this.EventControlName) && p.EventName.Equals(this.EventName)).GetFirst <EventLinkInfo>();

            if (null != _eli)
            {
                var _cai = _eli.Item.Where(p => p.ActivityName.Equals(bac.Name)).GetFirst <ControlActivityInfo>();
                if (null != _cai)
                {
                    _eli.Item.Remove(_cai);
                    this.IDesignFramework.UpdateCurrentTemplate();
                }
            }
        }
Exemple #11
0
        /// <summary>
        /// 导入数据
        /// </summary>
        /// <param name="root"></param>
        void ImportWorkFlow(XElement root)
        {
            if (null == root)
            {
                return;
            }
            _OldWorkFlowStr = root.ToString();
            btnClear_Click(null, null);
            this.print.Children.Add(_Cm);
            this.print.Children.Add(_txtActivityContent);
            var controls = root.Element("Controls");

            Index = controls.GetAttributeValue("Index").ConvertTo <Int32>();
            var activitys  = controls.Elements("Activity");
            var arrowlines = controls.Elements("ArrowLine");

            foreach (var v in arrowlines)
            {
                ArrowLineInfo ali = v.ToModel <ArrowLineInfo>();
                if (null == ali)
                {
                    continue;
                }
                ArrowLine al = new ArrowLine(ali.StartPoint, ali.EndPoint);
                al.Name     = ali.Name;
                al.LineGuid = ali.Guid;
                CreateArrowLine(al);
            }
            foreach (var v in activitys)
            {
                ActivityInfo ai = v.ToModel <ActivityInfo>();
                if (null == ai)
                {
                    continue;
                }

                var config = ParseActivityConfig.GetActivityConfig(ai.Type);
                if (null == config)
                {
                    continue;
                }
                var ba = Wrapper.CreateControl <XtnBaseActivity>(config.AssemblyQualifiedName);
                ba.Name         = ai.Name;
                ba.Height       = ai.Height;
                ba.Width        = ai.Width;
                ba.ActivityGUID = ai.Guid;
                ba.LabelContent = ai.Content.IsNullOrEmpty() ? config.Description : ai.Content;
                ba.CurrentLeftButtonDownPoint = ai.CurrentLeftButtonDownPoint;
                ba.CurrentEnterPoint          = ai.CurrentEnterPoint;
                CreateActivity(ba);
                Canvas.SetTop(ba, ai.Top);
                Canvas.SetLeft(ba, ai.Left);
            }

            //-->规则
            var rules        = root.Element("Relationship");
            var rulesControl = rules.Elements("Control");

            foreach (var rule in rulesControl)
            {
                string          _r_name = rule.GetAttributeValue("Name");
                XtnBaseActivity iact    = GetControlByName <XtnBaseActivity>(_r_name);
                if (null == iact)
                {
                    continue;
                }
                var caps = rule.GetAttributeValue("Cap");
                if (!caps.IsNullOrEmpty())
                {
                    var capArray = caps.Split('|');
                    foreach (var cap in capArray)
                    {
                        ArrowLine _al = GetControlByName <ArrowLine>(cap);
                        if (null == _al)
                        {
                            continue;
                        }
                        _al.ArrowFootControl = iact;
                        iact.DictArrowCapPoint.Add(_al.Name, _al);
                    }
                }
                var foots = rule.GetAttributeValue("Foot");
                if (!foots.IsNullOrEmpty())
                {
                    var footArray = foots.Split('|');
                    foreach (var foot in footArray)
                    {
                        ArrowLine _al = GetControlByName <ArrowLine>(foot);
                        if (null == _al)
                        {
                            continue;
                        }
                        _al.ArrowCapControl = iact;
                        iact.DictArrowFootPoint.Add(_al.CtrName, _al);
                    }
                }
            }
        }
 private void RemoveActivity(XtnBaseActivity bac)
 {
     Wrapper.ShowDialog("不能删除。");
 }