private MethodCall CreateMethodCall(FunctionSignatureCache signatureCache) { var createInfo = new ElementCreateInfo(Host, null, null, null, null); var methodCall = MocCommonMethodCall.Create(createInfo); methodCall.Target = AssociatedEnvoy.MakeRelativeDependencyName(); if (signatureCache != null) { methodCall.Bounds = new NationalInstruments.Core.SMRect(methodCall.Left, methodCall.Top, signatureCache.Width, signatureCache.Height); } CreateTerminals(methodCall, signatureCache); return(methodCall); }
private void CreateTerminals(MethodCall methodCall, FunctionSignatureCache signatureCache) { var cachedParameters = signatureCache?.CachedParameters; if (cachedParameters != null) { foreach (var cachedParameter in cachedParameters) { var direction = PFTypes.ParameterCallDirectionToDirection(cachedParameter.CallDirection); var terminal = new NodeTerminal( direction, cachedParameter.DataType, cachedParameter.SideIndex.ToString(), cachedParameter.Hotspot); methodCall.AddTerminal(terminal); } } }
private void AddIconToBuilder(MergeScriptBuilder builder, MethodCall methodCall, FunctionSignatureCache signatureCache) { if (signatureCache?.IconModel != null) { var generationOptions = new ElementGenerationOptions(GenerationReason.Merge); var table = IconTable.GetIconTableToGenerate(methodCall, generationOptions); if (table != null) { table.AddIcon(methodCall.Target, signatureCache.IconModel); builder.AddElement(new MergeElementInfo(table)); } } }