Browse Source

Made Help addin use the default browser view content. (moved advanced toolbar from help addin to Base)

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@316 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 21 years ago
parent
commit
6284ddd531
  1. 275
      AddIns/ICSharpCode.SharpDevelop.addin
  2. 0
      data/resources/image/BitmapResources/BitmapResources-data/Icons.16x16.ArrowDown.png
  3. 0
      data/resources/image/BitmapResources/BitmapResources-data/Icons.16x16.ArrowLeftRight.png
  4. 0
      data/resources/image/BitmapResources/BitmapResources-data/Icons.16x16.ArrowUp.png
  5. 0
      data/resources/image/BitmapResources/BitmapResources-data/Icons.16x16.BrowserHome.gif
  6. 0
      data/resources/image/BitmapResources/BitmapResources-data/Icons.16x16.BrowserWindow.png
  7. 6
      data/resources/image/BitmapResources/BitmapResources.res
  8. 1
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/DisplayDefinition.cs
  9. 2
      src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditorAddInOptions.cs
  10. 1
      src/AddIns/DisplayBindings/XmlEditor/Project/XmlView.cs
  11. 1
      src/AddIns/Misc/AddinScout/Project/Src/AddInScoutViewContent.cs
  12. 6
      src/AddIns/Misc/HtmlHelp2/Project/Configuration/AssemblyInfo.cs
  13. 35
      src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin
  14. 12
      src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.csproj
  15. BIN
      src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.Back.png
  16. BIN
      src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.Forward.png
  17. BIN
      src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.Refresh.png
  18. BIN
      src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.SearchSite.gif
  19. BIN
      src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.Stop.png
  20. 1
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs
  21. 1
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs
  22. 2
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs
  23. 1
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs
  24. 1
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs
  25. 376
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/Browser.cs
  26. 66
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs
  27. 53
      src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs
  28. 20
      src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs
  29. 50
      src/AddIns/Misc/StartPage/Project/Src/Main.cs
  30. 10
      src/AddIns/Misc/StartPage/Project/Src/StartPage.cs
  31. 2
      src/AddIns/Misc/StartPage/Project/StartPage.addin
  32. 2
      src/Libraries/ICSharpCode.Build.Tasks/Project/AssemblyInfo.cs
  33. 2
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  34. 42
      src/Main/Base/Project/Src/Commands/HelpCommands.cs
  35. 84
      src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/BrowserCommands.cs
  36. 34
      src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/BrowserLocationConditionEvaluator.cs
  37. 252
      src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs
  38. 15
      src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/SchemeExtension.cs
  39. 4
      src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageViewToolbarCommands.cs
  40. 1
      src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorDisplayBinding.cs
  41. 11
      src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/MenuItem/Gui/MenuCommand.cs
  42. 6
      src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/Gui/ToolBarComboBox.cs
  43. 9
      src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/Gui/ToolBarCommand.cs
  44. 1
      src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs
  45. BIN
      src/Main/StartUp/Project/Resources/BitmapResources.resources
  46. 3
      src/Main/StartUp/Project/SharpDevelopMain.cs
  47. 2
      src/SharpDevelop.sln

275
AddIns/ICSharpCode.SharpDevelop.addin

@ -431,17 +431,17 @@
<Condition name = "Ownerstate" ownerstate = "Missing"/> <Condition name = "Ownerstate" ownerstate = "Missing"/>
</Not> </Not>
<MenuItem id = "Add" label = "${res:ProjectComponent.ContextMenu.AddMenu}" type="Menu"> <MenuItem id = "Add" label = "${res:ProjectComponent.ContextMenu.AddMenu}" type="Menu">
<MenuItem id = "New Item" <MenuItem id = "New Item"
label = "New Item..." label = "New Item..."
icon = "Icons.16x16.NewDocumentIcon" icon = "Icons.16x16.NewDocumentIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddNewItemsToProject"/> class = "ICSharpCode.SharpDevelop.Project.Commands.AddNewItemsToProject"/>
<MenuItem id = "Existing Item" <MenuItem id = "Existing Item"
label = "Existing Item..." label = "Existing Item..."
class = "ICSharpCode.SharpDevelop.Project.Commands.AddExistingItemsToProject"/> class = "ICSharpCode.SharpDevelop.Project.Commands.AddExistingItemsToProject"/>
<MenuItem id = "NewFolder" <MenuItem id = "NewFolder"
label = "${res:ProjectComponent.ContextMenu.NewFolder}" label = "${res:ProjectComponent.ContextMenu.NewFolder}"
icon = "Icons.16x16.NewFolderIcon" icon = "Icons.16x16.NewFolderIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.AddNewFolderToProject"/> class = "ICSharpCode.SharpDevelop.Project.Commands.AddNewFolderToProject"/>
</MenuItem> </MenuItem>
<MenuItem id = "AddSeparator" type = "Separator" /> <MenuItem id = "AddSeparator" type = "Separator" />
@ -526,25 +526,25 @@
type = "CheckBox" type = "CheckBox"
icon = "OutputPad.Toolbar.ToggleWordWrap" icon = "OutputPad.Toolbar.ToggleWordWrap"
tooltip = "${res:MainWindow.Windows.CompilerMessageView.ToggleWordWrapButton.ToolTip}" tooltip = "${res:MainWindow.Windows.CompilerMessageView.ToggleWordWrapButton.ToolTip}"
class = "ICSharpCode.SharpDevelop.Gui.ToggleeMessageViewWordWrap"/> class = "ICSharpCode.SharpDevelop.Gui.ToggleMessageViewWordWrap"/>
</Path> </Path>
<Path name = "/SharpDevelop/Pads/CompilerMessageView/ContextMenu"> <Path name = "/SharpDevelop/Pads/CompilerMessageView/ContextMenu">
<MenuItem id = "Copy" <MenuItem id = "Copy"
label = "${res:XML.MainMenu.EditMenu.Copy}" label = "${res:XML.MainMenu.EditMenu.Copy}"
icon = "Icons.16x16.CopyIcon" icon = "Icons.16x16.CopyIcon"
type = "Item" type = "Item"
shortcut = "Control|C" shortcut = "Control|C"
class = "ICSharpCode.SharpDevelop.Commands.Copy"/> class = "ICSharpCode.SharpDevelop.Commands.Copy"/>
<MenuItem id = "SelectAll" <MenuItem id = "SelectAll"
label = "${res:XML.MainMenu.EditMenu.SelectAll}" label = "${res:XML.MainMenu.EditMenu.SelectAll}"
type = "Item" type = "Item"
shortcut = "Control|A" shortcut = "Control|A"
class = "ICSharpCode.SharpDevelop.Commands.SelectAll"/> class = "ICSharpCode.SharpDevelop.Commands.SelectAll"/>
<MenuItem id = "Clear" <MenuItem id = "Clear"
icon = "OutputPad.Toolbar.ClearOutputWindow" icon = "OutputPad.Toolbar.ClearOutputWindow"
label = "Clear All" label = "Clear All"
class = "ICSharpCode.SharpDevelop.Gui.ClearOutputWindow"/> class = "ICSharpCode.SharpDevelop.Gui.ClearOutputWindow"/>
</Path> </Path>
<Path name = "/SharpDevelop/Pads/ErrorList/Toolbar"> <Path name = "/SharpDevelop/Pads/ErrorList/Toolbar">
@ -649,9 +649,9 @@
class = "ICSharpCode.SharpDevelop.Commands.OpenFile"/> class = "ICSharpCode.SharpDevelop.Commands.OpenFile"/>
<ToolbarItem id = "OpenProject" <ToolbarItem id = "OpenProject"
tooltip = "${res:XML.MainMenu.FileMenu.Open.Project}" tooltip = "${res:XML.MainMenu.FileMenu.Open.Project}"
icon = "Icons.16x16.OpenProjectIcon" icon = "Icons.16x16.OpenProjectIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.LoadSolution" class = "ICSharpCode.SharpDevelop.Project.Commands.LoadSolution"
/> />
<Condition name = "ActiveWindowState" windowstate="Dirty,Untitled" nowindowstate="ViewOnly" action="Disable"> <Condition name = "ActiveWindowState" windowstate="Dirty,Untitled" nowindowstate="ViewOnly" action="Disable">
@ -743,9 +743,9 @@
<Condition name="DebuggerSupports" debuggersupports = "Stop"> <Condition name="DebuggerSupports" debuggersupports = "Stop">
<Condition name="IsProcessRunning" isdebugging="True" action="Disable"> <Condition name="IsProcessRunning" isdebugging="True" action="Disable">
<ToolbarItem id = "Stop" <ToolbarItem id = "Stop"
icon = "Icons.16x16.StopProcess" icon = "Icons.16x16.StopProcess"
tooltip = "${res:XML.MainMenu.DebugMenu.Stop.Description}" tooltip = "${res:XML.MainMenu.DebugMenu.Stop.Description}"
class = "ICSharpCode.SharpDevelop.Project.Commands.StopDebuggingCommand"/> class = "ICSharpCode.SharpDevelop.Project.Commands.StopDebuggingCommand"/>
</Condition> </Condition>
</Condition> </Condition>
@ -783,7 +783,7 @@
</Condition> </Condition>
</Condition> </Condition>
<ToolbarItem id = "ChooseConfigurationSeparator" type = "Separator"/> <ToolbarItem id = "ChooseConfigurationSeparator" type = "Separator"/>
</ComplexCondition> </ComplexCondition>
<ToolbarItem id = "ChooseLayout" <ToolbarItem id = "ChooseLayout"
type = "ComboBox" type = "ComboBox"
@ -844,10 +844,6 @@
class = "ICSharpCode.SharpDevelop.Gui.PropertyPadShowDescriptionCommand"/> class = "ICSharpCode.SharpDevelop.Gui.PropertyPadShowDescriptionCommand"/>
</Path> </Path>
<Path name = "/SharpDevelop/Workbench/MainMenu">
</Path>
<Path name = "/SharpDevelop/Dialogs/OptionsDialog"> <Path name = "/SharpDevelop/Dialogs/OptionsDialog">
<DialogPanel id = "UIOptions" <DialogPanel id = "UIOptions"
label = "${res:Dialog.Options.TreeViewOptions.SharpDevelopOptionsText}"> label = "${res:Dialog.Options.TreeViewOptions.SharpDevelopOptionsText}">
@ -885,25 +881,6 @@
</DialogPanel> </DialogPanel>
</Path> </Path>
<Path name = "/SharpDevelop/CompletionDatabaseWizard">
<DialogPanel id = "SetupPanel"
label = "${res:Dialog.Wizards.CodeCompletionDatabaseWizard.SetupPanel.Title}"
class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.CompletionDatabaseWizard.SetupPanel"/>
<DialogPanel id = "ChooseLocationPanel"
label = "${res:Dialog.Wizards.CodeCompletionDatabaseWizard.ChooseLocationPanel.Title}"
class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.CompletionDatabaseWizard.ChooseLocationPanel"/>
<DialogPanel id = "UseExistingFilePanel"
label = "${res:Dialog.Wizards.CodeCompletionDatabaseWizard.UseExistingFilePanel.Title}"
class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.CompletionDatabaseWizard.UseExistingFilePanel"/>
<DialogPanel id = "CreateDatabasePanel"
label = "${res:Dialog.Wizards.CodeCompletionDatabaseWizard.CreateDatabasePanel.Title}"
class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.CompletionDatabaseWizard.CreateDatabasePanel"/>
<DialogPanel id = "CreationSuccessful"
label = "${res:Dialog.Wizards.CodeCompletionDatabaseWizard.FinishedPanel.Title}"
class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.CompletionDatabaseWizard.CreationFinishedPanel"/>
</Path>
<Path name = "/SharpDevelop/Workbench/SharpDevelopSideBar/ContextMenu"> <Path name = "/SharpDevelop/Workbench/SharpDevelopSideBar/ContextMenu">
<Condition name = "Ownerstate" ownerstate = "TabCanBeDeleted" action="Disable"> <Condition name = "Ownerstate" ownerstate = "TabCanBeDeleted" action="Disable">
<MenuItem id = "DeleteTab" <MenuItem id = "DeleteTab"
@ -1158,9 +1135,9 @@
class = "ICSharpCode.SharpDevelop.Project.Commands.SetAsStartupProject"/> class = "ICSharpCode.SharpDevelop.Project.Commands.SetAsStartupProject"/>
<MenuItem id = "Separator2" type = "Separator" /> <MenuItem id = "Separator2" type = "Separator" />
<MenuItem id = "Options" <MenuItem id = "Options"
label = "${res:XML.MainMenu.ProjectMenu.Options}" label = "${res:XML.MainMenu.ProjectMenu.Options}"
class = "ICSharpCode.SharpDevelop.Project.Commands.ViewProjectOptions"/> class = "ICSharpCode.SharpDevelop.Project.Commands.ViewProjectOptions"/>
</MenuItem> </MenuItem>
</Condition> <!-- end PROJECT menu --> </Condition> <!-- end PROJECT menu -->
@ -1360,19 +1337,17 @@
icon = "Icons.16x16.TipOfTheDay" icon = "Icons.16x16.TipOfTheDay"
class = "ICSharpCode.SharpDevelop.Commands.ViewTipOfTheDay" /> class = "ICSharpCode.SharpDevelop.Commands.ViewTipOfTheDay" />
<!--
<MenuItem id = "Separator1" type = "Separator" /> <MenuItem id = "Separator1" type = "Separator" />
<MenuItem id = "ViewGPL" <MenuItem id = "ViewGPL"
label = "${res:XML.MainMenu.HelpMenu.GPL}" label = "${res:XML.MainMenu.HelpMenu.GPL}"
icon = "Icons.16x16.CopyLeftIcon" icon = "Icons.16x16.CopyLeftIcon"
class = "ICSharpCode.SharpDevelop.Commands.ViewGPL" /> class = "ICSharpCode.SharpDevelop.Commands.ViewGPL" />
<MenuItem id = "ViewReadme"
<MenuItem id = "ViewReadme" label = "${res:XML.MainMenu.HelpMenu.ReadMe}"
label = "${res:XML.MainMenu.HelpMenu.ReadMe}" link = "home://../doc/ReadMe.rtf" />
link = "home://../doc/ReadMe.rtf" /> <MenuItem id = "ViewStyleguide"
<MenuItem id = "ViewStyleguide"
label = "${res:XML.MainMenu.HelpMenu.StyleGuide}" label = "${res:XML.MainMenu.HelpMenu.StyleGuide}"
link = "home://../doc/CodingStyleGuide.pdf" /> link = "home://../doc/CodingStyleGuide.pdf" />
<MenuItem id = "Separator2" type = "Separator" /> <MenuItem id = "Separator2" type = "Separator" />
<MenuItem id = "Web" label = "${res:XML.MainMenu.HelpMenu.WebMenu}" type="Menu"> <MenuItem id = "Web" label = "${res:XML.MainMenu.HelpMenu.WebMenu}" type="Menu">
<MenuItem id = "SharpDevelop" label = "SharpDevelop" type="Menu"> <MenuItem id = "SharpDevelop" label = "SharpDevelop" type="Menu">
@ -1401,7 +1376,7 @@
<MenuItem id = "Mono" label = "Mono Project" icon = "Icons.16x16.WebSearchIcon" link = "http://www.go-mono.com" /> <MenuItem id = "Mono" label = "Mono Project" icon = "Icons.16x16.WebSearchIcon" link = "http://www.go-mono.com" />
<MenuItem id = "DotGNU" label = "DotGNU" icon = "Icons.16x16.WebSearchIcon" link = "http://www.dotgnu.org" /> <MenuItem id = "DotGNU" label = "DotGNU" icon = "Icons.16x16.WebSearchIcon" link = "http://www.dotgnu.org" />
</MenuItem> </MenuItem>
</MenuItem> --> </MenuItem>
<MenuItem id = "Separator3" type = "Separator" /> <MenuItem id = "Separator3" type = "Separator" />
<MenuItem id = "About" <MenuItem id = "About"
label = "${res:XML.MainMenu.HelpMenu.About}" label = "${res:XML.MainMenu.HelpMenu.About}"
@ -1458,9 +1433,9 @@
<Path name = "/SharpDevelop/Workbench/DisplayBindings"> <Path name = "/SharpDevelop/Workbench/DisplayBindings">
<DisplayBinding id = "Text" <DisplayBinding id = "Text"
insertafter = "Browser" insertafter = "Browser"
supportedformats = "Text Files,Source Files" supportedformats = "Text Files,Source Files"
class = "ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding" /> class = "ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.TextEditorDisplayBinding" />
</Path> </Path>
<Path name = "/SharpDevelop/ViewContent/DefaultTextEditor/ClassMemberContextMenu"> <Path name = "/SharpDevelop/ViewContent/DefaultTextEditor/ClassMemberContextMenu">
@ -1512,7 +1487,7 @@
icon = "Icons.16x16.CommentRegion" icon = "Icons.16x16.CommentRegion"
label = "${res:XML.TextAreaContextMenu.CommentUncommentSelection}" label = "${res:XML.TextAreaContextMenu.CommentUncommentSelection}"
class= "ICSharpCode.SharpDevelop.DefaultEditor.Commands.CommentRegion"/> class= "ICSharpCode.SharpDevelop.DefaultEditor.Commands.CommentRegion"/>
<!-- <MenuItem id = "Uncomment" <!-- <MenuItem id = "Uncomment"
icon = "Icons.16x16.UnCommentRegion" icon = "Icons.16x16.UnCommentRegion"
label = "${res:XML.TextAreaContextMenu.UncommentSelection}" label = "${res:XML.TextAreaContextMenu.UncommentSelection}"
class= "ICSharpCode.SharpDevelop.DefaultEditor.Commands.UncommentRegion"/>--> class= "ICSharpCode.SharpDevelop.DefaultEditor.Commands.UncommentRegion"/>-->
@ -1537,35 +1512,35 @@
</Path> </Path>
<Path name = "/SharpDevelop/Workbench/ToolBar/Standard"> <Path name = "/SharpDevelop/Workbench/ToolBar/Standard">
<ToolbarItem id = "SearchSeparator" type = "Separator"/> <ToolbarItem id = "SearchSeparator" type = "Separator"/>
<!-- <Condition name = "WindowActive" activewindow="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.ITextEditorControlProvider" action="Disable"> --> <!-- <Condition name = "WindowActive" activewindow="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.ITextEditorControlProvider" action="Disable"> -->
<ToolbarItem id = "Comment" <ToolbarItem id = "Comment"
icon = "Icons.16x16.CommentRegion" icon = "Icons.16x16.CommentRegion"
tooltip = "${res:XML.TextAreaContextMenu.CommentUncommentSelection}" tooltip = "${res:XML.TextAreaContextMenu.CommentUncommentSelection}"
class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.CommentRegion"/> class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.CommentRegion"/>
<!-- <ToolbarItem id = "Uncomment" <!-- <ToolbarItem id = "Uncomment"
icon = "Icons.16x16.UnCommentRegion" icon = "Icons.16x16.UnCommentRegion"
tooltip = "${res:XML.TextAreaContextMenu.UncommentSelection}" tooltip = "${res:XML.TextAreaContextMenu.UncommentSelection}"
class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.UncommentRegion"/> --> class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.UncommentRegion"/> -->
<ToolbarItem id = "SearchSeparator2" type = "Separator"/> <ToolbarItem id = "SearchSeparator2" type = "Separator"/>
<ToolbarItem id = "ToggleBookmark" <ToolbarItem id = "ToggleBookmark"
icon = "Bookmarks.ToggleMark" icon = "Bookmarks.ToggleMark"
tooltip = "${res:XML.MainMenu.SearchMenu.ToggleBookmark.Description}" tooltip = "${res:XML.MainMenu.SearchMenu.ToggleBookmark.Description}"
class = "ICSharpCode.SharpDevelop.Bookmarks.ToggleBookmark"/> class = "ICSharpCode.SharpDevelop.Bookmarks.ToggleBookmark"/>
<ToolbarItem id = "PrevBookmark" <ToolbarItem id = "PrevBookmark"
icon = "Bookmarks.GotoPrevInFile" icon = "Bookmarks.GotoPrevInFile"
tooltip = "${res:XML.MainMenu.SearchMenu.PrevBookmark.Description}" tooltip = "${res:XML.MainMenu.SearchMenu.PrevBookmark.Description}"
class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmark"/> class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmark"/>
<ToolbarItem id = "NextBookmark" <ToolbarItem id = "NextBookmark"
icon = "Bookmarks.GotoNextInFile" icon = "Bookmarks.GotoNextInFile"
tooltip = "${res:XML.MainMenu.SearchMenu.NextBookmark.Description}" tooltip = "${res:XML.MainMenu.SearchMenu.NextBookmark.Description}"
class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmark"/> class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmark"/>
<ToolbarItem id = "ClearBookmarks" <ToolbarItem id = "ClearBookmarks"
icon = "Bookmarks.ClearAll" icon = "Bookmarks.ClearAll"
tooltip = "${res:XML.MainMenu.SearchMenu.ClrBookmark.Description}" tooltip = "${res:XML.MainMenu.SearchMenu.ClrBookmark.Description}"
class = "ICSharpCode.SharpDevelop.Bookmarks.ClearBookmarks"/> class = "ICSharpCode.SharpDevelop.Bookmarks.ClearBookmarks"/>
<!-- </Condition> --> <!-- </Condition> -->
</Path> </Path>
@ -1588,37 +1563,37 @@
class = "SearchAndReplace.Replace"/> class = "SearchAndReplace.Replace"/>
<MenuItem id = "SearchInFilesSeparator" type = "Separator" /> <MenuItem id = "SearchInFilesSeparator" type = "Separator" />
<!-- <Condition name = "WindowActive" activewindow="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.ITextEditorControlProvider" action="Disable"> --> <!-- <Condition name = "WindowActive" activewindow="ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor.ITextEditorControlProvider" action="Disable"> -->
<MenuItem id = "ToggleBookmark" <MenuItem id = "ToggleBookmark"
label = "${res:XML.MainMenu.SearchMenu.ToggleBookmark}" label = "${res:XML.MainMenu.SearchMenu.ToggleBookmark}"
shortcut = "Control|F2" shortcut = "Control|F2"
icon = "Bookmarks.ToggleMark" icon = "Bookmarks.ToggleMark"
class = "ICSharpCode.SharpDevelop.Bookmarks.ToggleBookmark"/> class = "ICSharpCode.SharpDevelop.Bookmarks.ToggleBookmark"/>
<MenuItem id = "PrevBookmark" <MenuItem id = "PrevBookmark"
label = "${res:XML.MainMenu.SearchMenu.PrevBookmark}" label = "${res:XML.MainMenu.SearchMenu.PrevBookmark}"
shortcut = "Alt|F2" shortcut = "Alt|F2"
icon = "Bookmarks.GotoPrevInFile" icon = "Bookmarks.GotoPrevInFile"
class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmark"/> class = "ICSharpCode.SharpDevelop.Bookmarks.PrevBookmark"/>
<MenuItem id = "NextBookmark" <MenuItem id = "NextBookmark"
label = "${res:XML.MainMenu.SearchMenu.NextBookmark}" label = "${res:XML.MainMenu.SearchMenu.NextBookmark}"
shortcut = "F2" shortcut = "F2"
icon = "Bookmarks.GotoNextInFile" icon = "Bookmarks.GotoNextInFile"
class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmark"/> class = "ICSharpCode.SharpDevelop.Bookmarks.NextBookmark"/>
<MenuItem id = "ClearBookmarks" <MenuItem id = "ClearBookmarks"
label = "${res:XML.MainMenu.SearchMenu.ClrBookmark}" label = "${res:XML.MainMenu.SearchMenu.ClrBookmark}"
icon = "Bookmarks.ClearAll" icon = "Bookmarks.ClearAll"
class = "ICSharpCode.SharpDevelop.Bookmarks.EnableDisableAll"/> class = "ICSharpCode.SharpDevelop.Bookmarks.EnableDisableAll"/>
<MenuItem id = "Separator2" type = "Separator" /> <MenuItem id = "Separator2" type = "Separator" />
<MenuItem id = "GotoLineNr" <MenuItem id = "GotoLineNr"
label = "${res:XML.MainMenu.SearchMenu.GotoLineNr}" label = "${res:XML.MainMenu.SearchMenu.GotoLineNr}"
shortcut = "Control|G" shortcut = "Control|G"
class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.GotoLineNumber"/> class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.GotoLineNumber"/>
<MenuItem id = "Separator3" type = "Separator" /> <MenuItem id = "Separator3" type = "Separator" />
<MenuItem id = "GotoBrace" <MenuItem id = "GotoBrace"
label = "${res:XML.MainMenu.SearchMenu.GotoBrace}" label = "${res:XML.MainMenu.SearchMenu.GotoBrace}"
shortcut = "Control|B" shortcut = "Control|B"
class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.GotoMatchingBrace"/> class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.GotoMatchingBrace"/>
<!-- </Condition> --> <!-- </Condition> -->
</MenuItem> </MenuItem>
</Path> </Path>
@ -1712,6 +1687,50 @@
class = "ICSharpCode.SharpDevelop.DefaultEditor.Gui.OptionPanels.CodeCompletionPanel"/> class = "ICSharpCode.SharpDevelop.DefaultEditor.Gui.OptionPanels.CodeCompletionPanel"/>
</Path> </Path>
<Path name = "/SharpDevelop/ViewContent/Browser/Toolbar">
<ToolbarItem id = "Back"
icon = "Icons.16x16.BrowserBefore"
tooltip = "${res:AddIns.HtmlHelp2.Back}"
class = "ICSharpCode.SharpDevelop.BrowserDisplayBinding.GoBack"/>
<ToolbarItem id = "Forward"
icon = "Icons.16x16.BrowserAfter"
tooltip = "${res:AddIns.HtmlHelp2.Forward}"
class = "ICSharpCode.SharpDevelop.BrowserDisplayBinding.GoForward"/>
<ToolbarItem id = "Stop"
icon = "Icons.16x16.BrowserCancel"
tooltip = "${res:AddIns.HtmlHelp2.Stop}"
class = "ICSharpCode.SharpDevelop.BrowserDisplayBinding.Stop"/>
<ToolbarItem id = "Refresh"
icon = "Icons.16x16.BrowserRefresh"
tooltip = "${res:AddIns.HtmlHelp2.Refresh}"
class = "ICSharpCode.SharpDevelop.BrowserDisplayBinding.Refresh"/>
<ToolbarItem id = "Separator" type = "Separator"/>
<ToolbarItem id = "GoHome"
icon = "Icons.16x16.BrowserHome"
tooltip = "${res:AddIns.HtmlHelp2.Homepage}"
class = "ICSharpCode.SharpDevelop.BrowserDisplayBinding.GoHome"/>
<ToolbarItem id = "GoSearch"
icon = "Icons.16x16.FindIcon"
tooltip = "${res:AddIns.HtmlHelp2.Search}"
class = "ICSharpCode.SharpDevelop.BrowserDisplayBinding.GoSearch"/>
<ToolbarItem id = "URLComboBox"
type = "ComboBox"
tooltip = "Enter URL"
class = "ICSharpCode.SharpDevelop.BrowserDisplayBinding.UrlComboBox"/>
<ToolbarItem id = "NewWindow"
icon = "Icons.16x16.BrowserWindow"
tooltip = "${res:AddIns.HtmlHelp2.NewWindow}"
class = "ICSharpCode.SharpDevelop.BrowserDisplayBinding.NewWindow"/>
</Path>
<Path name = "/SharpDevelop/Dialogs/OptionsDialog"> <Path name = "/SharpDevelop/Dialogs/OptionsDialog">
<DialogPanel id = "TextEditorOptions" <DialogPanel id = "TextEditorOptions"
insertafter = "CodingOptions" insertafter = "CodingOptions"

0
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.NextTopic.png → data/resources/image/BitmapResources/BitmapResources-data/Icons.16x16.ArrowDown.png

Before

Width:  |  Height:  |  Size: 227 B

After

Width:  |  Height:  |  Size: 227 B

0
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.SyncToc.png → data/resources/image/BitmapResources/BitmapResources-data/Icons.16x16.ArrowLeftRight.png

Before

Width:  |  Height:  |  Size: 236 B

After

Width:  |  Height:  |  Size: 236 B

0
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.PrevTopic.png → data/resources/image/BitmapResources/BitmapResources-data/Icons.16x16.ArrowUp.png

Before

Width:  |  Height:  |  Size: 228 B

After

Width:  |  Height:  |  Size: 228 B

0
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.Home.gif → data/resources/image/BitmapResources/BitmapResources-data/Icons.16x16.BrowserHome.gif

Before

Width:  |  Height:  |  Size: 1020 B

After

Width:  |  Height:  |  Size: 1020 B

0
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.NewWindow.png → data/resources/image/BitmapResources/BitmapResources-data/Icons.16x16.BrowserWindow.png

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 263 B

6
data/resources/image/BitmapResources/BitmapResources.res

@ -52,6 +52,10 @@ Icons.16x16.OpenResourceFolder = ProjectBrowserIcons\Property
Icons.16x16.ClosedResourceFolder = ProjectBrowserIcons\PropertyFolder.Closed.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.Debug.Start = DebuggerIcons\Icons.16x16.Debug.Start.png Icons.16x16.Debug.Start = DebuggerIcons\Icons.16x16.Debug.Start.png
Icons.16x16.Debug.StartWithoutDebugging = DebuggerIcons\Icons.16x16.Debug.StartWithoutDebugging.png Icons.16x16.Debug.StartWithoutDebugging = DebuggerIcons\Icons.16x16.Debug.StartWithoutDebugging.png
Icons.16x16.Debug.StopProcess = DebuggerIcons\Icons.16x16.Debug.StopProcess.png Icons.16x16.Debug.StopProcess = DebuggerIcons\Icons.16x16.Debug.StopProcess.png
@ -89,6 +93,8 @@ Icons.16x16.CloseAllDocuments = BitmapResources-data\Icons.1
Icons.16x16.HtmlElements.InputRadioElement = BitmapResources-data\Icons.16x16.HtmlElements.InputRadioElement.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.FormsDesigner.SendToBack = BitmapResources-data\Icons.16x16.FormsDesigner.SendToBack.png
Icons.16x16.BrowserAfter = BitmapResources-data\Icons.16x16.BrowserAfter.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.SharpDevelopIcon = BitmapResources-data\Icons.SharpDevelopIcon.ico
Icons.16x16.HtmlElements.InputPasswordElement = BitmapResources-data\Icons.16x16.HtmlElements.InputPasswordElement.png Icons.16x16.HtmlElements.InputPasswordElement = BitmapResources-data\Icons.16x16.HtmlElements.InputPasswordElement.png
Icons.16x16.HtmlElements.InputCheckBoxElement = BitmapResources-data\Icons.16x16.HtmlElements.InputCheckBoxElement.png Icons.16x16.HtmlElements.InputCheckBoxElement = BitmapResources-data\Icons.16x16.HtmlElements.InputCheckBoxElement.png

1
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/DisplayDefinition.cs

@ -79,6 +79,7 @@ namespace ResourceEditor
public override void Dispose() public override void Dispose()
{ {
base.Dispose();
resourceEditor.Dispose(); resourceEditor.Dispose();
} }

2
src/AddIns/DisplayBindings/XmlEditor/Project/XmlEditorAddInOptions.cs

@ -53,7 +53,7 @@ namespace ICSharpCode.XmlEditor
public static event PropertyChangedEventHandler PropertyChanged { public static event PropertyChangedEventHandler PropertyChanged {
add { Properties.PropertyChanged += value; } add { Properties.PropertyChanged += value; }
remove { Properties.PropertyChanged += value; } remove { Properties.PropertyChanged -= value; }
} }
#region Properties #region Properties

1
src/AddIns/DisplayBindings/XmlEditor/Project/XmlView.cs

@ -162,6 +162,7 @@ namespace ICSharpCode.XmlEditor
public override void Dispose() public override void Dispose()
{ {
base.Dispose();
((Form)ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.Workbench).Activated -= new EventHandler(GotFocusEvent); ((Form)ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.Workbench).Activated -= new EventHandler(GotFocusEvent);
XmlEditorAddInOptions.PropertyChanged -= PropertyChanged; XmlEditorAddInOptions.PropertyChanged -= PropertyChanged;

1
src/AddIns/Misc/AddinScout/Project/Src/AddInScoutViewContent.cs

@ -35,6 +35,7 @@ namespace AddInScout
public override void Dispose() public override void Dispose()
{ {
base.Dispose();
control.Dispose(); control.Dispose();
} }

6
src/AddIns/Misc/HtmlHelp2/Project/Configuration/AssemblyInfo.cs

@ -1,4 +1,4 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following // Information about this assembly is defined by the following
@ -12,7 +12,7 @@ using System.Runtime.CompilerServices;
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Cube")] [assembly: AssemblyCompany("Cube")]
[assembly: AssemblyProduct("SharpDevelop")] [assembly: AssemblyProduct("SharpDevelop")]
[assembly: AssemblyCopyright("Copyright © 2005 Mathias Simmack")] [assembly: AssemblyCopyright("Copyright ? 2005 Mathias Simmack")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
@ -23,7 +23,7 @@ using System.Runtime.CompilerServices;
// You can specify all values by your own or you can build default build and revision // You can specify all values by your own or you can build default build and revision
// numbers with the '*' character (the default): // numbers with the '*' character (the default):
[assembly: AssemblyVersion("2.0.0.4")] [assembly: AssemblyVersion("2.0.0.1")]
// The following attributes specify the key for the sign of your assembly. See the // The following attributes specify the key for the sign of your assembly. See the
// .NET Framework documentation for more information about signing. // .NET Framework documentation for more information about signing.

35
src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.addin

@ -56,7 +56,7 @@
shortcut = "Control|F1" shortcut = "Control|F1"
class = "HtmlHelp2.ShowDynamicHelpMenuCommand"/> --> class = "HtmlHelp2.ShowDynamicHelpMenuCommand"/> -->
<MenuItem id = "TocPadCommand" <MenuItem id = "TocPadCommand"
insertafter = "DynamicHelp" insertafter = "Separator1"
label = "${res:AddIns.HtmlHelp2.Contents}" label = "${res:AddIns.HtmlHelp2.Contents}"
icon = "HtmlHelp2.16x16.Toc" icon = "HtmlHelp2.16x16.Toc"
shortcut = "Control|Alt|F1" shortcut = "Control|Alt|F1"
@ -79,7 +79,7 @@
shortcut = "Control|Alt|F" shortcut = "Control|Alt|F"
class = "HtmlHelp2.ShowFavoritesMenuCommand" class = "HtmlHelp2.ShowFavoritesMenuCommand"
insertafter = "SearchPadCommand"/> insertafter = "SearchPadCommand"/>
<MenuItem id = "HtmlHelp2Separator2" <MenuItem id = "HtmlHelp2Separator1"
type = "Separator" type = "Separator"
insertafter = "FavoritesPadCommand"/> insertafter = "FavoritesPadCommand"/>
<MenuItem id = "IndexResultsPadCommand" <MenuItem id = "IndexResultsPadCommand"
@ -87,19 +87,36 @@
icon = "HtmlHelp2.16x16.IndexResults" icon = "HtmlHelp2.16x16.IndexResults"
shortcut = "Shift|Alt|F2" shortcut = "Shift|Alt|F2"
class = "HtmlHelp2.ShowIndexResultsMenuCommand" class = "HtmlHelp2.ShowIndexResultsMenuCommand"
insertafter = "HtmlHelp2Separator2"/> insertafter = "HtmlHelp2Separator1"/>
<MenuItem id = "SearchResultsPadCommand" <MenuItem id = "SearchResultsPadCommand"
label = "${res:AddIns.HtmlHelp2.SearchResults}" label = "${res:AddIns.HtmlHelp2.SearchResults}"
icon = "HtmlHelp2.16x16.SearchResults" icon = "HtmlHelp2.16x16.SearchResults"
shortcut = "Shift|Alt|F3" shortcut = "Shift|Alt|F3"
class = "HtmlHelp2.ShowSearchResultsMenuCommand" class = "HtmlHelp2.ShowSearchResultsMenuCommand"
insertbefore = "Separator1"
insertafter = "IndexResultsPadCommand"/> insertafter = "IndexResultsPadCommand"/>
<MenuItem id = "HtmlHelp2Separator2"
type = "Separator"
insertafter = "SearchResultsPadCommand"
insertbefore = "ViewGPL"/>
</Path> </Path>
<!--<Path name = "/SharpDevelop/Workbench/DisplayBindings"> <Path name = "/SharpDevelop/ViewContent/Browser/Toolbar">
<DisplayBinding id = "HtmlHelp2BrowserControlBinding" <Condition name = "BrowserLocation" urlRegex = "^ms-help:\/\/" action="Exclude">
supportedformats = "Web Pages" <ToolbarItem id = "SyncHelpTopic"
class = "HtmlHelp2Browser.HtmlHelp2BrowserControlBinding"/> icon = "Icons.16x16.ArrowLeftRight"
</Path> --> tooltip = "${res:AddIns.HtmlHelp2.SyncTOC}"
class = "HtmlHelp2.SyncTocCommand"
insertafter = "NewWindow"/>
<ToolbarItem id = "PreviousHelpTopic"
icon = "Icons.16x16.ArrowUp"
tooltip = "${res:AddIns.HtmlHelp2.PreviousTopic}"
class = "HtmlHelp2.PreviousTopicCommand"
insertafter = "SyncHelpTopic"/>
<ToolbarItem id = "NextHelpTopic"
icon = "Icons.16x16.ArrowDown"
tooltip = "${res:AddIns.HtmlHelp2.NextTopic}"
class = "HtmlHelp2.NextTopicCommand"
insertafter = "PreviousHelpTopic"/>
</Condition>
</Path>
</AddIn> </AddIn>

12
src/AddIns/Misc/HtmlHelp2/Project/HtmlHelp2.csproj

@ -42,7 +42,6 @@
<Compile Include="src\BaseControls\IndexResultsPad.cs" /> <Compile Include="src\BaseControls\IndexResultsPad.cs" />
<Compile Include="src\BaseControls\SearchPad.cs" /> <Compile Include="src\BaseControls\SearchPad.cs" />
<Compile Include="src\BaseControls\SearchResultsPad.cs" /> <Compile Include="src\BaseControls\SearchResultsPad.cs" />
<Compile Include="src\BrowserControl\Browser.cs" />
<Compile Include="src\BrowserControl\ShowHelpBrowser.cs" /> <Compile Include="src\BrowserControl\ShowHelpBrowser.cs" />
<None Include="HtmlHelp2.addin"> <None Include="HtmlHelp2.addin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
@ -62,16 +61,7 @@
<EmbeddedResource Include="Resources\HtmlHelp2Options.xfrm" /> <EmbeddedResource Include="Resources\HtmlHelp2Options.xfrm" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.TextZoom.png" /> <EmbeddedResource Include="Resources\HtmlHelp2.16x16.TextZoom.png" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.AddToFavorites.png" /> <EmbeddedResource Include="Resources\HtmlHelp2.16x16.AddToFavorites.png" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Back.png" /> <Compile Include="src\BrowserControl\HelpBrowserCommands.cs" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Forward.png" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Home.gif" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.NewWindow.png" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.NextTopic.png" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.PrevTopic.png" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Refresh.png" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.SearchSite.gif" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.Stop.png" />
<EmbeddedResource Include="Resources\HtmlHelp2.16x16.SyncToc.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj"> <ProjectReference Include="..\..\..\..\Main\Base\Project\ICSharpCode.SharpDevelop.csproj">

BIN
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.Back.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 B

BIN
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.Forward.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 226 B

BIN
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.Refresh.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 700 B

BIN
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.SearchSite.gif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/AddIns/Misc/HtmlHelp2/Project/Resources/HtmlHelp2.16x16.Stop.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 730 B

1
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs

@ -17,7 +17,6 @@ namespace HtmlHelp2
using MSHelpControls; using MSHelpControls;
using MSHelpServices; using MSHelpServices;
using HtmlHelp2Service; using HtmlHelp2Service;
using HtmlHelp2Browser;
public class ShowIndexMenuCommand : AbstractMenuCommand public class ShowIndexMenuCommand : AbstractMenuCommand

1
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs

@ -14,7 +14,6 @@ namespace HtmlHelp2
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
using MSHelpServices; using MSHelpServices;
using HtmlHelp2Browser;
using HtmlHelp2Service; using HtmlHelp2Service;

2
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs

@ -112,7 +112,7 @@ namespace HtmlHelp2
hiliteTopics.Top = reuseMatches.Top + reuseMatches.Height - 4; hiliteTopics.Top = reuseMatches.Top + reuseMatches.Height - 4;
hiliteTopics.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.HighlightMatches}"); hiliteTopics.Text = StringParser.Parse("${res:AddIns.HtmlHelp2.HighlightMatches}");
hiliteTopics.TextAlign = ContentAlignment.MiddleLeft; hiliteTopics.TextAlign = ContentAlignment.MiddleLeft;
hiliteTopics.Enabled = HtmlHelp2Environment.IsReady; hiliteTopics.Enabled = true;
panel3.Dock = DockStyle.Fill; panel3.Dock = DockStyle.Fill;

1
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchResultsPad.cs

@ -14,7 +14,6 @@ namespace HtmlHelp2
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
using MSHelpServices; using MSHelpServices;
using HtmlHelp2Browser;
using HtmlHelp2Service; using HtmlHelp2Service;

1
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs

@ -20,7 +20,6 @@ namespace HtmlHelp2
using MSHelpControls; using MSHelpControls;
using MSHelpServices; using MSHelpServices;
using HtmlHelp2Service; using HtmlHelp2Service;
using HtmlHelp2Browser;
public class ShowTocMenuCommand : AbstractMenuCommand public class ShowTocMenuCommand : AbstractMenuCommand

376
src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/Browser.cs

@ -1,376 +0,0 @@
/* ***********************************************************
*
* Help 2.0 Environment for SharpDevelop
* Browser Control
* Based on "HtmlViewPane.cs" by Mike Krueger
*
* ********************************************************* */
//#define ChangeTopics_BringPadToFront
namespace HtmlHelp2Browser
{
using System;
using System.ComponentModel;
using System.Drawing;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.BrowserDisplayBinding;
using HtmlHelp2;
using HtmlHelp2Service;
public class HtmlHelp2BrowserPane : AbstractViewContent
{
protected HtmlHelp2BrowserControl help2Browser;
public override Control Control {
get {
return help2Browser;
}
}
public override bool IsDirty {
get {
return false;
}
set {
}
}
public override bool IsViewOnly {
get {
return true;
}
}
public HtmlHelp2BrowserPane(string fileName)
{
help2Browser = new HtmlHelp2BrowserControl();
help2Browser.AxWebBrowser.DocumentTitleChanged += new EventHandler(TitleChanged);
if(fileName != null) this.Load(fileName);
else this.Load("about:blank");
}
public override void Load(string url)
{
help2Browser.Navigate(url);
this.FileName = url;
}
public override void Save(string url)
{
Load(url);
}
void TitleChanged(object sender, EventArgs e)
{
this.TitleName = help2Browser.AxWebBrowser.DocumentTitle;
this.FileName = help2Browser.AxWebBrowser.Url.ToString();
}
}
public class HtmlHelp2BrowserControl : UserControl
{
ExtendedWebBrowser axWebBrowser = null;
ToolStripButton goBack = new ToolStripButton();
ToolStripButton goForward = new ToolStripButton();
ToolStripButton stopSite = new ToolStripButton();
ToolStripButton refreshSite = new ToolStripButton();
ToolStripButton homePage = new ToolStripButton();
ToolStripButton searchPage = new ToolStripButton();
ToolStripButton addToFavorites = new ToolStripButton();
ToolStripComboBox urlTextbox = new ToolStripComboBox();
ToolStripButton newWindow = new ToolStripButton();
ToolStripButton syncToc = new ToolStripButton();
ToolStripButton prevTocTopic = new ToolStripButton();
ToolStripButton nextTocTopic = new ToolStripButton();
// int zoomFactor = 2;
public WebBrowser AxWebBrowser
{
get {
return axWebBrowser;
}
}
public HtmlHelp2BrowserControl()
{
Size = new Size(800, 800);
Dock = DockStyle.Fill;
axWebBrowser = new ExtendedWebBrowser();
axWebBrowser.Dock = DockStyle.Fill;
axWebBrowser.StatusTextChanged += new EventHandler(this.StatusTextChanged);
axWebBrowser.Navigating += new WebBrowserNavigatingEventHandler(this.BeforeNavigating);
axWebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(this.DocumentCompleted);
axWebBrowser.NewWindowExtended += new NewWindowExtendedEventHandler(this.NewBrowserWindow);
Controls.Add(axWebBrowser);
ToolStrip toolStrip = new ToolStrip();
toolStrip.Dock = DockStyle.Top;
toolStrip.AllowItemReorder = false;
Controls.Add(toolStrip);
toolStrip.Items.Add(goBack);
goBack.Click += new EventHandler(this.GoBack);
goBack.Enabled = false;
goBack.ImageIndex = 0;
toolStrip.Items.Add(goForward);
goForward.Click += new EventHandler(this.GoForward);
goForward.Enabled = false;
goForward.ImageIndex = 1;
toolStrip.Items.Add(stopSite);
stopSite.Click += new EventHandler(this.StopPageLoading);
stopSite.Enabled = false;
stopSite.ImageIndex = 2;
toolStrip.Items.Add(refreshSite);
refreshSite.Click += new EventHandler(this.RefreshPage);
refreshSite.ImageIndex = 3;
toolStrip.Items.Add(homePage);
homePage.Click += new EventHandler(this.CallHomepage);
homePage.ImageIndex = 4;
toolStrip.Items.Add(new ToolStripSeparator());
toolStrip.Items.Add(searchPage);
searchPage.Click += new EventHandler(this.CallSearchpage);
searchPage.ImageIndex = 5;
toolStrip.Items.Add(addToFavorites);
addToFavorites.Click += new EventHandler(this.AddToHelpFavorites);
addToFavorites.Enabled = false;
addToFavorites.ImageIndex = 6;
toolStrip.Items.Add(new ToolStripSeparator());
toolStrip.Items.Add(urlTextbox);
urlTextbox.AutoCompleteMode = AutoCompleteMode.Suggest;
urlTextbox.AutoCompleteSource = AutoCompleteSource.HistoryList;
urlTextbox.DropDownWidth = 300;
urlTextbox.Size = new Size(300, toolStrip.Items[0].Height);
urlTextbox.KeyDown += new KeyEventHandler(this.UrlTextboxKeyDown);
urlTextbox.SelectedIndexChanged += new EventHandler(this.UrlTextboxSelectedIndexChanged);
toolStrip.Items.Add(new ToolStripSeparator());
toolStrip.Items.Add(newWindow);
newWindow.Click += new EventHandler(this.NewHelpWindow);
newWindow.ImageIndex = 7;
toolStrip.Items.Add(syncToc);
syncToc.Click += new EventHandler(this.SyncToc);
syncToc.Enabled = false;
syncToc.ImageIndex = 8;
toolStrip.Items.Add(new ToolStripSeparator());
toolStrip.Items.Add(prevTocTopic);
prevTocTopic.Click += new EventHandler(this.PreviousTocTopic);
prevTocTopic.Enabled = false;
prevTocTopic.ImageIndex = 9;
toolStrip.Items.Add(nextTocTopic);
nextTocTopic.Click += new EventHandler(this.NextTocTopic);
nextTocTopic.Enabled = false;
nextTocTopic.ImageIndex = 10;
// TODO: name those buttons :o)
toolStrip.ImageList = new ImageList();
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Back.png"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Forward.png"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Stop.png"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Refresh.png"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.Home.gif"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.SearchSite.gif"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.AddToFavorites.png"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.NewWindow.png"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.SyncToc.png"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.PrevTopic.png"));
toolStrip.ImageList.Images.Add(ResourcesHelper.GetBitmap("HtmlHelp2.16x16.NextTopic.png"));
}
#region WebBrowser Events
private void StatusTextChanged(object sender, EventArgs e)
{
StatusBarService.SetMessage(axWebBrowser.StatusText);
}
private void BeforeNavigating(object sender, WebBrowserNavigatingEventArgs e)
{
stopSite.Enabled = true;
}
private void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
// try {
// object arg = System.Reflection.Missing.Value;
// object dummy = 0;
//
// axWebBrowser.ExecWB(SHDocVw.OLECMDID.OLECMDID_ZOOM,
// SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER,
// ref arg,
// ref dummy);
//
// zoomFactor = (int)dummy;
// }
// catch {
// }
PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad));
// update URL textbox
string currentUrl = e.Url.ToString();
urlTextbox.Text = currentUrl;
// update toolbar
goBack.Enabled = axWebBrowser.CanGoBack;
goForward.Enabled = axWebBrowser.CanGoForward;
stopSite.Enabled = false;
addToFavorites.Enabled = currentUrl.StartsWith("ms-help://");
syncToc.Enabled = addToFavorites.Enabled;
prevTocTopic.Enabled = (toc == null || ((HtmlHelp2TocPad)toc.PadContent).IsNotFirstNode);
nextTocTopic.Enabled = (toc == null || ((HtmlHelp2TocPad)toc.PadContent).IsNotLastNode);
// hilite (full-text search only!)
ShowHelpBrowser.HighlightDocument();
}
private void NewBrowserWindow(object sender, NewWindowExtendedEventArgs e)
{
HtmlHelp2BrowserPane help2Browser = new HtmlHelp2BrowserPane("");
WorkbenchSingleton.Workbench.ShowView(help2Browser);
help2Browser.WorkbenchWindow.SelectWindow();
ExtendedWebBrowser newBrowser = (ExtendedWebBrowser)((HtmlHelp2BrowserControl)help2Browser.Control).AxWebBrowser;
newBrowser.Navigate(e.Url);
e.Cancel = true;
}
#endregion
#region Toolbar Command
public void Navigate(string url)
{
this.AddTermToList(url);
axWebBrowser.Navigate(url);
}
private void GoBack(object sender, EventArgs e)
{
if(axWebBrowser.CanGoBack) axWebBrowser.GoBack();
}
private void GoForward(object sender, EventArgs e)
{
if(axWebBrowser.CanGoForward) axWebBrowser.GoForward();
}
private void StopPageLoading(object sender, EventArgs e)
{
axWebBrowser.Stop();
}
private void RefreshPage(object sender, EventArgs e)
{
axWebBrowser.Refresh();
}
private void CallHomepage(object sender, EventArgs e)
{
this.Navigate(HtmlHelp2Environment.DefaultPage);
}
private void CallSearchpage(object sender, EventArgs e)
{
this.Navigate(HtmlHelp2Environment.SearchPage);
}
private void AddToHelpFavorites(object sender, EventArgs e)
{
PadDescriptor favorites = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2FavoritesPad));
if(favorites != null) {
((HtmlHelp2FavoritesPad)favorites.PadContent).AddToFavorites(axWebBrowser.DocumentTitle, axWebBrowser.Url.ToString());
}
}
private void NewHelpWindow(object sender, EventArgs e)
{
if(axWebBrowser.Url != null) {
HtmlHelp2BrowserPane newPage = ShowHelpBrowser.CreateNewHelp2BrowserView();
newPage.Load(axWebBrowser.Url.ToString());
}
}
private void SyncToc(object sender, EventArgs e)
{
if(axWebBrowser.Url != null) {
PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad));
if(toc != null) {
((HtmlHelp2TocPad)toc.PadContent).SyncToc(axWebBrowser.Url.ToString());
toc.BringPadToFront();
}
}
}
private void PreviousTocTopic(object sender, EventArgs e)
{
PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad));
if(toc != null) {
((HtmlHelp2TocPad)toc.PadContent).GetPrevFromNode();
#if ChangeTopics_BringPadToFront
((HtmlHelp2TocPad)toc.PadContent).BringPadToFront();
#endif
}
}
private void NextTocTopic(object sender, EventArgs e)
{
PadDescriptor toc = WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad));
if(toc != null) {
((HtmlHelp2TocPad)toc.PadContent).GetNextFromNode();
#if ChangeTopics_BringPadToFront
((HtmlHelp2TocPad)toc.PadContent).BringPadToFront();
#endif
}
}
// public void ZoomText()
// {
//// try {
//// zoomFactor = (zoomFactor == 4)?0:zoomFactor+1;
//// object zoomArg = zoomFactor;
//// object dummy = System.Reflection.Missing.Value;
////
//// axWebBrowser.ExecWB(SHDocVw.OLECMDID.OLECMDID_ZOOM,
//// SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER,
//// ref zoomArg,
//// ref dummy);
//// }
//// catch {
//// }
// }
#endregion
#region UrlTextbox
private void UrlTextboxKeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Enter && urlTextbox.Text != "") {
this.AddTermToList(urlTextbox.Text);
this.Navigate(urlTextbox.Text);
}
}
private void UrlTextboxSelectedIndexChanged(object sender, EventArgs e)
{
string selectedUrl = urlTextbox.SelectedItem.ToString();
if(selectedUrl != "") {
this.Navigate(selectedUrl);
}
}
private void AddTermToList(string searchText)
{
if(searchText == "") return;
if(urlTextbox.Items.IndexOf(searchText) == -1) {
urlTextbox.Items.Insert(0, searchText);
if(urlTextbox.Items.Count > 10) urlTextbox.Items.RemoveAt(10);
urlTextbox.SelectedIndex = 0;
}
}
#endregion
}
}

66
src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/HelpBrowserCommands.cs

@ -0,0 +1,66 @@
/*
* Created by SharpDevelop.
* User: Daniel Grunwald
* Date: 05.08.2005
* Time: 18:41
*/
using System;
using System.Drawing;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.BrowserDisplayBinding;
namespace HtmlHelp2
{
public abstract class HelpToolbarCommand : AbstractCommand
{
public HtmlHelp2TocPad TocPad {
get {
return (HtmlHelp2TocPad)WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)).PadContent;
}
}
public WebBrowser Browser {
get {
return ((HtmlViewPane)Owner).WebBrowser;
}
}
public void BringTocPadToFront()
{
WorkbenchSingleton.Workbench.GetPad(typeof(HtmlHelp2TocPad)).BringPadToFront();
}
}
public class SyncTocCommand : HelpToolbarCommand
{
public override void Run()
{
TocPad.SyncToc(Browser.Url.ToString());
BringTocPadToFront();
}
}
public class PreviousTopicCommand : HelpToolbarCommand
{
public override void Run()
{
TocPad.GetPrevFromNode();
BringTocPadToFront();
}
}
public class NextTopicCommand : HelpToolbarCommand
{
public override void Run()
{
TocPad.GetNextFromNode();
BringTocPadToFront();
}
}
}

53
src/AddIns/Misc/HtmlHelp2/Project/src/BrowserControl/ShowHelpBrowser.cs

@ -11,11 +11,10 @@ namespace HtmlHelp2
{ {
using System; using System;
using ICSharpCode.SharpDevelop.Gui; using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.BrowserDisplayBinding;
using MSHelpServices; using MSHelpServices;
using HtmlHelp2Browser;
public static class ShowHelpBrowser
public sealed class ShowHelpBrowser
{ {
static bool hiliteMatches = false; static bool hiliteMatches = false;
static IHxTopic lastTopic = null; static IHxTopic lastTopic = null;
@ -39,7 +38,7 @@ namespace HtmlHelp2
{ {
hiliteMatches = hiliteMatchingWords; hiliteMatches = hiliteMatchingWords;
lastTopic = topic; lastTopic = topic;
HtmlHelp2BrowserPane help2Browser = GetActiveHelp2BrowserView(); BrowserPane help2Browser = GetActiveHelp2BrowserView();
if(help2Browser != null) { if(help2Browser != null) {
help2Browser.Load(topicUrl); help2Browser.Load(topicUrl);
@ -47,52 +46,40 @@ namespace HtmlHelp2
} }
} }
public static HtmlHelp2BrowserPane GetActiveHelp2BrowserView() public static BrowserPane GetActiveHelp2BrowserView()
{ {
HtmlHelp2BrowserPane tempPane = null;
IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;
if(window != null && window.ActiveViewContent is HtmlHelp2BrowserPane) { if(window != null) {
tempPane = (HtmlHelp2BrowserPane)window.ActiveViewContent; BrowserPane browserPane = window.ActiveViewContent as BrowserPane;
return tempPane; if (browserPane != null && browserPane.Url.Scheme == "ms-help")
return browserPane;
} }
foreach(IViewContent view in WorkbenchSingleton.Workbench.ViewContentCollection) { foreach(IViewContent view in WorkbenchSingleton.Workbench.ViewContentCollection) {
if(view is HtmlHelp2BrowserPane) { BrowserPane browserPane = view as BrowserPane;
tempPane = (HtmlHelp2BrowserPane)view; if (browserPane != null && browserPane.Url.Scheme == "ms-help")
return tempPane; return browserPane;
}
} }
return CreateNewHelp2BrowserView();
tempPane = CreateNewHelp2BrowserView();
return tempPane;
} }
public static HtmlHelp2BrowserPane CreateNewHelp2BrowserView() public static BrowserPane CreateNewHelp2BrowserView()
{ {
HtmlHelp2BrowserPane tempPane = new HtmlHelp2BrowserPane(""); BrowserPane tempPane = new BrowserPane();
WorkbenchSingleton.Workbench.ShowView(tempPane); WorkbenchSingleton.Workbench.ShowView(tempPane);
return tempPane; return tempPane;
} }
public static void HighlightDocument() public static void HighlightDocument()
{ {
if(hiliteMatches && lastTopic != null) { // FIXME: HighlightDocument is called nowhere
try { if (hiliteMatches && lastTopic != null) {
IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;
if(window != null && window.ActiveViewContent is HtmlHelp2BrowserPane) { if(window != null && window.ActiveViewContent is BrowserPane) {
HtmlHelp2BrowserPane help2Browser = (HtmlHelp2BrowserPane)window.ActiveViewContent; BrowserPane help2Browser = (BrowserPane)window.ActiveViewContent;
HtmlHelp2BrowserControl browserControl = (HtmlHelp2BrowserControl)help2Browser.Control; lastTopic.HighlightDocument(help2Browser.HtmlViewPane.WebBrowser.Document.DomDocument);
lastTopic.HighlightDocument(browserControl.AxWebBrowser.Document);
}
}
catch {
} }
} }
} }
ShowHelpBrowser()
{
}
} }
} }

20
src/AddIns/Misc/HtmlHelp2/Project/src/Service/HtmlHelp2Service.cs

@ -26,7 +26,7 @@ namespace HtmlHelp2Service
static IHxRegFilterList namespaceFilters = null; static IHxRegFilterList namespaceFilters = null;
static IHxQuery fulltextSearch = null; static IHxQuery fulltextSearch = null;
static IHxQuery dynamicHelp = null; static IHxQuery dynamicHelp = null;
static string fidalgoNamespaceName = "Corsavy"; static string fidalgoNamespaceName = "Fidalgo";
static string currentSelectedFilterQuery = ""; static string currentSelectedFilterQuery = "";
static string currentSelectedFilterName = ""; static string currentSelectedFilterName = "";
static string defaultPage = "about:blank"; static string defaultPage = "about:blank";
@ -175,12 +175,8 @@ namespace HtmlHelp2Service
private static void ReloadDefaultPages() private static void ReloadDefaultPages()
{ {
try { defaultPage = GetDefaultPage("HomePage", "DefaultPage", "about:blank");
defaultPage = GetDefaultPage("HomePage", "DefaultPage", "about:blank"); searchPage = GetDefaultPage("SearchHelpPage", "SearchWebPage", "http://msdn.microsoft.com");
searchPage = GetDefaultPage("SearchHelpPage", "SearchWebPage", "http://msdn.microsoft.com");
}
catch {
}
} }
private static string GetDefaultPage(string pageName, string alternatePageName, string defaultValue) private static string GetDefaultPage(string pageName, string alternatePageName, string defaultValue)
@ -197,13 +193,15 @@ namespace HtmlHelp2Service
topics = namedUrlIndex.GetTopicsFromString(alternatePageName, 0); topics = namedUrlIndex.GetTopicsFromString(alternatePageName, 0);
} }
if(topics.Count > 0) resultString = topics.ItemAt(1).URL; if(topics.Count > 0)
else resultString = defaultValue; resultString = topics.ItemAt(1).URL;
if (resultString == null || resultString.Length == 0)
resultString = defaultValue;
return resultString; return resultString;
} }
catch { catch {
return ""; return defaultValue;
} }
} }
@ -248,7 +246,7 @@ namespace HtmlHelp2Service
if(namespaceFilters.Count == 0) filterCombobox.Items.Add(StringParser.Parse("${res:AddIns.HtmlHelp2.DefaultEmptyFilter}")); if(namespaceFilters.Count == 0) filterCombobox.Items.Add(StringParser.Parse("${res:AddIns.HtmlHelp2.DefaultEmptyFilter}"));
if(currentSelectedFilterName == "") filterCombobox.SelectedIndex = 0; if(currentSelectedFilterName == "") filterCombobox.SelectedIndex = 0;
else filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(currentSelectedFilterName); else filterCombobox.SelectedIndex = filterCombobox.Items.IndexOf(currentSelectedFilterName);
} }
catch { catch {
} }

50
src/AddIns/Misc/StartPage/Project/Src/Main.cs

@ -18,39 +18,37 @@ using ICSharpCode.SharpDevelop.BrowserDisplayBinding;
namespace ICSharpCode.StartPage namespace ICSharpCode.StartPage
{ {
/// <summary>
/// This is the ViewContent implementation for the Start Page.
/// </summary>
public class StartPageView : BrowserPane
{
public StartPageView() : base(new Uri("startpage://start/"))
{
ProjectService.SolutionLoaded += HandleCombineOpened;
}
void HandleCombineOpened(object sender, SolutionEventArgs e)
{
WorkbenchWindow.CloseWindow(true);
}
public override void Dispose()
{
ProjectService.SolutionLoaded -= HandleCombineOpened;
base.Dispose();
}
}
public class ShowStartPageCommand : AbstractMenuCommand public class ShowStartPageCommand : AbstractMenuCommand
{ {
static bool isFirstStartPage = true;
public override void Run() public override void Run()
{ {
if (isFirstStartPage) {
isFirstStartPage = false;
ProjectService.SolutionLoaded += delegate {
// close all start pages when loading a solution
foreach (IViewContent v in WorkbenchSingleton.Workbench.ViewContentCollection.ToArray()) {
BrowserPane b = v as BrowserPane;
if (b != null) {
if (b.Url.Scheme == "startpage") {
b.WorkbenchWindow.CloseWindow(true);
}
}
}
};
}
foreach (IViewContent view in WorkbenchSingleton.Workbench.ViewContentCollection) { foreach (IViewContent view in WorkbenchSingleton.Workbench.ViewContentCollection) {
if (view is StartPageView) { BrowserPane b = view as BrowserPane;
view.WorkbenchWindow.SelectWindow(); if (b != null) {
return; if (b.Url.Scheme == "startpage") {
view.WorkbenchWindow.SelectWindow();
return;
}
} }
} }
WorkbenchSingleton.Workbench.ShowView(new StartPageView()); WorkbenchSingleton.Workbench.ShowView(new BrowserPane(new Uri("startpage://start/")));
} }
} }
} }

10
src/AddIns/Misc/StartPage/Project/Src/StartPage.cs

@ -36,5 +36,15 @@ namespace ICSharpCode.StartPage
pane.WebBrowser.DocumentText = page.Render(host); pane.WebBrowser.DocumentText = page.Render(host);
} }
} }
public void GoHome(HtmlViewPane pane)
{
pane.Navigate("startpage://start/");
}
public void GoSearch(HtmlViewPane pane)
{
pane.Navigate(HtmlViewPane.DefaultSearchUrl);
}
} }
} }

2
src/AddIns/Misc/StartPage/Project/StartPage.addin

@ -14,13 +14,13 @@
insertafter = "ViewItemsSeparator" insertafter = "ViewItemsSeparator"
insertbefore = "StartPageSeparator" insertbefore = "StartPageSeparator"
label = "${res:XML.MainMenu.ViewMenu.ShowStartPage}" label = "${res:XML.MainMenu.ViewMenu.ShowStartPage}"
icon = "Icons.16x16.BrowserWindow"
class = "ICSharpCode.StartPage.ShowStartPageCommand"/> class = "ICSharpCode.StartPage.ShowStartPageCommand"/>
<MenuItem id = "StartPageSeparator" <MenuItem id = "StartPageSeparator"
insertbefore = "FullScreen" insertbefore = "FullScreen"
type = "Separator"/> type = "Separator"/>
</Path> </Path>
<!-- TODO: Conditional to reflect Settings option -->
<Path name = "/Workspace/AutostartNothingLoaded"> <Path name = "/Workspace/AutostartNothingLoaded">
<Class id = "ShowStartPageCommand" <Class id = "ShowStartPageCommand"
class = "ICSharpCode.StartPage.ShowStartPageCommand"/> class = "ICSharpCode.StartPage.ShowStartPageCommand"/>

2
src/Libraries/ICSharpCode.Build.Tasks/Project/AssemblyInfo.cs

@ -1,4 +1,4 @@
// <file> // <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright> // <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license> // <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/> // <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>

2
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -688,6 +688,8 @@
<Compile Include="Src\TextEditor\Commands\ClassBookmarkMenuBuilder.cs" /> <Compile Include="Src\TextEditor\Commands\ClassBookmarkMenuBuilder.cs" />
<Compile Include="Src\TextEditor\Commands\ParserBookmarkMenuBuilderBase.cs" /> <Compile Include="Src\TextEditor\Commands\ParserBookmarkMenuBuilderBase.cs" />
<Compile Include="Src\TextEditor\SearchAndReplace\Engine\SearchStrategy\BoyerMooreSearchStrategy.cs" /> <Compile Include="Src\TextEditor\SearchAndReplace\Engine\SearchStrategy\BoyerMooreSearchStrategy.cs" />
<Compile Include="Src\Gui\BrowserDisplayBinding\BrowserCommands.cs" />
<Compile Include="Src\Gui\BrowserDisplayBinding\BrowserLocationConditionEvaluator.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj"> <ProjectReference Include="..\..\..\Libraries\DockPanel_Src\WinFormsUI\WinFormsUI.csproj">

42
src/Main/Base/Project/Src/Commands/HelpCommands.cs

@ -16,7 +16,6 @@ using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.Commands namespace ICSharpCode.SharpDevelop.Commands
{ {
public class ShowSensitiveHelp : AbstractMenuCommand public class ShowSensitiveHelp : AbstractMenuCommand
{ {
public override void Run() public override void Run()
@ -42,9 +41,9 @@ namespace ICSharpCode.SharpDevelop.Commands
{ {
string fileName = FileUtility.SharpDevelopRootPath + string fileName = FileUtility.SharpDevelopRootPath +
Path.DirectorySeparatorChar + "doc" + Path.DirectorySeparatorChar + "doc" +
Path.DirectorySeparatorChar + "help" + Path.DirectorySeparatorChar + "help" +
Path.DirectorySeparatorChar + "sharpdevelop.chm"; Path.DirectorySeparatorChar + "sharpdevelop.chm";
if (FileUtility.TestFileExists(fileName)) { if (FileUtility.TestFileExists(fileName)) {
Help.ShowHelp((Form)WorkbenchSingleton.Workbench, fileName); Help.ShowHelp((Form)WorkbenchSingleton.Workbench, fileName);
((Form)WorkbenchSingleton.Workbench).Select(); ((Form)WorkbenchSingleton.Workbench).Select();
@ -63,40 +62,27 @@ namespace ICSharpCode.SharpDevelop.Commands
} }
} }
public class GotoWebSite : AbstractMenuCommand public class LinkCommand : AbstractMenuCommand
{
string site;
public GotoWebSite(string site)
{
this.site = site;
}
public override void Run()
{
FileService.OpenFile(site);
}
}
public class GotoLink : AbstractMenuCommand
{ {
string site; string site;
public GotoLink(string site) public LinkCommand(string site)
{ {
this.site = site; this.site = site;
} }
public override void Run() public override void Run()
{ {
if (site.StartsWith("home://")) {
string file = FileUtility.Combine(FileUtility.SharpDevelopRootPath, "bin", site.Substring(7).Replace('/', Path.DirectorySeparatorChar));
try {
Process.Start(file);
} catch (Exception) {
string file = site.StartsWith("home://") ? FileUtility.Combine(FileUtility.SharpDevelopRootPath, "bin", site.Substring(7).Replace('/', Path.DirectorySeparatorChar)) : site; MessageService.ShowError("Can't execute/view " + file + "\n Please check that the file exists and that you can open this file.");
try { }
Process.Start(file); } else {
} catch (Exception) { FileService.OpenFile(site);
MessageService.ShowError("Can't execute/view " + file + "\n Please check that the file exists and that you can open this file.");
} }
} }
} }

84
src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/BrowserCommands.cs

@ -0,0 +1,84 @@
/*
* Created by SharpDevelop.
* User: Daniel Grunwald
* Date: 05.08.2005
* Time: 14:35
*/
using System;
using System.Windows.Forms;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
{
public class GoBack : AbstractCommand
{
public override void Run()
{
((HtmlViewPane)Owner).WebBrowser.GoBack();
}
}
public class GoForward : AbstractCommand
{
public override void Run()
{
((HtmlViewPane)Owner).WebBrowser.GoForward();
}
}
public class Stop : AbstractCommand
{
public override void Run()
{
((HtmlViewPane)Owner).WebBrowser.Stop();
}
}
public class Refresh : AbstractCommand
{
public override void Run()
{
if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
((HtmlViewPane)Owner).WebBrowser.Refresh(WebBrowserRefreshOption.Completely);
else
((HtmlViewPane)Owner).WebBrowser.Refresh();
}
}
public class GoHome : AbstractCommand
{
public override void Run()
{
((HtmlViewPane)Owner).GoHome();
}
}
public class GoSearch : AbstractCommand
{
public override void Run()
{
((HtmlViewPane)Owner).GoSearch();
}
}
public class UrlComboBox : AbstractComboBoxCommand
{
protected override void OnOwnerChanged(EventArgs e)
{
base.OnOwnerChanged(e);
ToolBarComboBox toolbarItem = (ToolBarComboBox)Owner;
toolbarItem.ComboBox.Width *= 3;
((HtmlViewPane)toolbarItem.Caller).SetUrlComboBox(toolbarItem.ComboBox);
}
}
public class NewWindow : AbstractCommand
{
public override void Run()
{
WorkbenchSingleton.Workbench.ShowView(new BrowserPane());
}
}
}

34
src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/BrowserLocationConditionEvaluator.cs

@ -0,0 +1,34 @@
/*
* Created by SharpDevelop.
* User: Daniel Grunwald
* Date: 05.08.2005
* Time: 19:37
*/
using System;
using System.Text.RegularExpressions;
using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
{
/// <summary>
/// Description of BrowserLocationConditionEvaluator.
/// </summary>
public class BrowserLocationConditionEvaluator : IConditionEvaluator
{
public bool IsValid(object caller, Condition condition)
{
HtmlViewPane pane = (HtmlViewPane)caller;
Uri uri = pane.Url;
if (uri == null)
return false;
string url = uri.ToString();
string pattern = condition.Properties["urlRegex"];
string options = condition.Properties["options"];
if (options != null && options.Length > 0)
return Regex.IsMatch(url, pattern, (RegexOptions)Enum.Parse(typeof(RegexOptions), options, true));
else
return Regex.IsMatch(url, pattern);
}
}
}

252
src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/HtmlViewPane.cs

@ -20,7 +20,13 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
{ {
public class BrowserPane : AbstractViewContent public class BrowserPane : AbstractViewContent
{ {
protected HtmlViewPane htmlViewPane; HtmlViewPane htmlViewPane;
public HtmlViewPane HtmlViewPane {
get {
return htmlViewPane;
}
}
public override Control Control { public override Control Control {
get { get {
@ -47,6 +53,7 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
htmlViewPane = new HtmlViewPane(showNavigation); htmlViewPane = new HtmlViewPane(showNavigation);
htmlViewPane.WebBrowser.DocumentTitleChanged += new EventHandler(TitleChange); htmlViewPane.WebBrowser.DocumentTitleChanged += new EventHandler(TitleChange);
htmlViewPane.Closed += PaneClosed; htmlViewPane.Closed += PaneClosed;
TitleChange(null, null);
} }
public BrowserPane(Uri uri) : this(true) public BrowserPane(Uri uri) : this(true)
@ -74,6 +81,12 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
Load(url); Load(url);
} }
public Uri Url {
get {
return htmlViewPane.Url;
}
}
void PaneClosed(object sender, EventArgs e) void PaneClosed(object sender, EventArgs e)
{ {
WorkbenchWindow.CloseWindow(true); WorkbenchWindow.CloseWindow(true);
@ -82,6 +95,8 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
void TitleChange(object sender, EventArgs e) void TitleChange(object sender, EventArgs e)
{ {
string title = htmlViewPane.WebBrowser.DocumentTitle; string title = htmlViewPane.WebBrowser.DocumentTitle;
if (title != null)
title = title.Trim();
if (title == null || title.Length == 0) if (title == null || title.Length == 0)
TitleName = "Browser"; TitleName = "Browser";
else else
@ -93,9 +108,7 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
{ {
ExtendedWebBrowser webBrowser = null; ExtendedWebBrowser webBrowser = null;
Panel topPanel = new Panel(); ToolStrip toolStrip;
ToolBar toolBar = new ToolBar();
TextBox urlTextBox = new TextBox();
// string lastUrl = null; // string lastUrl = null;
@ -130,69 +143,17 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
Dock = DockStyle.Fill; Dock = DockStyle.Fill;
Size = new Size(500, 500); Size = new Size(500, 500);
if (showNavigation) {
topPanel.Size = new Size(Width, 25);
topPanel.Dock = DockStyle.Top;
Controls.Add(topPanel);
toolBar.Dock = DockStyle.None;
for (int i = 0; i < 4; ++i) {
ToolBarButton toolBarButton = new ToolBarButton();
toolBarButton.ImageIndex = i;
toolBar.Buttons.Add(toolBarButton);
}
toolBar.ImageList = new ImageList();
toolBar.ImageList.ColorDepth = ColorDepth.Depth32Bit;
toolBar.ImageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.BrowserBefore"));
toolBar.ImageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.BrowserAfter"));
toolBar.ImageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.BrowserCancel"));
toolBar.ImageList.Images.Add(ResourceService.GetBitmap("Icons.16x16.BrowserRefresh"));
toolBar.Appearance = ToolBarAppearance.Flat;
toolBar.Divider = false;
toolBar.ButtonClick += new ToolBarButtonClickEventHandler(ToolBarClick);
toolBar.Location = new Point(0, 0);
toolBar.Size = new Size(4*toolBar.ButtonSize.Width, 25);
topPanel.Controls.Add(toolBar);
urlTextBox.Location = new Point(4*toolBar.ButtonSize.Width, 2);
urlTextBox.Size = new Size(Width - (4*toolBar.ButtonSize.Width) - 1, 21);
urlTextBox.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
urlTextBox.KeyPress += new KeyPressEventHandler(KeyPressEvent);
topPanel.Controls.Add(urlTextBox);
}
webBrowser = new ExtendedWebBrowser(); webBrowser = new ExtendedWebBrowser();
// axWebBrowser.BeginInit();
// if (showNavigation) {
// int height = 48;
// axWebBrowser.Location = new Point(0, height);
// axWebBrowser.Size = new Size(Width, Height - height);
// axWebBrowser.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Top;
// axWebBrowser.Dock = DockStyle.Fill;
// } else {
webBrowser.Dock = DockStyle.Fill; webBrowser.Dock = DockStyle.Fill;
// }
webBrowser.Navigating += WebBrowserNavigating; webBrowser.Navigating += WebBrowserNavigating;
webBrowser.NewWindowExtended += NewWindow; webBrowser.NewWindowExtended += NewWindow;
webBrowser.Navigated += WebBrowserNavigated; webBrowser.Navigated += WebBrowserNavigated;
Controls.Add(webBrowser); Controls.Add(webBrowser);
if (showNavigation) { if (showNavigation) {
Controls.Add(topPanel); toolStrip = ToolbarService.CreateToolStrip(this, "/SharpDevelop/ViewContent/Browser/Toolbar");
Controls.Add(toolStrip);
} }
// axWebBrowser.EndInit();
} }
void NewWindow(object sender, NewWindowExtendedEventArgs e) void NewWindow(object sender, NewWindowExtendedEventArgs e)
@ -201,32 +162,33 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
WorkbenchSingleton.Workbench.ShowView(new BrowserPane(e.Url)); WorkbenchSingleton.Workbench.ShowView(new BrowserPane(e.Url));
} }
void WebBrowserNavigated(object sender, WebBrowserNavigatedEventArgs e) static ArrayList descriptors;
public static ISchemeExtension GetScheme(string name)
{ {
urlTextBox.Text = webBrowser.Url.ToString(); if (descriptors == null) {
descriptors = AddInTree.BuildItems("/SharpDevelop/Views/Browser/SchemeExtensions", null, false);
}
foreach (SchemeExtensionDescriptor descriptor in descriptors) {
if (string.Equals(name, descriptor.SchemeName, StringComparison.OrdinalIgnoreCase)) {
return descriptor.Extension;
}
}
return null;
} }
static ArrayList descriptors;
void WebBrowserNavigating(object sender, WebBrowserNavigatingEventArgs e) void WebBrowserNavigating(object sender, WebBrowserNavigatingEventArgs e)
{ {
try { try {
if (descriptors == null) { ISchemeExtension extension = GetScheme(e.Url.Scheme);
AddInTreeNode treeNode = null; if (extension != null) {
try { extension.InterceptNavigate(this, e);
treeNode = AddInTree.GetTreeNode("/SharpDevelop/Views/Browser/SchemeExtensions"); if (e.TargetFrameName.Length == 0) {
} catch (Exception) { if (e.Cancel == true) {
} dummyUrl = e.Url.ToString();
if (treeNode != null) { } else if (e.Url.ToString() != "about:blank") {
descriptors = treeNode.BuildChildItems(null); dummyUrl = null;
} else { }
descriptors = new ArrayList();
}
}
string scheme = e.Url.Scheme;
foreach (SchemeExtensionDescriptor descriptor in descriptors) {
if (string.Equals(scheme, descriptor.SchemeName, StringComparison.OrdinalIgnoreCase)) {
descriptor.InterceptNavigate(this, e);
} }
} }
} catch (Exception ex) { } catch (Exception ex) {
@ -234,43 +196,127 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
} }
} }
void KeyPressEvent(object sender, KeyPressEventArgs ex) public void Navigate(string name)
{
webBrowser.Navigate(new Uri(name));
}
public void Navigate(Uri url)
{
webBrowser.Navigate(url);
}
public const string DefaultHomepage = "http://www.icsharpcode.net/";
public const string DefaultSearchUrl = "http://www.google.com/";
public void GoHome()
{
ISchemeExtension extension = GetScheme(Url.Scheme);
if (extension != null) {
extension.GoHome(this);
} else {
Navigate(DefaultHomepage);
}
}
public void GoSearch()
{ {
if (ex.KeyChar == '\r') { ISchemeExtension extension = GetScheme(Url.Scheme);
ex.Handled = true; if (extension != null) {
Navigate(urlTextBox.Text); extension.GoSearch(this);
} else {
Navigate(DefaultSearchUrl);
} }
} }
void ToolBarClick(object sender, ToolBarButtonClickEventArgs e) Control urlBox;
public void SetUrlComboBox(ComboBox comboBox)
{ {
try { SetUrlBox(comboBox);
switch(toolBar.Buttons.IndexOf(e.Button)) { comboBox.DropDownStyle = ComboBoxStyle.DropDown;
case 0: comboBox.Items.Clear();
webBrowser.GoBack(); comboBox.Items.AddRange(PropertyService.Get("Browser.URLBoxHistory", new string[0]));
break; comboBox.AutoCompleteMode = AutoCompleteMode.Suggest;
case 1: comboBox.AutoCompleteSource = AutoCompleteSource.HistoryList;
webBrowser.GoForward(); }
break;
case 2: public void SetUrlBox(Control urlBox)
webBrowser.Stop(); {
break; this.urlBox = urlBox;
case 3: urlBox.KeyUp += UrlBoxKeyUp;
webBrowser.Refresh(); }
break;
} void UrlBoxKeyUp(object sender, KeyEventArgs e)
} catch (Exception) { {
Control ctl = (Control)sender;
if (e.KeyData == Keys.Return) {
e.Handled = true;
UrlBoxNavigate(ctl);
} }
} }
public void Navigate(string name) void UrlBoxNavigate(Control ctl)
{ {
webBrowser.Navigate(new Uri(name)); string text = ctl.Text.Trim();
if (text.IndexOf(':') < 0) {
text = "http://" + text;
}
Navigate(text);
ComboBox comboBox = ctl as ComboBox;
if (comboBox != null) {
comboBox.Items.Remove(text);
comboBox.Items.Insert(0, text);
// Add to URLBoxHistory:
string[] history = PropertyService.Get("Browser.URLBoxHistory", new string[0]);
int pos = Array.IndexOf(history, text);
if (pos < 0 && history.Length >= 20) {
pos = history.Length - 1; // remove last entry and insert new at the beginning
}
if (pos < 0) {
// insert new item
string[] newHistory = new string[history.Length + 1];
history.CopyTo(newHistory, 1);
history = newHistory;
} else {
for (int i = pos; i > 0; i--) {
history[i] = history[i - 1];
}
}
history[0] = text;
PropertyService.Set("Browser.URLBoxHistory", history);
}
} }
public void Navigate(Uri url) string dummyUrl;
public Uri Url {
get {
if (webBrowser.Url == null)
return null;
if (dummyUrl != null && webBrowser.Url.ToString() == "about:blank") {
return new Uri(dummyUrl);
} else {
return webBrowser.Url;
}
}
}
void WebBrowserNavigated(object sender, WebBrowserNavigatedEventArgs e)
{ {
webBrowser.Navigate(url); // do not use e.Url (frames!)
string url = webBrowser.Url.ToString();
if (dummyUrl != null && url == "about:blank") {
urlBox.Text = dummyUrl;
} else {
urlBox.Text = url;
}
// Update toolbar:
foreach (object o in toolStrip.Items) {
IStatusUpdate up = o as IStatusUpdate;
if (up != null)
up.UpdateStatus();
}
} }
} }
} }

15
src/Main/Base/Project/Src/Gui/BrowserDisplayBinding/SchemeExtension.cs

@ -16,6 +16,8 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
public interface ISchemeExtension public interface ISchemeExtension
{ {
void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e); void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e);
void GoHome(HtmlViewPane pane);
void GoSearch(HtmlViewPane pane);
} }
public class SchemeExtensionDescriptor public class SchemeExtensionDescriptor
@ -38,14 +40,15 @@ namespace ICSharpCode.SharpDevelop.BrowserDisplayBinding
schemeName = codon.Id; schemeName = codon.Id;
} }
ISchemeExtension ext; ISchemeExtension extension;
public void InterceptNavigate(HtmlViewPane pane, WebBrowserNavigatingEventArgs e) public ISchemeExtension Extension {
{ get {
if (ext == null) { if (extension == null) {
ext = (ISchemeExtension)codon.AddIn.CreateObject(codon.Properties["class"]); extension = (ISchemeExtension)codon.AddIn.CreateObject(codon.Properties["class"]);
}
return extension;
} }
ext.InterceptNavigate(pane, e);
} }
} }

4
src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageViewToolbarCommands.cs

@ -73,7 +73,7 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
} }
public class ToggleeMessageViewWordWrap : AbstractCheckableMenuCommand public class ToggleMessageViewWordWrap : AbstractCheckableMenuCommand
{ {
ToolBarCheckBox checkBox; ToolBarCheckBox checkBox;
@ -93,11 +93,9 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
} }
public override void Run() public override void Run()
{ {
IsChecked = !IsChecked; IsChecked = !IsChecked;
} }
} }
} }

1
src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorDisplayBinding.cs

@ -282,6 +282,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
public override void Dispose() public override void Dispose()
{ {
base.Dispose();
((Form)ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.Workbench).Activated -= new EventHandler(GotFocusEvent); ((Form)ICSharpCode.SharpDevelop.Gui.WorkbenchSingleton.Workbench).Activated -= new EventHandler(GotFocusEvent);
if (this.watcher != null) { if (this.watcher != null) {
this.watcher.Dispose(); this.watcher.Dispose();

11
src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/MenuItem/Gui/MenuCommand.cs

@ -40,10 +40,19 @@ namespace ICSharpCode.Core
} }
} }
// HACK: find a better way to allow the host app to process link commands
public static Converter<string, ICommand> LinkCommandCreator;
void CreateCommand() void CreateCommand()
{ {
try { try {
menuCommand = (ICommand)codon.AddIn.CreateObject(codon.Properties["class"]); if (codon.Properties["link"] != null) {
if (LinkCommandCreator == null)
throw new NotSupportedException("MenuCommand.LinkCommandCreator is not set, cannot create LinkCommands.");
menuCommand = LinkCommandCreator(codon.Properties["link"]);
} else {
menuCommand = (ICommand)codon.AddIn.CreateObject(codon.Properties["class"]);
}
menuCommand.Owner = caller; menuCommand.Owner = caller;
} catch (Exception e) { } catch (Exception e) {
MessageService.ShowError(e, "Can't create menu command : " + codon.Id); MessageService.ShowError(e, "Can't create menu command : " + codon.Id);

6
src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/Gui/ToolBarComboBox.cs

@ -21,6 +21,12 @@ namespace ICSharpCode.Core
string description = String.Empty; string description = String.Empty;
IComboBoxCommand menuCommand = null; IComboBoxCommand menuCommand = null;
public object Caller {
get {
return caller;
}
}
public string Description { public string Description {
get { get {
return description; return description;

9
src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/ToolBarItem/Gui/ToolBarCommand.cs

@ -45,7 +45,9 @@ namespace ICSharpCode.Core
Image = ResourceService.GetBitmap(codon.Properties["icon"]); Image = ResourceService.GetBitmap(codon.Properties["icon"]);
} }
menuCommand = codon.AddIn.CreateObject(codon.Properties["class"]) as ICommand; menuCommand = (ICommand)codon.AddIn.CreateObject(codon.Properties["class"]);
if (menuCommand != null)
menuCommand.Owner = caller;
UpdateStatus(); UpdateStatus();
} }
@ -53,10 +55,7 @@ namespace ICSharpCode.Core
protected override void OnClick(System.EventArgs e) protected override void OnClick(System.EventArgs e)
{ {
base.OnClick(e); base.OnClick(e);
if (codon != null) { if (menuCommand != null) {
if (menuCommand == null) {
menuCommand = codon.AddIn.CreateObject(codon.Properties["class"]) as ICommand;
}
menuCommand.Run(); menuCommand.Run();
} }
} }

1
src/Main/Core/Project/Src/Services/FileUtility/FileUtility.cs

@ -440,7 +440,6 @@ namespace ICSharpCode.Core
// Observe LOAD functions // Observe LOAD functions
public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, string fileName, string message, FileErrorPolicy policy) public static FileOperationResult ObservedLoad(FileOperationDelegate loadFile, string fileName, string message, FileErrorPolicy policy)
{ {
System.Diagnostics.Debug.Assert(IsValidFileName(fileName));
try { try {
loadFile(); loadFile();
OnFileLoaded(new FileNameEventArgs(fileName)); OnFileLoaded(new FileNameEventArgs(fileName));

BIN
src/Main/StartUp/Project/Resources/BitmapResources.resources

Binary file not shown.

3
src/Main/StartUp/Project/SharpDevelopMain.cs

@ -157,6 +157,7 @@ namespace ICSharpCode.SharpDevelop
AddInTree.ConditionEvaluators.Add("ProjectActive", new ProjectActiveConditionEvaluator()); AddInTree.ConditionEvaluators.Add("ProjectActive", new ProjectActiveConditionEvaluator());
AddInTree.ConditionEvaluators.Add("ProjectOpen", new ProjectOpenConditionEvaluator()); AddInTree.ConditionEvaluators.Add("ProjectOpen", new ProjectOpenConditionEvaluator());
AddInTree.ConditionEvaluators.Add("TextContent", new ICSharpCode.SharpDevelop.DefaultEditor.Conditions.TextContentConditionEvaluator()); AddInTree.ConditionEvaluators.Add("TextContent", new ICSharpCode.SharpDevelop.DefaultEditor.Conditions.TextContentConditionEvaluator());
AddInTree.ConditionEvaluators.Add("BrowserLocation", new ICSharpCode.SharpDevelop.BrowserDisplayBinding.BrowserLocationConditionEvaluator());
AddInTree.Doozers.Add("DialogPanel", new DialogPanelDoozer()); AddInTree.Doozers.Add("DialogPanel", new DialogPanelDoozer());
AddInTree.Doozers.Add("DisplayBinding", new DisplayBindingDoozer()); AddInTree.Doozers.Add("DisplayBinding", new DisplayBindingDoozer());
@ -167,6 +168,8 @@ namespace ICSharpCode.SharpDevelop
AddInTree.Doozers.Add("SyntaxMode", new ICSharpCode.SharpDevelop.DefaultEditor.Codons.SyntaxModeDoozer()); AddInTree.Doozers.Add("SyntaxMode", new ICSharpCode.SharpDevelop.DefaultEditor.Codons.SyntaxModeDoozer());
AddInTree.Doozers.Add("BrowserSchemeExtension", new ICSharpCode.SharpDevelop.BrowserDisplayBinding.SchemeExtensionDoozer()); AddInTree.Doozers.Add("BrowserSchemeExtension", new ICSharpCode.SharpDevelop.BrowserDisplayBinding.SchemeExtensionDoozer());
MenuCommand.LinkCommandCreator = delegate(string link) { return new LinkCommand(link); };
PropertyService.Load(); PropertyService.Load();
StringParser.RegisterStringTagProvider(new SharpDevelopStringTagProvider()); StringParser.RegisterStringTagProvider(new SharpDevelopStringTagProvider());

2
src/SharpDevelop.sln

@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 9.00 Microsoft Visual Studio Solution File, Format Version 9.00
# SharpDevelop 2.0.0.309 # SharpDevelop 2.0.0.315
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AddIns", "AddIns", "{14A277EE-7DF1-4529-B639-7D1EF334C1C5}"
ProjectSection(SolutionItems) = postProject ProjectSection(SolutionItems) = postProject
EndProjectSection EndProjectSection

Loading…
Cancel
Save