diff --git a/AddIns/ICSharpCode.SharpDevelop.addin b/AddIns/ICSharpCode.SharpDevelop.addin index 7d38d968c2..03ab7612a2 100644 --- a/AddIns/ICSharpCode.SharpDevelop.addin +++ b/AddIns/ICSharpCode.SharpDevelop.addin @@ -890,6 +890,29 @@ + + + + + + + + + + diff --git a/data/resources/image/BitmapResources/BitmapResources.res b/data/resources/image/BitmapResources/BitmapResources.res index 5cc681be84..76331d6bc3 100644 --- a/data/resources/image/BitmapResources/BitmapResources.res +++ b/data/resources/image/BitmapResources/BitmapResources.res @@ -1,253 +1,253 @@ -# this file was automatically generated by ResAsm - -Icons.Svn.StatusImages = SubversionIcons\Svn.StatusImages.png -Svn.ApplyPatch = SubversionIcons\Svn.ApplyPatch.png -Svn.Checkout = SubversionIcons\Svn.Checkout.png -Svn.Commit = SubversionIcons\Svn.Commit.png -Svn.CreatePatch = SubversionIcons\Svn.CreatePatch.png -Svn.Export = SubversionIcons\Svn.Export.png -Svn.Import = SubversionIcons\Svn.Import.png -Svn.Update = SubversionIcons\Svn.Update.png - - -# Nes project browser icons -ProjectBrowser.Folder.Closed = ProjectBrowserIcons\Folder.Closed.png -ProjectBrowser.Folder.Open = ProjectBrowserIcons\Folder.Open.png -ProjectBrowser.Folder.Missing = ProjectBrowserIcons\Folder.Missing.png -ProjectBrowser.GhostFolder.Closed = ProjectBrowserIcons\GhostFolder.Closed.png -ProjectBrowser.GhostFolder.Open = ProjectBrowserIcons\GhostFolder.Open.png -ProjectBrowser.PropertyFolder.Closed = ProjectBrowserIcons\PropertyFolder.Closed.png -ProjectBrowser.PropertyFolder.Open = ProjectBrowserIcons\PropertyFolder.Open.png -ProjectBrowser.ReferenceFolder.Closed = ProjectBrowserIcons\ReferenceFolder.Closed.png -ProjectBrowser.ReferenceFolder.Open = ProjectBrowserIcons\ReferenceFolder.Open.png -ProjectBrowser.GhostFile = ProjectBrowserIcons\GhostFile.png -ProjectBrowser.CodeBehind = ProjectBrowserIcons\CodeBehind.png -ProjectBrowser.MissingFile = ProjectBrowserIcons\MissingFile.png -ProjectBrowser.ProjectWarning = ProjectBrowserIcons\ProjectWarning.png -ProjectBrowser.MissingProject = ProjectBrowserIcons\MissingProject.png -ProjectBrowser.MissingSolution = ProjectBrowserIcons\MissingSolution.png -ProjectBrowser.Solution = ProjectBrowserIcons\Solution.png -ProjectBrowser.Toolbar.Refresh = ProjectBrowserIcons\Toolbar.Refresh.png -ProjectBrowser.Toolbar.ShowHiddenFiles = ProjectBrowserIcons\Toolbar.ShowHiddenFiles.png -ProjectBrowser.SolutionFolder.Closed = ProjectBrowserIcons\SolutionFolder.Closed.png -ProjectBrowser.SolutionFolder.Open = ProjectBrowserIcons\SolutionFolder.Open.png -ProjectBrowser.SolutionFolder.CreateNew = ProjectBrowserIcons\SolutionFolder.CreateNew.png - -ProjectBrowser.WebReferenceFolder.Closed = ProjectBrowserIcons\WebReferenceFolder.Closed.png -ProjectBrowser.WebReferenceFolder.Open = ProjectBrowserIcons\WebReferenceFolder.Open.png -ProjectBrowser.WebReference = ProjectBrowserIcons\WebReference.png - -#Output pad - -OutputPad.Toolbar.ClearOutputWindow = OutputPadIcons\ClearOutputWindow.png -OutputPad.Toolbar.ToggleWordWrap = OutputPadIcons\ToggleWordWrap.png - - -Icons.16x16.OpenFolderBitmap = ProjectBrowserIcons\Folder.Open.png -Icons.16x16.ClosedFolderBitmap = ProjectBrowserIcons\Folder.Closed.png - -Icons.16x16.OpenReferenceFolder = ProjectBrowserIcons\GhostFolder.Open.png -Icons.16x16.ClosedReferenceFolder = ProjectBrowserIcons\GhostFolder.Closed.png - -Icons.16x16.OpenResourceFolder = ProjectBrowserIcons\PropertyFolder.Open.png -Icons.16x16.ClosedResourceFolder = ProjectBrowserIcons\PropertyFolder.Closed.png - - -Icons.16x16.ArrowLeftRight = BitmapResources-data\Icons.16x16.ArrowLeftRight.png -Icons.16x16.ArrowDown = BitmapResources-data\Icons.16x16.ArrowDown.png -Icons.16x16.ArrowUp = BitmapResources-data\Icons.16x16.ArrowUp.png -Icons.16x16.OK = BitmapResources-data\Icons.16x16.OK.png - -Icons.16x16.Debug.Start = DebuggerIcons\Icons.16x16.Debug.Start.png -Icons.16x16.Debug.StartWithoutDebugging = DebuggerIcons\Icons.16x16.Debug.StartWithoutDebugging.png -Icons.16x16.Debug.StopProcess = DebuggerIcons\Icons.16x16.Debug.StopProcess.png -Icons.16x16.Debug.Break = DebuggerIcons\Icons.16x16.Debug.Break.png -Icons.16x16.Debug.Continue = DebuggerIcons\Icons.16x16.Debug.Continue.png -Icons.16x16.Debug.StepOver = DebuggerIcons\Icons.16x16.Debug.StepOver.png -Icons.16x16.Debug.StepInto = DebuggerIcons\Icons.16x16.Debug.StepInto.png -Icons.16x16.Debug.StepOut = DebuggerIcons\Icons.16x16.Debug.StepOut.png - -Icons.16x16.TestRunner.Yellow = BitmapResources-data\Icons.16x16.TestRunner.Yellow.png -Icons.16x16.TestRunner.Red = BitmapResources-data\Icons.16x16.TestRunner.Red.png -Icons.16x16.TestRunner.Green = BitmapResources-data\Icons.16x16.TestRunner.Green.png -Icons.16x16.TestRunner.Gray = BitmapResources-data\Icons.16x16.TestRunner.Gray.png -ErrorReport = BitmapResources-data\ErrorReport.png -Icons.16x16.Shell = Icons.16x16.Shell.png -Icons.16x16.StopProcess = BitmapResources-data\Icons.16x16.StopProcess.png -Icons.16x16.Desktop = BitmapResources-data\Icons.16x16.Desktop.png -Icons.16x16.MyComputer = BitmapResources-data\Icons.16x16.MyComputer.png -Icons.16x16.PersonalFiles = BitmapResources-data\Icons.16x16.PersonalFiles.png -Icons.16x16.NewProjectIcon = BitmapResources-data\Icons.16x16.NewProjectIcon.png -Icons.TipOfTheDayIcon = BitmapResources-data\Icons.TipOfTheDayIcon.png -Icons.16x16.Indent = BitmapResources-data\Icons.16x16.Indent.png -Icons.16x16.ResourceEditor.icon = BitmapResources-data\Icons.16x16.ResourceEditor.icon.ico -Icons.16x16.FullScreen = BitmapResources-data\Icons.16x16.FullScreen.png -Icons.16x16.AdjustBackgroundColor = BitmapResources-data\Icons.16x16.AdjustBackgroundColor.png -Icons.16x16.HelpOpenFolder = BitmapResources-data\Icons.16x16.HelpOpenFolder.png -Icons.16x16.SmallIconsIcon = BitmapResources-data\Icons.16x16.SmallIconsIcon.png -Icons.16x16.HtmlElements.AnchorElement = BitmapResources-data\Icons.16x16.HtmlElements.AnchorElement.png -Icons.16x16.Assembly = BitmapResources-data\Icons.16x16.Assembly.png -Icons.16x16.TipOfTheDay = BitmapResources-data\Icons.16x16.TipOfTheDay.png -Icons.16x16.Right = BitmapResources-data\Icons.16x16.Right.png -Icons.16x16.CDROM = BitmapResources-data\Icons.16x16.CDROM.png -Icons.16x16.RedoIcon = BitmapResources-data\Icons.16x16.RedoIcon.png -Icons.16x16.CloseAllDocuments = BitmapResources-data\Icons.16x16.CloseAllDocuments.png -Icons.16x16.HtmlElements.InputRadioElement = BitmapResources-data\Icons.16x16.HtmlElements.InputRadioElement.png -Icons.16x16.FormsDesigner.SendToBack = BitmapResources-data\Icons.16x16.FormsDesigner.SendToBack.png -Icons.16x16.BrowserAfter = BitmapResources-data\Icons.16x16.BrowserAfter.png -Icons.16x16.BrowserHome = BitmapResources-data\Icons.16x16.BrowserHome.gif -Icons.16x16.BrowserWindow = BitmapResources-data\Icons.16x16.BrowserWindow.png -Icons.SharpDevelopIcon = BitmapResources-data\Icons.SharpDevelopIcon.ico -Icons.16x16.HtmlElements.InputPasswordElement = BitmapResources-data\Icons.16x16.HtmlElements.InputPasswordElement.png -Icons.16x16.HtmlElements.InputCheckBoxElement = BitmapResources-data\Icons.16x16.HtmlElements.InputCheckBoxElement.png -Icons.16x16.FormsDesigner.AlignCenters = BitmapResources-data\Icons.16x16.FormsDesigner.AlignCenters.png -Icons.16x16.Center = BitmapResources-data\Icons.16x16.Center.png -Icons.16x16.FormsDesigner.CenterHorizontally = BitmapResources-data\Icons.16x16.FormsDesigner.CenterHorizontally.png -Icons.16x16.FormsDesigner.LockControls = BitmapResources-data\Icons.16x16.FormsDesigner.LockControls.png -Icons.16x16.FormsDesigner.DecreaseVerticalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.DecreaseVerticalSpace.png -Icons.16x16.NewFolderIcon = BitmapResources-data\Icons.16x16.NewFolderIcon.png -Icons.16x16.UnderlineText = BitmapResources-data\Icons.16x16.UnderlineText.png -Icons.16x16.RunProgramIcon = BitmapResources-data\Icons.16x16.RunProgramIcon.png -Icons.16x16.HtmlElements.TableElement = BitmapResources-data\Icons.16x16.HtmlElements.TableElement.png -Icons.16x16.ResourceEditor.obj = BitmapResources-data\Icons.16x16.ResourceEditor.obj.ico -Icons.16x16.ResourceEditor.bin = BitmapResources-data\Icons.16x16.ResourceEditor.bin.ico -Icons.16x16.DesignPanel = BitmapResources-data\Icons.16x16.DesignPanel.png -Icons.ClassBrowserIcon = BitmapResources-data\Icons.ClassBrowserIcon.png -Icons.16x16.HtmlElements.InputImageElement = BitmapResources-data\Icons.16x16.HtmlElements.InputImageElement.png -Icons.16x16.FormsDesigner.AlignBottoms = BitmapResources-data\Icons.16x16.FormsDesigner.AlignBottoms.png -Icons.16x16.FormsDesigner.RemoveVerticalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.RemoveVerticalSpace.png -Icons.16x16.ResourceEditor.string = BitmapResources-data\Icons.16x16.ResourceEditor.string.ico -Icons.32x32.Error = BitmapResources-data\Icons.32x32.Error.png -Icons.16x16.LargeIconsIcon = BitmapResources-data\Icons.16x16.LargeIconsIcon.png -Icons.16x16.NextWindowIcon = BitmapResources-data\Icons.16x16.NextWindowIcon.png -Icons.16x16.FormsDesigner.CenterVertically = BitmapResources-data\Icons.16x16.FormsDesigner.CenterVertically.png -Icons.16x16.Options = BitmapResources-data\Icons.16x16.Options.png -Icons.16x16.FormsDesigner.EqualizeHorizontalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.EqualizeHorizontalSpace.png -Icons.16x16.FormsDesigner.IncreaseHorizontalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.IncreaseHorizontalSpace.png -Icons.16x16.HtmlElements.ImageElement = BitmapResources-data\Icons.16x16.HtmlElements.ImageElement.png -Icons.16x16.HtmlElements.LabelElement = BitmapResources-data\Icons.16x16.HtmlElements.LabelElement.png -Icons.16x16.WebSearchIcon = BitmapResources-data\Icons.16x16.WebSearchIcon.png -Icons.16x16.FormsDesigner.AlignToGrid = BitmapResources-data\Icons.16x16.FormsDesigner.AlignToGrid.png -Icons.16x16.HtmlElements.InputResetElement = BitmapResources-data\Icons.16x16.HtmlElements.InputResetElement.png -Icons.16x16.CommentRegion = BitmapResources-data\Icons.16x16.CommentRegion.png -Icons.16x16.PreView = BitmapResources-data\Icons.16x16.PreView.png -Icons.16x16.FormsDesigner.AlignRights = BitmapResources-data\Icons.16x16.FormsDesigner.AlignRights.png -Icons.FileScoutIcon = BitmapResources-data\Icons.FileScoutIcon.png -Icons.ProjectScoutIcon = BitmapResources-data\Icons.ProjectScoutIcon.png -Icons.16x16.HtmlElements.PanelElement = BitmapResources-data\Icons.16x16.HtmlElements.PanelElement.png -Icons.16x16.AdjustColor = BitmapResources-data\Icons.16x16.AdjustColor.png -Icons.16x16.SideBarDocument = BitmapResources-data\Icons.16x16.SideBarDocument.png -Icons.16x16.Information = BitmapResources-data\Icons.16x16.Information.png -Icons.16x16.CopyLeftIcon = BitmapResources-data\Icons.16x16.CopyLeftIcon.png -Icons.16x16.FormsDesigner.AlignLefts = BitmapResources-data\Icons.16x16.FormsDesigner.AlignLefts.png -Icons.16x16.FormsDesigner.MakeSameHeight = BitmapResources-data\Icons.16x16.FormsDesigner.MakeSameHeight.png -Icons.16x16.BrowserCancel = BitmapResources-data\Icons.16x16.BrowserCancel.png -Icons.16x16.HtmlElements.DivElement = BitmapResources-data\Icons.16x16.HtmlElements.DivElement.png -Icons.16x16.BuildCurrentSelectedProject = BitmapResources-data\Icons.16x16.BuildCurrentSelectedProject.png -Icons.16x16.HelpTopic = BitmapResources-data\Icons.16x16.HelpTopic.png -Icons.16x16.PrevWindowIcon = BitmapResources-data\Icons.16x16.PrevWindowIcon.png -Icons.16x16.HtmlElements.SelectElement = BitmapResources-data\Icons.16x16.HtmlElements.SelectElement.png -Icons.16x16.OpenAssembly = BitmapResources-data\Icons.16x16.OpenAssembly.png -Icons.16x16.HtmlElements.InputSubmitElement = BitmapResources-data\Icons.16x16.HtmlElements.InputSubmitElement.png -Icons.16x16.CancelIcon = BitmapResources-data\Icons.16x16.CancelIcon.png -Icons.16x16.ItalicText = BitmapResources-data\Icons.16x16.ItalicText.png -Icons.16x16.BrowserBefore = BitmapResources-data\Icons.16x16.BrowserBefore.png -Icons.16x16.HtmlElements.InputTextElement = BitmapResources-data\Icons.16x16.HtmlElements.InputTextElement.png -Icons.16x16.HelpClosedFolder = BitmapResources-data\Icons.16x16.HelpClosedFolder.png -Icons.16x16.CutIcon = BitmapResources-data\Icons.16x16.CutIcon.png -Icons.16x16.BoldText = BitmapResources-data\Icons.16x16.BoldText.png -GeneralWizardBackground = BitmapResources-data\GeneralWizardBackground.png -Icons.16x16.HtmlElements.TextAreaElement = BitmapResources-data\Icons.16x16.HtmlElements.TextAreaElement.png -Icons.16x16.SaveAllIcon = BitmapResources-data\Icons.16x16.SaveAllIcon.png -Icons.16x16.Left = BitmapResources-data\Icons.16x16.Left.png -Icons.16x16.FormsDesigner.SizeToGrid = BitmapResources-data\Icons.16x16.FormsDesigner.SizeToGrid.png -Icons.16x16.HtmlElements.FormElement = BitmapResources-data\Icons.16x16.HtmlElements.FormElement.png -Icons.16x16.HtmlElements.InputFileElement = BitmapResources-data\Icons.16x16.HtmlElements.InputFileElement.png -Icons.16x16.NewDocumentIcon = BitmapResources-data\Icons.16x16.NewDocumentIcon.png -Icons.16x16.SelectionArrow = BitmapResources-data\Icons.16x16.SelectionArrow.png -Icons.16x16.Question = BitmapResources-data\Icons.16x16.Question.png -Icons.16x16.PasteIcon = BitmapResources-data\Icons.16x16.PasteIcon.png -Icons.32x32.Warning = BitmapResources-data\Icons.32x32.Warning.png -Icons.16x16.FormsDesigner.MakeSameSize = BitmapResources-data\Icons.16x16.FormsDesigner.MakeSameSize.png -Icons.16x16.Error = BitmapResources-data\Icons.16x16.Error.png -Icons.16x16.HtmlElements.InputButtonElement = BitmapResources-data\Icons.16x16.HtmlElements.InputButtonElement.png -Icons.16x16.NETWORK = BitmapResources-data\Icons.16x16.NETWORK.png -Icons.16x16.Library = BitmapResources-data\Icons.16x16.Library.png -Icons.16x16.AboutIcon = BitmapResources-data\Icons.16x16.AboutIcon.png -Icons.16x16.LowerToUpperCase = BitmapResources-data\Icons.16x16.LowerToUpperCase.png -Icons.16x16.UndoIcon = BitmapResources-data\Icons.16x16.UndoIcon.png -Icons.16x16.FormsDesigner.AlignMiddles = BitmapResources-data\Icons.16x16.FormsDesigner.AlignMiddles.png -Icons.16x16.ReplaceIcon = BitmapResources-data\Icons.16x16.ReplaceIcon.png -Icons.16x16.FormsDesigner.MakeSameWidth = BitmapResources-data\Icons.16x16.FormsDesigner.MakeSameWidth.png -Icons.16x16.OpenProjectIcon = BitmapResources-data\Icons.16x16.OpenProjectIcon.png -Icons.16x16.HtmlElements.InputHiddenElement = BitmapResources-data\Icons.16x16.HtmlElements.InputHiddenElement.png -Icons.16x16.SuperTypes = BitmapResources-data\Icons.16x16.SuperTypes.png -Icons.16x16.BuildCombine = BitmapResources-data\Icons.16x16.BuildCombine.png -Icons.16x16.HelpIcon = BitmapResources-data\Icons.16x16.HelpIcon.png -Icons.16x16.ReplaceInFiles = BitmapResources-data\Icons.16x16.ReplaceInFiles.png -Icons.16x16.FLOPPY = BitmapResources-data\Icons.16x16.FLOPPY.png -Icons.AboutImage = BitmapResources-data\Icons.AboutImage.png -Icons.16x16.HtmlElements.HorizontalRuleElement = BitmapResources-data\Icons.16x16.HtmlElements.HorizontalRuleElement.png -Icons.16x16.FormsDesigner.ShowTabOrder = BitmapResources-data\Icons.16x16.FormsDesigner.ShowTabOrder.png -Icons.16x16.FindInFiles = BitmapResources-data\Icons.16x16.FindInFiles.png -Icons.16x16.ResourceEditor.cursor = BitmapResources-data\Icons.16x16.ResourceEditor.cursor.ico -Icons.16x16.FormsDesigner.PointerIcon = BitmapResources-data\Icons.16x16.FormsDesigner.PointerIcon.png -Icons.16x16.CopyIcon = BitmapResources-data\Icons.16x16.CopyIcon.png -Icons.16x16.PropertiesIcon = BitmapResources-data\Icons.16x16.PropertiesIcon.png -Icons.16x16.OutDent = BitmapResources-data\Icons.16x16.OutDent.png -Icons.16x16.DeleteIcon = BitmapResources-data\Icons.16x16.DeleteIcon.png -Icons.16x16.FormsDesigner.IncreaseVerticalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.IncreaseVerticalSpace.png -Icons.16x16.UpperToLowerCase = BitmapResources-data\Icons.16x16.UpperToLowerCase.png -Icons.16x16.FindNextIcon = BitmapResources-data\Icons.16x16.FindNextIcon.png -Icons.32x32.Information = BitmapResources-data\Icons.32x32.Information.png -Icons.16x16.FormsDesigner.BringToFront = BitmapResources-data\Icons.16x16.FormsDesigner.BringToFront.png -Icons.16x16.BrowserRefresh = BitmapResources-data\Icons.16x16.BrowserRefresh.png -Icons.16x16.HtmlElements.ListBoxElement = BitmapResources-data\Icons.16x16.HtmlElements.ListBoxElement.png -Icons.16x16.FormsDesigner.DecreaseHorizontalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.DecreaseHorizontalSpace.png -Icons.16x16.ResourceEditor.bmp = BitmapResources-data\Icons.16x16.ResourceEditor.bmp.ico -Icons.16x16.SubTypes = BitmapResources-data\Icons.16x16.SubTypes.png -Icons.16x16.DRIVE = BitmapResources-data\Icons.16x16.DRIVE.png -Icons.16x16.HtmlElements.ButtonElement = BitmapResources-data\Icons.16x16.HtmlElements.ButtonElement.png -Icons.16x16.Print = BitmapResources-data\Icons.16x16.Print.png -Icons.32x32.Question = BitmapResources-data\Icons.32x32.Question.png -Icons.16x16.FormsDesigner.ViewCode = BitmapResources-data\Icons.16x16.FormsDesigner.ViewCode.png -Icons.16x16.FormsDesigner.AlignTops = BitmapResources-data\Icons.16x16.FormsDesigner.AlignTops.png -Icons.16x16.Warning = BitmapResources-data\Icons.16x16.Warning.png -Icons.16x16.HtmlElements.SpanElement = BitmapResources-data\Icons.16x16.HtmlElements.SpanElement.png -Icons.16x16.FormsDesigner.RemoveHorizontalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.RemoveHorizontalSpace.png -Icons.16x16.HtmlElements.IFrameElement = BitmapResources-data\Icons.16x16.HtmlElements.IFrameElement.png -Icons.16x16.FormsDesigner.EqualizeVerticalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.EqualizeVerticalSpace.png -Icons.16x16.FindIcon = BitmapResources-data\Icons.16x16.FindIcon.png -Icons.16x16.HtmlElements.Element = BitmapResources-data\Icons.16x16.HtmlElements.Element.png -Icons.16x16.SaveIcon = BitmapResources-data\Icons.16x16.SaveIcon.png -Icons.16x16.ILDasm = BitmapResources-data\Icons.16x16.ILDasm.png -Icons.16x16.CloseFileIcon = BitmapResources-data\Icons.16x16.CloseFileIcon.png -Icons.16x16.OpenFileIcon = BitmapResources-data\Icons.16x16.OpenFileIcon.png -Icons.16x16.HtmlElements.FieldSetElement = BitmapResources-data\Icons.16x16.HtmlElements.FieldSetElement.png -Icons.16x16.SplitWindow = BitmapResources-data\Icons.16x16.SplitWindow.png - -#pad icons -PadIcons.ErrorList = PadIcons\ErrorList.png -PadIcons.TaskList = PadIcons\TaskList.png -PadIcons.Output = PadIcons\Output.png -PadIcons.Toolbar = PadIcons\Toolbar.png -PadIcons.NUnitTest = PadIcons\NUnit.png -PadIcons.MbUnitTest = PadIcons\MbUnit.png -PadIcons.FindResults = PadIcons\FindResults.png -PadIcons.FileBrowser = PadIcons\FileBrowser.png -PadIcons.ClassBrowser = PadIcons\ClassBrowser.png -PadIcons.ProjectBrowser = PadIcons\ProjectBrowser.png -PadIcons.Bookmarks = PadIcons\Bookmarks.png -PadIcons.DefinitionView = PadIcons\DefinitionView.png -PadIcons.BreakPoints = PadIcons\Breakpoints.png -PadIcons.CallStack = PadIcons\CallStack.png -PadIcons.LoadedModules = PadIcons\LoadedModules.png -PadIcons.LocalVariables = PadIcons\LocalVariables.png -PadIcons.Threads = PadIcons\Threads.png -PadIcons.Exceptions = PadIcons\Exceptions.png - -#SharpQuery icons -Icons.16x16.SharpQuery.DataBaseRoot = SharpQueryIcons\Icons.16x16.SharpQuery.Database.png +# this file was automatically generated by ResAsm + +Icons.Svn.StatusImages = SubversionIcons\Svn.StatusImages.png +Svn.ApplyPatch = SubversionIcons\Svn.ApplyPatch.png +Svn.Checkout = SubversionIcons\Svn.Checkout.png +Svn.Commit = SubversionIcons\Svn.Commit.png +Svn.CreatePatch = SubversionIcons\Svn.CreatePatch.png +Svn.Export = SubversionIcons\Svn.Export.png +Svn.Import = SubversionIcons\Svn.Import.png +Svn.Update = SubversionIcons\Svn.Update.png + + +# Nes project browser icons +ProjectBrowser.Folder.Closed = ProjectBrowserIcons\Folder.Closed.png +ProjectBrowser.Folder.Open = ProjectBrowserIcons\Folder.Open.png +ProjectBrowser.Folder.Missing = ProjectBrowserIcons\Folder.Missing.png +ProjectBrowser.GhostFolder.Closed = ProjectBrowserIcons\GhostFolder.Closed.png +ProjectBrowser.GhostFolder.Open = ProjectBrowserIcons\GhostFolder.Open.png +ProjectBrowser.PropertyFolder.Closed = ProjectBrowserIcons\PropertyFolder.Closed.png +ProjectBrowser.PropertyFolder.Open = ProjectBrowserIcons\PropertyFolder.Open.png +ProjectBrowser.ReferenceFolder.Closed = ProjectBrowserIcons\ReferenceFolder.Closed.png +ProjectBrowser.ReferenceFolder.Open = ProjectBrowserIcons\ReferenceFolder.Open.png +ProjectBrowser.GhostFile = ProjectBrowserIcons\GhostFile.png +ProjectBrowser.CodeBehind = ProjectBrowserIcons\CodeBehind.png +ProjectBrowser.MissingFile = ProjectBrowserIcons\MissingFile.png +ProjectBrowser.ProjectWarning = ProjectBrowserIcons\ProjectWarning.png +ProjectBrowser.MissingProject = ProjectBrowserIcons\MissingProject.png +ProjectBrowser.MissingSolution = ProjectBrowserIcons\MissingSolution.png +ProjectBrowser.Solution = ProjectBrowserIcons\Solution.png +ProjectBrowser.Toolbar.Refresh = ProjectBrowserIcons\Toolbar.Refresh.png +ProjectBrowser.Toolbar.ShowHiddenFiles = ProjectBrowserIcons\Toolbar.ShowHiddenFiles.png +ProjectBrowser.SolutionFolder.Closed = ProjectBrowserIcons\SolutionFolder.Closed.png +ProjectBrowser.SolutionFolder.Open = ProjectBrowserIcons\SolutionFolder.Open.png +ProjectBrowser.SolutionFolder.CreateNew = ProjectBrowserIcons\SolutionFolder.CreateNew.png + +ProjectBrowser.WebReferenceFolder.Closed = ProjectBrowserIcons\WebReferenceFolder.Closed.png +ProjectBrowser.WebReferenceFolder.Open = ProjectBrowserIcons\WebReferenceFolder.Open.png +ProjectBrowser.WebReference = ProjectBrowserIcons\WebReference.png + +#Output pad + +OutputPad.Toolbar.ClearOutputWindow = OutputPadIcons\ClearOutputWindow.png +OutputPad.Toolbar.ToggleWordWrap = OutputPadIcons\ToggleWordWrap.png + + +Icons.16x16.OpenFolderBitmap = ProjectBrowserIcons\Folder.Open.png +Icons.16x16.ClosedFolderBitmap = ProjectBrowserIcons\Folder.Closed.png + +Icons.16x16.OpenReferenceFolder = ProjectBrowserIcons\GhostFolder.Open.png +Icons.16x16.ClosedReferenceFolder = ProjectBrowserIcons\GhostFolder.Closed.png + +Icons.16x16.OpenResourceFolder = ProjectBrowserIcons\PropertyFolder.Open.png +Icons.16x16.ClosedResourceFolder = ProjectBrowserIcons\PropertyFolder.Closed.png + + +Icons.16x16.ArrowLeftRight = BitmapResources-data\Icons.16x16.ArrowLeftRight.png +Icons.16x16.ArrowDown = BitmapResources-data\Icons.16x16.ArrowDown.png +Icons.16x16.ArrowUp = BitmapResources-data\Icons.16x16.ArrowUp.png +Icons.16x16.OK = BitmapResources-data\Icons.16x16.OK.png + +Icons.16x16.Debug.Start = DebuggerIcons\Icons.16x16.Debug.Start.png +Icons.16x16.Debug.StartWithoutDebugging = DebuggerIcons\Icons.16x16.Debug.StartWithoutDebugging.png +Icons.16x16.Debug.StopProcess = DebuggerIcons\Icons.16x16.Debug.StopProcess.png +Icons.16x16.Debug.Break = DebuggerIcons\Icons.16x16.Debug.Break.png +Icons.16x16.Debug.Continue = DebuggerIcons\Icons.16x16.Debug.Continue.png +Icons.16x16.Debug.StepOver = DebuggerIcons\Icons.16x16.Debug.StepOver.png +Icons.16x16.Debug.StepInto = DebuggerIcons\Icons.16x16.Debug.StepInto.png +Icons.16x16.Debug.StepOut = DebuggerIcons\Icons.16x16.Debug.StepOut.png + +Icons.16x16.TestRunner.Yellow = BitmapResources-data\Icons.16x16.TestRunner.Yellow.png +Icons.16x16.TestRunner.Red = BitmapResources-data\Icons.16x16.TestRunner.Red.png +Icons.16x16.TestRunner.Green = BitmapResources-data\Icons.16x16.TestRunner.Green.png +Icons.16x16.TestRunner.Gray = BitmapResources-data\Icons.16x16.TestRunner.Gray.png +ErrorReport = BitmapResources-data\ErrorReport.png +Icons.16x16.Shell = Icons.16x16.Shell.png +Icons.16x16.StopProcess = BitmapResources-data\Icons.16x16.StopProcess.png +Icons.16x16.Desktop = BitmapResources-data\Icons.16x16.Desktop.png +Icons.16x16.MyComputer = BitmapResources-data\Icons.16x16.MyComputer.png +Icons.16x16.PersonalFiles = BitmapResources-data\Icons.16x16.PersonalFiles.png +Icons.16x16.NewProjectIcon = BitmapResources-data\Icons.16x16.NewProjectIcon.png +Icons.TipOfTheDayIcon = BitmapResources-data\Icons.TipOfTheDayIcon.png +Icons.16x16.Indent = BitmapResources-data\Icons.16x16.Indent.png +Icons.16x16.ResourceEditor.icon = BitmapResources-data\Icons.16x16.ResourceEditor.icon.ico +Icons.16x16.FullScreen = BitmapResources-data\Icons.16x16.FullScreen.png +Icons.16x16.AdjustBackgroundColor = BitmapResources-data\Icons.16x16.AdjustBackgroundColor.png +Icons.16x16.HelpOpenFolder = BitmapResources-data\Icons.16x16.HelpOpenFolder.png +Icons.16x16.SmallIconsIcon = BitmapResources-data\Icons.16x16.SmallIconsIcon.png +Icons.16x16.HtmlElements.AnchorElement = BitmapResources-data\Icons.16x16.HtmlElements.AnchorElement.png +Icons.16x16.Assembly = BitmapResources-data\Icons.16x16.Assembly.png +Icons.16x16.TipOfTheDay = BitmapResources-data\Icons.16x16.TipOfTheDay.png +Icons.16x16.Right = BitmapResources-data\Icons.16x16.Right.png +Icons.16x16.CDROM = BitmapResources-data\Icons.16x16.CDROM.png +Icons.16x16.RedoIcon = BitmapResources-data\Icons.16x16.RedoIcon.png +Icons.16x16.CloseAllDocuments = BitmapResources-data\Icons.16x16.CloseAllDocuments.png +Icons.16x16.HtmlElements.InputRadioElement = BitmapResources-data\Icons.16x16.HtmlElements.InputRadioElement.png +Icons.16x16.FormsDesigner.SendToBack = BitmapResources-data\Icons.16x16.FormsDesigner.SendToBack.png +Icons.16x16.BrowserAfter = BitmapResources-data\Icons.16x16.BrowserAfter.png +Icons.16x16.BrowserHome = BitmapResources-data\Icons.16x16.BrowserHome.gif +Icons.16x16.BrowserWindow = BitmapResources-data\Icons.16x16.BrowserWindow.png +Icons.SharpDevelopIcon = BitmapResources-data\Icons.SharpDevelopIcon.ico +Icons.16x16.HtmlElements.InputPasswordElement = BitmapResources-data\Icons.16x16.HtmlElements.InputPasswordElement.png +Icons.16x16.HtmlElements.InputCheckBoxElement = BitmapResources-data\Icons.16x16.HtmlElements.InputCheckBoxElement.png +Icons.16x16.FormsDesigner.AlignCenters = BitmapResources-data\Icons.16x16.FormsDesigner.AlignCenters.png +Icons.16x16.Center = BitmapResources-data\Icons.16x16.Center.png +Icons.16x16.FormsDesigner.CenterHorizontally = BitmapResources-data\Icons.16x16.FormsDesigner.CenterHorizontally.png +Icons.16x16.FormsDesigner.LockControls = BitmapResources-data\Icons.16x16.FormsDesigner.LockControls.png +Icons.16x16.FormsDesigner.DecreaseVerticalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.DecreaseVerticalSpace.png +Icons.16x16.NewFolderIcon = BitmapResources-data\Icons.16x16.NewFolderIcon.png +Icons.16x16.UnderlineText = BitmapResources-data\Icons.16x16.UnderlineText.png +Icons.16x16.RunProgramIcon = BitmapResources-data\Icons.16x16.RunProgramIcon.png +Icons.16x16.HtmlElements.TableElement = BitmapResources-data\Icons.16x16.HtmlElements.TableElement.png +Icons.16x16.ResourceEditor.obj = BitmapResources-data\Icons.16x16.ResourceEditor.obj.ico +Icons.16x16.ResourceEditor.bin = BitmapResources-data\Icons.16x16.ResourceEditor.bin.ico +Icons.16x16.DesignPanel = BitmapResources-data\Icons.16x16.DesignPanel.png +Icons.ClassBrowserIcon = BitmapResources-data\Icons.ClassBrowserIcon.png +Icons.16x16.HtmlElements.InputImageElement = BitmapResources-data\Icons.16x16.HtmlElements.InputImageElement.png +Icons.16x16.FormsDesigner.AlignBottoms = BitmapResources-data\Icons.16x16.FormsDesigner.AlignBottoms.png +Icons.16x16.FormsDesigner.RemoveVerticalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.RemoveVerticalSpace.png +Icons.16x16.ResourceEditor.string = BitmapResources-data\Icons.16x16.ResourceEditor.string.ico +Icons.32x32.Error = BitmapResources-data\Icons.32x32.Error.png +Icons.16x16.LargeIconsIcon = BitmapResources-data\Icons.16x16.LargeIconsIcon.png +Icons.16x16.NextWindowIcon = BitmapResources-data\Icons.16x16.NextWindowIcon.png +Icons.16x16.FormsDesigner.CenterVertically = BitmapResources-data\Icons.16x16.FormsDesigner.CenterVertically.png +Icons.16x16.Options = BitmapResources-data\Icons.16x16.Options.png +Icons.16x16.FormsDesigner.EqualizeHorizontalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.EqualizeHorizontalSpace.png +Icons.16x16.FormsDesigner.IncreaseHorizontalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.IncreaseHorizontalSpace.png +Icons.16x16.HtmlElements.ImageElement = BitmapResources-data\Icons.16x16.HtmlElements.ImageElement.png +Icons.16x16.HtmlElements.LabelElement = BitmapResources-data\Icons.16x16.HtmlElements.LabelElement.png +Icons.16x16.WebSearchIcon = BitmapResources-data\Icons.16x16.WebSearchIcon.png +Icons.16x16.FormsDesigner.AlignToGrid = BitmapResources-data\Icons.16x16.FormsDesigner.AlignToGrid.png +Icons.16x16.HtmlElements.InputResetElement = BitmapResources-data\Icons.16x16.HtmlElements.InputResetElement.png +Icons.16x16.CommentRegion = BitmapResources-data\Icons.16x16.CommentRegion.png +Icons.16x16.PreView = BitmapResources-data\Icons.16x16.PreView.png +Icons.16x16.FormsDesigner.AlignRights = BitmapResources-data\Icons.16x16.FormsDesigner.AlignRights.png +Icons.FileScoutIcon = BitmapResources-data\Icons.FileScoutIcon.png +Icons.ProjectScoutIcon = BitmapResources-data\Icons.ProjectScoutIcon.png +Icons.16x16.HtmlElements.PanelElement = BitmapResources-data\Icons.16x16.HtmlElements.PanelElement.png +Icons.16x16.AdjustColor = BitmapResources-data\Icons.16x16.AdjustColor.png +Icons.16x16.SideBarDocument = BitmapResources-data\Icons.16x16.SideBarDocument.png +Icons.16x16.Information = BitmapResources-data\Icons.16x16.Information.png +Icons.16x16.CopyLeftIcon = BitmapResources-data\Icons.16x16.CopyLeftIcon.png +Icons.16x16.FormsDesigner.AlignLefts = BitmapResources-data\Icons.16x16.FormsDesigner.AlignLefts.png +Icons.16x16.FormsDesigner.MakeSameHeight = BitmapResources-data\Icons.16x16.FormsDesigner.MakeSameHeight.png +Icons.16x16.BrowserCancel = BitmapResources-data\Icons.16x16.BrowserCancel.png +Icons.16x16.HtmlElements.DivElement = BitmapResources-data\Icons.16x16.HtmlElements.DivElement.png +Icons.16x16.BuildCurrentSelectedProject = BitmapResources-data\Icons.16x16.BuildCurrentSelectedProject.png +Icons.16x16.HelpTopic = BitmapResources-data\Icons.16x16.HelpTopic.png +Icons.16x16.PrevWindowIcon = BitmapResources-data\Icons.16x16.PrevWindowIcon.png +Icons.16x16.HtmlElements.SelectElement = BitmapResources-data\Icons.16x16.HtmlElements.SelectElement.png +Icons.16x16.OpenAssembly = BitmapResources-data\Icons.16x16.OpenAssembly.png +Icons.16x16.HtmlElements.InputSubmitElement = BitmapResources-data\Icons.16x16.HtmlElements.InputSubmitElement.png +Icons.16x16.CancelIcon = BitmapResources-data\Icons.16x16.CancelIcon.png +Icons.16x16.ItalicText = BitmapResources-data\Icons.16x16.ItalicText.png +Icons.16x16.BrowserBefore = BitmapResources-data\Icons.16x16.BrowserBefore.png +Icons.16x16.HtmlElements.InputTextElement = BitmapResources-data\Icons.16x16.HtmlElements.InputTextElement.png +Icons.16x16.HelpClosedFolder = BitmapResources-data\Icons.16x16.HelpClosedFolder.png +Icons.16x16.CutIcon = BitmapResources-data\Icons.16x16.CutIcon.png +Icons.16x16.BoldText = BitmapResources-data\Icons.16x16.BoldText.png +GeneralWizardBackground = BitmapResources-data\GeneralWizardBackground.png +Icons.16x16.HtmlElements.TextAreaElement = BitmapResources-data\Icons.16x16.HtmlElements.TextAreaElement.png +Icons.16x16.SaveAllIcon = BitmapResources-data\Icons.16x16.SaveAllIcon.png +Icons.16x16.Left = BitmapResources-data\Icons.16x16.Left.png +Icons.16x16.FormsDesigner.SizeToGrid = BitmapResources-data\Icons.16x16.FormsDesigner.SizeToGrid.png +Icons.16x16.HtmlElements.FormElement = BitmapResources-data\Icons.16x16.HtmlElements.FormElement.png +Icons.16x16.HtmlElements.InputFileElement = BitmapResources-data\Icons.16x16.HtmlElements.InputFileElement.png +Icons.16x16.NewDocumentIcon = BitmapResources-data\Icons.16x16.NewDocumentIcon.png +Icons.16x16.SelectionArrow = BitmapResources-data\Icons.16x16.SelectionArrow.png +Icons.16x16.Question = BitmapResources-data\Icons.16x16.Question.png +Icons.16x16.PasteIcon = BitmapResources-data\Icons.16x16.PasteIcon.png +Icons.32x32.Warning = BitmapResources-data\Icons.32x32.Warning.png +Icons.16x16.FormsDesigner.MakeSameSize = BitmapResources-data\Icons.16x16.FormsDesigner.MakeSameSize.png +Icons.16x16.Error = BitmapResources-data\Icons.16x16.Error.png +Icons.16x16.HtmlElements.InputButtonElement = BitmapResources-data\Icons.16x16.HtmlElements.InputButtonElement.png +Icons.16x16.NETWORK = BitmapResources-data\Icons.16x16.NETWORK.png +Icons.16x16.Library = BitmapResources-data\Icons.16x16.Library.png +Icons.16x16.AboutIcon = BitmapResources-data\Icons.16x16.AboutIcon.png +Icons.16x16.LowerToUpperCase = BitmapResources-data\Icons.16x16.LowerToUpperCase.png +Icons.16x16.UndoIcon = BitmapResources-data\Icons.16x16.UndoIcon.png +Icons.16x16.FormsDesigner.AlignMiddles = BitmapResources-data\Icons.16x16.FormsDesigner.AlignMiddles.png +Icons.16x16.ReplaceIcon = BitmapResources-data\Icons.16x16.ReplaceIcon.png +Icons.16x16.FormsDesigner.MakeSameWidth = BitmapResources-data\Icons.16x16.FormsDesigner.MakeSameWidth.png +Icons.16x16.OpenProjectIcon = BitmapResources-data\Icons.16x16.OpenProjectIcon.png +Icons.16x16.HtmlElements.InputHiddenElement = BitmapResources-data\Icons.16x16.HtmlElements.InputHiddenElement.png +Icons.16x16.SuperTypes = BitmapResources-data\Icons.16x16.SuperTypes.png +Icons.16x16.BuildCombine = BitmapResources-data\Icons.16x16.BuildCombine.png +Icons.16x16.HelpIcon = BitmapResources-data\Icons.16x16.HelpIcon.png +Icons.16x16.ReplaceInFiles = BitmapResources-data\Icons.16x16.ReplaceInFiles.png +Icons.16x16.FLOPPY = BitmapResources-data\Icons.16x16.FLOPPY.png +Icons.AboutImage = BitmapResources-data\Icons.AboutImage.png +Icons.16x16.HtmlElements.HorizontalRuleElement = BitmapResources-data\Icons.16x16.HtmlElements.HorizontalRuleElement.png +Icons.16x16.FormsDesigner.ShowTabOrder = BitmapResources-data\Icons.16x16.FormsDesigner.ShowTabOrder.png +Icons.16x16.FindInFiles = BitmapResources-data\Icons.16x16.FindInFiles.png +Icons.16x16.ResourceEditor.cursor = BitmapResources-data\Icons.16x16.ResourceEditor.cursor.ico +Icons.16x16.FormsDesigner.PointerIcon = BitmapResources-data\Icons.16x16.FormsDesigner.PointerIcon.png +Icons.16x16.CopyIcon = BitmapResources-data\Icons.16x16.CopyIcon.png +Icons.16x16.PropertiesIcon = BitmapResources-data\Icons.16x16.PropertiesIcon.png +Icons.16x16.OutDent = BitmapResources-data\Icons.16x16.OutDent.png +Icons.16x16.DeleteIcon = BitmapResources-data\Icons.16x16.DeleteIcon.png +Icons.16x16.FormsDesigner.IncreaseVerticalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.IncreaseVerticalSpace.png +Icons.16x16.UpperToLowerCase = BitmapResources-data\Icons.16x16.UpperToLowerCase.png +Icons.16x16.FindNextIcon = BitmapResources-data\Icons.16x16.FindNextIcon.png +Icons.32x32.Information = BitmapResources-data\Icons.32x32.Information.png +Icons.16x16.FormsDesigner.BringToFront = BitmapResources-data\Icons.16x16.FormsDesigner.BringToFront.png +Icons.16x16.BrowserRefresh = BitmapResources-data\Icons.16x16.BrowserRefresh.png +Icons.16x16.HtmlElements.ListBoxElement = BitmapResources-data\Icons.16x16.HtmlElements.ListBoxElement.png +Icons.16x16.FormsDesigner.DecreaseHorizontalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.DecreaseHorizontalSpace.png +Icons.16x16.ResourceEditor.bmp = BitmapResources-data\Icons.16x16.ResourceEditor.bmp.ico +Icons.16x16.SubTypes = BitmapResources-data\Icons.16x16.SubTypes.png +Icons.16x16.DRIVE = BitmapResources-data\Icons.16x16.DRIVE.png +Icons.16x16.HtmlElements.ButtonElement = BitmapResources-data\Icons.16x16.HtmlElements.ButtonElement.png +Icons.16x16.Print = BitmapResources-data\Icons.16x16.Print.png +Icons.32x32.Question = BitmapResources-data\Icons.32x32.Question.png +Icons.16x16.FormsDesigner.ViewCode = BitmapResources-data\Icons.16x16.FormsDesigner.ViewCode.png +Icons.16x16.FormsDesigner.AlignTops = BitmapResources-data\Icons.16x16.FormsDesigner.AlignTops.png +Icons.16x16.Warning = BitmapResources-data\Icons.16x16.Warning.png +Icons.16x16.HtmlElements.SpanElement = BitmapResources-data\Icons.16x16.HtmlElements.SpanElement.png +Icons.16x16.FormsDesigner.RemoveHorizontalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.RemoveHorizontalSpace.png +Icons.16x16.HtmlElements.IFrameElement = BitmapResources-data\Icons.16x16.HtmlElements.IFrameElement.png +Icons.16x16.FormsDesigner.EqualizeVerticalSpace = BitmapResources-data\Icons.16x16.FormsDesigner.EqualizeVerticalSpace.png +Icons.16x16.FindIcon = BitmapResources-data\Icons.16x16.FindIcon.png +Icons.16x16.HtmlElements.Element = BitmapResources-data\Icons.16x16.HtmlElements.Element.png +Icons.16x16.SaveIcon = BitmapResources-data\Icons.16x16.SaveIcon.png +Icons.16x16.ILDasm = BitmapResources-data\Icons.16x16.ILDasm.png +Icons.16x16.CloseFileIcon = BitmapResources-data\Icons.16x16.CloseFileIcon.png +Icons.16x16.OpenFileIcon = BitmapResources-data\Icons.16x16.OpenFileIcon.png +Icons.16x16.HtmlElements.FieldSetElement = BitmapResources-data\Icons.16x16.HtmlElements.FieldSetElement.png +Icons.16x16.SplitWindow = BitmapResources-data\Icons.16x16.SplitWindow.png + +#pad icons +PadIcons.ErrorList = PadIcons\ErrorList.png +PadIcons.TaskList = PadIcons\TaskList.png +PadIcons.Output = PadIcons\Output.png +PadIcons.Toolbar = PadIcons\Toolbar.png +PadIcons.NUnitTest = PadIcons\NUnit.png +PadIcons.MbUnitTest = PadIcons\MbUnit.png +PadIcons.FindResults = PadIcons\FindResults.png +PadIcons.FileBrowser = PadIcons\FileBrowser.png +PadIcons.ClassBrowser = PadIcons\ClassBrowser.png +PadIcons.ProjectBrowser = PadIcons\ProjectBrowser.png +PadIcons.Bookmarks = PadIcons\Bookmarks.png +PadIcons.DefinitionView = PadIcons\DefinitionView.png +PadIcons.BreakPoints = PadIcons\Breakpoints.png +PadIcons.CallStack = PadIcons\CallStack.png +PadIcons.LoadedModules = PadIcons\LoadedModules.png +PadIcons.LocalVariables = PadIcons\LocalVariables.png +PadIcons.Threads = PadIcons\Threads.png +PadIcons.Exceptions = PadIcons\Exceptions.png + +#SharpQuery icons +Icons.16x16.SharpQuery.DataBaseRoot = SharpQueryIcons\Icons.16x16.SharpQuery.Database.png Icons.16x16.SharpQuery.DatabaseConnectionClose = SharpQueryIcons\Icons.16x16.SharpQuery.DatabaseConnectionClose.png Icons.16x16.SharpQuery.DatabaseConnection = SharpQueryIcons\Icons.16x16.SharpQuery.DatabaseConnection.png Icons.16x16.SharpQuery.TablesRoot = SharpQueryIcons\Icons.16x16.SharpQuery.TablesRoot.png @@ -260,236 +260,239 @@ Icons.16x16.SharpQuery.Column = SharpQueryIcons\Icons.16x16.Sh Icons.16x16.SharpQuery.NodeError = SharpQueryIcons\Icons.16x16.SharpQuery.NodeError.png Icons.16x16.SharpQuery.Refresh = SharpQueryIcons\Icons.16x16.SharpQuery.Refresh.png Icons.16x16.SharpQuery.AddConnection = SharpQueryIcons\Icons.16x16.SharpQuery.AddConnection.png -Icons.16x16.SharpQuery.Remove = SharpQueryIcons\Icons.16x16.SharpQuery.Remove.png - -#classbrowser icons -Icons.16x16.NameSpace = ClassBrowserIcons\Icons.16x16.NameSpace.png -Icons.16x16.Literal = ClassBrowserIcons\Icons.16x16.Literal.png -Icons.16x16.Reference = ClassBrowserIcons\Icons.16x16.Reference.png - - -Icons.16x16.Class = ClassBrowserIcons\Icons.16x16.Class.png -Icons.16x16.Struct = ClassBrowserIcons\Icons.16x16.Struct.png -Icons.16x16.Enum = ClassBrowserIcons\Icons.16x16.Enum.png -Icons.16x16.Interface = ClassBrowserIcons\Icons.16x16.Interface.png -Icons.16x16.Delegate = ClassBrowserIcons\Icons.16x16.Delegate.png -Icons.16x16.Method = ClassBrowserIcons\Icons.16x16.Method.png -Icons.16x16.Property = ClassBrowserIcons\Icons.16x16.Property.png -Icons.16x16.Indexer = ClassBrowserIcons\Icons.16x16.Indexer.png -Icons.16x16.Field = ClassBrowserIcons\Icons.16x16.Field.png -Icons.16x16.Event = ClassBrowserIcons\Icons.16x16.Event.png - -Icons.16x16.Local = ClassBrowserIcons\Icons.16x16.Local.png -Icons.16x16.Parameter = ClassBrowserIcons\Icons.16x16.Parameter.png - -Icons.16x16.PrivateClass = ClassBrowserIcons\Icons.16x16.PrivateClass.png -Icons.16x16.PrivateStruct = ClassBrowserIcons\Icons.16x16.PrivateStruct.png -Icons.16x16.PrivateEnum = ClassBrowserIcons\Icons.16x16.PrivateEnum.png -Icons.16x16.PrivateInterface = ClassBrowserIcons\Icons.16x16.PrivateInterface.png -Icons.16x16.PrivateDelegate = ClassBrowserIcons\Icons.16x16.PrivateDelegate.png -Icons.16x16.PrivateMethod = ClassBrowserIcons\Icons.16x16.PrivateMethod.png -Icons.16x16.PrivateProperty = ClassBrowserIcons\Icons.16x16.PrivateProperty.png -Icons.16x16.PrivateIndexer = ClassBrowserIcons\Icons.16x16.PrivateIndexer.png -Icons.16x16.PrivateField = ClassBrowserIcons\Icons.16x16.PrivateField.png -Icons.16x16.PrivateEvent = ClassBrowserIcons\Icons.16x16.PrivateEvent.png - -Icons.16x16.ProtectedClass = ClassBrowserIcons\Icons.16x16.ProtectedClass.png -Icons.16x16.ProtectedStruct = ClassBrowserIcons\Icons.16x16.ProtectedStruct.png -Icons.16x16.ProtectedEnum = ClassBrowserIcons\Icons.16x16.ProtectedEnum.png -Icons.16x16.ProtectedInterface = ClassBrowserIcons\Icons.16x16.ProtectedInterface.png -Icons.16x16.ProtectedDelegate = ClassBrowserIcons\Icons.16x16.ProtectedDelegate.png -Icons.16x16.ProtectedMethod = ClassBrowserIcons\Icons.16x16.ProtectedMethod.png -Icons.16x16.ProtectedProperty = ClassBrowserIcons\Icons.16x16.ProtectedProperty.png -Icons.16x16.ProtectedIndexer = ClassBrowserIcons\Icons.16x16.ProtectedIndexer.png -Icons.16x16.ProtectedField = ClassBrowserIcons\Icons.16x16.ProtectedField.png -Icons.16x16.ProtectedEvent = ClassBrowserIcons\Icons.16x16.ProtectedEvent.png - -Icons.16x16.InternalClass = ClassBrowserIcons\Icons.16x16.InternalClass.png -Icons.16x16.InternalStruct = ClassBrowserIcons\Icons.16x16.InternalStruct.png -Icons.16x16.InternalEnum = ClassBrowserIcons\Icons.16x16.InternalEnum.png -Icons.16x16.InternalInterface = ClassBrowserIcons\Icons.16x16.InternalInterface.png -Icons.16x16.InternalDelegate = ClassBrowserIcons\Icons.16x16.InternalDelegate.png -Icons.16x16.InternalMethod = ClassBrowserIcons\Icons.16x16.InternalMethod.png -Icons.16x16.InternalProperty = ClassBrowserIcons\Icons.16x16.InternalProperty.png -Icons.16x16.InternalIndexer = ClassBrowserIcons\Icons.16x16.InternalIndexer.png -Icons.16x16.InternalField = ClassBrowserIcons\Icons.16x16.InternalField.png -Icons.16x16.InternalEvent = ClassBrowserIcons\Icons.16x16.InternalEvent.png - -#bookmark icons -Bookmarks.ClearAll = Bookmarks\ClearAll.png -Bookmarks.GotoNext = Bookmarks\GotoNext.png -Bookmarks.GotoNextInFile = Bookmarks\GotoNextInFile.png -Bookmarks.GotoNextInFolder = Bookmarks\GotoNextInFolder.png -Bookmarks.GotoPrev = Bookmarks\GotoPrev.png -Bookmarks.GotoPrevInFile = Bookmarks\GotoPrevInFile.png -Bookmarks.GotoPrevInFolder = Bookmarks\GotoPrevInFolder.png -Bookmarks.ToggleMark = Bookmarks\ToggleMark.png -Bookmarks.DeleteMark = Bookmarks\DeleteMark.png -Bookmarks.EnableDisableAll = Bookmarks\EnableDisableAll.png -Bookmarks.EnableDisableMark = Bookmarks\EnableDisableMark.png - -#backend icons -C#.ProjectIcon = backendicons\CSharp\SmallProject.png -C#.FileIcon = backendicons\CSharp\SmallFile.png - -C#.File.EmptyFile = backendicons\CSharp\file\EmptyFile.png -C#.File.Form = backendicons\CSharp\file\Form.png -C#.File.FullFile = backendicons\CSharp\file\FullFile.png -C#.File.NewClass = backendicons\CSharp\file\NewClass.png -C#.File.WebFile = backendicons\CSharp\file\WebFile.png -C#.Project.EmptyProject = backendicons\CSharp\project\EmptyProject.png -C#.Project.DOSProject = backendicons\CSharp\project\DOSProject.png -C#.Project.Form = backendicons\CSharp\project\Form.png -C#.Project.FullProject = backendicons\CSharp\project\FullProject.png -C#.Project.ServiceProject = backendicons\CSharp\project\ServiceProject.png -C#.Project.UserControl = backendicons\CSharp\project\UserControl.png -C#.Project.WebProject = backendicons\CSharp\project\WebProject.png -C#.Project.Library = backendicons\CSharp\project\Library.png -C#.Project.ControlLibrary = backendicons\CSharp\project\ControlLibrary.png - -VBNet.ProjectIcon = backendicons\VBNet\SmallProject.png -VBNet.FileIcon = backendicons\VBNet\SmallFile.png - -VBNet.File.EmptyFile = backendicons\VBNet\file\EmptyFile.png -VBNet.File.Form = backendicons\VBNet\file\Form.png -VBNet.File.FullFile = backendicons\VBNet\file\FullFile.png -VBNet.File.NewClass = backendicons\VBNet\file\NewClass.png -VBNet.File.WebFile = backendicons\VBNet\file\WebFile.png -VBNet.Project.EmptyProject = backendicons\VBNet\project\EmptyProject.png -VBNet.Project.DOSProject = backendicons\VBNet\project\DOSProject.png -VBNet.Project.Form = backendicons\VBNet\project\Form.png -VBNet.Project.FullProject = backendicons\VBNet\project\FullProject.png -VBNet.Project.ServiceProject = backendicons\VBNet\project\ServiceProject.png -VBNet.Project.UserControl = backendicons\VBNet\project\UserControl.png -VBNet.Project.WebProject = backendicons\VBNet\project\WebProject.png -VBNet.Project.Library = backendicons\VBNet\project\Library.png -VBNet.Project.ControlLibrary = backendicons\VBNet\project\ControlLibrary.png - -Java.ProjectIcon = backendicons\Java\SmallProject.png -Java.FileIcon = backendicons\Java\SmallFile.png - -Java.File.EmptyFile = backendicons\Java\file\EmptyFile.png -Java.File.Form = backendicons\Java\file\Form.png -Java.File.FullFile = backendicons\Java\file\FullFile.png -Java.File.NewClass = backendicons\Java\file\NewClass.png -Java.File.WebFile = backendicons\Java\file\WebFile.png -Java.Project.EmptyProject = backendicons\Java\project\EmptyProject.png -Java.Project.DOSProject = backendicons\Java\project\DOSProject.png -Java.Project.Form = backendicons\Java\project\Form.png -Java.Project.FullProject = backendicons\Java\project\FullProject.png -Java.Project.ServiceProject = backendicons\Java\project\ServiceProject.png -Java.Project.UserControl = backendicons\Java\project\UserControl.png -Java.Project.WebProject = backendicons\Java\project\WebProject.png -Java.Project.Library = backendicons\Java\project\Library.png -Java.Project.ControlLibrary = backendicons\Java\project\ControlLibrary.png - - -JScript.ProjectIcon = backendicons\JScript\SmallProject.png -JScript.FileIcon = backendicons\JScript\SmallFile.png - -JScript.File.EmptyFile = backendicons\JScript\file\EmptyFile.png -JScript.File.Form = backendicons\JScript\file\Form.png -JScript.File.FullFile = backendicons\JScript\file\FullFile.png -JScript.File.NewClass = backendicons\JScript\file\NewClass.png -JScript.File.WebFile = backendicons\JScript\file\WebFile.png -JScript.Project.EmptyProject = backendicons\JScript\project\EmptyProject.png -JScript.Project.DOSProject = backendicons\JScript\project\DOSProject.png -JScript.Project.Form = backendicons\JScript\project\Form.png -JScript.Project.FullProject = backendicons\JScript\project\FullProject.png -JScript.Project.ServiceProject = backendicons\JScript\project\ServiceProject.png -JScript.Project.UserControl = backendicons\JScript\project\UserControl.png -JScript.Project.WebProject = backendicons\JScript\project\WebProject.png -JScript.Project.Library = backendicons\JScript\project\Library.png -JScript.Project.ControlLibrary = backendicons\JScript\project\ControlLibrary.png - -C++.ProjectIcon = backendicons\cpp\SmallProject.png -C++.FileIcon = backendicons\cpp\SmallFile.png - -C++.File.EmptyFile = backendicons\cpp\file\EmptyFile.png -C++.File.Form = backendicons\cpp\file\Form.png -C++.File.FullFile = backendicons\cpp\file\FullFile.png -C++.File.NewClass = backendicons\cpp\file\NewClass.png -C++.File.WebFile = backendicons\cpp\file\WebFile.png -C++.Project.EmptyProject = backendicons\cpp\project\EmptyProject.png -C++.Project.DOSProject = backendicons\cpp\project\DOSProject.png -C++.Project.Form = backendicons\cpp\project\Form.png -C++.Project.FullProject = backendicons\cpp\project\FullProject.png -C++.Project.ServiceProject = backendicons\cpp\project\ServiceProject.png -C++.Project.UserControl = backendicons\cpp\project\UserControl.png -C++.Project.WebProject = backendicons\cpp\project\WebProject.png -C++.Project.Library = backendicons\cpp\project\Library.png -C++.Project.ControlLibrary = backendicons\cpp\project\ControlLibrary.png - -Boo.FileIcon = backendicons\boo\Boo.FileIcon.png -Boo.File.EmptyFile = backendicons\boo\Boo.File.EmptyFile.png -Boo.File.Form = backendicons\boo\Boo.File.Form.png -Boo.Project.EmptyProject = backendicons\boo\Boo.Project.EmptyProject.png -Boo.Project.Form = backendicons\boo\Boo.Project.Form.png -Boo.ProjectIcon = backendicons\boo\Boo.ProjectIcon.png - -# misc backend icons -FileIcons.XmlIcon = backendicons\miscFiles\Icons.16x16.XMLFileIcon.png -Icons.16x16.ResourceFileIcon = backendicons\miscFiles\Icons.16x16.ResourceFileIcon.png -Icons.16x16.HTMLIcon = backendicons\miscFiles\Icons.16x16.HTMLIcon.png -Icons.16x16.XMLFileIcon = backendicons\miscFiles\Icons.16x16.XMLFileIcon.png -Icons.16x16.TextFileIcon = backendicons\miscFiles\Icons.16x16.TextFileIcon.png -Icons.16x16.CombineIcon = backendicons\miscFiles\Icons.16x16.CombineIcon.png -Icons.16x16.MiscFiles = backendicons\miscFiles\Icons.16x16.MiscFiles.png -Icons.16x16.SolutionIcon = backendicons\miscFiles\Icons.16x16.SolutionIcon.png - -Icons.32x32.EmptyFileIcon = backendicons\miscFiles\Icons.32x32.EmptyFileIcon.png -Icons.32x32.HTMLFileIcon = backendicons\miscFiles\Icons.32x32.HTMLFileIcon.png -Icons.32x32.XMLFileIcon = backendicons\miscFiles\Icons.32x32.XMLFileIcon.png -Icons.32x32.TextFileIcon = backendicons\miscFiles\Icons.32x32.TextFileIcon.png -Icons.32x32.EmptyProjectIcon = backendicons\miscFiles\Icons.32x32.EmptyProjectIcon.png -Icons.32x32.CombineIcon = backendicons\miscFiles\Icons.32x32.CombineIcon.png -Icons.32x32.ResourceFileIcon = backendicons\miscFiles\Icons.32x32.ResourceFileIcon.png -Icons.32x32.NAntBuildFileIcon = backendicons\miscFiles\Icons.32x32.NAntBuildFileIcon.png - -Icons.16x16.AddInIcon = backendicons\miscFiles\AddIn16.png -Icons.32x32.AddInIcon = backendicons\miscFiles\AddIn32.png - -Icons.16x16.CSSIcon = backendicons\miscFiles\CSS_16.png -Icons.32x32.CSSIcon = backendicons\miscFiles\CSS_32.png -Icons.16x16.DTDIcon = backendicons\miscFiles\DTD_16.png -Icons.32x32.DTDIcon = backendicons\miscFiles\DTD_32.png -Icons.16x16.XSDIcon = backendicons\miscFiles\XSD_16.png -Icons.32x32.XSDIcon = backendicons\miscFiles\XSD_32.png -Icons.16x16.XSLIcon = backendicons\miscFiles\XSL_16.png -Icons.32x32.XSLIcon = backendicons\miscFiles\XSL_32.png -Icons.16x16.ASPFileIcon = backendicons\miscFiles\ASP_16.png -Icons.32x32.ASPFileIcon = backendicons\miscFiles\ASP_32.png - -HtmlHelp2.16x16.DynamicHelp = PadIcons\HtmlHelp2.16x16.DynamicHelp.png -HtmlHelp2.16x16.Favorites = PadIcons\HtmlHelp2.16x16.Favorites.png -HtmlHelp2.16x16.Index = PadIcons\HtmlHelp2.16x16.Index.png -HtmlHelp2.16x16.IndexResults = PadIcons\HtmlHelp2.16x16.IndexResults.png -HtmlHelp2.16x16.Search = PadIcons\HtmlHelp2.16x16.Search.png -HtmlHelp2.16x16.SearchResults = PadIcons\HtmlHelp2.16x16.SearchResults.png -HtmlHelp2.16x16.Toc = PadIcons\HtmlHelp2.16x16.Toc.png - -NAntAddIn.Icons.16x16.BuildFile = NAntIcons\NAntAddIn.Icons.16x16.BuildFile.png -NAntAddIn.Icons.16x16.BuildFileError = NAntIcons\NAntAddIn.Icons.16x16.BuildFileError.png -NAntAddIn.Icons.16x16.BuildTarget = NAntIcons\NAntAddIn.Icons.16x16.BuildTarget.png -NAntAddIn.Icons.16x16.BuildTargetError = NAntIcons\NAntAddIn.Icons.16x16.BuildTargetError.png -NAntAddIn.Icons.16x16.DefaultBuildTarget = NAntIcons\NAntAddIn.Icons.16x16.DefaultBuildTarget.png -NAntAddIn.Icons.16x16.NAntPad = NAntIcons\NAntAddIn.Icons.16x16.NAntPad.png -NAntAddIn.Icons.16x16.NewBuildFile = NAntIcons\NAntAddIn.Icons.16x16.NewBuildFile.png -NAntAddIn.Icons.16x16.RunNAnt = NAntIcons\NAntAddIn.Icons.16x16.RunNAnt.png -NAntAddIn.Icons.16x16.RunNAntClean = NAntIcons\NAntAddIn.Icons.16x16.RunNAntClean.png -NAntAddIn.Icons.16x16.StopNAnt = NAntIcons\NAntAddIn.Icons.16x16.StopNAnt.png - -CodeCoverage.Icons.16x16.Pad = CodeCoverageIcons\CodeCoverage.Icons.16x16.Pad.png -CodeCoverage.Icons.16x16.File = CodeCoverageIcons\CodeCoverage.Icons.16x16.File.png -CodeCoverage.Icons.16x16.Run = CodeCoverageIcons\CodeCoverage.Icons.16x16.Run.png - -#SharpReport icons -Icons.16x16.SharpReport.Ascending = SharpReportIcons\Icons.16x16.SharpReport.Ascending.png -Icons.16x16.SharpReport.Descending = SharpReportIcons\Icons.16x16.SharpReport.Descending.png -Icons.16x16.SharpReport.Function = SharpReportIcons\Icons.16x16.SharpReport.Function.ico -Icons.16.16.SharpReport.Textbox = SharpReportIcons\Icons.16.16.SharpReport.Textbox.ico -Icons.16.16.SharpReport.Line = SharpReportIcons\Icons.16.16.SharpReport.Line.ico - - - - +Icons.16x16.SharpQuery.Remove = SharpQueryIcons\Icons.16x16.SharpQuery.Remove.png + +#classbrowser icons +Icons.16x16.NameSpace = ClassBrowserIcons\Icons.16x16.NameSpace.png +Icons.16x16.Literal = ClassBrowserIcons\Icons.16x16.Literal.png +Icons.16x16.Reference = ClassBrowserIcons\Icons.16x16.Reference.png + + +Icons.16x16.Class = ClassBrowserIcons\Icons.16x16.Class.png +Icons.16x16.Struct = ClassBrowserIcons\Icons.16x16.Struct.png +Icons.16x16.Enum = ClassBrowserIcons\Icons.16x16.Enum.png +Icons.16x16.Interface = ClassBrowserIcons\Icons.16x16.Interface.png +Icons.16x16.Delegate = ClassBrowserIcons\Icons.16x16.Delegate.png +Icons.16x16.Method = ClassBrowserIcons\Icons.16x16.Method.png +Icons.16x16.Property = ClassBrowserIcons\Icons.16x16.Property.png +Icons.16x16.Indexer = ClassBrowserIcons\Icons.16x16.Indexer.png +Icons.16x16.Field = ClassBrowserIcons\Icons.16x16.Field.png +Icons.16x16.Event = ClassBrowserIcons\Icons.16x16.Event.png + +Icons.16x16.Local = ClassBrowserIcons\Icons.16x16.Local.png +Icons.16x16.Parameter = ClassBrowserIcons\Icons.16x16.Parameter.png + +Icons.16x16.PrivateClass = ClassBrowserIcons\Icons.16x16.PrivateClass.png +Icons.16x16.PrivateStruct = ClassBrowserIcons\Icons.16x16.PrivateStruct.png +Icons.16x16.PrivateEnum = ClassBrowserIcons\Icons.16x16.PrivateEnum.png +Icons.16x16.PrivateInterface = ClassBrowserIcons\Icons.16x16.PrivateInterface.png +Icons.16x16.PrivateDelegate = ClassBrowserIcons\Icons.16x16.PrivateDelegate.png +Icons.16x16.PrivateMethod = ClassBrowserIcons\Icons.16x16.PrivateMethod.png +Icons.16x16.PrivateProperty = ClassBrowserIcons\Icons.16x16.PrivateProperty.png +Icons.16x16.PrivateIndexer = ClassBrowserIcons\Icons.16x16.PrivateIndexer.png +Icons.16x16.PrivateField = ClassBrowserIcons\Icons.16x16.PrivateField.png +Icons.16x16.PrivateEvent = ClassBrowserIcons\Icons.16x16.PrivateEvent.png + +Icons.16x16.ProtectedClass = ClassBrowserIcons\Icons.16x16.ProtectedClass.png +Icons.16x16.ProtectedStruct = ClassBrowserIcons\Icons.16x16.ProtectedStruct.png +Icons.16x16.ProtectedEnum = ClassBrowserIcons\Icons.16x16.ProtectedEnum.png +Icons.16x16.ProtectedInterface = ClassBrowserIcons\Icons.16x16.ProtectedInterface.png +Icons.16x16.ProtectedDelegate = ClassBrowserIcons\Icons.16x16.ProtectedDelegate.png +Icons.16x16.ProtectedMethod = ClassBrowserIcons\Icons.16x16.ProtectedMethod.png +Icons.16x16.ProtectedProperty = ClassBrowserIcons\Icons.16x16.ProtectedProperty.png +Icons.16x16.ProtectedIndexer = ClassBrowserIcons\Icons.16x16.ProtectedIndexer.png +Icons.16x16.ProtectedField = ClassBrowserIcons\Icons.16x16.ProtectedField.png +Icons.16x16.ProtectedEvent = ClassBrowserIcons\Icons.16x16.ProtectedEvent.png + +Icons.16x16.InternalClass = ClassBrowserIcons\Icons.16x16.InternalClass.png +Icons.16x16.InternalStruct = ClassBrowserIcons\Icons.16x16.InternalStruct.png +Icons.16x16.InternalEnum = ClassBrowserIcons\Icons.16x16.InternalEnum.png +Icons.16x16.InternalInterface = ClassBrowserIcons\Icons.16x16.InternalInterface.png +Icons.16x16.InternalDelegate = ClassBrowserIcons\Icons.16x16.InternalDelegate.png +Icons.16x16.InternalMethod = ClassBrowserIcons\Icons.16x16.InternalMethod.png +Icons.16x16.InternalProperty = ClassBrowserIcons\Icons.16x16.InternalProperty.png +Icons.16x16.InternalIndexer = ClassBrowserIcons\Icons.16x16.InternalIndexer.png +Icons.16x16.InternalField = ClassBrowserIcons\Icons.16x16.InternalField.png +Icons.16x16.InternalEvent = ClassBrowserIcons\Icons.16x16.InternalEvent.png + +#bookmark icons +Bookmarks.ClearAll = Bookmarks\ClearAll.png +Bookmarks.GotoNext = Bookmarks\GotoNext.png +Bookmarks.GotoNextInFile = Bookmarks\GotoNextInFile.png +Bookmarks.GotoNextInFolder = Bookmarks\GotoNextInFolder.png +Bookmarks.GotoPrev = Bookmarks\GotoPrev.png +Bookmarks.GotoPrevInFile = Bookmarks\GotoPrevInFile.png +Bookmarks.GotoPrevInFolder = Bookmarks\GotoPrevInFolder.png +Bookmarks.ToggleMark = Bookmarks\ToggleMark.png +Bookmarks.DeleteMark = Bookmarks\DeleteMark.png +Bookmarks.EnableDisableAll = Bookmarks\EnableDisableAll.png +Bookmarks.EnableDisableMark = Bookmarks\EnableDisableMark.png + +#backend icons +C#.ProjectIcon = backendicons\CSharp\SmallProject.png +C#.FileIcon = backendicons\CSharp\SmallFile.png + +C#.File.EmptyFile = backendicons\CSharp\file\EmptyFile.png +C#.File.Form = backendicons\CSharp\file\Form.png +C#.File.FullFile = backendicons\CSharp\file\FullFile.png +C#.File.NewClass = backendicons\CSharp\file\NewClass.png +C#.File.WebFile = backendicons\CSharp\file\WebFile.png +C#.Project.EmptyProject = backendicons\CSharp\project\EmptyProject.png +C#.Project.DOSProject = backendicons\CSharp\project\DOSProject.png +C#.Project.Form = backendicons\CSharp\project\Form.png +C#.Project.FullProject = backendicons\CSharp\project\FullProject.png +C#.Project.ServiceProject = backendicons\CSharp\project\ServiceProject.png +C#.Project.UserControl = backendicons\CSharp\project\UserControl.png +C#.Project.WebProject = backendicons\CSharp\project\WebProject.png +C#.Project.Library = backendicons\CSharp\project\Library.png +C#.Project.ControlLibrary = backendicons\CSharp\project\ControlLibrary.png + +VBNet.ProjectIcon = backendicons\VBNet\SmallProject.png +VBNet.FileIcon = backendicons\VBNet\SmallFile.png + +VBNet.File.EmptyFile = backendicons\VBNet\file\EmptyFile.png +VBNet.File.Form = backendicons\VBNet\file\Form.png +VBNet.File.FullFile = backendicons\VBNet\file\FullFile.png +VBNet.File.NewClass = backendicons\VBNet\file\NewClass.png +VBNet.File.WebFile = backendicons\VBNet\file\WebFile.png +VBNet.Project.EmptyProject = backendicons\VBNet\project\EmptyProject.png +VBNet.Project.DOSProject = backendicons\VBNet\project\DOSProject.png +VBNet.Project.Form = backendicons\VBNet\project\Form.png +VBNet.Project.FullProject = backendicons\VBNet\project\FullProject.png +VBNet.Project.ServiceProject = backendicons\VBNet\project\ServiceProject.png +VBNet.Project.UserControl = backendicons\VBNet\project\UserControl.png +VBNet.Project.WebProject = backendicons\VBNet\project\WebProject.png +VBNet.Project.Library = backendicons\VBNet\project\Library.png +VBNet.Project.ControlLibrary = backendicons\VBNet\project\ControlLibrary.png + +Java.ProjectIcon = backendicons\Java\SmallProject.png +Java.FileIcon = backendicons\Java\SmallFile.png + +Java.File.EmptyFile = backendicons\Java\file\EmptyFile.png +Java.File.Form = backendicons\Java\file\Form.png +Java.File.FullFile = backendicons\Java\file\FullFile.png +Java.File.NewClass = backendicons\Java\file\NewClass.png +Java.File.WebFile = backendicons\Java\file\WebFile.png +Java.Project.EmptyProject = backendicons\Java\project\EmptyProject.png +Java.Project.DOSProject = backendicons\Java\project\DOSProject.png +Java.Project.Form = backendicons\Java\project\Form.png +Java.Project.FullProject = backendicons\Java\project\FullProject.png +Java.Project.ServiceProject = backendicons\Java\project\ServiceProject.png +Java.Project.UserControl = backendicons\Java\project\UserControl.png +Java.Project.WebProject = backendicons\Java\project\WebProject.png +Java.Project.Library = backendicons\Java\project\Library.png +Java.Project.ControlLibrary = backendicons\Java\project\ControlLibrary.png + + +JScript.ProjectIcon = backendicons\JScript\SmallProject.png +JScript.FileIcon = backendicons\JScript\SmallFile.png + +JScript.File.EmptyFile = backendicons\JScript\file\EmptyFile.png +JScript.File.Form = backendicons\JScript\file\Form.png +JScript.File.FullFile = backendicons\JScript\file\FullFile.png +JScript.File.NewClass = backendicons\JScript\file\NewClass.png +JScript.File.WebFile = backendicons\JScript\file\WebFile.png +JScript.Project.EmptyProject = backendicons\JScript\project\EmptyProject.png +JScript.Project.DOSProject = backendicons\JScript\project\DOSProject.png +JScript.Project.Form = backendicons\JScript\project\Form.png +JScript.Project.FullProject = backendicons\JScript\project\FullProject.png +JScript.Project.ServiceProject = backendicons\JScript\project\ServiceProject.png +JScript.Project.UserControl = backendicons\JScript\project\UserControl.png +JScript.Project.WebProject = backendicons\JScript\project\WebProject.png +JScript.Project.Library = backendicons\JScript\project\Library.png +JScript.Project.ControlLibrary = backendicons\JScript\project\ControlLibrary.png + +C++.ProjectIcon = backendicons\cpp\SmallProject.png +C++.FileIcon = backendicons\cpp\SmallFile.png + +C++.File.EmptyFile = backendicons\cpp\file\EmptyFile.png +C++.File.Form = backendicons\cpp\file\Form.png +C++.File.FullFile = backendicons\cpp\file\FullFile.png +C++.File.NewClass = backendicons\cpp\file\NewClass.png +C++.File.WebFile = backendicons\cpp\file\WebFile.png +C++.Project.EmptyProject = backendicons\cpp\project\EmptyProject.png +C++.Project.DOSProject = backendicons\cpp\project\DOSProject.png +C++.Project.Form = backendicons\cpp\project\Form.png +C++.Project.FullProject = backendicons\cpp\project\FullProject.png +C++.Project.ServiceProject = backendicons\cpp\project\ServiceProject.png +C++.Project.UserControl = backendicons\cpp\project\UserControl.png +C++.Project.WebProject = backendicons\cpp\project\WebProject.png +C++.Project.Library = backendicons\cpp\project\Library.png +C++.Project.ControlLibrary = backendicons\cpp\project\ControlLibrary.png + +Boo.FileIcon = backendicons\boo\Boo.FileIcon.png +Boo.File.EmptyFile = backendicons\boo\Boo.File.EmptyFile.png +Boo.File.Form = backendicons\boo\Boo.File.Form.png +Boo.Project.EmptyProject = backendicons\boo\Boo.Project.EmptyProject.png +Boo.Project.Form = backendicons\boo\Boo.Project.Form.png +Boo.ProjectIcon = backendicons\boo\Boo.ProjectIcon.png + +# misc backend icons +FileIcons.XmlIcon = backendicons\miscFiles\Icons.16x16.XMLFileIcon.png +Icons.16x16.ResourceFileIcon = backendicons\miscFiles\Icons.16x16.ResourceFileIcon.png +Icons.16x16.HTMLIcon = backendicons\miscFiles\Icons.16x16.HTMLIcon.png +Icons.16x16.XMLFileIcon = backendicons\miscFiles\Icons.16x16.XMLFileIcon.png +Icons.16x16.TextFileIcon = backendicons\miscFiles\Icons.16x16.TextFileIcon.png +Icons.16x16.CombineIcon = backendicons\miscFiles\Icons.16x16.CombineIcon.png +Icons.16x16.MiscFiles = backendicons\miscFiles\Icons.16x16.MiscFiles.png +Icons.16x16.SolutionIcon = backendicons\miscFiles\Icons.16x16.SolutionIcon.png + +Icons.32x32.EmptyFileIcon = backendicons\miscFiles\Icons.32x32.EmptyFileIcon.png +Icons.32x32.HTMLFileIcon = backendicons\miscFiles\Icons.32x32.HTMLFileIcon.png +Icons.32x32.XMLFileIcon = backendicons\miscFiles\Icons.32x32.XMLFileIcon.png +Icons.32x32.TextFileIcon = backendicons\miscFiles\Icons.32x32.TextFileIcon.png +Icons.32x32.EmptyProjectIcon = backendicons\miscFiles\Icons.32x32.EmptyProjectIcon.png +Icons.32x32.CombineIcon = backendicons\miscFiles\Icons.32x32.CombineIcon.png +Icons.32x32.ResourceFileIcon = backendicons\miscFiles\Icons.32x32.ResourceFileIcon.png +Icons.32x32.NAntBuildFileIcon = backendicons\miscFiles\Icons.32x32.NAntBuildFileIcon.png + +Icons.16x16.AddInIcon = backendicons\miscFiles\AddIn16.png +Icons.32x32.AddInIcon = backendicons\miscFiles\AddIn32.png + +Icons.16x16.CSSIcon = backendicons\miscFiles\CSS_16.png +Icons.32x32.CSSIcon = backendicons\miscFiles\CSS_32.png +Icons.16x16.DTDIcon = backendicons\miscFiles\DTD_16.png +Icons.32x32.DTDIcon = backendicons\miscFiles\DTD_32.png +Icons.16x16.XSDIcon = backendicons\miscFiles\XSD_16.png +Icons.32x32.XSDIcon = backendicons\miscFiles\XSD_32.png +Icons.16x16.XSLIcon = backendicons\miscFiles\XSL_16.png +Icons.32x32.XSLIcon = backendicons\miscFiles\XSL_32.png +Icons.16x16.ASPFileIcon = backendicons\miscFiles\ASP_16.png +Icons.32x32.ASPFileIcon = backendicons\miscFiles\ASP_32.png + +HtmlHelp2.16x16.DynamicHelp = PadIcons\HtmlHelp2.16x16.DynamicHelp.png +HtmlHelp2.16x16.Favorites = PadIcons\HtmlHelp2.16x16.Favorites.png +HtmlHelp2.16x16.Index = PadIcons\HtmlHelp2.16x16.Index.png +HtmlHelp2.16x16.IndexResults = PadIcons\HtmlHelp2.16x16.IndexResults.png +HtmlHelp2.16x16.Search = PadIcons\HtmlHelp2.16x16.Search.png +HtmlHelp2.16x16.SearchResults = PadIcons\HtmlHelp2.16x16.SearchResults.png +HtmlHelp2.16x16.Toc = PadIcons\HtmlHelp2.16x16.Toc.png + +NAntAddIn.Icons.16x16.BuildFile = NAntIcons\NAntAddIn.Icons.16x16.BuildFile.png +NAntAddIn.Icons.16x16.BuildFileError = NAntIcons\NAntAddIn.Icons.16x16.BuildFileError.png +NAntAddIn.Icons.16x16.BuildTarget = NAntIcons\NAntAddIn.Icons.16x16.BuildTarget.png +NAntAddIn.Icons.16x16.BuildTargetError = NAntIcons\NAntAddIn.Icons.16x16.BuildTargetError.png +NAntAddIn.Icons.16x16.DefaultBuildTarget = NAntIcons\NAntAddIn.Icons.16x16.DefaultBuildTarget.png +NAntAddIn.Icons.16x16.NAntPad = NAntIcons\NAntAddIn.Icons.16x16.NAntPad.png +NAntAddIn.Icons.16x16.NewBuildFile = NAntIcons\NAntAddIn.Icons.16x16.NewBuildFile.png +NAntAddIn.Icons.16x16.RunNAnt = NAntIcons\NAntAddIn.Icons.16x16.RunNAnt.png +NAntAddIn.Icons.16x16.RunNAntClean = NAntIcons\NAntAddIn.Icons.16x16.RunNAntClean.png +NAntAddIn.Icons.16x16.StopNAnt = NAntIcons\NAntAddIn.Icons.16x16.StopNAnt.png + +CodeCoverage.Icons.16x16.Pad = CodeCoverageIcons\CodeCoverage.Icons.16x16.Pad.png +CodeCoverage.Icons.16x16.File = CodeCoverageIcons\CodeCoverage.Icons.16x16.File.png +CodeCoverage.Icons.16x16.Run = CodeCoverageIcons\CodeCoverage.Icons.16x16.Run.png + +#SharpReport icons +Icons.16x16.SharpReport.Ascending = SharpReportIcons\Icons.16x16.SharpReport.Ascending.png +Icons.16x16.SharpReport.Descending = SharpReportIcons\Icons.16x16.SharpReport.Descending.png +Icons.16x16.SharpReport.Function = SharpReportIcons\Icons.16x16.SharpReport.Function.ico +Icons.16.16.SharpReport.Textbox = SharpReportIcons\Icons.16.16.SharpReport.Textbox.ico +Icons.16.16.SharpReport.Line = SharpReportIcons\Icons.16.16.SharpReport.Line.ico + +#ViewNavigation icons +Icons.16x16.NavigateBack = NavigationIcons\Icons.16x16.NavigateBack.png +Icons.16x16.NavigateBack.disabled = NavigationIcons\Icons.16x16.NavigateBack.disabled.png +Icons.16x16.NavigateForward = NavigationIcons\Icons.16x16.NavigateForward.png + + diff --git a/data/resources/image/BitmapResources/NavigationIcons/Icons.16x16.NavigateBack.disabled.png b/data/resources/image/BitmapResources/NavigationIcons/Icons.16x16.NavigateBack.disabled.png new file mode 100644 index 0000000000..8cca0426c8 Binary files /dev/null and b/data/resources/image/BitmapResources/NavigationIcons/Icons.16x16.NavigateBack.disabled.png differ diff --git a/data/resources/image/BitmapResources/NavigationIcons/Icons.16x16.NavigateBack.png b/data/resources/image/BitmapResources/NavigationIcons/Icons.16x16.NavigateBack.png new file mode 100644 index 0000000000..e787075484 Binary files /dev/null and b/data/resources/image/BitmapResources/NavigationIcons/Icons.16x16.NavigateBack.png differ diff --git a/data/resources/image/BitmapResources/NavigationIcons/Icons.16x16.NavigateForward.png b/data/resources/image/BitmapResources/NavigationIcons/Icons.16x16.NavigateForward.png new file mode 100644 index 0000000000..11e8de1522 Binary files /dev/null and b/data/resources/image/BitmapResources/NavigationIcons/Icons.16x16.NavigateForward.png differ diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj b/src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj index bb0fb67899..054cc170ab 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj @@ -128,4 +128,4 @@ - + \ No newline at end of file diff --git a/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs b/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs index 6df6a740ae..df56f773f9 100644 --- a/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs +++ b/src/AddIns/DisplayBindings/XmlEditor/Project/Src/XmlView.cs @@ -455,6 +455,18 @@ namespace ICSharpCode.XmlEditor { xmlEditor.ActiveTextAreaControl.JumpTo(line, column); } + + public int Line { + get { + return xmlEditor.ActiveTextAreaControl.Caret.Line; + } + } + + public int Column { + get { + return xmlEditor.ActiveTextAreaControl.Caret.Column; + } + } #endregion diff --git a/src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.csproj b/src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.csproj index 233edbaaf0..556c73cf18 100644 --- a/src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.csproj +++ b/src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditor.csproj @@ -126,4 +126,4 @@ - + \ No newline at end of file diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.csproj b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.csproj index ad5c1036a0..f4c5ce3e4c 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.csproj +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Debugger.AddIn.csproj @@ -104,4 +104,4 @@ - + \ No newline at end of file diff --git a/src/AddIns/Misc/SharpReport/SharpReport/SharpReport.csproj b/src/AddIns/Misc/SharpReport/SharpReport/SharpReport.csproj index 42352a1de8..678de30687 100644 --- a/src/AddIns/Misc/SharpReport/SharpReport/SharpReport.csproj +++ b/src/AddIns/Misc/SharpReport/SharpReport/SharpReport.csproj @@ -126,4 +126,4 @@ - + \ No newline at end of file diff --git a/src/AddIns/Misc/SharpReport/SharpReportCore/SharpReportCore.csproj b/src/AddIns/Misc/SharpReport/SharpReportCore/SharpReportCore.csproj index a7825b66b9..e23e486911 100644 --- a/src/AddIns/Misc/SharpReport/SharpReportCore/SharpReportCore.csproj +++ b/src/AddIns/Misc/SharpReport/SharpReportCore/SharpReportCore.csproj @@ -161,4 +161,4 @@ - + \ No newline at end of file diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj b/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj index c0f95f0a8d..b5155e8efb 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj +++ b/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj @@ -23,43 +23,28 @@ bin\Debug\ 101187584 false - - TRACE;DEBUG;FRAMEWORK_VER_2x - - true 4096 false - - - false - false + False + False false false 4 -Microsoft.Design#CA1012;-Microsoft.Design#CA2210;-Microsoft.Design#CA1040;-Microsoft.Design#CA1005;-Microsoft.Design#CA1020;-Microsoft.Design#CA1021;-Microsoft.Design#CA1010;-Microsoft.Design#CA1011;-Microsoft.Design#CA1009;-Microsoft.Design#CA1050;-Microsoft.Design#CA1026;-Microsoft.Design#CA1019;-Microsoft.Design#CA1031;-Microsoft.Design#CA1047;-Microsoft.Design#CA1000;-Microsoft.Design#CA1048;-Microsoft.Design#CA1051;-Microsoft.Design#CA1002;-Microsoft.Design#CA1061;-Microsoft.Design#CA1006;-Microsoft.Design#CA1046;-Microsoft.Design#CA1045;-Microsoft.Design#CA1038;-Microsoft.Design#CA1008;-Microsoft.Design#CA1028;-Microsoft.Design#CA1004;-Microsoft.Design#CA1035;-Microsoft.Design#CA1063;-Microsoft.Design#CA1032;-Microsoft.Design#CA1023;-Microsoft.Design#CA1033;-Microsoft.Design#CA1039;-Microsoft.Design#CA1016;-Microsoft.Design#CA1014;-Microsoft.Design#CA1017;-Microsoft.Design#CA1018;-Microsoft.Design#CA1027;-Microsoft.Design#CA1059;-Microsoft.Design#CA1060;-Microsoft.Design#CA1034;-Microsoft.Design#CA1013;-Microsoft.Design#CA1036;-Microsoft.Design#CA1044;-Microsoft.Design#CA1041;-Microsoft.Design#CA1025;-Microsoft.Design#CA1052;-Microsoft.Design#CA1053;-Microsoft.Design#CA1057;-Microsoft.Design#CA1058;-Microsoft.Design#CA1001;-Microsoft.Design#CA1049;-Microsoft.Design#CA1054;-Microsoft.Design#CA1056;-Microsoft.Design#CA1055;-Microsoft.Design#CA1030;-Microsoft.Design#CA1003;-Microsoft.Design#CA1007;-Microsoft.Design#CA1043;-Microsoft.Design#CA1024;-Microsoft.Design#CA1062;-Microsoft.Globalization#CA1301;-Microsoft.Globalization#CA1302;-Microsoft.Globalization#CA1303;-Microsoft.Globalization#CA1306;-Microsoft.Globalization#CA1304;-Microsoft.Globalization#CA1305;-Microsoft.Globalization#CA1300;-Microsoft.Maintainability#CA1502;-Microsoft.Maintainability#CA1501;-Microsoft.Maintainability#CA1500;-Microsoft.Naming#CA1718;-Microsoft.Naming#CA1720;-Microsoft.Naming#CA1700;-Microsoft.Naming#CA1712;-Microsoft.Naming#CA1713;-Microsoft.Naming#CA1709;-Microsoft.Naming#CA1708;-Microsoft.Naming#CA1715;-Microsoft.Naming#CA1710;-Microsoft.Naming#CA1707;-Microsoft.Naming#CA1722;-Microsoft.Naming#CA1711;-Microsoft.Naming#CA1716;-Microsoft.Naming#CA1705;-Microsoft.Naming#CA1725;-Microsoft.Naming#CA1719;-Microsoft.Naming#CA1721;-Microsoft.Naming#CA1706;-Microsoft.Naming#CA1724;-Microsoft.Naming#CA1726;-Microsoft.Performance#CA1809;-Microsoft.Performance#CA1811;-Microsoft.Performance#CA1812;-Microsoft.Performance#CA1807;-Microsoft.Performance#CA1813;-Microsoft.Performance#CA1823;-Microsoft.Performance#CA1816;-Microsoft.Performance#CA1817;-Microsoft.Performance#CA1800;-Microsoft.Performance#CA1818;-Microsoft.Performance#CA1805;-Microsoft.Performance#CA1810;-Microsoft.Performance#CA1822;-Microsoft.Performance#CA1815;-Microsoft.Performance#CA1814;-Microsoft.Performance#CA1819;-Microsoft.Performance#CA1804;-Microsoft.Performance#CA1820;-Microsoft.Performance#CA1802;-Microsoft.Security#CA2116;-Microsoft.Security#CA2117;-Microsoft.Security#CA2105;-Microsoft.Security#CA2115;-Microsoft.Security#CA2104;-Microsoft.Security#CA2122;-Microsoft.Security#CA2114;-Microsoft.Security#CA2123;-Microsoft.Security#CA2111;-Microsoft.Security#CA2108;-Microsoft.Security#CA2107;-Microsoft.Security#CA2103;-Microsoft.Security#CA2100;-Microsoft.Security#CA2118;-Microsoft.Security#CA2109;-Microsoft.Security#CA2119;-Microsoft.Security#CA2106;-Microsoft.Security#CA2112;-Microsoft.Security#CA2110;-Microsoft.Security#CA2120;-Microsoft.Security#CA2101;-Microsoft.Security#CA2121;-Microsoft.Security#CA2126;-Microsoft.Security#CA2124;-Microsoft.Usage#CA2209;-Microsoft.Usage#CA2236;-Microsoft.Usage#CA2227;-Microsoft.Usage#CA2213;-Microsoft.Usage#CA2216;-Microsoft.Usage#CA2215;-Microsoft.Usage#CA2214;-Microsoft.Usage#CA2222;-Microsoft.Usage#CA2202;-Microsoft.Usage#CA1806;-Microsoft.Usage#CA2217;-Microsoft.Usage#CA2212;-Microsoft.Usage#CA2219;-Microsoft.Usage#CA2201;-Microsoft.Usage#CA2228;-Microsoft.Usage#CA2221;-Microsoft.Usage#CA2220;-Microsoft.Usage#CA2240;-Microsoft.Usage#CA2229;-Microsoft.Usage#CA2238;-Microsoft.Usage#CA2207;-Microsoft.Usage#CA2208;-Microsoft.Usage#CA2235;-Microsoft.Usage#CA2237;-Microsoft.Usage#CA2232;-Microsoft.Usage#CA2223;-Microsoft.Usage#CA2211;-Microsoft.Usage#CA2233;-Microsoft.Usage#CA2225;-Microsoft.Usage#CA2226;-Microsoft.Usage#CA2231;-Microsoft.Usage#CA2224;-Microsoft.Usage#CA2218;-Microsoft.Usage#CA2234;-Microsoft.Usage#CA2241;-Microsoft.Usage#CA2239;-Microsoft.Usage#CA2200;-Microsoft.Usage#CA1801;-Microsoft.Usage#CA2205;-Microsoft.Usage#CA2230 Full - False False - False - false bin\Release\ false 101187584 false - - TRACE;FRAMEWORK_VER_2x - - false 4096 false - - true false false @@ -309,6 +294,8 @@ + + @@ -339,15 +326,7 @@ - - - - - - - - - + \ No newline at end of file diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj.user b/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj.user index 571c847e7e..bea78fbdc4 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj.user +++ b/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj.user @@ -3,12 +3,6 @@ 8.0.50215 Debug AnyCPU - - - - - - 0 ProjectFiles 0 @@ -19,19 +13,7 @@ false false false - - Project - - - - - - - - - - true @@ -40,19 +22,7 @@ false false false - - Project - - - - - - - - - - false \ No newline at end of file diff --git a/src/Libraries/ICSharpCode.TextEditor/Project/ICSharpCode.TextEditor.csproj b/src/Libraries/ICSharpCode.TextEditor/Project/ICSharpCode.TextEditor.csproj index 56d09e82c7..bc9d5294b5 100644 --- a/src/Libraries/ICSharpCode.TextEditor/Project/ICSharpCode.TextEditor.csproj +++ b/src/Libraries/ICSharpCode.TextEditor/Project/ICSharpCode.TextEditor.csproj @@ -205,4 +205,4 @@ - + \ No newline at end of file diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index c5322fdea8..1169776c7e 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -776,7 +776,13 @@ + + + + + + @@ -803,6 +809,7 @@ + - + \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs b/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs index 05dd708b51..1c33c34e67 100644 --- a/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs +++ b/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs @@ -9,6 +9,7 @@ using System; using System.Diagnostics; using System.IO; using System.Collections; +using System.Collections.Generic; using System.Windows.Forms; using System.Text; @@ -20,6 +21,127 @@ using ICSharpCode.SharpDevelop.Internal.ExternalTool; namespace ICSharpCode.SharpDevelop.Commands { + public class NavigationHistoryMenuBuilder : ISubmenuBuilder + { + // TODO: refactor BuildSubmenu to add a choice between flat and perfile, eventually per class/method sorting of the list + + ToolStripItem[] BuildMenuFlat(List points, int additionalItems) + { + ToolStripItem[] items = new ToolStripItem[points.Count+additionalItems]; + MenuCommand cmd = null; + INavigationPoint p = null; + + int n = points.Count-1; // the last point + int i = 0; + while (i points, int additionalItems) + { + Dictionary> files = + new Dictionary>(); + List fileNames = new List(); + + foreach (INavigationPoint p in points) { + if (p.FileName==null) { + throw new ApplicationException("should not get here!"); + } + if (!fileNames.Contains(p.FileName)) { + fileNames.Add(p.FileName); + files.Add(p.FileName, new List()); + } + if (!files[p.FileName].Contains(p)) { + files[p.FileName].Add(p); + } + } + + fileNames.Sort(); + + ToolStripItem[] items = + new ToolStripItem[fileNames.Count + additionalItems]; + ToolStripMenuItem containerItem = null; + MenuCommand cmd = null; + int i = 0; + + foreach (string fname in fileNames) { + + // create a menu bucket + containerItem = new ToolStripMenuItem(); + containerItem.Text = System.IO.Path.GetFileName(fname); + containerItem.ToolTipText = fname; + + // sort and populate the bucket's contents +// files[fname].Sort(); + foreach(INavigationPoint p in files[fname]) { + cmd = new MenuCommand(p.Description, new EventHandler(NavigateTo)); + cmd.Tag = p; + containerItem.DropDownItems.Add(cmd); + } + + // if there's only one nested item, add it + // to the result directly, ignoring the bucket +// if (containerItem.DropDownItems.Count==1) { +// items[i] = containerItem.DropDownItems[0]; +// items[i].Text = ((INavigationPoint)items[i].Tag).FullDescription; +// i++; +// } else { +// // add the bucket to the result +// items[i++] = containerItem; +// } + // add the bucket to the result + items[i++] = containerItem; + } + + return items; + } + + public ToolStripItem[] BuildSubmenu(Codon codon, object owner) + { + MenuCommand cmd = null; + if (NavigationService.CanNavigateBack || NavigationService.CanNavigateForwards) { + List points = NavigationService.GetListOfPoints(); + + //ToolStripItem[] items = BuildMenuFlat(points, numberOfAdditionalItems); + ToolStripItem[] items = BuildMenuByFile(points, numberOfAdditionalItems); + + int i = items.Length - numberOfAdditionalItems; + + // additional item 1 + items[i++] = new ToolStripSeparator(); + + // additional item 2 + cmd = new MenuCommand("Clear Navigation History", new EventHandler(ClearHistory)); + items[i++] = cmd; + + return items; + } + + // default is to disable the dropdown feature... + return null; + } + + int numberOfAdditionalItems = 2; + + public void NavigateTo(object sender, EventArgs e) + { + MenuCommand item = (MenuCommand)sender; + NavigationService.Go((INavigationPoint)item.Tag); + } + + public void ClearHistory(object sender, EventArgs e) + { + NavigationService.ClearHistory(); + } + } + public class RecentFilesMenuBuilder : ISubmenuBuilder { public ToolStripItem[] BuildSubmenu(Codon codon, object owner) diff --git a/src/Main/Base/Project/Src/Commands/NavigationCommands.cs b/src/Main/Base/Project/Src/Commands/NavigationCommands.cs new file mode 100644 index 0000000000..3603ab36d8 --- /dev/null +++ b/src/Main/Base/Project/Src/Commands/NavigationCommands.cs @@ -0,0 +1,83 @@ +/* + * Created by SharpDevelop. + * User: David + * Date: 29/06/2006 + * Time: 12:36 PM + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ + +using System; +using System.Windows.Forms; +using ICSharpCode.Core; + +namespace ICSharpCode.SharpDevelop.Commands +{ + public class NavigateBack : AbstractMenuCommand + { + ToolBarSplitButton splitButton = null; + + public override bool IsEnabled { + get { + UpdateEnabledState(); + return NavigationService.CanNavigateBack; + } + } + + public override void Run() + { + //LoggingService.Debug("Jumping back..."); + NavigationService.Go(-1); + } + + protected override void OnOwnerChanged(EventArgs e) + { + base.OnOwnerChanged(e); + + // grab the owner so we can manipulate the buttons later + splitButton = (ToolBarSplitButton)Owner; + + // wire up our event handlers + NavigationService.HistoryChanged += NavHistoryChanged; + + // trigger state change to match initial state + NavHistoryChanged(this, EventArgs.Empty); + } + + public void NavHistoryChanged(object sender, EventArgs e) + { + INavigationPoint p = NavigationService.CurrentPosition; +// LoggingService.DebugFormatted("NavHistoryChanged ({0}): {1}", +// NavigationService.Count, +// (p==null?"null":p.ToString())); + + UpdateEnabledState(); + } + + public void UpdateEnabledState() + { + splitButton.ButtonEnabled = NavigationService.CanNavigateBack; + splitButton.DropDownEnabled = NavigationService.Count>1; + } + } + + public class NavigateForward : AbstractMenuCommand + { + public override bool IsEnabled { + get { + return NavigationService.CanNavigateForwards; + } + } + + public override void Run() + { + //LoggingService.Debug("Jumping forwards..."); + NavigationService.Go(+1); + } + + protected override void OnOwnerChanged(EventArgs e) + { + base.OnOwnerChanged(e); + } + } +} diff --git a/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs b/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs index 8cc41cf19e..94a9a10b6b 100644 --- a/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs +++ b/src/Main/Base/Project/Src/Gui/AbstractViewContent.cs @@ -10,6 +10,8 @@ using System.Collections.Generic; using System.IO; using System.Windows.Forms; +using ICSharpCode.Core; + namespace ICSharpCode.SharpDevelop.Gui { public abstract class AbstractViewContent : AbstractBaseViewContent, IViewContent @@ -47,7 +49,7 @@ namespace ICSharpCode.SharpDevelop.Gui FileName = fileName; IsDirty = false; } - + public event EventHandler FileNameChanged; protected virtual void OnFileNameChanged(EventArgs e) @@ -107,7 +109,7 @@ namespace ICSharpCode.SharpDevelop.Gui isViewOnly = value; } } - + /// /// Gets the list of secondary view contents attached to this view content. /// @@ -134,6 +136,11 @@ namespace ICSharpCode.SharpDevelop.Gui throw new System.NotImplementedException(); } + public virtual INavigationPoint BuildNavPoint() + { + return new DefaultNavigationPoint(this.FileName); + } + public event EventHandler TitleNameChanged; public event EventHandler Saving; public event SaveEventHandler Saved; @@ -200,8 +207,8 @@ namespace ICSharpCode.SharpDevelop.Gui if (DirtyChanged != null) { DirtyChanged(this, e); } - } + } + #endregion #endregion - #endregion } } diff --git a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs index f16b46e156..6ee75368cc 100644 --- a/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs +++ b/src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs @@ -102,6 +102,14 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding else TitleName = title; } + + // TODO: Navigation - implement browser navigation points? + public override INavigationPoint BuildNavPoint() + { + // returning null disables navigation for this IViewContent as + // requests to log null points are ignored. + return null; + } } public class HtmlViewPane : UserControl diff --git a/src/Main/Base/Project/Src/Gui/ContentInterfaces/IPositionable.cs b/src/Main/Base/Project/Src/Gui/ContentInterfaces/IPositionable.cs index 10db62047c..f03df074c6 100644 --- a/src/Main/Base/Project/Src/Gui/ContentInterfaces/IPositionable.cs +++ b/src/Main/Base/Project/Src/Gui/ContentInterfaces/IPositionable.cs @@ -10,7 +10,7 @@ namespace ICSharpCode.SharpDevelop.Gui /// /// If a IViewContent object is from the type IPositionable it signals /// that it's a texteditor which could set the caret to a position inside - /// a file. + /// a file. /// public interface IPositionable { @@ -19,5 +19,19 @@ namespace ICSharpCode.SharpDevelop.Gui /// And pos.X is the column (starting from 0 too). /// void JumpTo(int line, int column); + + /// + /// gets the 'caret' position line (starting from 0) + /// + int Line { + get; + } + + /// + /// gets the 'caret' position column (starting from 0) + /// + int Column { + get; + } } } diff --git a/src/Main/Base/Project/Src/Gui/IViewContent.cs b/src/Main/Base/Project/Src/Gui/IViewContent.cs index 6bfa870f77..9511d59d32 100644 --- a/src/Main/Base/Project/Src/Gui/IViewContent.cs +++ b/src/Main/Base/Project/Src/Gui/IViewContent.cs @@ -9,6 +9,8 @@ using System; using System.Collections.Generic; using System.Windows.Forms; +using ICSharpCode.Core; + namespace ICSharpCode.SharpDevelop.Gui { public delegate void SaveEventHandler(object sender, SaveEventArgs e); @@ -109,6 +111,11 @@ namespace ICSharpCode.SharpDevelop.Gui /// void Load(string fileName); + /// + /// Builds an for the current position. + /// + INavigationPoint BuildNavPoint(); + /// /// Is called each time the name for the content has changed. /// diff --git a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs index c2a6fa7a4b..3b0e23551b 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserControl.cs @@ -222,7 +222,7 @@ namespace ICSharpCode.SharpDevelop.Project TreeNode FindDeepestOpenNodeForPath(string fileName) { - LoggingService.DebugFormatted("Finding Deepest for '{0}'", fileName); + //LoggingService.DebugFormatted("Finding Deepest for '{0}'", fileName); Solution solution = ProjectService.OpenSolution; if (solution == null) { return null; @@ -230,7 +230,7 @@ namespace ICSharpCode.SharpDevelop.Project IProject project = solution.FindProjectContainingFile(fileName); if (project == null) { - LoggingService.Debug("no IProject found"); + //LoggingService.Debug("no IProject found"); return null; } @@ -282,18 +282,18 @@ namespace ICSharpCode.SharpDevelop.Project if (!targetNode.IsExpanded) { // the targetNode is not expanded so it's as deep as we can go - LoggingService.DebugFormatted("target node '{0};{1}' is not expanded.", targetNode, targetNode.Text); + //LoggingService.DebugFormatted("target node '{0};{1}' is not expanded.", targetNode, targetNode.Text); return targetNode; } - LoggingService.Debug("entering depth loop..."); - LoggingService.DebugFormatted(@"\- looking for '{0}'", relativePath); - LoggingService.DebugFormatted(@"\- starting at '{0}'", targetNode != null ? targetNode.Text : "null"); + //LoggingService.Debug("entering depth loop..."); + //LoggingService.DebugFormatted(@"\- looking for '{0}'", relativePath); + //LoggingService.DebugFormatted(@"\- starting at '{0}'", targetNode != null ? targetNode.Text : "null"); string[] targets = relativePath.Trim('/','\\').Split('/', '\\'); TreeNode nextNode = null; foreach (string target in targets) { - LoggingService.Debug("-- looking for: "+target); + //LoggingService.Debug("-- looking for: "+target); nextNode = null; foreach (TreeNode node in targetNode.Nodes) { if (node == null) { @@ -347,22 +347,6 @@ namespace ICSharpCode.SharpDevelop.Project } return null; } - - // TODO: remove this debug code -// void LogTreeViewPaths(TreeNodeCollection nodes, int depth) -// { -// System.Text.StringBuilder sb = null; -// -// foreach (TreeNode node in nodes) { -// sb = new System.Text.StringBuilder(); -// for(int i = 0; i + /// Tests the for the presence of points + /// to jump back to. + /// + /// + /// <Condition name = "CanNavigateBack" > + /// + public class CanNavigateBackConditionEvaluator : IConditionEvaluator + { + public bool IsValid(object caller, Condition condition) + { + return NavigationService.CanNavigateBack || NavigationService.CanNavigateForwards; + } + } + + /// + /// Tests the for the presence of points + /// to jump forward to. + /// + /// + /// <Condition name = "CanNavigateForward" > + /// + public class CanNavigateForwardConditionEvaluator : IConditionEvaluator + { + public bool IsValid(object caller, Condition condition) + { + return NavigationService.CanNavigateForwards; + } + } +} diff --git a/src/Main/Base/Project/Src/Services/File/FileService.cs b/src/Main/Base/Project/Src/Services/File/FileService.cs index d18e3a3902..94cbb088bf 100644 --- a/src/Main/Base/Project/Src/Services/File/FileService.cs +++ b/src/Main/Base/Project/Src/Services/File/FileService.cs @@ -225,9 +225,11 @@ namespace ICSharpCode.Core } IViewContent content = window.ViewContent; if (content is IPositionable) { + // TODO: enable jumping to a particular view window.SwitchView(0); ((IPositionable)content).JumpTo(Math.Max(0, line), Math.Max(0, column)); } + NavigationService.Log(content.BuildNavPoint()); return content; } @@ -274,6 +276,13 @@ namespace ICSharpCode.Core } } + public static void OnJumpedToFilePosition(string fileName) + { + if (JumpedToFilePosition != null) { + JumpedToFilePosition(null, new FileEventArgs(fileName, false)); + } + } + public static event EventHandler FileRenaming; public static event EventHandler FileRenamed; @@ -282,5 +291,7 @@ namespace ICSharpCode.Core public static event EventHandler FileReplacing; public static event EventHandler FileReplaced; + + public static event EventHandler JumpedToFilePosition; } } diff --git a/src/Main/Base/Project/Src/Services/NavigationService/DefaultNavigationPoint.cs b/src/Main/Base/Project/Src/Services/NavigationService/DefaultNavigationPoint.cs new file mode 100644 index 0000000000..f95fd17320 --- /dev/null +++ b/src/Main/Base/Project/Src/Services/NavigationService/DefaultNavigationPoint.cs @@ -0,0 +1,130 @@ +// +// +// +// +// $Revision: $ +// + +using System; +using System.Drawing; + +namespace ICSharpCode.Core +{ + /// + /// Default implementation for classes that wrap Navigational + /// information for the . + /// + public class DefaultNavigationPoint : INavigationPoint + { + string fileName; + object data; + + #region constructor + public DefaultNavigationPoint() : this(String.Empty, null) {} + public DefaultNavigationPoint(string fileName) : this(fileName, null) {} + public DefaultNavigationPoint(string fileName, object data) + { + this.fileName = fileName; + this.data = data; + } + #endregion + + #region overrides + public override string ToString() + { + return String.Format("[{0}: {1}]", + this.GetType().Name, + this.Description); + } + #endregion + + #region INavigationPoint implementation + public virtual string FileName { + get { + return fileName; + } + } + + public virtual string Description { + get { + return String.Format("{0}: {1}", fileName, data); + } + } + + public virtual string FullDescription { + get { + return Description; + } + } + + public virtual string ToolTip { + get { + return Description; + } + } +// public string TabName { +// get { +// return tabName; +// } +// } + + public virtual int Index { + get { + return 0; + } + } + + public object NavigationData { + get { + return data; + } + set { + data = value; + } + } + + public virtual void JumpTo() + { + FileService.JumpToFilePosition(this.FileName, 0, 0); + } + + public void FileNameChanged(string newName) + { + fileName = newName; + } + + public virtual void ContentChanging(object sender, EventArgs e) + { + //throw new NotImplementedException(); + } + #endregion + + #region IComparable + public virtual int CompareTo(object obj) + { + if (this.GetType() != obj.GetType()) { + return this.GetType().Name.CompareTo(obj.GetType().Name); + } + DefaultNavigationPoint b = obj as DefaultNavigationPoint; + return this.FileName.CompareTo(b.FileName); + } + + #endregion + + #region Equality + + public override bool Equals(object obj) + { + DefaultNavigationPoint b = obj as DefaultNavigationPoint; + if (b == null) return false; + return this.FileName == b.FileName; + } + + public override int GetHashCode() + { + return this.FileName.GetHashCode(); + } + #endregion + } +} + diff --git a/src/Main/Base/Project/Src/Services/NavigationService/INavigationPoint.cs b/src/Main/Base/Project/Src/Services/NavigationService/INavigationPoint.cs new file mode 100644 index 0000000000..589fb548f6 --- /dev/null +++ b/src/Main/Base/Project/Src/Services/NavigationService/INavigationPoint.cs @@ -0,0 +1,85 @@ +// +// +// +// +// $Revision: $ +// + +using System; + +namespace ICSharpCode.Core +{ + /// + /// Interface for classes that store Navigational information for + /// the . + /// + public interface INavigationPoint : IComparable + { + /// + /// The path to the file containing the + /// + string FileName { + get; + } + + /// + /// Gets the text that will appear in the drop-down menu to select + /// this . + /// + string Description { + get; + } + + /// + /// Gets more detailed text that cam be used to describe + /// this . + /// + string FullDescription { + get; + } + + string ToolTip { + get; + } + +// /// +// /// +// /// +// string TabName { +// get; +// } + + /// + /// Gets the specific data, if any, needed to + /// navigate to this . + /// + object NavigationData { + get; + } + + int Index { + get; + } + + /// + /// Navigates to this . + /// + void JumpTo(); + + /// + /// Updates the . + /// + /// + void FileNameChanged(string newName); + + /// + /// Responsible for updating the internal data of the + /// to synch it with + /// changes in the IViewContent containing the point. + /// + /// + /// + void ContentChanging(object sender, EventArgs e); + } +} + diff --git a/src/Main/Base/Project/Src/Services/NavigationService/NavigationService.cs b/src/Main/Base/Project/Src/Services/NavigationService/NavigationService.cs new file mode 100644 index 0000000000..4cc21ace09 --- /dev/null +++ b/src/Main/Base/Project/Src/Services/NavigationService/NavigationService.cs @@ -0,0 +1,317 @@ +/* + * Created by SharpDevelop. + * User: David + * Date: 23/06/2006 + * Time: 12:14 AM + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ + +using System; +using System.Collections.Generic; + +using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor; +using ICSharpCode.TextEditor; + +namespace ICSharpCode.Core +{ + + /// + /// Provides the infrastructure to handle generalized code navigation. + /// + /// + /// This service is not limited to navigating code; rather, it + /// integrates with SharpDevelop's extendable + /// interface so that each window has the opportunity to implement a + /// contextually appropriate navigation scheme. + /// The default scheme, , is + /// created automatically in the + /// implementation. This scheme supports the basic function of logging a + /// filename and returning to that file's default view. + /// The default text editor provides a slightly more sophisticated + /// scheme, + /// TextEditorNavigationPoint, that logs filename and line number. + /// To implement your own navigation scheme, implement + /// or derive from + /// and override the + /// BuildNavigationPoint + /// method. + /// + /// History logic based in part on Orlando Curioso's Code Project article: + /// + /// Navigational history (go back/forward) for WinForms controls + /// + /// + public class NavigationService + { + #region Private members + static LinkedList history; + static LinkedListNode currentNode; + static bool loggingSuspended; + #endregion + + static NavigationService() + { + history = new LinkedList(); + currentNode = null; + loggingSuspended = false; + + WorkbenchSingleton.WorkbenchCreated += WorkbenchCreatedHandler; + FileService.FileRenamed += FileService_FileRenamed; + } + + #region Public Properties + + public static bool CanNavigateBack { + get { return currentNode != history.First && currentNode != null;} + } + public static bool CanNavigateForwards { + get {return currentNode != history.Last && currentNode != null;} + } + public static int Count { + get { return history.Count; } + } + + public static INavigationPoint CurrentPosition { + get { + return currentNode==null ? (INavigationPoint)null : currentNode.Value; + } + set { + Log(value); + } + } + + public static bool IsLogging { + get { return !loggingSuspended;} + } + #endregion + + #region Public Methods + + public static void ContentChanging(object sender, EventArgs e) + { + foreach (INavigationPoint p in history) + { + p.ContentChanging(sender, e); + } + } + + #region private helpers + static void Log(IWorkbenchWindow window) + { + if (window==null) return; + // TODO: Navigation - enable logging of subpanes via window.ActiveViewContent + Log(window.ViewContent); + } + + static void Log(IViewContent vc) + { + if (vc==null) return; + Log(vc.BuildNavPoint()); + } + #endregion + + public static void Log(INavigationPoint p) + { + if (loggingSuspended) { + return; + } + LogInternal(p); + } + + // refactoring this out of Log() allows the NavigationService + // to call this and ensure it will work regardless of the + // requested state of loggingSuspended + private static void LogInternal(INavigationPoint p) + { + if (p == null + || p.FileName==null) { // HACK: why/how do we get here? + return; + } + if (currentNode==null) { + currentNode = history.AddFirst(p); + } else if (p.Equals(currentNode.Value)) { + // replace it + currentNode.Value = p; + } else { + currentNode = history.AddAfter(currentNode, p); + } + OnHistoryChanged(); + } + + // untested + public static INavigationPoint Log() + { +// IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; +// if (window == null) { +// return null; +// } +// +// IViewContent view = window.ViewContent; +// if (view == null) { +// return null; +// } +// +// return view.BuildNavPoint(); + return null; + } + + public static List GetListOfPoints() + { + return new List(history); + } + + public static void ClearHistory() + { + ClearHistory(false); + } + + public static void ClearHistory(bool clearCurrentPosition) + { + INavigationPoint currentPosition = CurrentPosition; + history.Clear(); + currentNode = null; + if (!clearCurrentPosition) { + LogInternal(currentPosition); + } + OnHistoryChanged(); + } + + public static void Go(int n) + { + if (0 == n) { + return; + } else if (0>n) { + // move backwards + while (0>n && currentNode!=history.First) { + currentNode = currentNode.Previous; + n++; + } + } else { + // move forwards + while (0 targetNode; + targetNode = history.Find(target); + if (targetNode!=null) { + currentNode = targetNode; + } else { + LoggingService.ErrorFormatted("Logging additional point: {0}", target); + LogInternal(target); + //currentNode = history.AddAfter(currentNode, target); + } + + SyncViewWithModel(); + } + + private static void SyncViewWithModel() + { + //LoggingService.Info("suspend logging"); + SuspendLogging(); + if (CurrentPosition!=null) { + CurrentPosition.JumpTo(); + } + //LoggingService.Info("resume logging"); + ResumeLogging(); + } + + + + public static void SuspendLogging() + { + loggingSuspended = true; + } + public static void ResumeLogging() + { + // ENH: possible enhancement: use int instead of bool so resume statements are incremental rather than definitive. + loggingSuspended = false; + } + + #endregion + + // the following code is not covered by Unit tests as i wasn't sure + // how to test code triggered by the user interacting with the workbench + #region event trapping + + #region ViewContent events + public static void WorkbenchCreatedHandler(object sender, EventArgs e) + { + WorkbenchSingleton.Workbench.ViewOpened += + new ViewContentEventHandler(ViewContentOpened); + WorkbenchSingleton.Workbench.ViewClosed += + new ViewContentEventHandler(ViewContentClosed); + } + + static void ViewContentOpened(object sender, ViewContentEventArgs e) + { + //Log(e.Content); + e.Content.WorkbenchWindow.WindowSelected += WorkBenchWindowSelected; + } + + static void ViewContentClosed(object sender, ViewContentEventArgs e) + { + e.Content.WorkbenchWindow.WindowSelected -= WorkBenchWindowSelected; + } + + static IWorkbenchWindow lastSelectedWindow = null; + static void WorkBenchWindowSelected(object sender, EventArgs e) + { + try { + IWorkbenchWindow window = sender as IWorkbenchWindow; + if (window == lastSelectedWindow) { + return; + } + int n = NavigationService.Count; + Log(window); + //LoggingService.DebugFormatted("WorkbenchSelected: logging {0}", window.Title); + + // HACK: Navigation - for some reason, JumpToFilePosition returns _before_ this + // gets fired, (not the behaviour i expected) so we need to remember the + // previous selected window to ensure that we only log once per visit to + // a given window. + lastSelectedWindow = window; + + } catch (Exception ex) { + LoggingService.ErrorFormatted("{0}:\n{1}",ex.Message, ex.StackTrace); + } + } + #endregion + + static void FileService_FileRenamed(object sender, FileRenameEventArgs e) + { + foreach (INavigationPoint p in history) { + if (p.FileName.Equals(e.SourceFile)) { + p.FileNameChanged(e.TargetFile); + } + } + } + + #endregion + + + #region Public Events + public static event System.EventHandler HistoryChanged; + + public static void OnHistoryChanged() + { + if (HistoryChanged!=null) { + HistoryChanged(NavigationService.CurrentPosition, EventArgs.Empty); + } + } + #endregion + } +} diff --git a/src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorDisplayBinding.cs b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorDisplayBinding.cs index 3f24f2edec..7073384acb 100644 --- a/src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorDisplayBinding.cs +++ b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorDisplayBinding.cs @@ -188,6 +188,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor textAreaControl.Document.DocumentChanged += new DocumentEventHandler(TextAreaChangedEvent); textAreaControl.ActiveTextAreaControl.Caret.CaretModeChanged += new EventHandler(CaretModeChanged); textAreaControl.ActiveTextAreaControl.Enter += new EventHandler(CaretUpdate); + textAreaControl.ActiveTextAreaControl.Caret.PositionChanged += CaretUpdate; // KSL Start, New lines // textAreaControl.FileNameChanged += new EventHandler(FileNameChangedEvent); @@ -281,6 +282,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor void TextAreaChangedEvent(object sender, DocumentEventArgs e) { IsDirty = true; + NavigationService.ContentChanging(this.textAreaControl, e); } public override void RedrawContent() @@ -391,6 +393,19 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor // textAreaControl.Refresh(); } + Point GetTextAreaPosition() + { + return textAreaControl.Document.OffsetToPosition(textAreaControl.ActiveTextAreaControl.Caret.Offset); + } + + public override INavigationPoint BuildNavPoint() + { + int lineNumber = this.Line; + LineSegment lineSegment = textAreaControl.Document.GetLineSegment(lineNumber); + string txt = textAreaControl.Document.GetText(lineSegment); + return new TextNavigationPoint(this.FileName, lineNumber, this.Column, txt); + } + void CaretUpdate(object sender, EventArgs e) { CaretChanged(null, null); @@ -399,15 +414,15 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor void CaretChanged(object sender, EventArgs e) { - Point pos = textAreaControl.Document.OffsetToPosition(textAreaControl.ActiveTextAreaControl.Caret.Offset); + Point pos = GetTextAreaPosition(); LineSegment line = textAreaControl.Document.GetLineSegment(pos.Y); StatusBarService.SetCaretPosition(pos.X + 1, pos.Y + 1, textAreaControl.ActiveTextAreaControl.Caret.Offset - line.Offset + 1); + NavigationService.Log(this.BuildNavPoint()); } void CaretModeChanged(object sender, EventArgs e) { - StatusBarService.SetInsertMode(textAreaControl.ActiveTextAreaControl.Caret.CaretMode == CaretMode.InsertMode); } @@ -423,11 +438,27 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor base.TitleName = Path.GetFileName(value); } } + + #region IPositionable implementation public void JumpTo(int line, int column) { textAreaControl.ActiveTextAreaControl.JumpTo(line, column); } + public int Line { + get { + return textAreaControl.ActiveTextAreaControl.Caret.Line; + } + } + + public int Column { + get { + return textAreaControl.ActiveTextAreaControl.Caret.Column; + } + } + + #endregion + public void ForceFoldingUpdate() { if (textAreaControl.TextEditorProperties.EnableFolding) { diff --git a/src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorNavigationPoint.cs b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorNavigationPoint.cs new file mode 100644 index 0000000000..7ac9f22d5d --- /dev/null +++ b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorNavigationPoint.cs @@ -0,0 +1,62 @@ +/* + * Created by SharpDevelop. + * User: David + * Date: 23/04/2006 + * Time: 11:47 AM + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ + +using System; +using System.Drawing; + +using ICSharpCode.Core; + +namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor +{ + /// + /// Description of TextEditorNavigationPoint. + /// + public class TextEditorNavigationPoint : DefaultNavigationPoint + { + public TextEditorNavigationPoint(string fileName, int line, int col) : + base(fileName, new Point(col, line)) {} + + public int Line { + get { + return ((Point)base.NavigationData).Y; + } + + } + + public override string Description { + get { + return String.Format("{0}: {1}", this.FileName, this.Line); + } + } + + public override int Index { + get { + return this.Line; + } + } + + public override bool Equals(object obj) + { + TextEditorNavigationPoint b = obj as TextEditorNavigationPoint; + if (b == null) return false; + return b.FileName == this.FileName && b.Line == this.Line; + } + + public override int GetHashCode() + { + return base.GetHashCode() ^ this.Line; + } + + public override void JumpTo() + { + Point p = (Point)this.NavigationData; + FileService.JumpToFilePosition(this.FileName, p.Y, p.X); + } + } +} diff --git a/src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextNavigationPoint.cs b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextNavigationPoint.cs new file mode 100644 index 0000000000..04fa9720c2 --- /dev/null +++ b/src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextNavigationPoint.cs @@ -0,0 +1,116 @@ +/* + * Created by SharpDevelop. + * User: David + * Date: 06/07/2006 + * Time: 12:40 PM + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ + +using System; +using System.Drawing; +using System.IO; + +using ICSharpCode.Core; + +namespace ICSharpCode.TextEditor.Document +{ + /// + /// Description of TextNavigationPoint. + /// + public class TextNavigationPoint : DefaultNavigationPoint + { + const int THREASHOLD = 5; + + #region constructor + public TextNavigationPoint() : this(String.Empty, 0, 0) {} + public TextNavigationPoint(string fileName) : this(fileName, 0, 0) {} + public TextNavigationPoint(string fileName, int lineNumber, int column) : this(fileName, lineNumber, column, String.Empty) {} + public TextNavigationPoint(string fileName, int lineNumber, int column, string content) : base(fileName, new Point(column, lineNumber)) + { + this.content = content; + } + #endregion + + // TODO: Navigation - eventually, we'll store a reference to the document + // itself so we can track filename changes, inserts (that affect + // line numbers), and dynamically retrieve the text at this.lineNumber + // + // what happens to the doc reference when the document is closed? + // + string content; + + public int LineNumber { + get {return ((Point)this.NavigationData).Y;} + } + + public int Column { + get {return ((Point)this.NavigationData).X;} + } + + public override void JumpTo() + { + FileService.JumpToFilePosition(this.FileName, + this.LineNumber, + this.Column); + } + + public override void ContentChanging(object sender, EventArgs e) + { + // TODO: Navigation - finish ContentChanging +// if (e is DocumentEventArgs) { +// DocumentEventArgs de = (DocumentEventArgs)e; +// if (this.LineNumber >= +// } + } + + #region IComparable + public override int CompareTo(object obj) + { + int result = base.CompareTo(obj); + if (0!=result) { + return result; + } + TextNavigationPoint b = obj as TextNavigationPoint; + if (this.LineNumber==b.LineNumber) { + return 0; + } else if (this.LineNumber>b.LineNumber) { + return 1; + } else { + return -1; + } + } + #endregion + + #region Equality + public override bool Equals(object obj) + { + TextNavigationPoint b = obj as TextNavigationPoint; + if (b==null) return false; + return this.FileName.Equals(b.FileName) + && (Math.Abs(this.LineNumber - b.LineNumber)<=THREASHOLD); + } + + public override int GetHashCode() + { + return this.FileName.GetHashCode() ^ this.LineNumber.GetHashCode(); + } + #endregion + + public override string Description { + get { + return String.Format("{0}: {1}", + this.LineNumber, + this.content); + } + } + + public override string FullDescription { + get { + return String.Format("{0} - {1}", + Path.GetFileName(this.FileName), + this.Description); + } + } + } +} diff --git a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj index 53ac39d952..1de7300d16 100644 --- a/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj +++ b/src/Main/Base/Test/ICSharpCode.SharpDevelop.Tests.csproj @@ -84,6 +84,9 @@ + + + @@ -120,6 +123,7 @@ + \ No newline at end of file diff --git a/src/Main/Base/Test/Services_Navigation/INavigationPointTextFixture.cs b/src/Main/Base/Test/Services_Navigation/INavigationPointTextFixture.cs new file mode 100644 index 0000000000..704853f59e --- /dev/null +++ b/src/Main/Base/Test/Services_Navigation/INavigationPointTextFixture.cs @@ -0,0 +1,114 @@ +/* + * Created by SharpDevelop. + * User: David + * Date: 04/03/2006 + * Time: 5:28 PM + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ + +using System; +using NUnit.Framework; + +using ICSharpCode.Core; + +namespace NavigationServiceTests +{ + [TestFixture] + public class INavigationPointTextFixture + { + INavigationPoint p1; + INavigationPoint p2; + + [TestFixtureSetUp] + public void Init() + { + int line = 3; + + p1 = new TestNavigationPoint("test1.cs", line); + p2 = new TestNavigationPoint("test2.cs", line+2); + } + + [Test] + /// + /// A navigation point must store the filename of the file containing + /// them so that they can switch to the correct file, reopening it + /// if needed. + /// + public void FileNameTest() + { + Assert.AreNotEqual("test1.css", p1.FileName, "FileName differs: expected test1.cs, received "+p1.FileName); + Assert.AreEqual("test1.cs", p1.FileName); + } + + [Test] + /// + /// A navigation point must remember whatever additional data is needed + /// to navigation to the appropriate view-position within that file. + /// + public void DataTagTest() + { + Assert.AreEqual(3, (int)p1.NavigationData); + } + + [Test] + /// + /// A navigation point must provide a description of itself for the + /// menu subsystem (ie. for menu text). + /// + public void DescriptionTest() + { + Assert.AreNotEqual(String.Empty, p1.Description); + } + + [Test] + /// + /// A navigation point must provide an index for sorting purposes. + /// + public void IndexTest() + { + Assert.AreNotEqual(null, p1.Description); + } + + [Test] + /// + /// A navigation point must provide a tooltip for the menu system. + /// + public void ToolTipText() + { + Assert.AreNotEqual(String.Empty, p1.ToolTip); + } + + [Test] + /// + /// A navigation point must take responsibility for restoring the + /// cursor to whatever state is "held" (i.e. "described by") it's data. + /// + public void JumpToTest() + { + TestNavigationPoint.CurrentTestPosition = null; + Assert.AreEqual(TestNavigationPoint.CurrentTestPosition, null); + + p1.JumpTo(); + Assert.AreEqual("test1.cs", TestNavigationPoint.CurrentTestPosition.FileName); + Assert.AreEqual(3, (int)TestNavigationPoint.CurrentTestPosition.NavigationData); + + p2.JumpTo(); + Assert.AreEqual("test2.cs", TestNavigationPoint.CurrentTestPosition.FileName); + + } + + [Test] + /// + /// A navigation point must take responsibility for evaluating equality tests. + /// + public void EqualityTest() + { + Assert.IsTrue(p1.Equals(p1)); + Assert.IsFalse(p1.Equals(p2)); + Assert.IsFalse(p1.Equals("not an INavigationPoint...")); + + Assert.AreNotEqual(p1.GetHashCode(), p2.GetHashCode()); + } + } +} diff --git a/src/Main/Base/Test/Services_Navigation/NavigationServiceTestFixture.cs b/src/Main/Base/Test/Services_Navigation/NavigationServiceTestFixture.cs new file mode 100644 index 0000000000..c59e1674f4 --- /dev/null +++ b/src/Main/Base/Test/Services_Navigation/NavigationServiceTestFixture.cs @@ -0,0 +1,616 @@ +/* + * Created by SharpDevelop. + * User: David + * Date: 22/06/2006 + * Time: 11:45 PM + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Collections.Generic; +using NUnit.Framework; + +using ICSharpCode.Core; + +namespace NavigationServiceTests +{ + /// + /// Provides unit tests for the . + /// + /// + /// Code Navigation Requirements: + /// + /// #develop wiki: + /// + /// + /// backwards & forwards through visited positions in the editor windows + /// + /// + /// Daniel Grunwald [sharpdevelop-contributors@lists.sourceforge.net]: + /// + /// + /// includes back/forward command to reset the cursor position/active file + /// saves class+method+line info of the cursor + /// "undo" cursor position changes + /// when adding a cursor position to the history, all other + /// cursor positions in the same method are removed + /// the "navigate back" command would be a SplitButton in the toolbar + /// the dropdown would show class+method names + /// + /// + /// + /// The Count and list of + /// points returned by + /// GetListOfPoints() are both assumed to contain the + /// CurrentPosition. + /// + /// As the current position is also exposed a property, clients can + /// then make the choice to include or exclude it when iterating over the + /// list of points. + /// + [TestFixture] + public class NavigationServiceTestFixture + { + #region private members + INavigationPoint p; + INavigationPoint p_5; + INavigationPoint p_6; + INavigationPoint p_37; + INavigationPoint q; + INavigationPoint r; + INavigationPoint s; + INavigationPoint t; + #endregion + + #region the tests + + // TODO: build "CreateNUnitTest" command + + [Test] + /// + /// The must + /// expose an + /// reference for the current "position" in the + /// editor windows, and return + /// when the history is empty. + /// + public void CurrentPositionTest() + { + Assert.IsNull(NavigationService.CurrentPosition); + + NavigationService.CurrentPosition = p; + Assert.IsInstanceOfType(typeof(INavigationPoint), + NavigationService.CurrentPosition); + } + + [Test] + /// + /// The must + /// be able to log and remember changes to the + /// + /// CurrentPosition. + /// + public void LogTest() + { + NavigationService.CurrentPosition = p; + Assert.AreEqual(p, NavigationService.CurrentPosition); + + NavigationService.CurrentPosition = q; + Assert.AreEqual(q, NavigationService.CurrentPosition); + + NavigationService.CurrentPosition = r; + Assert.AreEqual(r, NavigationService.CurrentPosition); + } + + [Test] + /// + /// The must + /// expose a list of points in it's history. + /// of type + /// . + /// + /// necessary for testing and for menu building + public void GetListOfPointsTest() + { + Assert.IsInstanceOfType(typeof(List), + NavigationService.GetListOfPoints()); + } + + [Test] + /// + /// The must + /// expose a method to empty the points in its + /// history. + /// + public void ClearHistoryTest() + { + NavigationService.ClearHistory(true); + + List history = NavigationService.GetListOfPoints(); + Assert.AreEqual(0, history.Count); + } + + [Test] + /// + /// The must + /// expose a property of type + /// indicating how many points are currently + /// stored in it's history. + /// + public void CountTest() + { + Assert.IsInstanceOfType(typeof(int), + NavigationService.Count); + } + + [Test] + /// + /// The must + /// expose a property of type + /// indicating how many points are currently + /// stored in it's history. + /// + public void CountingTest() + { + Assert.AreEqual(0, NavigationService.Count); + + NavigationService.CurrentPosition = p; + Assert.AreEqual(1, NavigationService.Count); + + NavigationService.CurrentPosition = q; + Assert.AreEqual(2, NavigationService.Count); + + NavigationService.CurrentPosition = r; + Assert.AreEqual(3, NavigationService.Count); + + NavigationService.ClearHistory(true); + Assert.AreEqual(0, NavigationService.Count); + + } + + [Test] + /// + /// The must + /// ignore requests to log a null reference. + /// + public void LogNullTest() + { + Assert.AreEqual(0, NavigationService.Count); + NavigationService.CurrentPosition = null; + Assert.AreEqual(0, NavigationService.Count); + + NavigationService.CurrentPosition = p; + NavigationService.CurrentPosition = null; + Assert.AreEqual(p, NavigationService.CurrentPosition); + } + + [Test] + /// + /// The must + /// expose methods that allow clients to + /// suspend and resume logging of positions. + /// + public void SuspendLoggingTest() + { + Assert.AreEqual(0, NavigationService.Count); + + NavigationService.SuspendLogging(); + NavigationService.CurrentPosition = p; + Assert.AreEqual(0, NavigationService.Count); + + NavigationService.ResumeLogging(); + NavigationService.CurrentPosition = q; + Assert.AreEqual(q, NavigationService.CurrentPosition); + } + + [Test] + /// + /// The must + /// expose a Property to access the state of + /// logging. + /// + public void IsLoggingTest() + { + Assert.IsTrue(NavigationService.IsLogging); + + NavigationService.SuspendLogging(); + Assert.IsFalse(NavigationService.IsLogging); + + NavigationService.ResumeLogging(); + Assert.IsTrue(NavigationService.IsLogging); + } + + [Test] + /// + /// The must + /// + /// + /// + public void GoTest() + { + Assert.AreEqual(0, NavigationService.Count); + Assert.IsNull(NavigationService.CurrentPosition); + + TestNavigationPoint.CurrentTestPosition = null; + Assert.IsNull(TestNavigationPoint.CurrentTestPosition); + + NavigationService.CurrentPosition = p; + NavigationService.CurrentPosition = q; + NavigationService.CurrentPosition = TestNavigationPoint.CurrentTestPosition = r; + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(r, NavigationService.CurrentPosition); + Assert.AreEqual(r, TestNavigationPoint.CurrentTestPosition); + + NavigationService.Go(0); + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(r, NavigationService.CurrentPosition); + Assert.AreEqual(r, TestNavigationPoint.CurrentTestPosition); + + NavigationService.Go(-1); + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(q, NavigationService.CurrentPosition); + Assert.AreEqual(q, TestNavigationPoint.CurrentTestPosition); + + NavigationService.Go(1); + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(r, NavigationService.CurrentPosition); + Assert.AreEqual(r, TestNavigationPoint.CurrentTestPosition); + + NavigationService.Go(-2); + Assert.AreEqual(p, NavigationService.CurrentPosition); + Assert.AreEqual(p, TestNavigationPoint.CurrentTestPosition); + + NavigationService.Go(1); + Assert.AreEqual(q, NavigationService.CurrentPosition); + Assert.AreEqual(q, TestNavigationPoint.CurrentTestPosition); + + NavigationService.Go(1); + Assert.AreEqual(r, NavigationService.CurrentPosition); + Assert.AreEqual(r, TestNavigationPoint.CurrentTestPosition); + + // now attempt to go beyond the bounds of the list; + // we should meet this request as best as possible + // and generate no errors. + NavigationService.Go(-5); + Assert.AreEqual(p, NavigationService.CurrentPosition); + Assert.AreEqual(p, TestNavigationPoint.CurrentTestPosition); + + NavigationService.Go(7); + Assert.AreEqual(r, NavigationService.CurrentPosition); + Assert.AreEqual(r, TestNavigationPoint.CurrentTestPosition); + } + + [Test] + /// + /// The must + /// support navigating directly to a specific + /// point. + /// + /// + /// + /// When the target point is not in the history, + /// the must + /// add it such that advancing back restores the + /// position that was current before this request + /// and advancing forwards returns the same results + /// had this request never been made. + /// + /// + public void GoDirectTest() + { + Assert.AreEqual(0, NavigationService.Count); + + NavigationService.Log(p); + NavigationService.Log(q); + NavigationService.Log(r); + TestNavigationPoint.CurrentTestPosition = r; + + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(r, NavigationService.CurrentPosition); + Assert.AreEqual(r, TestNavigationPoint.CurrentTestPosition); + Assert.IsTrue(NavigationService.CanNavigateBack); + Assert.IsFalse(NavigationService.CanNavigateForwards); + + NavigationService.Go(p); + + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(p, NavigationService.CurrentPosition); + Assert.AreEqual(p, TestNavigationPoint.CurrentTestPosition); + Assert.IsFalse(NavigationService.CanNavigateBack); + Assert.IsTrue(NavigationService.CanNavigateForwards); + + NavigationService.Go(s); + + Assert.AreEqual(4, NavigationService.Count); + Assert.AreEqual(s, NavigationService.CurrentPosition); + Assert.AreEqual(s, TestNavigationPoint.CurrentTestPosition); + Assert.IsTrue(NavigationService.CanNavigateBack); + Assert.IsTrue(NavigationService.CanNavigateForwards); + + NavigationService.Go(-1); + Assert.AreEqual(p, NavigationService.CurrentPosition); + Assert.AreEqual(p, TestNavigationPoint.CurrentTestPosition); + + NavigationService.Go(2); + Assert.AreEqual(q, NavigationService.CurrentPosition); + Assert.AreEqual(q, TestNavigationPoint.CurrentTestPosition); + } + + [Test] + /// + /// The must + /// expose boolean properties indicating whether + /// or not it is possible to navigate forwards + /// or backwards within the history. + /// + public void CanNavigateTest() + { + Assert.AreEqual(0, NavigationService.Count); + Assert.IsFalse(NavigationService.CanNavigateBack); + Assert.IsFalse(NavigationService.CanNavigateForwards); + + NavigationService.Log(p); + Assert.IsFalse(NavigationService.CanNavigateBack); + Assert.IsFalse(NavigationService.CanNavigateForwards); + + NavigationService.Log(q); + Assert.IsTrue(NavigationService.CanNavigateBack); + Assert.IsFalse(NavigationService.CanNavigateForwards); + + NavigationService.Go(-1); + Assert.IsFalse(NavigationService.CanNavigateBack); + Assert.IsTrue(NavigationService.CanNavigateForwards); + } + + [Test] + /// + /// The must + /// ignore multiple successive requests to + /// log identical points. + /// + public void LogMultipleIdenticalSuccessiveTest() + { + Assert.AreEqual(0, NavigationService.Count); + + NavigationService.Log(p); + NavigationService.Log(p); + Assert.AreEqual(1, NavigationService.Count); + Assert.AreEqual(p, NavigationService.CurrentPosition); + + NavigationService.Log(q); + NavigationService.Log(r); + NavigationService.Log(r); + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(r, NavigationService.CurrentPosition); + } + + [Test] + /// + /// The must + /// support multiple successive requests to + /// log equivalent points, where equivalency + /// is measured by INavigationPoint.Equals(), + /// in which case the new point replaces the + /// current point. + /// + public void LogMultipleEquivalentSuccessiveTest() + { + Assert.AreEqual(0, NavigationService.Count); + Assert.IsTrue(p_5.Equals(p_6)); + + NavigationService.Log(p_5); + NavigationService.Log(p_5); + Assert.AreEqual(1, NavigationService.Count); + Assert.AreEqual(p_5, NavigationService.CurrentPosition); + + NavigationService.Log(p_6); + Assert.AreEqual(1, NavigationService.Count); + Assert.AreEqual(p_6, NavigationService.CurrentPosition); + } + + [Test] + /// + /// The must + /// allow requests to log multiple instances of + /// the same position (where sameness is tested + /// by INavigationPoint. + /// Equals()), provided they are not logged + /// successively. + /// + public void LogMultipleEquivalentDisjointTest() + { + Assert.AreEqual(0, NavigationService.Count); + Assert.IsTrue(p_5.Equals(p_6)); + + NavigationService.Log(p_5); + NavigationService.Log(p_5); + Assert.AreEqual(1, NavigationService.Count); + Assert.AreEqual(p_5, NavigationService.CurrentPosition); + + NavigationService.Log(q); + + NavigationService.Log(p_6); + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(p_6, NavigationService.CurrentPosition); + } + + [Test] + /// + /// The must + /// expose an event that fires when the + /// navigation list has changed + /// + public void HistoryChangedTest() + { + navigationChangedCount = 0; + NavigationService.HistoryChanged += NavigationHistoryChanged; + + Assert.AreEqual(0, NavigationService.Count); + Assert.AreEqual(0, navigationChangedCount); + + NavigationService.Log(p); + Assert.AreEqual(1, NavigationService.Count); + Assert.AreEqual(1, navigationChangedCount); + + NavigationService.Log(p_5); + Assert.AreEqual(1, NavigationService.Count); + Assert.AreEqual(2, navigationChangedCount); + + NavigationService.Log(q); + Assert.AreEqual(2, NavigationService.Count); + Assert.AreEqual(3, navigationChangedCount); + + NavigationService.ClearHistory(true); + Assert.AreEqual(0, NavigationService.Count); + Assert.AreEqual(4, navigationChangedCount); + + NavigationService.HistoryChanged -= NavigationHistoryChanged; + } + + int navigationChangedCount; + + public void NavigationHistoryChanged(object sender, EventArgs e) + { + navigationChangedCount++; + } + + [Test] + [Ignore("System.NullReferenceException: Object reference not set to an instance of an object.")] + /// + /// The must + /// expose a method to generate an + /// from a + /// given window. + /// + public void GenerateCurrentPositionTest() + { + INavigationPoint p = NavigationService.Log(); + } + #endregion + + [Test] + /// + /// The must + /// expose a method to empty the points in its + /// history without forgetting the current + /// position + /// + public void ClearHistoryRetainCurrentTest() + { + Assert.AreEqual(0, NavigationService.Count); + + NavigationService.Log(p); + NavigationService.Log(q); + + Assert.AreEqual(2, NavigationService.Count); + Assert.AreEqual(q, NavigationService.CurrentPosition); + NavigationService.ClearHistory(); + + Assert.AreEqual(1, NavigationService.Count); + Assert.AreEqual(q, NavigationService.CurrentPosition); + } + + [Test] + /// + /// The must + /// ignore requests to go directly to a null + /// position. + /// + public void GoDirectToNullTest() + { + Assert.AreEqual(0, NavigationService.Count); + + NavigationService.Log(p); + NavigationService.Log(q); + NavigationService.Log(r); + + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(r, NavigationService.CurrentPosition); + + NavigationService.Go(null); + + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(r, NavigationService.CurrentPosition); + } + + [Test] + /// + /// The must + /// ignore requests to log a point equivalent + /// to the next position either forwards or back. + /// + public void LogDuplicateNextTest() + { + Assert.AreEqual(0, NavigationService.Count); + + NavigationService.Log(p); + NavigationService.Log(q); + NavigationService.Log(r); + + NavigationService.Go(-1); + + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(q, NavigationService.CurrentPosition); + Assert.IsTrue(NavigationService.CanNavigateBack); + Assert.IsTrue(NavigationService.CanNavigateForwards); + + NavigationService.Log(p); + + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(q, NavigationService.CurrentPosition); + Assert.IsTrue(NavigationService.CanNavigateBack); + Assert.IsTrue(NavigationService.CanNavigateForwards); + + NavigationService.Log(r); + + Assert.AreEqual(3, NavigationService.Count); + Assert.AreEqual(q, NavigationService.CurrentPosition); + Assert.IsTrue(NavigationService.CanNavigateBack); + Assert.IsTrue(NavigationService.CanNavigateForwards); + } + + #region setup / tear down + + [SetUp] + public void BeforeEachTest() + { + NavigationService.ClearHistory(true); + NavigationService.ResumeLogging(); + } + + [TearDown] + public void AfterEachTest() + { + NavigationService.ClearHistory(true); + NavigationService.ResumeLogging(); + } + + /// + /// Create several s + /// for use during tests. + /// + [TestFixtureSetUp] + public void Init() + { + p = new TestNavigationPoint("p.cs"); + p_5 = new TestNavigationPoint("p.cs", 5); + p_6 = new TestNavigationPoint("p.cs", 6); + p_37 = new TestNavigationPoint("p.cs", 37); + q = new TestNavigationPoint("q.cs"); + r = new TestNavigationPoint("r.cs"); + s = new TestNavigationPoint("s.cs"); + t = new TestNavigationPoint("t.cs"); + } + + [TestFixtureTearDown] + public void Dispose() + { + // TODO: Add tear down code. + } + + #endregion + } +} diff --git a/src/Main/Base/Test/Services_Navigation/TestNavigationPoint.cs b/src/Main/Base/Test/Services_Navigation/TestNavigationPoint.cs new file mode 100644 index 0000000000..a11eebe18f --- /dev/null +++ b/src/Main/Base/Test/Services_Navigation/TestNavigationPoint.cs @@ -0,0 +1,70 @@ +/* + * Created by SharpDevelop. + * User: David + * Date: 11/03/2006 + * Time: 11:28 AM + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ + +using System; + +using ICSharpCode.Core; + +namespace NavigationServiceTests +{ + /// + /// Description of TestNavigationPoint. + /// + public class TestNavigationPoint : DefaultNavigationPoint + { + public TestNavigationPoint(string filename) : this(filename, 0) {} + public TestNavigationPoint(string filename, int line): base(filename) + { + this.LineNumber = line; + } + + public new int NavigationData { + get { + return (int)base.NavigationData; + } + set { + base.NavigationData = value; + } + } + public int LineNumber { + get { + return this.NavigationData; + } + set { + this.NavigationData = value; + } + } + + #region IComparable + public override bool Equals(object obj) + { + TestNavigationPoint b = obj as TestNavigationPoint; + if (b == null) return false; + return this.FileName == b.FileName + && Math.Abs(this.LineNumber - b.LineNumber) <= 5; + } + + public override int GetHashCode() + { + return this.FileName.GetHashCode() ^ this.LineNumber.GetHashCode(); + } + #endregion + + public override void JumpTo() + { + // simulate the case where jumping triggers a call to log an intermediate position + NavigationService.Log(new TestNavigationPoint(this.FileName, -500)); + + // simulate changing something outside the NavigationService's model + CurrentTestPosition = this; + } + + public static INavigationPoint CurrentTestPosition = null; + } +} diff --git a/src/Main/Core/Project/ICSharpCode.Core.csproj b/src/Main/Core/Project/ICSharpCode.Core.csproj index add5d3503f..5bba3ca6ab 100644 --- a/src/Main/Core/Project/ICSharpCode.Core.csproj +++ b/src/Main/Core/Project/ICSharpCode.Core.csproj @@ -162,4 +162,4 @@ - + \ No newline at end of file diff --git a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/Gui/ToolBarSplitButton.cs b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/Gui/ToolBarSplitButton.cs index d24abb0526..ba9a350c11 100644 --- a/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/Gui/ToolBarSplitButton.cs +++ b/src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/Gui/ToolBarSplitButton.cs @@ -50,6 +50,8 @@ namespace ICSharpCode.Core void CreateDropDownItems() { + ToolStripItem[] itemsToAdd = null; + DropDownItems.Clear(); foreach (object item in subItems) { @@ -65,7 +67,10 @@ namespace ICSharpCode.Core else { ISubmenuBuilder submenuBuilder = (ISubmenuBuilder)item; - DropDownItems.AddRange(submenuBuilder.BuildSubmenu(codon, caller)); + itemsToAdd = submenuBuilder.BuildSubmenu(codon, caller); + if (itemsToAdd!=null) { + DropDownItems.AddRange(itemsToAdd); + } } } } @@ -121,6 +126,7 @@ namespace ICSharpCode.Core private void UpdateButtonImage() { + //LoggingService.Info("UpdatingButtonImage: buttonEnabled=="+buttonEnabled.ToString()); Image = buttonEnabled ? imgButtonEnabled : imgButtonDisabled; } diff --git a/src/Main/StartUp/Project/Resources/BitmapResources.resources b/src/Main/StartUp/Project/Resources/BitmapResources.resources index 3a554b5532..5cfc7da55c 100644 Binary files a/src/Main/StartUp/Project/Resources/BitmapResources.resources and b/src/Main/StartUp/Project/Resources/BitmapResources.resources differ diff --git a/src/Main/StartUp/Project/SharpDevelopMain.cs b/src/Main/StartUp/Project/SharpDevelopMain.cs index 54fdc1be14..273108edbe 100644 --- a/src/Main/StartUp/Project/SharpDevelopMain.cs +++ b/src/Main/StartUp/Project/SharpDevelopMain.cs @@ -258,6 +258,9 @@ namespace ICSharpCode.SharpDevelop AddInTree.ConditionEvaluators.Add("TextContent", new ICSharpCode.SharpDevelop.DefaultEditor.Conditions.TextContentConditionEvaluator()); AddInTree.ConditionEvaluators.Add("BrowserLocation", new ICSharpCode.SharpDevelop.BrowserDisplayBinding.BrowserLocationConditionEvaluator()); AddInTree.ConditionEvaluators.Add("RefactoringProviderSupports", new Refactoring.RefactoringProviderSupportsConditionEvaluator()); + // TODO: is there a way to automate ConditionEvaluator registration via reflection? or to specify it in the .addin files? + AddInTree.ConditionEvaluators.Add("CanNavigateBack", new CanNavigateBackConditionEvaluator()); + AddInTree.ConditionEvaluators.Add("CanNavigateForward", new CanNavigateForwardConditionEvaluator()); AddInTree.Doozers.Add("DialogPanel", new DialogPanelDoozer()); AddInTree.Doozers.Add("DisplayBinding", new DisplayBindingDoozer()); diff --git a/src/SharpDevelop.Tests.sln b/src/SharpDevelop.Tests.sln index 6df16f1a5f..f0af3e3db9 100644 --- a/src/SharpDevelop.Tests.sln +++ b/src/SharpDevelop.Tests.sln @@ -1,5 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 9.00 -# SharpDevelop 2.1.0.1340 +# SharpDevelop 2.1.0.1472 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}" ProjectSection(SolutionItems) = postProject EndProjectSection @@ -224,6 +224,10 @@ Global {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}.Release|Any CPU.Build.0 = Release|Any CPU {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B3EFF50A-ADBF-4FCD-ACE3-081AF1B37F1D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B3EFF50A-ADBF-4FCD-ACE3-081AF1B37F1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B3EFF50A-ADBF-4FCD-ACE3-081AF1B37F1D}.Release|Any CPU.Build.0 = Release|Any CPU + {B3EFF50A-ADBF-4FCD-ACE3-081AF1B37F1D}.Release|Any CPU.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/SharpDevelop.sln b/src/SharpDevelop.sln index 9ba5199f1b..2cbccb232b 100644 --- a/src/SharpDevelop.sln +++ b/src/SharpDevelop.sln @@ -1,5 +1,5 @@ Microsoft Visual Studio Solution File, Format Version 9.00 -# SharpDevelop 2.1.0.1298 +# SharpDevelop 2.1.0.1472 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}" ProjectSection(SolutionItems) = postProject EndProjectSection