public void Visit(IDiagramNodeItem item) { if (item == null) return; var handlerNode = item as ISequenceNode; SequenceItemNode actionNode = item as SequenceItemNode; var actionBranch = item as ActionBranch; var actionOut = item as IActionOut; var actionIn = item as IActionIn; //var setVariableNode = item as SetVariableNode; //var groupNode = item as ActionGroupNode; var handlerIn = item as HandlerIn; if (handlerIn != null) { BeforeVisitHandlerIn(handlerIn); VisitHandlerIn(handlerIn); AfterVisitHandlerIn(handlerIn); return; } if (actionNode != null) { BeforeVisitAction(actionNode); VisitAction(actionNode); AfterVisitAction( actionNode); return; } if (actionBranch != null) { BeforeVisitBranch(actionBranch); VisitBranch(actionBranch); AfterVisitBranch(actionBranch); return; } if (actionOut != null) { BeforeVisitOutput(actionOut); VisitOutput(actionOut); AfterVisitOutput(actionOut); return; } if (actionIn != null) { BeforeVisitInput(actionIn); VisitInput(actionIn); AfterVisitInput(actionIn); return; } }
public void Renamed(IDiagramNodeItem nodeItem, string editText, string name) { RefreshContent(); }
public void RemoveItem(IDiagramNodeItem nodeItem) { }
public void AddItem(IDiagramNodeItem item) { }
public override void NodeItemRemoved(IDiagramNodeItem item) { }
public virtual bool Validate(IDiagramNodeItem a, IDiagramNodeItem b) { return a != b; }
protected CodeMemberMethod RenderMethod(object instance, KeyValuePair <MethodInfo, GenerateMethod> templateMethod, IDiagramNodeItem data) { MethodInfo info; var dom = TemplateType.MethodFromTypeMethod(templateMethod.Key.Name, out info, false); CurrentMember = dom; CurrentAttribute = templateMethod.Value; PushStatements(dom.Statements); var args = new List <object>(); var parameters = info.GetParameters(); foreach (var arg in parameters) { args.Add(GetDefault(arg.ParameterType)); } CurrentDeclaration.Members.Add(dom); var result = info.Invoke(instance, args.ToArray()); var a = result as IEnumerable; if (a != null) { var dummyIteraters = a.Cast <object>().ToArray(); foreach (var item in dummyIteraters) { } } PopStatements(); //var isOverried = false; //if (!IsDesignerFile && dom.Attributes != MemberAttributes.Final && templateMethod.Value.Location == TemplateLocation.Both) //{ // dom.Attributes |= MemberAttributes.Override; // isOverried = true; //} //if ((info.IsVirtual && !IsDesignerFile) || (info.IsOverride() && !info.GetBaseDefinition().IsAbstract && IsDesignerFile)) //{ // if (templateMethod.Value.CallBase) // { // //if (!info.IsOverride() || !info.GetBaseDefinition().IsAbstract && IsDesignerFile) // //{ // dom.invoke_base(true); // //} // } //} InvertApplication.SignalEvent <ICodeTemplateEvents>(_ => _.MethodAdded(instance, this, dom)); return(dom); }
protected CodeConstructor RenderConstructor(object instance, KeyValuePair <MethodInfo, GenerateConstructor> templateMethod, IDiagramNodeItem data) { var info = templateMethod.Key; var dom = templateMethod.Key.ToCodeConstructor(); CurrentAttribute = templateMethod.Value; CurrentConstructor = dom; PushStatements(dom.Statements); // CurrentStatements = dom.Statements; var args = new List <object>(); var parameters = info.GetParameters(); foreach (var arg in parameters) { args.Add(GetDefault(arg.ParameterType)); } foreach (var item in templateMethod.Value.BaseCallArgs) { dom.BaseConstructorArgs.Add(new CodeSnippetExpression(item)); } info.Invoke(instance, args.ToArray()); PopStatements(); CurrentDeclaration.Members.Add(dom); InvertApplication.SignalEvent <ICodeTemplateEvents>(_ => _.ConstructorAdded(instance, this, dom)); return(dom); }