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); } } }
/// <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); }
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); }
public static string ExtractWorkflowInfoJson(DiagramPageViewModel diagram) { var info = ExtractWorkflowInfo(diagram); return(JsonConvert.SerializeObject(info)); }