Пример #1
0
        private void SetLinkRoutePoints(DiagramPageViewModel vw)
        {
            if (vw == null)
            {
                return;
            }

            TabItem tabItem = (TabItem)this.tabControl.Items.Single(p => ((TabItem)p).DataContext == vw);

            if (tabItem == null)
            {
                return;
            }

            var links = ((DiagramPage)tabItem.Content).mainDiagram.Links;

            foreach (Link link in links)
            {
                ActivityLink linkData = link.Data as ActivityLink;
                if (linkData != null)
                {
                    linkData.Points = new List <Point>(link.Route.Points);
                }
            }
        }
Пример #2
0
        /// <summary>
        /// 将 流程图形 信息转化成 info 信息
        /// </summary>
        /// <param name="link"></param>
        /// <returns></returns>
        public static WorkflowInfo ExtractWorkflowInfo(DiagramPageViewModel diagram)
        {
            WorkflowInfo wfInfo = new WorkflowInfo()
            {
                Key  = diagram.Key,
                Name = diagram.Name
            };

            return(wfInfo);
        }
Пример #3
0
        public void UpdateActivityTemplate(string templateID, string activityKey)
        {
            if (this._mainPageVW.SelectedItem == null)
            {
                return;
            }

            var form = _mainPageVW.SelectedItem.Content as UserControl;

            if (form == null)
            {
                return;
            }

            var diagram = form.FindName("mainDiagram") as Northwoods.GoXam.Diagram;

            if (diagram == null)
            {
                return;
            }

            ActivityNode newNode = null;

            if (diagram.SelectedPart != null)
            {
                if (diagram.SelectedPart.Data != null)
                {
                    newNode = diagram.SelectedPart.Data as ActivityNode;
                }
            }
            if (newNode == null)
            {
                DiagramPageViewModel datacontex = diagram.DataContext  as DiagramPageViewModel;

                foreach (ActivityNode item in  datacontex.DiagramModel.NodesSource)
                {
                    if (string.Compare(item.Key, activityKey) == 0)
                    {
                        newNode = item;
                        break;
                    }
                }
            }

            newNode = newNode.WfClone(templateID);

            this.mainPalette.StartTransaction("AddNewNode");
            this.mainPalette.Model.AddNode(newNode);
            this.mainPalette.CommitTransaction("AddNewNode");

            this._mainPageVW.TemplateKeys.Add(templateID);
        }
Пример #4
0
        public static string ExtractWorkflowInfoJson(DiagramPageViewModel diagram)
        {
            var info = ExtractWorkflowInfo(diagram);

            return(JsonConvert.SerializeObject(info));
        }