private void ExecuteElement(DSFunctionNodeSearchElement element) { // create node var guid = Guid.NewGuid(); this.dynamoViewModel.ExecuteCommand( new DynamoModel.CreateNodeCommand(guid, element.FunctionDescriptor.MangledName, 0, 0, true, true)); // select node var placedNode = dynamoViewModel.Model.Nodes.Find((node) => node.GUID == guid); if (placedNode != null) { DynamoSelection.Instance.ClearSelection(); DynamoSelection.Instance.Selection.Add(placedNode); } }
/// <summary> /// Adds DesignScript function groups /// </summary> /// <param name="func"></param> public void Add(IEnumerable <FunctionGroup> functionGroups) { if (null == functionGroups) { return; } foreach (var functionGroup in functionGroups) { var functions = functionGroup.Functions.ToList(); if (!functions.Any()) { continue; } bool isOverloaded = functions.Count > 1; foreach (var function in functions) { //Don't add the functions that are not visible in library. if (!function.IsVisibleInLibrary) { continue; } // For overloaded functions, only parameters are displayed // for this item. E.g, for Count(), on UI it is: // // -> Abs // +----------------+ // | dValue: double | // +----------------+ // | nValue: int | // +----------------+ var displayString = function.UserFriendlyName; var category = function.Category; // do not add GetType method names to search if (displayString.Contains("GetType")) { continue; } if (isOverloaded) { var args = string.Join(", ", function.Parameters.Select(p => p.ToString())); if (!string.IsNullOrEmpty(args)) { displayString = displayString + "(" + args + ")"; } } var searchElement = new DSFunctionNodeSearchElement(displayString, function); searchElement.SetSearchable(true); searchElement.FullCategoryName = category; // Add this search eleemnt to the search view TryAddCategoryAndItem(category, searchElement); // function.QualifiedName is the search string for this // element SearchDictionary.Add(searchElement, function.QualifiedName); // add all search tags function.GetSearchTags().ToList().ForEach(x => SearchDictionary.Add(searchElement, x)); } } }
private void ExecuteElement(DSFunctionNodeSearchElement element) { // create node var guid = Guid.NewGuid(); this.dynamoViewModel.ExecuteCommand( new DynamoViewModel.CreateNodeCommand(guid, element.FunctionDescriptor.MangledName, 0, 0, true, true)); // select node var placedNode = dynamoViewModel.Model.Nodes.Find((node) => node.GUID == guid); if (placedNode != null) { DynamoSelection.Instance.ClearSelection(); DynamoSelection.Instance.Selection.Add(placedNode); } }
/// <summary> /// Adds DesignScript function groups /// </summary> /// <param name="func"></param> public void Add(IEnumerable<FunctionGroup> functionGroups) { if (null == functionGroups) return; foreach (var functionGroup in functionGroups) { var functions = functionGroup.Functions.ToList(); if (!functions.Any()) continue; bool isOverloaded = functions.Count > 1; foreach (var function in functions) { //Don't add the functions that are not visible in library. if (!function.IsVisibleInLibrary) continue; // For overloaded functions, only parameters are displayed // for this item. E.g, for Count(), on UI it is: // // -> Abs // +----------------+ // | dValue: double | // +----------------+ // | nValue: int | // +----------------+ var displayString = function.UserFriendlyName; var category = function.Category; // do not add GetType method names to search if (displayString.Contains("GetType")) { continue; } if (isOverloaded) { var args = string.Join(", ", function.Parameters.Select(p => p.ToString())); if (!string.IsNullOrEmpty(args)) displayString = displayString + "(" + args + ")"; } var searchElement = new DSFunctionNodeSearchElement(displayString, function); searchElement.SetSearchable(true); searchElement.FullCategoryName = category; // Add this search eleemnt to the search view TryAddCategoryAndItem(category, searchElement); // function.QualifiedName is the search string for this // element SearchDictionary.Add(searchElement, function.QualifiedName); // add all search tags function.GetSearchTags().ToList().ForEach(x => SearchDictionary.Add(searchElement, x)); } } }