void ShowTestResult (UnitTest test, UnitTestResult result) { if (result.IsSuccess) { if (!buttonSuccess.Active) return; TreeIter testRow = failuresStore.AppendValues (CircleImage.Success, Escape (test.FullName), test); failuresTreeView.ScrollToCell (failuresStore.GetPath (testRow), null, false, 0, 0); } if (result.IsFailure) { if (!buttonFailures.Active) return; string file = test.SourceCodeLocation != null ? test.SourceCodeLocation.FileName + ":" + test.SourceCodeLocation.Line : null; TreeIter testRow = failuresStore.AppendValues (CircleImage.Failure, Escape (test.FullName), test, file); bool hasMessage = result.Message != null && result.Message.Length > 0; if (hasMessage) failuresStore.AppendValues (testRow, null, Escape (result.Message), test); if (result.StackTrace != null && result.StackTrace.Length > 0) { TreeIter row = testRow; if (hasMessage) row = failuresStore.AppendValues (testRow, null, GettextCatalog.GetString ("Stack Trace"), test); AddStackTrace (row, result.StackTrace, test); } failuresTreeView.ScrollToCell (failuresStore.GetPath (testRow), null, false, 0, 0); } if (result.IsNotRun) { if (!buttonIgnored.Active) return; TreeIter testRow = failuresStore.AppendValues (CircleImage.NotRun, Escape (test.FullName), test); if (result.Message != null) failuresStore.AppendValues (testRow, null, Escape (result.Message), test); failuresTreeView.ScrollToCell (failuresStore.GetPath (testRow), null, false, 0, 0); } if (result.IsInconclusive) { if (!buttonInconclusive.Active) return; TreeIter testRow = failuresStore.AppendValues (CircleImage.Inconclusive, Escape (test.FullName), test); if (result.Message != null) failuresStore.AppendValues (testRow, null, Escape (result.Message), test); failuresTreeView.ScrollToCell (failuresStore.GetPath (testRow), null, false, 0, 0); } string msg = GettextCatalog.GetString ("Running {0} ...", test.FullName); TextIter it = outputView.Buffer.EndIter; outIters [test] = it.Offset; outputView.Buffer.InsertWithTags (ref it, msg, bold); outputView.Buffer.Insert (ref it, "\n"); if (result.ConsoleOutput != null) outputView.Buffer.Insert (ref it, result.ConsoleOutput); if (result.ConsoleError != null) outputView.Buffer.Insert (ref it, result.ConsoleError); outputView.ScrollMarkOnscreen (outputView.Buffer.InsertMark); }
void UpdateOutlineSelection(object sender, Mono.TextEditor.DocumentLocationEventArgs e) { if (clickedOnOutlineItem || SyntaxTree == null || TreeStore == null) { return; } IStatement stmt = null; var caretLocation = Document.Editor.Caret.Location; var caretLocationD = new CodeLocation(caretLocation.Column, caretLocation.Line); var currentblock = DResolver.SearchBlockAt(SyntaxTree, caretLocationD, out stmt); INode selectedASTNode = null; if (currentblock == null) { return; } foreach (var n in currentblock) { if (caretLocationD >= n.Location && caretLocationD <= n.EndLocation) { selectedASTNode = n; break; } } if (selectedASTNode == null) { selectedASTNode = stmt != null ? stmt.ParentNode : currentblock; } if (selectedASTNode == null) { return; } TreeStore.Foreach((TreeModel model, TreePath path, TreeIter iter) => { var n = model.GetValue(iter, 0); if (n == selectedASTNode) { dontJumpToDeclaration = true; TreeView.Selection.SelectIter(iter); TreeView.ScrollToCell(path, TreeView.GetColumn(0), true, 0, 0); dontJumpToDeclaration = false; return(true); } return(false); }); }
void NewUserTaskClicked(object obj, EventArgs e) { Task task = new Task(); task.WorkspaceObject = IdeApp.ProjectOperations.CurrentSelectedWorkspaceItem; updating = true; TaskService.UserTasks.Add(task); updating = false; TreeIter iter = store.AppendValues(GettextCatalog.GetString(Enum.GetName(typeof(TaskPriority), task.Priority)), task.Completed, task.Description, task, GetColorByPriority(task.Priority), task.Completed ? (int)Pango.Weight.Light : (int)Pango.Weight.Bold); view.Selection.SelectIter(iter); TreePath path = store.GetPath(iter); view.ScrollToCell(path, view.Columns[(int)Columns.Description], true, 0, 0); view.SetCursorOnCell(path, view.Columns[(int)Columns.Description], cellRendDesc, true); TaskService.SaveUserTasks(task.WorkspaceObject); }
void NewUserTaskClicked(object obj, EventArgs e) { TaskListEntry task = new TaskListEntry(); task.WorkspaceObject = IdeApp.ProjectOperations.CurrentSelectedWorkspaceItem; updating = true; TaskService.UserTasks.Add(task); updating = false; var text = priorities [GetEnumIndex(task.Priority)]; TreeIter iter = store.AppendValues(text, task.Completed, task.Description, task, GetColorByPriority(task.Priority), task.Completed ? (int)Pango.Weight.Light : (int)Pango.Weight.Bold); view.Selection.SelectIter(sortModel.ConvertChildIterToIter(iter)); TreePath sortedPath = sortModel.ConvertChildPathToPath(store.GetPath(iter)); view.ScrollToCell(sortedPath, view.Columns[(int)Columns.Description], true, 0, 0); view.SetCursorOnCell(sortedPath, view.Columns[(int)Columns.Description], cellRendDesc, true); TaskService.SaveUserTasks(task.WorkspaceObject); }
void ShowTestResult(UnitTest test, UnitTestResult result) { if (result.IsSuccess) { if (!buttonSuccess.Active) { return; } TreeIter testRow = failuresStore.AppendValues(TestStatusIcon.Success, Escape(test.FullName), test); failuresTreeView.ScrollToCell(failuresStore.GetPath(testRow), null, false, 0, 0); } if (result.IsFailure) { if (!buttonFailures.Active) { return; } string file = test.SourceCodeLocation != null ? test.SourceCodeLocation.FileName + ":" + test.SourceCodeLocation.Line : null; TreeIter testRow = failuresStore.AppendValues(TestStatusIcon.Failure, Escape(test.FullName), test, file); bool hasMessage = !string.IsNullOrEmpty(result.Message); if (hasMessage) { var sb = StringBuilderCache.Allocate(); string curLineText; int curLine = 1; const int maxLineLength = 255; const int maxLineNumber = 255; sb.Append("<span font='"); sb.Append(IdeServices.FontService.MonospaceFontName); sb.Append("'>"); using (var sr = new StringReader(Escape(result.Message))) { while (null != (curLineText = sr.ReadLine())) { if (curLineText == null) { continue; } if (curLine < maxLineNumber) { if (curLineText.Length > maxLineLength) { sb.Append(curLineText, 0, maxLineLength); sb.AppendLine("…"); } else { sb.AppendLine(curLineText); } } curLine++; } } if (curLine > maxLineNumber) { sb.Append("<span foreground='darkgrey'>"); sb.Append(GettextCatalog.GetString("(+{0} lines not shown - see output view for full result message)", curLine - maxLineNumber)); sb.Append("</span>"); } sb.Append("</span>"); failuresStore.AppendValues(testRow, null, StringBuilderCache.ReturnAndFree(sb), test, null, 0, ErrorMessage); } if (!string.IsNullOrEmpty(result.StackTrace)) { TreeIter row = testRow; if (hasMessage) { row = failuresStore.AppendValues(testRow, null, GettextCatalog.GetString("Stack Trace"), test, null, 0, StackTrace); } AddStackTrace(row, result.StackTrace, test); } failuresTreeView.ScrollToCell(failuresStore.GetPath(testRow), null, false, 0, 0); } if (result.IsNotRun) { if (!buttonIgnored.Active) { return; } TreeIter testRow = failuresStore.AppendValues(TestStatusIcon.NotRun, Escape(test.FullName), test); if (result.Message != null) { failuresStore.AppendValues(testRow, null, Escape(result.Message), test); } failuresTreeView.ScrollToCell(failuresStore.GetPath(testRow), null, false, 0, 0); } if (result.IsInconclusive) { if (!buttonInconclusive.Active) { return; } TreeIter testRow = failuresStore.AppendValues(TestStatusIcon.Inconclusive, Escape(test.FullName), test); if (result.Message != null) { failuresStore.AppendValues(testRow, null, Escape(result.Message), test); } failuresTreeView.ScrollToCell(failuresStore.GetPath(testRow), null, false, 0, 0); } string msg = GettextCatalog.GetString("Running {0} ...", test.FullName); TextIter it = outputView.Buffer.EndIter; outIters [test] = it.Offset; outputView.Buffer.InsertWithTags(ref it, msg, bold); outputView.Buffer.Insert(ref it, "\n"); if (result.ConsoleOutput != null) { outputView.Buffer.Insert(ref it, result.ConsoleOutput); } if (result.ConsoleError != null) { outputView.Buffer.Insert(ref it, result.ConsoleError); } if (!string.IsNullOrEmpty(result.Message)) { outputView.Buffer.Insert(ref it, GettextCatalog.GetString("Result message:")); outputView.Buffer.Insert(ref it, "\n"); outputView.Buffer.Insert(ref it, result.Message); } outputView.ScrollMarkOnscreen(outputView.Buffer.InsertMark); }
void ShowTestResult(UnitTest test, UnitTestResult result) { if (result.IsSuccess) { if (!buttonSuccess.Active) { return; } TreeIter testRow = failuresStore.AppendValues(TestStatusIcon.Success, Escape(test.FullName), test); failuresTreeView.ScrollToCell(failuresStore.GetPath(testRow), null, false, 0, 0); } if (result.IsFailure) { if (!buttonFailures.Active) { return; } string file = test.SourceCodeLocation != null ? test.SourceCodeLocation.FileName + ":" + test.SourceCodeLocation.Line : null; TreeIter testRow = failuresStore.AppendValues(TestStatusIcon.Failure, Escape(test.FullName), test, file); bool hasMessage = !string.IsNullOrEmpty(result.Message); if (hasMessage) { failuresStore.AppendValues(testRow, null, "<span font='" + FontService.MonospaceFontName + "'>" + Escape(result.Message) + "</span>", test, null, 0, ErrorMessage); } if (!string.IsNullOrEmpty(result.StackTrace)) { TreeIter row = testRow; if (hasMessage) { row = failuresStore.AppendValues(testRow, null, GettextCatalog.GetString("Stack Trace"), test, null, 0, StackTrace); } AddStackTrace(row, result.StackTrace, test); } failuresTreeView.ScrollToCell(failuresStore.GetPath(testRow), null, false, 0, 0); } if (result.IsNotRun) { if (!buttonIgnored.Active) { return; } TreeIter testRow = failuresStore.AppendValues(TestStatusIcon.NotRun, Escape(test.FullName), test); if (result.Message != null) { failuresStore.AppendValues(testRow, null, Escape(result.Message), test); } failuresTreeView.ScrollToCell(failuresStore.GetPath(testRow), null, false, 0, 0); } if (result.IsInconclusive) { if (!buttonInconclusive.Active) { return; } TreeIter testRow = failuresStore.AppendValues(TestStatusIcon.Inconclusive, Escape(test.FullName), test); if (result.Message != null) { failuresStore.AppendValues(testRow, null, Escape(result.Message), test); } failuresTreeView.ScrollToCell(failuresStore.GetPath(testRow), null, false, 0, 0); } string msg = GettextCatalog.GetString("Running {0} ...", test.FullName); TextIter it = outputView.Buffer.EndIter; outIters [test] = it.Offset; outputView.Buffer.InsertWithTags(ref it, msg, bold); outputView.Buffer.Insert(ref it, "\n"); if (result.ConsoleOutput != null) { outputView.Buffer.Insert(ref it, result.ConsoleOutput); } if (result.ConsoleError != null) { outputView.Buffer.Insert(ref it, result.ConsoleError); } outputView.ScrollMarkOnscreen(outputView.Buffer.InsertMark); }