diff --git a/src/AddIns/Misc/NUnitPad/Project/Src/Gui/TestTreeView.cs b/src/AddIns/Misc/NUnitPad/Project/Src/Gui/TestTreeView.cs index 1c25b418de..cf650654f2 100644 --- a/src/AddIns/Misc/NUnitPad/Project/Src/Gui/TestTreeView.cs +++ b/src/AddIns/Misc/NUnitPad/Project/Src/Gui/TestTreeView.cs @@ -198,7 +198,7 @@ namespace ICSharpCode.NUnitPad testRunnerCategory.ClearText(); } - TaskService.Tasks.Clear(); + TaskService.Clear(); TreeNode selectedNode = treeView.SelectedNode; @@ -221,7 +221,7 @@ namespace ICSharpCode.NUnitPad } // If any tasks bring task view to front. - if (TaskService.Tasks.Count > 0) { + if (TaskService.TaskCount > 0) { IWorkbench Workbench = ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.Workbench; PadDescriptor padDescriptor = Workbench.GetPad(typeof(OpenTaskView)); @@ -339,8 +339,7 @@ namespace ICSharpCode.NUnitPad LineRef.Line, TaskType.Error); - TaskService.Tasks.Add(Task); - TaskService.NotifyTaskChange(); + TaskService.Add(Task); } } else if (!result.Executed) { @@ -370,8 +369,7 @@ namespace ICSharpCode.NUnitPad LineRef.Line, TaskType.Warning); - TaskService.Tasks.Add(Task); - TaskService.NotifyTaskChange(); + TaskService.Add(Task); } } diff --git a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/TextAreaMouseHandler.cs b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/TextAreaMouseHandler.cs index 93f0732245..74f3064d22 100644 --- a/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/TextAreaMouseHandler.cs +++ b/src/Libraries/ICSharpCode.TextEditor/Project/Src/Gui/TextAreaMouseHandler.cs @@ -185,7 +185,7 @@ namespace ICSharpCode.TextEditor return; } textArea.Caret.Position = realmousepos; - if (minSelection != nilPoint) { + if (minSelection != nilPoint && textArea.SelectionManager.SelectionCollection.Count > 0) { ISelection selection = textArea.SelectionManager.SelectionCollection[0]; Point min = textArea.SelectionManager.GreaterEqPos(minSelection, maxSelection) ? maxSelection : minSelection; Point max = textArea.SelectionManager.GreaterEqPos(minSelection, maxSelection) ? minSelection : maxSelection; diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index 9a787e2508..ba3bbcc5e5 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -617,6 +617,7 @@ + diff --git a/src/Main/Base/Project/Src/Commands/BuildCommands.cs b/src/Main/Base/Project/Src/Commands/BuildCommands.cs index 708bc143d8..753a5a12b7 100644 --- a/src/Main/Base/Project/Src/Commands/BuildCommands.cs +++ b/src/Main/Base/Project/Src/Commands/BuildCommands.cs @@ -20,19 +20,18 @@ namespace ICSharpCode.SharpDevelop.Project.Commands public static void ClearTasks() { TaskService.BuildMessageViewCategory.ClearText(); - TaskService.Tasks.Clear(); + TaskService.Clear(); } public static void ShowResults(CompilerResults results) { if (results != null) { foreach (CompilerError error in results.Errors) { - TaskService.Tasks.Add(new Task(error)); + TaskService.Add(new Task(error)); } if (results.Errors.Count > 0) { WorkbenchSingleton.Workbench.GetPad(typeof(ErrorList)).BringPadToFront(); } - TaskService.NotifyTaskChange(); } } @@ -87,12 +86,11 @@ namespace ICSharpCode.SharpDevelop.Project.Commands { if (results != null) { foreach (CompilerError error in results.Errors) { - TaskService.Tasks.Add(new Task(error)); + TaskService.Add(new Task(error)); } if (results.Errors.Count > 0) { WorkbenchSingleton.Workbench.GetPad(typeof(ErrorList)).BringPadToFront(); } - TaskService.NotifyTaskChange(); } } diff --git a/src/Main/Base/Project/Src/Commands/CustomStringTagProvider.cs b/src/Main/Base/Project/Src/Commands/CustomStringTagProvider.cs index cc0bbb0270..3ecaf4ddde 100644 --- a/src/Main/Base/Project/Src/Commands/CustomStringTagProvider.cs +++ b/src/Main/Base/Project/Src/Commands/CustomStringTagProvider.cs @@ -66,11 +66,11 @@ namespace ICSharpCode.SharpDevelop.Commands { switch (tag) { case "TaskService.Warnings": - return TaskService.Warnings.ToString(); + return TaskService.GetCount(TaskType.Warning).ToString(); case "TaskService.Errors": - return TaskService.Errors.ToString(); + return TaskService.GetCount(TaskType.Error).ToString(); case "TaskService.Messages": - return TaskService.Messages.ToString(); + return TaskService.GetCount(TaskType.Message).ToString(); } switch (tag.ToUpper()) { diff --git a/src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorList.cs b/src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorList.cs index 19c25b37e9..ffeaa7ef7c 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorList.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorList.cs @@ -98,7 +98,9 @@ namespace ICSharpCode.SharpDevelop.Gui listView.Activation = ItemActivation.OneClick; ListViewResize(this, EventArgs.Empty); - TaskService.TasksChanged += new EventHandler(ShowResults); + TaskService.Cleared += new EventHandler(TaskServiceCleared); + TaskService.Added += new TaskEventHandler(TaskServiceAdded); + TaskService.Removed += new TaskEventHandler(TaskServiceRemoved); ProjectService.EndBuild += new EventHandler(ProjectServiceEndBuild); @@ -156,7 +158,7 @@ namespace ICSharpCode.SharpDevelop.Gui void ProjectServiceEndBuild(object sender, EventArgs e) { - if (TaskService.Tasks.Count > 0) { + if (TaskService.TaskCount > 0) { WorkbenchSingleton.Workbench.WorkbenchLayout.ActivatePad(this.GetType().FullName); } } @@ -203,61 +205,81 @@ namespace ICSharpCode.SharpDevelop.Gui public CompilerResults CompilerResults = null; - void AddTasks(ICollection col) + void AddTask(Task task) { - foreach (Task task in col) { - int imageIndex = 0; - switch (task.TaskType) { - case TaskType.Warning: - imageIndex = 1; - if (!ShowWarnings) { - continue; - } - break; - case TaskType.Error: - imageIndex = 0; - if (!ShowErrors) { - continue; - } - break; - case TaskType.Message: - imageIndex = 3; - if (!ShowMessages) { - continue; - } - break; - default: - continue; - } - - string tmpPath; - if (task.Project != null && task.FileName != null) { - tmpPath = FileUtility.GetRelativePath(task.Project.Directory, task.FileName); - } else { - tmpPath = task.FileName; + int imageIndex = 0; + switch (task.TaskType) { + case TaskType.Warning: + imageIndex = 1; + if (!ShowWarnings) { + return; + } + break; + case TaskType.Error: + imageIndex = 0; + if (!ShowErrors) { + return; + } + break; + case TaskType.Message: + imageIndex = 3; + if (!ShowMessages) { + return; + } + break; + default: + return; + } + + string tmpPath; + if (task.Project != null && task.FileName != null) { + tmpPath = FileUtility.GetRelativePath(task.Project.Directory, task.FileName); + } else { + tmpPath = task.FileName; + } + + string fileName = tmpPath; + string path = tmpPath; + + try { + fileName = Path.GetFileName(tmpPath); + } catch (Exception) {} + + try { + path = Path.GetDirectoryName(tmpPath); + } catch (Exception) {} + + ListViewItem item = new ListViewItem(new string[] { + String.Empty, + (task.Line + 1).ToString(), + FormatDescription(task.Description), + fileName, + path + }); + item.ImageIndex = item.StateImageIndex = imageIndex; + item.Tag = task; + listView.Items.Add(item); + } + + + void TaskServiceCleared(object sender, EventArgs e) + { + listView.Items.Clear(); + } + + void TaskServiceAdded(object sender, TaskEventArgs e) + { + AddTask(e.Task); + } + + void TaskServiceRemoved(object sender, TaskEventArgs e) + { + Task task = e.Task; + for (int i = 0; i < listView.Items.Count; ++i) { + if ((Task)listView.Items[i].Tag == task) { + listView.Items.RemoveAt(i); + break; } - - string fileName = tmpPath; - string path = tmpPath; - - try { - fileName = Path.GetFileName(tmpPath); - } catch (Exception) {} - - try { - path = Path.GetDirectoryName(tmpPath); - } catch (Exception) {} - - ListViewItem item = new ListViewItem(new string[] { - String.Empty, - (task.Line + 1).ToString(), - FormatDescription(task.Description), - fileName, - path - }); - item.ImageIndex = item.StateImageIndex = imageIndex; - item.Tag = task; - listView.Items.Add(item); } } @@ -290,14 +312,11 @@ namespace ICSharpCode.SharpDevelop.Gui listView.BeginUpdate(); listView.Items.Clear(); - AddTasks(TaskService.Tasks); + foreach (Task task in TaskService.Tasks) { + AddTask(task); + } listView.EndUpdate(); } - - public void ShowResults(object sender, EventArgs e) - { - WorkbenchSingleton.SafeThreadCall(this, "InternalShowResults"); - } } } diff --git a/src/Main/Base/Project/Src/Gui/Pads/OpenTaskView.cs b/src/Main/Base/Project/Src/Gui/Pads/OpenTaskView.cs index 929f25e82f..6e01a90245 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/OpenTaskView.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/OpenTaskView.cs @@ -55,7 +55,9 @@ namespace ICSharpCode.SharpDevelop.Gui listView.Activation = ItemActivation.OneClick; ListViewResize(this, EventArgs.Empty); - TaskService.TasksChanged += new EventHandler(ShowResults); + TaskService.Cleared += new EventHandler(TaskServiceCleared); + TaskService.Added += new TaskEventHandler(TaskServiceAdded); + TaskService.Removed += new TaskEventHandler(TaskServiceRemoved); ProjectService.EndBuild += new EventHandler(SelectTaskView); @@ -109,7 +111,7 @@ namespace ICSharpCode.SharpDevelop.Gui void SelectTaskView(object sender, EventArgs e) { - if (TaskService.Tasks.Count > 0) { + if (TaskService.TaskCount > 0) { WorkbenchSingleton.SafeThreadCall(this, "SelectTaskView2"); } } @@ -117,13 +119,6 @@ namespace ICSharpCode.SharpDevelop.Gui void SelectTaskView2() { WorkbenchSingleton.Workbench.WorkbenchLayout.ActivatePad(this.GetType().FullName); -// if (WorkbenchSingleton.Workbench.WorkbenchLayout.IsVisible(this)) { -// } else { -// if ((bool)PropertyService.Get("SharpDevelop.ShowTaskListAfterBuild", true)) { -// WorkbenchSingleton.Workbench.WorkbenchLayout.ShowPad(this); -// WorkbenchSingleton.Workbench.WorkbenchLayout.ActivatePad(this); -// } -// } } void ListViewItemActivate(object sender, EventArgs e) @@ -168,49 +163,65 @@ namespace ICSharpCode.SharpDevelop.Gui public CompilerResults CompilerResults = null; - void AddTasks(ICollection col) + void AddTask(Task task) { - foreach (Task task in col) { - int imageIndex = 0; - switch (task.TaskType) { - case TaskType.Comment: - imageIndex = 3; - break; - default: - continue; - } - - string tmpPath; - if (task.Project != null && task.FileName != null) { - tmpPath = FileUtility.GetRelativePath(task.Project.Directory, task.FileName); - } else { - tmpPath = task.FileName; + int imageIndex = 3; + + string tmpPath; + if (task.Project != null && task.FileName != null) { + tmpPath = FileUtility.GetRelativePath(task.Project.Directory, task.FileName); + } else { + tmpPath = task.FileName; + } + + string fileName = tmpPath; + string path = tmpPath; + + try { + fileName = Path.GetFileName(tmpPath); + } catch (Exception) {} + + try { + path = Path.GetDirectoryName(tmpPath); + } catch (Exception) {} + + ListViewItem item = new ListViewItem(new string[] { + String.Empty, + (task.Line + 1).ToString(), + FormatDescription(task.Description), + fileName, + path + }); + item.ImageIndex = item.StateImageIndex = imageIndex; + item.Tag = task; + listView.Items.Add(item); + } + + + void TaskServiceCleared(object sender, EventArgs e) + { + listView.Items.Clear(); + } + + void TaskServiceAdded(object sender, TaskEventArgs e) + { + if (e.Task.TaskType == TaskType.Comment) { + AddTask(e.Task); + } + } + + void TaskServiceRemoved(object sender, TaskEventArgs e) + { + Task task = e.Task; + for (int i = 0; i < listView.Items.Count; ++i) { + if ((Task)listView.Items[i].Tag == task) { + listView.Items.RemoveAt(i); + break; } - - string fileName = tmpPath; - string path = tmpPath; - - try { - fileName = Path.GetFileName(tmpPath); - } catch (Exception) {} - - try { - path = Path.GetDirectoryName(tmpPath); - } catch (Exception) {} - - ListViewItem item = new ListViewItem(new string[] { - String.Empty, - (task.Line + 1).ToString(), - FormatDescription(task.Description), - fileName, - path - }); - item.ImageIndex = item.StateImageIndex = imageIndex; - item.Tag = task; - listView.Items.Add(item); } } + /// /// Removes new lines, carriage returns and tab characters from /// the list view task description and replaces them with a space. @@ -234,8 +245,9 @@ namespace ICSharpCode.SharpDevelop.Gui listView.Items.Clear(); - AddTasks(TaskService.Tasks); - AddTasks(TaskService.CommentTasks); + foreach (Task task in TaskService.CommentTasks) { + AddTask(task); + } listView.EndUpdate(); } diff --git a/src/Main/Base/Project/Src/Services/ParserService/CaseSensitiveProjectContent.cs b/src/Main/Base/Project/Src/Services/ParserService/CaseSensitiveProjectContent.cs index 0735206792..f95cebf20e 100644 --- a/src/Main/Base/Project/Src/Services/ParserService/CaseSensitiveProjectContent.cs +++ b/src/Main/Base/Project/Src/Services/ParserService/CaseSensitiveProjectContent.cs @@ -106,14 +106,9 @@ namespace ICSharpCode.Core public void UpdateCompilationUnit(ICompilationUnit oldUnit, ICompilationUnit parserOutput, string fileName, bool updateCommentTags) { + if (updateCommentTags) { - TaskService.RemoveCommentTasks(fileName); - if (parserOutput.TagComments.Count > 0) { - foreach (Tag tag in parserOutput.TagComments) { - TaskService.CommentTasks.Add(new Task(fileName, tag.Key + tag.CommentString, tag.Region.BeginColumn, tag.Region.BeginLine, TaskType.Comment)); - } - TaskService.NotifyTaskChange(); - } + TaskService.UpdateCommentTags(fileName, parserOutput.TagComments); } if (oldUnit != null) { @@ -462,7 +457,7 @@ namespace ICSharpCode.Core return false; } - // TODO: check inner classes for protected members too + // TODO: check inner classes for protected members too. // TODO: look for FullyQualifiedName == FullyQualifiedName. Must be replaced by a function wich pays attention to the case. // Look at NRefactoryResolver.IsSameName. Also pay attention if you can put this Function in IClass, and if you have to // compare the names instead of the FullyQualifiedNames diff --git a/src/Main/Base/Project/Src/Services/Tasks/Task.cs b/src/Main/Base/Project/Src/Services/Tasks/Task.cs index 8db2648178..c08b71e33f 100644 --- a/src/Main/Base/Project/Src/Services/Tasks/Task.cs +++ b/src/Main/Base/Project/Src/Services/Tasks/Task.cs @@ -18,6 +18,7 @@ namespace ICSharpCode.Core Error, Warning, Message, + Comment, } diff --git a/src/Main/Base/Project/Src/Services/Tasks/TaskEventHandler.cs b/src/Main/Base/Project/Src/Services/Tasks/TaskEventHandler.cs new file mode 100644 index 0000000000..9fae84eac3 --- /dev/null +++ b/src/Main/Base/Project/Src/Services/Tasks/TaskEventHandler.cs @@ -0,0 +1,22 @@ +using System; + +namespace ICSharpCode.Core +{ + public delegate void TaskEventHandler(object sender, TaskEventArgs e); + + public class TaskEventArgs : EventArgs + { + Task task; + + public Task Task { + get { + return task; + } + } + + public TaskEventArgs(Task task) + { + this.task = task; + } + } +} diff --git a/src/Main/Base/Project/Src/Services/Tasks/TaskService.cs b/src/Main/Base/Project/Src/Services/Tasks/TaskService.cs index 1d2954116c..bff54db538 100644 --- a/src/Main/Base/Project/Src/Services/Tasks/TaskService.cs +++ b/src/Main/Base/Project/Src/Services/Tasks/TaskService.cs @@ -7,18 +7,17 @@ using System; using System.IO; -using System.Collections; +using System.Collections.Generic; -using ICSharpCode.Core; using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Project; +using ICSharpCode.SharpDevelop.Dom; namespace ICSharpCode.Core { public class TaskService { - static ArrayList tasks = new ArrayList(); - static ArrayList commentTasks = new ArrayList(); + static List tasks = new List(); static MessageViewCategory buildMessageViewCategory = new MessageViewCategory("Build", "${res:MainWindow.Windows.OutputWindow.BuildCategory}"); public static MessageViewCategory BuildMessageViewCategory { @@ -27,66 +26,66 @@ namespace ICSharpCode.Core } } - public static ArrayList Tasks { - get { - return tasks; + public class TaskEnumerator { + public IEnumerator GetEnumerator() + { + foreach (Task task in tasks) { + if (task.TaskType != TaskType.Comment) { + yield return task; + } + } } } - public static ArrayList CommentTasks { + public static int TaskCount { get { - return commentTasks; + return tasks.Count - GetCount(TaskType.Comment); } } - - static int warnings = 0; - static int errors = 0; - static int messages = 0; - static int comments = 0; - - public static int Warnings { + public static TaskEnumerator Tasks { get { - return warnings; + return new TaskEnumerator(); } } - public static int Errors { - get { - return errors; + public class CommentTaskEnumerator { + public IEnumerator GetEnumerator() + { + foreach (Task task in tasks) { + if (task.TaskType == TaskType.Comment) { + yield return task; + } + } } } - - public static int Messages { + public static CommentTaskEnumerator CommentTasks { get { - return messages; + return new CommentTaskEnumerator(); } } - public static int Comments { - get { - return comments; + static Dictionary taskCount = new Dictionary(); + + public static int GetCount(TaskType type) + { + if (!taskCount.ContainsKey(type)) { + return 0; } + return taskCount[type]; } public static bool SomethingWentWrong { get { - return errors + warnings > 0; + return GetCount(TaskType.Error) + GetCount(TaskType.Warning) > 0; } } public static bool HasCriticalErrors(bool treatWarningsAsErrors) { if (treatWarningsAsErrors) { - return errors + warnings > 0; + return SomethingWentWrong; } else { - return errors > 0; - } - } - - static void OnTasksChanged(EventArgs e) - { - if (TasksChanged != null) { - TasksChanged(null, e); + return GetCount(TaskType.Error) > 0; } } @@ -100,93 +99,134 @@ namespace ICSharpCode.Core static void ProjectServiceSolutionClosed(object sender, EventArgs e) { - tasks.Clear(); - commentTasks.Clear(); - NotifyTaskChange(); + Clear(); } static void CheckFileRemove(object sender, FileEventArgs e) { - bool somethingChanged = false; for (int i = 0; i < tasks.Count; ++i) { - Task curTask = (Task)tasks[i]; - bool doRemoveTask = false; - try { - doRemoveTask = Path.GetFullPath(curTask.FileName) == Path.GetFullPath(e.FileName); - } catch { - doRemoveTask = curTask.FileName == e.FileName; - } - if (doRemoveTask) { - tasks.RemoveAt(i); + Task curTask = tasks[i]; + if (FileUtility.IsEqualFile(curTask.FileName, e.FileName)) { + Remove(curTask); --i; - somethingChanged = true; } } - - if (somethingChanged) { - NotifyTaskChange(); - } } static void CheckFileRename(object sender, FileRenameEventArgs e) { - bool somethingChanged = false; - foreach (Task curTask in tasks) { - if (Path.GetFullPath(curTask.FileName) == Path.GetFullPath(e.SourceFile)) { + for (int i = 0; i < tasks.Count; ++i) { + Task curTask = tasks[i]; + if (FileUtility.IsEqualFile(curTask.FileName, e.SourceFile)) { + Remove(curTask); curTask.FileName = Path.GetFullPath(e.TargetFile); - somethingChanged = true; + Add(curTask); + --i; + } + } + } + + public static void Clear() + { + taskCount.Clear(); + tasks.Clear(); + OnCleared(EventArgs.Empty); + } + + public static void Add(Task task) + { + tasks.Add(task); + if (!taskCount.ContainsKey(task.TaskType)) { + taskCount[task.TaskType] = 1; + } else { + taskCount[task.TaskType]++; + } + OnAdded(new TaskEventArgs(task)); + } + + public static void Remove(Task task) + { + if (tasks.Contains(task)) { + tasks.Remove(task); + taskCount[task.TaskType]--; + OnRemoved(new TaskEventArgs(task)); + } + } + + public static void UpdateCommentTags(string fileName, List tagComments) + { + if (fileName == null || tagComments == null) { + return; + } + + List newTasks = new List(); + foreach (Tag tag in tagComments) { + newTasks.Add(new Task(fileName, + tag.Key + tag.CommentString, + tag.Region.BeginColumn, + tag.Region.BeginLine, + TaskType.Comment)); + } + List oldTasks = new List(); + + foreach (Task task in CommentTasks) { + if (FileUtility.IsEqualFile(task.FileName, fileName)) { + oldTasks.Add(task); } } - foreach (Task curTask in commentTasks) { - if (Path.GetFullPath(curTask.FileName) == Path.GetFullPath(e.SourceFile)) { - curTask.FileName = Path.GetFullPath(e.TargetFile); - somethingChanged = true; + for (int i = 0; i < newTasks.Count; ++i) { + for (int j = 0; j < oldTasks.Count; ++j) { + if (newTasks[i].Line == oldTasks[j].Line && + newTasks[i].Column == oldTasks[j].Column && + newTasks[i].Description == oldTasks[j].Description) { + newTasks[i] = null; + oldTasks[j] = null; + ++i; + if (i >= newTasks.Count) { + break; + } + } } } + foreach (Task task in newTasks) { + if (task != null) { + Add(task); + } + } - if (somethingChanged) { - NotifyTaskChange(); + foreach (Task task in oldTasks) { + if (task != null) { + Remove(task); + } } } - - public static void RemoveCommentTasks(string fileName) + + static void OnCleared(EventArgs e) { - bool removed = false; - for (int i = 0; i < commentTasks.Count; ++i) { - Task task = (Task)commentTasks[i]; - if (Path.GetFullPath(task.FileName) == Path.GetFullPath(fileName)) { - commentTasks.RemoveAt(i); - removed = true; - --i; - } + if (Cleared != null) { + Cleared(null, e); } - if (removed) { - NotifyTaskChange(); + } + + static void OnAdded(TaskEventArgs e) + { + if (Added != null) { + Added(null, e); } } - public static void NotifyTaskChange() + static void OnRemoved(TaskEventArgs e) { - warnings = errors = comments = 0; - foreach (Task task in tasks) { - switch (task.TaskType) { - case TaskType.Warning: - ++warnings; - break; - case TaskType.Error: - ++errors; - break; - default: - ++comments; - break; - } + if (Removed != null) { + Removed(null, e); } - OnTasksChanged(null); } - public static event EventHandler TasksChanged; + public static event TaskEventHandler Added; + public static event TaskEventHandler Removed; + public static event EventHandler Cleared; } } diff --git a/src/Main/Base/Project/Src/TextEditor/Gui/Editor/ErrorDrawer.cs b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/ErrorDrawer.cs index 3d98424f50..fa312a20cc 100644 --- a/src/Main/Base/Project/Src/TextEditor/Gui/Editor/ErrorDrawer.cs +++ b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/ErrorDrawer.cs @@ -42,8 +42,8 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor { this.textEditor = textEditor; - - TaskService.TasksChanged += new EventHandler(SetErrors); +// TODO: Tasks Changed!!! +// TaskService.TasksChanged += new EventHandler(SetErrors); textEditor.FileNameChanged += new EventHandler(SetErrors); } diff --git a/src/SharpDevelop.sln b/src/SharpDevelop.sln index 80976231a0..c65e35a0d0 100644 --- a/src/SharpDevelop.sln +++ b/src/SharpDevelop.sln @@ -1,31 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 9.00 # SharpDevelop 2.0.0.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}" - ProjectSection(SolutionItems) = postProject - EndProjectSection -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.extensions.dll", "Tools\NUnit\src\NUnitFramework\extensions\nunit.extensions.dll.csproj", "{98B10E98-003C-45A0-9587-119142E39986}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.dll", "Tools\NUnit\src\NUnitFramework\core\nunit.core.dll.csproj", "{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.dll", "Tools\NUnit\src\NUnitFramework\framework\nunit.framework.dll.csproj", "{83DD7E12-A705-4DBA-9D71-09C8973D9382}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}" ProjectSection(SolutionItems) = postProject EndProjectSection @@ -60,6 +34,32 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Backends", "Backends", "{FE EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpBinding", "AddIns\BackendBindings\CSharpBinding\Project\CSharpBinding.csproj", "{1F1AC7CD-D154-45BB-8EAF-804CA8055F5A}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{9421EDF4-9769-4BE9-B5A6-C87DE221D73C}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.extensions.dll", "Tools\NUnit\src\NUnitFramework\extensions\nunit.extensions.dll.csproj", "{98B10E98-003C-45A0-9587-119142E39986}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NRefactory", "Libraries\NRefactory\Project\NRefactory.csproj", "{3A9AE6AA-BC07-4A2F-972C-581E3AE2F195}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.TextEditor", "Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj", "{2D18BE89-D210-49EB-A9DD-2246FBB3DF6D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.dll", "Tools\NUnit\src\NUnitFramework\core\nunit.core.dll.csproj", "{EBD43A7F-AFCA-4281-BB53-5CDD91F966A3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.dll", "Tools\NUnit\src\NUnitFramework\framework\nunit.framework.dll.csproj", "{83DD7E12-A705-4DBA-9D71-09C8973D9382}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Main", "Main", "{5A3EBEBA-0560-41C1-966B-23F7D03A5486}" + ProjectSection(SolutionItems) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StartUp", "Main\StartUp\Project\StartUp.csproj", "{1152B71B-3C05-4598-B20D-823B5D40559E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.Core", "Main\Core\Project\ICSharpCode.Core.csproj", "{35CEF10F-2D4C-45F2-9DD1-161E0FEC583C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpDevelop", "Main\Base\Project\ICSharpCode.SharpDevelop.csproj", "{2748AD25-9C63-4E12-877B-4DCE96FBED54}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -133,15 +133,6 @@ Global HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} - {83DD7E12-A705-4DBA-9D71-09C8973D9382} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {D3C782BA-178E-4235-A3BA-8C11DEBB6BEE} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} - {98B10E98-003C-45A0-9587-119142E39986} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} {CE5B42B7-6E8C-4385-9E97-F4023FC16BF2} = {14A277EE-7DF1-4529-B639-7D1EF334C1C5} @@ -154,5 +145,14 @@ Global {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} {CBC6C247-747B-4908-B09A-4D2E0F640B6B} = {4EA396ED-64AD-4AD0-A67A-AB363F3E0C79} {1F1AC7CD-D154-45BB-8EAF-804CA8055F5A} = {FEB825FA-4AD8-425D-8E4A-B5A18EE1B81C} + {83DD7E12-A705-4DBA-9D71-09C8973D9382} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {EBD43A7F-AFCA-4281-BB53-5CDD91F966A3} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {D3C782BA-178E-4235-A3BA-8C11DEBB6BEE} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {2D18BE89-D210-49EB-A9DD-2246FBB3DF6D} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {3A9AE6AA-BC07-4A2F-972C-581E3AE2F195} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {98B10E98-003C-45A0-9587-119142E39986} = {9421EDF4-9769-4BE9-B5A6-C87DE221D73C} + {2748AD25-9C63-4E12-877B-4DCE96FBED54} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} + {1152B71B-3C05-4598-B20D-823B5D40559E} = {5A3EBEBA-0560-41C1-966B-23F7D03A5486} EndGlobalSection EndGlobal