internal void ShowNewFunctionDialog(FunctionNamePromptEventArgs e)
{
var categorized =
SearchCategoryUtil.CategorizeSearchEntries(
dynamoViewModel.Model.SearchModel.SearchEntries,
entry => entry.Categories);
var allCategories =
categorized.SubCategories.SelectMany(sub => sub.GetAllCategoryNames());
var dialog = new FunctionNamePrompt(allCategories)
{
categoryBox = { Text = e.Category },
DescriptionInput = { Text = e.Description },
nameView = { Text = e.Name },
nameBox = { Text = e.Name },
// center the prompt
Owner = this,
WindowStartupLocation = WindowStartupLocation.CenterOwner
};
if (e.CanEditName)
{
dialog.nameBox.Visibility = Visibility.Visible;
dialog.nameView.Visibility = Visibility.Collapsed;
}
else
{
dialog.nameView.Visibility = Visibility.Visible;
dialog.nameBox.Visibility = Visibility.Collapsed;
}
if (dialog.ShowDialog() != true)
{
e.Success = false;
return;
}
e.Name = dialog.Text;
e.Category = dialog.Category;
e.Description = dialog.Description;
e.Success = true;
}