void Command_Table_Select_RowsByExpression(GetExpressionDialog.Result result) { var table = GetTable(); var variables = GetTableVariables(table); var results = new NEExpression(result.Expression).EvaluateList <bool>(variables, table.NumRows); var lines = results.Indexes(res => res).Select(row => row + 1).ToList(); SetSelections(lines.AsParallel().AsOrdered().Select(line => new Range(Data.GetOffset(line, Data.GetLineLength(line)), Data.GetOffset(line, 0))).ToList()); }
void Command_File_Save_SaveAsByExpression(GetExpressionDialog.Result result, AnswerResult answer, bool copyOnly = false) { var results = GetFixedExpressionResults <string>(result.Expression); if (results.Count != 1) { throw new Exception("Only one filename may be specified"); } var newFileName = FileName.RelativeChild(results[0]); if (File.Exists(newFileName)) { if ((answer.Answer != MessageOptions.YesToAll) && (answer.Answer != MessageOptions.NoToAll)) { answer.Answer = new Message(WindowParent) { Title = "Confirm", Text = "File already exists; overwrite?", Options = MessageOptions.YesNoYesAllNoAllCancel, DefaultCancel = MessageOptions.Cancel, } }
void Command_Expression_SelectByExpression(GetExpressionDialog.Result result) { var results = GetFixedExpressionResults <bool>(result.Expression); SetSelections(Selections.Where((str, num) => results[num]).ToList()); }
void Command_Expression_Copy(GetExpressionDialog.Result result) => SetClipboardStrings(GetVariableExpressionResults <string>(result.Expression));
void Command_Expression_Expression(GetExpressionDialog.Result result) => ReplaceSelections(GetFixedExpressionResults <string>(result.Expression));