void IFlow.ShowNodesView(ShowNodesEventParameter p) { CIIPXpoState obj; if (p.Shape == null) { obj = (CIIPXpoState)(this as IFlow).CreateNode((int)p.MouseClickPoint.X, (int)p.MouseClickPoint.Y, 64, 64, "", ""); } else { obj = p.SelectedNode as CIIPXpoState; } if (obj == null) throw new Exception("û��״̬����"); var view = p.Application.CreateDetailView(p.ObjectSpace, obj, false); p.ViewParameter.CreatedView = view; p.ViewParameter.TargetWindow = TargetWindow.NewModalWindow; var dc = new DialogController(); dc.Accepting += (s, p1) => { var sp = p.Shape; if (p.Shape == null) { sp = p.CreateShape(obj); } p.UpdateShape(obj, sp); Flow.States.Add(obj); obj.Save(); if (Flow.StartState == null) { Flow.StartState = obj; } }; dc.Cancelling += (s, p1) => { obj.Delete(); p.DeletSelectedNode(); //_diagram.DeleteSelectedItems(); }; dc.SaveOnAccept = false; p.ViewParameter.Controllers.Add(dc); }
public void ShowNodesView(ShowNodesEventParameter para) { var listViewId = para.Application.FindListViewId(typeof(FormInfo)); NonPersistentCollectionSource cs = CreateCollectionSource(para); var p = para; p.ViewParameter.CreatedView = para.Application.CreateListView(listViewId, cs, false); p.ViewParameter.CreatedView.Caption = "选择单据"; p.ViewParameter.NewWindowTarget = NewWindowTarget.Separate; p.ViewParameter.TargetWindow = TargetWindow.NewModalWindow; var dc = new DialogController(); dc.SaveOnAccept = false; dc.AcceptAction.SelectionDependencyType = para.SingleSelect ? SelectionDependencyType.RequireSingleObject : SelectionDependencyType.RequireMultipleObjects; dc.Accepting += (s, e1) => { var x = 20; var y = 20; if (e1.AcceptActionArgs.SelectedObjects.Count == 1) { x = (int)para.MouseClickPoint.X; y = (int)para.MouseClickPoint.Y; } var i = 0; foreach (var item in e1.AcceptActionArgs.SelectedObjects) { var selected = (item as FormInfo); if (selected != null) { //创建一个结点 var node = (this as IFlow).CreateNode(x, y, 64, 64, selected.FullName, selected.Caption); object single = null; if (para.Shape == null) { single = para.CreateShape(node); //new DiagramShapeEx(SDLDiagramShapes.Procedure, node.X, node.Y, node.Width, // node.Height); //single.Image = node.GetImage(); //_diagram.Items.Add(single); //_diagram.SelectItem(single); } else { single = para.Shape; } para.UpdateShape(node, single); //single.Content = node.Caption; //single.Tag = node; } x += 200; i++; if (i % 5 == 0) { x = 20; y += 200; } } }; para.ViewParameter.Controllers.Add(dc); }
public void ShowNodesView(ShowNodesEventParameter p) { if (!IsDesignMode) { var mi = (p.SelectedNode as NavigationMenuItem); if (mi != null) p.DoShowNavigationItem(mi.NavigationItemPath.Path); return; } NavigationMenuItem obj; if (p.Shape == null) { obj = (NavigationMenuItem) (this as IFlow).CreateNode((int) p.MouseClickPoint.X, (int) p.MouseClickPoint.Y, 64, 64, "", ""); //û�ж���ѡ���������б��ѡ��ڵ㡣����ڵ������Ӽ��ģ����Ӽ���ʾ����������Ӽ���û���ӽ��ģ�ֱ����ʾ //����������view�趨�ġ� } else { obj = p.SelectedNode as NavigationMenuItem; //���б༭������ } if (obj == null) throw new Exception("û��״̬����"); var view = p.Application.CreateDetailView(p.ObjectSpace, obj, false); p.ViewParameter.CreatedView = view; p.ViewParameter.TargetWindow = TargetWindow.NewModalWindow; var dc = new DialogController(); dc.Accepting += (s, p1) => { var sp = p.Shape; if (p.Shape == null) { sp = p.CreateShape(obj); } this.Nodes.Add(obj); p.UpdateShape(obj, sp); obj.Save(); }; dc.Cancelling += (s, p1) => { if (p.Shape == null) { obj.Delete(); p.DeletSelectedNode(); } //_diagram.DeleteSelectedItems(); }; dc.SaveOnAccept = false; p.ViewParameter.Controllers.Add(dc); }