From 87dee204446fdb9753410bda928cc7e819e41442 Mon Sep 17 00:00:00 2001
From: Sergej Andrejev
Date: Wed, 3 Jun 2009 14:16:32 +0000
Subject: [PATCH 01/51] Add ShortcutsManagement options panel
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/shortcuts@4214 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
---
AddIns/ICSharpCode.SharpDevelop.addin | 319 +++++++---
data/schemas/AddIn.xsd | 516 +++++++++-------
doc/technotes/ConditionList.html | 33 +-
doc/technotes/DoozerList.html | 264 ++++++--
.../Boo/BooBinding/Project/BooBinding.addin | 2 +-
.../FSharpBinding/Project/FSharpBinding.addin | 2 +-
.../AvalonEdit.AddIn/Src/CodeEditor.cs | 12 +-
.../HexEditor/Project/HexEditor.addin | 2 +-
.../XmlEditor/Project/XmlEditor.addin | 24 +-
.../CodeCoverage/Project/CodeCoverage.addin | 2 +-
.../Project/Debugger.AddIn.addin | 14 +-
.../Misc/HtmlHelp2/Project/HtmlHelp2.addin | 10 +-
.../Project/Gui/SearchAndReplaceDialog.cs | 18 +-
.../Project/SearchAndReplace.addin | 40 +-
.../ShortcutsManagement.sln | 23 +
.../ShortcutsManagement.suo | Bin 0 -> 51712 bytes
.../ShortcutsManagement/App.xaml | 8 +
.../ShortcutsManagement/App.xaml.cs | 11 +
.../Properties/AssemblyInfo.cs | 55 ++
.../Properties/Resources.Designer.cs | 63 ++
.../Properties/Resources.resx | 117 ++++
.../Properties/Settings.Designer.cs | 26 +
.../Properties/Settings.settings | 7 +
.../ShortcutsManagement/Resources/Thumbs.db | Bin 0 -> 4608 bytes
.../Resources/key_enter.png | Bin 0 -> 1056 bytes
.../Resources/key_enter_pressed.png | Bin 0 -> 1296 bytes
.../ShortcutsManagement.addin | 19 +
.../ShortcutsManagement.csproj | 156 +++++
.../ShortcutsManagement.csproj.user | 6 +
.../Src/Converters/GesturesListConverter.cs | 27 +
.../Src/Converters/ShortcutsTreeConverter.cs | 25 +
.../Src/Converters/TypeNameConverter.cs | 19 +
.../ShortcutsManagement/Src/Data/AddIn.cs | 84 +++
.../ShortcutsManagement/Src/Data/Shortcut.cs | 90 +++
.../Src/Data/ShortcutCategory.cs | 101 ++++
.../Src/Data/ShortcutsProvider.cs | 116 ++++
.../ShortcutsManagementOptionsPanel.xaml | 171 ++++++
.../ShortcutsManagementOptionsPanel.xaml.cs | 84 +++
.../Src/Extensions/TextBlockBehavior.cs | 83 +++
.../Src/Extensions/TreeViewExtensions.cs | 80 +++
.../ShortcutsManagement/Themes/Generic.xaml | 5 +
.../ShortcutsManagement/Thumbs.db | Bin 0 -> 3584 bytes
.../ShortcutsManagement/Window1.xaml | 10 +
.../ShortcutsManagement/Window1.xaml.cs | 15 +
src/AddIns/Misc/UnitTesting/UnitTesting.addin | 2 +-
.../Project/Src/Commands/AutostartCommands.cs | 15 +-
.../Project/Src/Commands/MenuItemBuilders.cs | 45 +-
.../Project/Src/Commands/ToolsCommands.cs | 23 +
.../Gui/Workbench/Layouts/AvalonPadContent.cs | 10 +
.../Layouts/AvalonWorkbenchWindow.cs | 12 +
.../Project/Src/Gui/Workbench/WpfWorkbench.cs | 17 +
.../Project/Src/Internal/Doozers/PadDoozer.cs | 2 +-
src/Main/Core/Project/ICSharpCode.Core.csproj | 11 +
.../Core/Project/Src/AddInTree/AddIn/AddIn.cs | 8 +
.../Command/CommandBindingDescriptor.cs | 75 +++
.../Command/CommandBindingDoozer.cs | 52 ++
.../Command/GesturesPlaceHolderDescriptor.cs | 26 +
.../Command/GesturesPlaceHolderDoozer.cs | 43 ++
.../Command/InputBindingDescriptor.cs | 44 ++
.../Command/InputBindingDoozer.cs | 35 ++
.../Command/RoutedUICommandDescriptor.cs | 39 ++
.../Command/RoutedUICommandDoozer.cs | 35 ++
.../DefaultDoozers/MenuItem/MenuItemDoozer.cs | 2 +-
.../Core/Project/Src/AddInTree/AddInTree.cs | 4 +
.../BaseGesturesPlaceHolderRegistry.cs | 174 ++++++
.../CommandsService/CommandBindingInfo.cs | 185 ++++++
.../CommandsService/CommandsRegistry.cs | 568 ++++++++++++++++++
.../CommandsService/CommandsService.cs | 72 +++
.../GesturePlaceHolderRegistry.cs | 82 +++
.../CommandsService/InputBindingInfo.cs | 90 +++
.../InputGestureCollectionConverter.cs | 103 ++++
.../CommandsService/ManagedCommandBinding.cs | 35 ++
.../CommandsService/ManagedInputBinding.cs | 24 +
.../CommandsService/WpfCommandWrapper.cs | 44 ++
.../ICSharpCode.Core.Presentation.csproj | 10 +
.../Menu/MenuCommand.cs | 28 +-
.../ToolBar/ToolBarButton.cs | 7 +-
.../GesturePlaceHolderRegistry.cs | 82 +++
.../KeysCollectionConverter.cs | 114 ++++
.../ICSharpCode.Core.WinForms.csproj | 3 +
.../Menu/MenuCommand.cs | 26 +-
src/SharpDevelop.sln | 280 ++++-----
82 files changed, 4510 insertions(+), 576 deletions(-)
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement.sln
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement.suo
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/App.xaml
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/App.xaml.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Properties/AssemblyInfo.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Properties/Resources.Designer.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Properties/Resources.resx
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Properties/Settings.Designer.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Properties/Settings.settings
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Resources/Thumbs.db
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Resources/key_enter.png
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Resources/key_enter_pressed.png
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/ShortcutsManagement.addin
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/ShortcutsManagement.csproj
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/ShortcutsManagement.csproj.user
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Converters/GesturesListConverter.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Converters/ShortcutsTreeConverter.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Converters/TypeNameConverter.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Data/AddIn.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Data/Shortcut.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Data/ShortcutCategory.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Data/ShortcutsProvider.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Dialogs/ShortcutsManagementOptionsPanel.xaml
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Dialogs/ShortcutsManagementOptionsPanel.xaml.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Extensions/TextBlockBehavior.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Src/Extensions/TreeViewExtensions.cs
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Themes/Generic.xaml
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Thumbs.db
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Window1.xaml
create mode 100644 src/AddIns/Misc/ShortcutsManagement/ShortcutsManagement/Window1.xaml.cs
create mode 100644 src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Command/CommandBindingDescriptor.cs
create mode 100644 src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Command/CommandBindingDoozer.cs
create mode 100644 src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Command/GesturesPlaceHolderDescriptor.cs
create mode 100644 src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Command/GesturesPlaceHolderDoozer.cs
create mode 100644 src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Command/InputBindingDescriptor.cs
create mode 100644 src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Command/InputBindingDoozer.cs
create mode 100644 src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Command/RoutedUICommandDescriptor.cs
create mode 100644 src/Main/Core/Project/Src/AddInTree/AddIn/DefaultDoozers/Command/RoutedUICommandDoozer.cs
create mode 100644 src/Main/Core/Project/Src/Services/CommandsService/BaseGesturesPlaceHolderRegistry.cs
create mode 100644 src/Main/ICSharpCode.Core.Presentation/CommandsService/CommandBindingInfo.cs
create mode 100644 src/Main/ICSharpCode.Core.Presentation/CommandsService/CommandsRegistry.cs
create mode 100644 src/Main/ICSharpCode.Core.Presentation/CommandsService/CommandsService.cs
create mode 100644 src/Main/ICSharpCode.Core.Presentation/CommandsService/GesturePlaceHolderRegistry.cs
create mode 100644 src/Main/ICSharpCode.Core.Presentation/CommandsService/InputBindingInfo.cs
create mode 100644 src/Main/ICSharpCode.Core.Presentation/CommandsService/InputGestureCollectionConverter.cs
create mode 100644 src/Main/ICSharpCode.Core.Presentation/CommandsService/ManagedCommandBinding.cs
create mode 100644 src/Main/ICSharpCode.Core.Presentation/CommandsService/ManagedInputBinding.cs
create mode 100644 src/Main/ICSharpCode.Core.Presentation/CommandsService/WpfCommandWrapper.cs
create mode 100644 src/Main/ICSharpCode.Core.WinForms/CommandsService/GesturePlaceHolderRegistry.cs
create mode 100644 src/Main/ICSharpCode.Core.WinForms/CommandsService/KeysCollectionConverter.cs
diff --git a/AddIns/ICSharpCode.SharpDevelop.addin b/AddIns/ICSharpCode.SharpDevelop.addin
index ef128c60cf..33bdb4f80a 100644
--- a/AddIns/ICSharpCode.SharpDevelop.addin
+++ b/AddIns/ICSharpCode.SharpDevelop.addin
@@ -51,6 +51,95 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -73,7 +162,7 @@
category = "Main"
title = "${res:MainWindow.Windows.ProjectScoutLabel}"
icon = "PadIcons.ProjectBrowser"
- shortcut = "Control|Alt|L"
+ shortcut = "Ctrl+Alt+L"
class = "ICSharpCode.SharpDevelop.Project.ProjectBrowserPad"
defaultPosition = "Left" />
@@ -81,7 +170,7 @@
category = "Main"
title = "${res:MainWindow.Windows.ClassScoutLabel}"
icon = "PadIcons.ClassBrowser"
- shortcut = "Control|Shift|C"
+ shortcut = "Ctrl+Shift+C"
class = "ICSharpCode.SharpDevelop.Gui.ClassBrowser.ClassBrowserPad"
defaultPosition = "Right" />
@@ -89,14 +178,14 @@
category = "Main"
title = "${res:MainWindow.Windows.ToolbarLabel}"
icon = "PadIcons.Toolbar"
- shortcut = "Control|Alt|X"
+ shortcut = "Ctrl+Alt+X"
class = "ICSharpCode.SharpDevelop.Gui.ToolsPad"
defaultPosition = "Left" />
@@ -112,7 +201,7 @@
category = "Main"
title = "${res:MainWindow.Windows.OutputWindow}"
icon = "PadIcons.Output"
- shortcut = "Control|Alt|O"
+ shortcut = "Ctrl+Alt+O"
class = "ICSharpCode.SharpDevelop.Gui.CompilerMessageView"
defaultPosition = "Bottom" />
@@ -128,7 +217,7 @@
category = "Tools"
title = "${res:MainWindow.Windows.FileScoutLabel}"
icon = "PadIcons.FileBrowser"
- shortcut = "Control|Alt|F"
+ shortcut = "Ctrl+Alt+F"
class = "ICSharpCode.SharpDevelop.Gui.FileScout"
defaultPosition = "Left, Hidden" />
@@ -181,17 +270,20 @@
+ class = "ICSharpCode.SharpDevelop.Project.Commands.ShowPropertiesForNode"
+ command = "SDProjectCommands.ShowSelectedProjectBrowserNodeProperties" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.ToggleShowAll"
+ command = "SDProjectCommands.ShowHiddenFilesInProjectBrowser" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.RefreshProjectBrowser"
+ command = "SDProjectCommands.RefreshProjectBrowser" />
@@ -207,33 +299,41 @@
label = "${res:XML.MainMenu.BuildMenu.BuildSolution}"
shortcut = "F8"
icon = "Icons.16x16.BuildCombine"
- class = "ICSharpCode.SharpDevelop.Project.Commands.Build"/>
+ class = "ICSharpCode.SharpDevelop.Project.Commands.Build"
+ command = "SDBuildCommands.Build" />
+ shortcut = "Alt+F8"
+ class = "ICSharpCode.SharpDevelop.Project.Commands.Rebuild"
+ command = "SDBuildCommands.Rebuild" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.Clean"
+ command = "SDBuildCommands.Clean" />
+
@@ -242,7 +342,8 @@
label = "${res:XML.MainMenu.EditMenu.Paste}"
icon = "Icons.16x16.PasteIcon"
loadclasslazy = "false"
- class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
+ class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"
+ command = "" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.ShowPropertiesForNode"
+ command = "SDProjectCommands.ShowSelectedProjectBrowserNodeProperties" />
@@ -278,13 +380,16 @@
+ class = "ICSharpCode.SharpDevelop.Project.Commands.BuildProject"
+ command = "SDBuildCommands.BuildProject" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.RebuildProject"
+ command = "SDBuildCommands.RebuildProject" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.CleanProject"
+ command = "SDBuildCommands.CleanProject" />
@@ -315,7 +420,8 @@
+ class = "ICSharpCode.SharpDevelop.Project.Commands.ShowPropertiesForNode"
+ command = "SDProjectCommands.ShowSelectedProjectBrowserNodeProperties" />
@@ -436,7 +542,8 @@
+ class = "ICSharpCode.SharpDevelop.Project.Commands.ShowPropertiesForNode"
+ command = "SDProjectCommands.ShowSelectedProjectBrowserNodeProperties" />
@@ -477,7 +584,8 @@
type = "Item"
icon = "Icons.16x16.PasteIcon"
loadclasslazy = "false"
- class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
+ class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"
+ />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.ShowPropertiesForNode"
+ command = "SDProjectCommands.ShowSelectedProjectBrowserNodeProperties" />
@@ -817,40 +926,40 @@
+ command = "ApplicationCommands.Cut"/>
+ command = "ApplicationCommands.Copy"/>
+ command = "ApplicationCommands.Paste"/>
+ command = "ApplicationCommands.Delete"/>
+ command = "ApplicationCommands.Undo"/>
+ command = "ApplicationCommands.Redo"/>
+ class = "ICSharpCode.SharpDevelop.Project.Commands.Build" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.Rebuild" />
@@ -867,14 +976,16 @@
+ class = "ICSharpCode.SharpDevelop.Project.Commands.Execute"
+ />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.ExecuteWithoutDebugger"
+ />
@@ -1134,13 +1245,13 @@
@@ -1149,13 +1260,13 @@
@@ -1164,13 +1275,13 @@
@@ -1189,7 +1300,7 @@
@@ -1203,7 +1314,7 @@
@@ -1212,7 +1323,7 @@
+ shortcut = "Ctrl+Z"
+ command = "ApplicationCommands.Undo"/>
+ shortcut = "Ctrl+Y"
+ command = "ApplicationCommands.Redo"/>
+ shortcut = "Ctrl+X"
+ command = "ApplicationCommands.Cut"/>
+ shortcut = "Ctrl+C"
+ command = "ApplicationCommands.Copy"/>
+ shortcut = "Ctrl+V"
+ command = "ApplicationCommands.Paste"/>
+ command = "ApplicationCommands.Delete"/>
@@ -1305,8 +1416,8 @@
+ shortcut = "Ctrl+A"
+ command = "ApplicationCommands.SelectAll"/>
@@ -1386,28 +1497,35 @@
label = "${res:XML.MainMenu.BuildMenu.BuildSolution}"
shortcut = "F8"
icon = "Icons.16x16.BuildCombine"
- class = "ICSharpCode.SharpDevelop.Project.Commands.Build"/>
+ class = "ICSharpCode.SharpDevelop.Project.Commands.Build"
+ command = "SDBuildCommands.BuildSolution"
+ />
+ shortcut = "Alt+F8"
+ class = "ICSharpCode.SharpDevelop.Project.Commands.Rebuild"
+ command = "SDBuildCommands.RebuildSolution" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.Clean"
+ command = "SDBuildCommands.CleanSolution" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.BuildProject"
+ command = "SDBuildCommands.BuildProject" />
+ shortcut = "Alt+F9"
+ class = "ICSharpCode.SharpDevelop.Project.Commands.RebuildProject"
+ command = "SDBuildCommands.RebuildProject" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.CleanProject"
+ command = "SDBuildCommands.CleanProject" />
@@ -1417,21 +1535,28 @@
label="${res:XML.MainMenu.BuildMenu.AbortBuild}"
shortcut="Pause"
class="ICSharpCode.SharpDevelop.Project.Commands.AbortBuild"
- loadclasslazy="false"/>
+ loadclasslazy="false"
+ command="SDBuildCommands.AbortBuild" />
-
+
-
+
+ class = "ICSharpCode.SharpDevelop.Project.Commands.EditConfigurationsCommand"
+ command = "SDBuildCommands.EditConfigurationsCommand" />
@@ -1443,7 +1568,9 @@
label = "${res:XML.MainMenu.RunMenu.Run}"
icon = "Icons.16x16.RunProgramIcon"
shortcut = "F5"
- class = "ICSharpCode.SharpDevelop.Project.Commands.Execute"/>
+ class = "ICSharpCode.SharpDevelop.Project.Commands.Execute"
+ command = "SDDebugCommands.Execute"
+ />
@@ -1454,8 +1581,9 @@
+ shortcut = "Ctrl+F5"
+ class = "ICSharpCode.SharpDevelop.Project.Commands.ExecuteWithoutDebugger"
+ command = "SDDebugCommands.ExecuteWithoutDebugger" />
@@ -1465,7 +1593,8 @@
+ class = "ICSharpCode.SharpDevelop.Project.Commands.StopDebuggingCommand"
+ command = "SDDebugCommands.StopDebugging" />
@@ -1473,7 +1602,8 @@
+ class = "ICSharpCode.SharpDevelop.Project.Commands.AttachToProcessCommand"
+ command = "SDDebugCommands.AttachToProcess" />
@@ -1481,7 +1611,8 @@
+ class = "ICSharpCode.SharpDevelop.Project.Commands.DetachFromProcessCommand"
+ command = "SDDebugCommands.DetachFromProcess" />
@@ -1491,15 +1622,17 @@
+ shortcut = "Ctrl+Alt+B"
+ class = "ICSharpCode.SharpDevelop.Project.Commands.BreakDebuggingCommand"
+ command = "SDDebugCommands.BreakDebugging" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.ContinueDebuggingCommand"
+ command = "SDDebugCommands.ContinueDebugging" />
@@ -1510,17 +1643,20 @@
label = "${res:XML.MainMenu.DebugMenu.StepOver}"
icon = "Icons.16x16.Debug.StepOver"
shortcut = "F10"
- class = "ICSharpCode.SharpDevelop.Project.Commands.StepDebuggingCommand"/>
+ class = "ICSharpCode.SharpDevelop.Project.Commands.StepDebuggingCommand"
+ command = "SDDebugCommands.StepOver" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.StepDebuggingCommand"
+ command = "SDDebugCommands.StepInto" />
+ class = "ICSharpCode.SharpDevelop.Project.Commands.StepOutDebuggingCommand"
+ command = "SDDebugCommands.StepOut" />
@@ -1534,7 +1670,8 @@
label = "${res:XML.MainMenu.DebugMenu.ToggleBreakpoint}"
shortcut = "F7"
icon = "Bookmarks.Breakpoint"
- class = "ICSharpCode.SharpDevelop.Project.Commands.ToggleBreakpointCommand"/>
+ class = "ICSharpCode.SharpDevelop.Project.Commands.ToggleBreakpointCommand"
+ command = "SDDebugCommands.ToggleBreakpoint" />
@@ -1613,11 +1750,11 @@
@@ -1634,7 +1771,7 @@
+ command = "SDWindowCommands.SplitView"/>
@@ -1904,7 +2041,7 @@
class= "ICSharpCode.SharpDevelop.DefaultEditor.Commands.CommentRegion"/>
diff --git a/data/schemas/AddIn.xsd b/data/schemas/AddIn.xsd
index f702fea82b..ddbd89248e 100644
--- a/data/schemas/AddIn.xsd
+++ b/data/schemas/AddIn.xsd
@@ -114,24 +114,27 @@
+
-
+
+
+
-
+
@@ -184,24 +187,27 @@
+
-
+
+
+
-
+
@@ -264,8 +270,8 @@
- The fully qualified type name of the class to create an instace of.
-
+ The fully qualified type name of the class to create an instace of.
+
@@ -285,16 +291,16 @@
- Name of the ICodeCompletionBinding class (normally deriving from DefaultCodeCompletionBinding).
-
+ Name of the ICodeCompletionBinding class (normally deriving from DefaultCodeCompletionBinding).
+
- List of semicolon-separated entries of the file extensions handled by the binding.
- If no extensions attribute is specified, the binding is activated in all files.
-
+ List of semicolon-separated entries of the file extensions handled by the binding.
+ If no extensions attribute is specified, the binding is activated in all files.
+
@@ -307,36 +313,81 @@
+
+
+
+
+
+
+ Name of routed UI command which triggers this binding
+
+
+
+
+
+
+ Class implementing System.Window.Input.ICommand or
+ ICSharpCode.Core class. CanExecute and Executed methods
+ are used to handle raised event
+
+
+
+
+
+
+ Use lazy loading. If addin containing binded command is
+ not loaded yet load asseblies referenced in add-in
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates descriptor containing information about command binding
+
+
+
- The name of the MSBuild meta data.
-
+ The name of the MSBuild meta data.
+
- The display name of the property.
-
+ The display name of the property.
+
- The description text for the property.
-
+ The description text for the property.
+
- Boolean property specifying whether the custom tool should be run when the property value is changed
- by the user. Default: false.
-
+ Boolean property specifying whether the custom tool should be run when the property value is changed
+ by the user. Default: false.
+
@@ -355,23 +406,23 @@
- ID used to identify the custom tool.
-
+ ID used to identify the custom tool.
+
- Name of the ICustomTool class.
-
+ Name of the ICustomTool class.
+
- Regular expression that specifies the file names for which the custom tool
- can be used. Example: "\.res(x|ources)$"
-
+ Regular expression that specifies the file names for which the custom tool
+ can be used. Example: "\.res(x|ources)$"
+
@@ -390,43 +441,43 @@
- Name of the IDebugger class.
-
+ Name of the IDebugger class.
+
- Specifies if the debugger supports the 'Start' command. Default: true
-
+ Specifies if the debugger supports the 'Start' command. Default: true
+
- Specifies if the debugger supports the 'StartWithoutDebugger' command. Default: true
-
+ Specifies if the debugger supports the 'StartWithoutDebugger' command. Default: true
+
- Specifies if the debugger supports the 'Stop' (kill running process) command. Default: true
-
+ Specifies if the debugger supports the 'Stop' (kill running process) command. Default: true
+
- Specifies if the debugger supports stepping. Default: false
-
+ Specifies if the debugger supports stepping. Default: false
+
- Specifies if the debugger supports execution control (break, resume). Default: false
-
+ Specifies if the debugger supports execution control (break, resume). Default: false
+
@@ -439,47 +490,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
- Name of the IDialogPanel class. Optional if the page has subpages.
-
-
-
-
-
-
- Caption of the dialog panel.
-
-
-
-
-
-
-
-
-
- Creates DefaultDialogPanelDescriptor objects that are used in option dialogs.
-
-
-
- Path relative to the directory which contains the .addin file defining the codon.
-
+ Path relative to the directory which contains the .addin file defining the codon.
+
@@ -498,22 +516,22 @@
- Name of the IDisplayBinding or ISecondaryDisplayBinding class.
-
+ Name of the IDisplayBinding or ISecondaryDisplayBinding class.
+
- Title of the display binding to use in the "Open With" dialog.
-
+ Title of the display binding to use in the "Open With" dialog.
+
- Type of the display binding (either "Primary" or "Secondary"). Default: "Primary".
-
+ Type of the display binding (either "Primary" or "Secondary"). Default: "Primary".
+
@@ -525,9 +543,9 @@
- Regular expression that specifies the file names for which the display binding
- will be used. Example: "\.res(x|ources)$"
-
+ Regular expression that specifies the file names for which the display binding
+ will be used. Example: "\.res(x|ources)$"
+
@@ -549,16 +567,16 @@
- Comma-separated list of keyboard shortcuts that activate the edit action.
- E.g. "Control|C,Control|Insert"
-
+ Comma-separated list of keyboard shortcuts that activate the edit action.
+ E.g. "Control|C,Control|Insert"
+
- Name of the IEditAction class.
-
+ Name of the IEditAction class.
+
@@ -577,15 +595,15 @@
- The name of the file filter entry.
-
+ The name of the file filter entry.
+
- The extensions associated with this file filter entry.
-
+ The extensions associated with this file filter entry.
+
@@ -604,24 +622,24 @@
- The name of a bitmap resource in the resource service.
-
+ The name of a bitmap resource in the resource service.
+
- This attribute is specified when a project icon association should be created.
- It specifies the language of the project types that use the icon.
-
+ This attribute is specified when a project icon association should be created.
+ It specifies the language of the project types that use the icon.
+
- This attribute is specified when a file icon association should be created.
- It specifies the semicolon-separated list of file types that use the icon.
-
+ This attribute is specified when a file icon association should be created.
+ It specifies the semicolon-separated list of file types that use the icon.
+
@@ -641,18 +659,18 @@
- When this attribute is used, the include doozer builds the item that is at the
- addin tree location specified by this attribute.
-
+ When this attribute is used, the include doozer builds the item that is at the
+ addin tree location specified by this attribute.
+
- When this attribute is used, the include doozer builds all items inside the
- path addin tree location specified by this attribute and returns an
- IBuildItemsModifier which includes all items in the output list.
-
+ When this attribute is used, the include doozer builds all items inside the
+ path addin tree location specified by this attribute and returns an
+ IBuildItemsModifier which includes all items in the output list.
+
@@ -667,35 +685,62 @@
+
+
+
+
+
+
+ Name of routed UI command which is triggered by this binding
+
+
+
+
+
+
+ Gesture which triggers this binding
+
+
+
+
+
+
+
+
+
+ Creates descriptor containing information about input binding
+
+
+
- Project type GUID of the project used by MsBuild.
-
+ Project type GUID of the project used by MsBuild.
+
- Semicolon-separated list of file extensions that are compilable files in the project. (e.g. ".boo")
-
+ Semicolon-separated list of file extensions that are compilable files in the project. (e.g. ".boo")
+
- File extension of project files. (e.g. ".booproj")
-
+ File extension of project files. (e.g. ".booproj")
+
- Name of the ILanguageBinding class.
-
+ Name of the ILanguageBinding class.
+
@@ -720,18 +765,18 @@
- Label of the menu item.
-
+ Label of the menu item.
+
- This attribute must be one of these values:
- Separator, CheckBox, Item=Command, Menu (=with subitems),
- Builder (=class implementing ISubmenuBuilder).
- Default: Command.
-
+ This attribute must be one of these values:
+ Separator, CheckBox, Item=Command, Menu (=with subitems),
+ Builder (=class implementing ISubmenuBuilder).
+ Default: Command.
+
@@ -747,39 +792,48 @@
- Only for the type "Item"/"Command".
- When set to false, the command class is loaded
- immediately instead of the usual lazy-loading.
-
+ Only for the type "Item"/"Command".
+ When set to false, the command class is loaded
+ immediately instead of the usual lazy-loading.
+
- Icon of the menu item.
-
+ Icon of the menu item.
+
- Command class that is run when item is clicked.
-
+ Command class that is run when item is clicked.
+
+
+
+
+
+
+ A WPF routed command that is executed when item is clicked.
+ Currently, this property is supported only for WPF Menus.
+ Only one of the "class" and "command" attributes can be used on a menu entry.
+
- Only for the type "Item"/"Command". Opens a webpage instead of running a command when
- clicking the item.
-
+ Only for the type "Item"/"Command". Opens a webpage instead of running a command when
+ clicking the item.
+
- Shortcut that activates the command (e.g. "Control|S").
-
+ Shortcut that activates the command (e.g. "Control|S").
+
@@ -792,49 +846,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Name of the IOptionPanel class. Optional if the page has subpages.
+
+
+
+
+
+
+ Caption of the dialog panel.
+
+
+
+
+
+
+
+
+
+ Creates DefaultOptionPanelDescriptor objects that are used in option dialogs.
+
+
+
- IPadContent class that is loaded when the pad content is shown for the first time.
-
+ IPadContent class that is loaded when the pad content is shown for the first time.
+
- Title of the pad that is shown in the user interface.
- Should be a resource string, e.g. "${res:AddIns.HtmlHelp2.Contents}"
-
+ Title of the pad that is shown in the user interface.
+ Should be a resource string, e.g. "${res:AddIns.HtmlHelp2.Contents}"
+
- Specifies the name of the icon resource used for the pad.
- Pad icon resources must be registered with the ResourceService before the
- workbench is loaded!
-
+ Specifies the name of the icon resource used for the pad.
+ Pad icon resources must be registered with the ResourceService before the
+ workbench is loaded!
+
- Category of the pad. It is possible to create menu items that automatically
- contain show commands for all pads in a certain category.
- Pads in the category "Main" will show up in the "View" menu, the category
- "Tools" in the "View -> Tools" menu, the category "Debugger" in the
- "View -> Debugger" menu.
-
+ Category of the pad. It is possible to create menu items that automatically
+ contain show commands for all pads in a certain category.
+ Pads in the category "Main" will show up in the "View" menu, the category
+ "Tools" in the "View -> Tools" menu, the category "Debugger" in the
+ "View -> Debugger" menu.
+
- Shortcut that activates the 'Show pad' command (e.g. "Control|Alt|T").
-
+ Shortcut that activates the 'Show pad' command (e.g. "Control|Alt|T").
+
@@ -853,22 +940,22 @@
- Semicolon-separated list of file extensions for which the parser is used. (e.g. ".boo")
-
+ Semicolon-separated list of file extensions for which the parser is used. (e.g. ".boo")
+
- File extension of project files. (e.g. ".booproj")
-
+ File extension of project files. (e.g. ".booproj")
+
- Name of the IParser class.
-
+ Name of the IParser class.
+
@@ -887,8 +974,8 @@
- Name of the ProjectContentRegistry class.
-
+ Name of the ProjectContentRegistry class.
+
@@ -901,50 +988,57 @@
-
+
-
+
- Specifies the name of the protocol the extension handles. (e.g. 'ms-help' or 'startpage')
-
+ Routed UI command name
+
-
+
- Name of the ISchemeExtension class (normally deriving from DefaultSchemeExtension).
-
+ Routed UI command displayed name
+
-
+
- Creates browser scheme extensions that can intercept calls on one protocol.
+ Creates descriptor containing information about routed UI command
-
+
-
+
- The string to return.
-
+ Specifies the name of the protocol the extension handles. (e.g. 'ms-help' or 'startpage')
+
+
+
+
+
+
+ Name of the ISchemeExtension class (normally deriving from DefaultSchemeExtension).
+
-
+
- Creates a string.
+ Creates browser scheme extensions that can intercept calls on one protocol.
@@ -954,22 +1048,22 @@
- Name of the language for which the syntax mode is used.
-
+ Name of the language for which the syntax mode is used.
+
- Semicolon-separated list of file extensions for which the syntax mode is used.
-
+ Semicolon-separated list of file extensions for which the syntax mode is used.
+
- Fully qualified name of the resource file.
-
+ Fully qualified name of the resource file.
+
@@ -983,22 +1077,42 @@
+
+
+
+
+
+
+ The string to return.
+
+
+
+
+
+
+
+
+
+ Creates a string.
+
+
+
- Name of the IMSBuildAdditionalLogger class.
-
+ Name of the IMSBuildAdditionalLogger class.
+
- Specifies the name of the MSBuild task that must be running for
- this logger to be active.
-
+ Specifies the name of the MSBuild task that must be running for
+ this logger to be active.
+
@@ -1024,23 +1138,23 @@
- Label of the tool bar item.
-
+ Label of the tool bar item.
+
- Icon of the tool bar item.
-
+ Icon of the tool bar item.
+
- This attribute must be one of these values:
- Separator, CheckBox, Item, ComboBox, DropDownButton
-
+ This attribute must be one of these values:
+ Separator, CheckBox, Item, ComboBox, DropDownButton
+
@@ -1055,24 +1169,24 @@
- Only for the type "Item". When set to false, the command class is loaded
- immediately instead of the usual lazy-loading.
-
+ Only for the type "Item". When set to false, the command class is loaded
+ immediately instead of the usual lazy-loading.
+
- Tooltip of the tool bar item.
-
+ Tooltip of the tool bar item.
+
- Command class that is run when item is clicked; or class that manages
- the ComboBox/DropDownButton. Required for everything except "Separator".
-
+ Command class that is run when item is clicked; or class that manages
+ the ComboBox/DropDownButton. Required for everything except "Separator".
+
diff --git a/doc/technotes/ConditionList.html b/doc/technotes/ConditionList.html
index 7db94b07c3..0933d6ca96 100644
--- a/doc/technotes/ConditionList.html
+++ b/doc/technotes/ConditionList.html
@@ -5,7 +5,7 @@
Condition List
This file was generated by the tool 'BuildAddinDocumentation'.
-It is based on SharpDevelop 3.0.0.3062.
+It is based on SharpDevelop 4.0.0.4126.
@@ -176,7 +178,7 @@ It is based on SharpDevelop 3.0.0.3062.
comparisonType:
|
The mode of the comparison: a field of the System.StringComparison enumeration. The default is
- 'InvariantCultureIgnoreCase'.
+ 'OrdinalIgnoreCase'.
|
@@ -213,7 +215,7 @@ It is based on SharpDevelop 3.0.0.3062.
comparisonType:
|
The mode of the comparison: a field of the System.StringComparison enumeration. The default is
- 'InvariantCultureIgnoreCase'.
+ 'OrdinalIgnoreCase'.
|
@@ -492,4 +494,29 @@ It is based on SharpDevelop 3.0.0.3062.
<Condition name="WindowOpen" openwindow="*">
+
+
+
+ Tests if the caller project is writable. If caller is not an IProject it tests
+ Project.CurrentProject.
+
+
+
+ Condition name:
+ | ICSharpCode.SharpDevelop.WriteableProjectConditionEvaluator |
+
+
+
+
+
+
+ Description of WriteableSolutionEvaluator.
+
+
+
+ Condition name:
+ | ICSharpCode.SharpDevelop.WriteableSolutionConditionEvaluator |
+
+
+