diff options
-rw-r--r-- | .gitignore | 8 | ||||
-rw-r--r-- | main/Main.sln | 46 | ||||
-rw-r--r-- | main/configure.in | 4 | ||||
-rw-r--r-- | main/src/addins/AspNet/ChangeLog | 3357 | ||||
-rw-r--r-- | main/src/addins/AspNet/CodeTemplates/CSharp/AddController/ControllerWithEmptyReadAndWriteActions.tt (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddController/ControllerWithEmptyReadAndWriteActions.tt) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/CodeTemplates/CSharp/AddController/Empty.tt (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddController/Empty.tt) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/CodeTemplates/CSharp/AddView/Aspx/Empty.tt (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddView/Aspx/Empty.tt) | 3 | ||||
-rw-r--r-- | main/src/addins/AspNet/CodeTemplates/CSharp/AddView/Razor/Empty.tt (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddView/Razor/Empty.tt) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Commands/AddControllerDialog.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/AddControllerDialog.cs) | 59 | ||||
-rw-r--r-- | main/src/addins/AspNet/Commands/AddViewDialog.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/AddViewDialog.cs) | 210 | ||||
-rw-r--r-- | main/src/addins/AspNet/Commands/AddViewFromControllerCommandHandler.cs | 133 | ||||
-rw-r--r-- | main/src/addins/AspNet/Commands/AspNetCommands.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetCommands.cs) | 12 | ||||
-rw-r--r-- | main/src/addins/AspNet/Commands/GoToControllerCommandHandler.cs | 66 | ||||
-rw-r--r-- | main/src/addins/AspNet/Commands/GoToViewCommandHandler.cs | 76 | ||||
-rw-r--r-- | main/src/addins/AspNet/Commands/MvcCommandsCommonHandler.cs | 60 | ||||
-rw-r--r-- | main/src/addins/AspNet/Execution/AspNetExecutionCommand.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetExecutionCommand.cs) | 9 | ||||
-rw-r--r-- | main/src/addins/AspNet/Execution/AspNetExecutionHandler.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetExecutionHandler.cs) | 5 | ||||
-rw-r--r-- | main/src/addins/AspNet/Execution/BrowserLauncher.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/BrowserLauncher.cs) | 8 | ||||
-rw-r--r-- | main/src/addins/AspNet/Execution/LineInterceptingTextWriter.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/LineInterceptingTextWriter.cs) | 15 | ||||
-rw-r--r-- | main/src/addins/AspNet/Execution/XspBrowserLauncherConsole.cs | 90 | ||||
-rw-r--r-- | main/src/addins/AspNet/Execution/XspOptionsPanel.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/XspOptionsPanel.cs) | 9 | ||||
-rw-r--r-- | main/src/addins/AspNet/Execution/XspOptionsPanelWidget.cs | 202 | ||||
-rw-r--r-- | main/src/addins/AspNet/Execution/XspParameters.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/XspParameters.cs) | 24 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/BaseHtmlEditorExtension.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs) | 21 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/DocTypeCompletionData.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/DocTypeCompletionData.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/DocTypeExtensionNode.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/DocTypeExtensionNode.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/ElementTypes.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/ElementTypes.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/HtmlEditorExtension.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs) | 16 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/HtmlParser.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlParser.cs) | 18 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/HtmlPathCompletion.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/PathCompletion.cs) | 20 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/HtmlSchema.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlSchema.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/HtmlSchemaService.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlSchemaService.cs) | 10 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/Parser/HtmlClosingTagState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/HtmlClosingTagState.cs) | 15 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/Parser/HtmlScriptBodyState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/HtmlScriptBodyState.cs) | 17 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/Parser/HtmlTagState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/HtmlTagState.cs) | 32 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/AspNet/Html/Schemas/W3C-License.html (renamed from main/src/addins/MonoDevelop.XmlEditor/schemas/W3C-License.html) | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/AspNet/Html/Schemas/readme.txt (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/readme.txt) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/Schemas/xhtml1-frameset.xsd (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/xhtml1-frameset.xsd) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/Schemas/xhtml1-strict.xsd (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/xhtml1-strict.xsd) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Html/Schemas/xhtml1-transitional.xsd (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/xhtml1-transitional.xsd) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Makefile.am | 7 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AddinInfo.cs | 20 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProject.cs | 288 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProjectBinding.cs | 129 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AssemblyInfo.cs | 9 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/ChangeLog | 393 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CommandHandlers.cs | 155 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Makefile.am | 4 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/MonoDevelop.AspNet.Mvc.addin.xml | 202 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/MonoDevelop.AspNet.Mvc.csproj | 339 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorDom.cs | 202 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/HomeControllerTest.cs | 28 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/Index.cshtml | 1 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Controller.xft.xml | 46 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/EmptyProjectMvc3.xpt.xml | 57 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/GlobalAsax.xft.xml | 62 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3.xpt.xml | 97 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3WithUnitTest.xpt.xml | 126 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigApp.xft.xml | 143 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigViews.xft.xml | 59 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddControllerDialog.cs | 122 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.cs | 368 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/generated.cs | 29 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/gui.stetic | 638 | ||||
-rwxr-xr-x | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.Mvc.dll | bin | 519168 -> 0 bytes | |||
-rwxr-xr-x | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.Razor.dll | bin | 275456 -> 0 bytes | |||
-rwxr-xr-x | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.WebPages.Razor.dll | bin | 33792 -> 0 bytes | |||
-rwxr-xr-x | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.WebPages.dll | bin | 204800 -> 0 bytes | |||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/md-aspnet.snk | bin | 596 -> 0 bytes | |||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet.csproj | 499 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/ChangeLog | 3359 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs | 70 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployCommands.cs | 55 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployLaunchDialog.cs | 130 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployOptionsPanel.cs | 54 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployOptionsPanelWidget.cs | 135 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployResolver.cs | 52 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployService.cs | 148 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTarget.cs | 105 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTargetCollection.cs | 146 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTargetEditor.cs | 64 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployWindow.cs | 167 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetConfigurationPanel.cs | 62 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetConfigurationPanelWidget.cs | 32 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspProjectDom.cs | 84 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/XspOptionsPanelWidget.cs | 119 | ||||
-rwxr-xr-x | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs | 450 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/MemberListVisitor.cs | 205 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/Regexes.cs | 63 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs | 181 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetDom.cs | 271 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.addin.xml | 263 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.csproj | 322 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs | 145 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs | 99 | ||||
-rwxr-xr-x | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/WebTypeManager.cs | 449 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlCompletionDataProvider.cs | 76 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/Templates/MasterPage-CodeBehindNonPartial.xft.xml | 54 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebControl-CodeBehindNonPartial.xft.xml | 41 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebForm-CodeBehindNonPartial.xft.xml | 52 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs | 120 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs | 96 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs | 180 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs | 22 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs | 78 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs | 406 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/generated.cs | 116 | ||||
-rw-r--r-- | main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/gui.stetic | 1137 | ||||
-rw-r--r-- | main/src/addins/AspNet/ProjectPad/AspNetFolderNodeBuilderExtension.cs | 44 | ||||
-rw-r--r-- | main/src/addins/AspNet/ProjectPad/AspNetFolderNodeCommandHandler.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/FolderNodeBuilderExtension.cs) | 168 | ||||
-rw-r--r-- | main/src/addins/AspNet/ProjectPad/AspNetProjectNodeBuilderExtension.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebTargetEditor.cs) | 26 | ||||
-rw-r--r-- | main/src/addins/AspNet/ProjectPad/AspNetProjectNodeCommandHandler.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs) | 81 | ||||
-rw-r--r-- | main/src/addins/AspNet/Projects/AspMvcProject.cs | 173 | ||||
-rw-r--r-- | main/src/addins/AspNet/Projects/AspMvcProjectConfiguration.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProjectConfiguration.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Projects/AspNetAppProject.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetAppProject.cs) | 462 | ||||
-rw-r--r-- | main/src/addins/AspNet/Projects/AspNetAppProjectBinding.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetAppProjectBinding.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Projects/AspNetAppProjectConfiguration.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs) | 16 | ||||
-rw-r--r-- | main/src/addins/AspNet/Projects/AspNetMSBuildImportProvider.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetMSBuildImportProvider.cs) | 7 | ||||
-rw-r--r-- | main/src/addins/AspNet/Projects/AspNetMvcFileTemplateCondition.cs | 72 | ||||
-rw-r--r-- | main/src/addins/AspNet/Projects/MvcTextTemplateHost.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/TextTemplating/MvcTextTemplateHost.cs) | 6 | ||||
-rw-r--r-- | main/src/addins/AspNet/Projects/WebSubtype.cs | 59 | ||||
-rw-r--r-- | main/src/addins/AspNet/Properties/AddinInfo.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/AddinInfo.cs) | 9 | ||||
-rw-r--r-- | main/src/addins/AspNet/Properties/AssemblyInfo.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/AssemblyInfo.cs) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Properties/MonoDevelop.AspNet.addin.xml | 394 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Dom/RazorCodeBlock.cs | 57 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Dom/RazorCodeFragment.cs | 86 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Dom/RazorComment.cs | 62 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Dom/RazorDirective.cs | 58 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Dom/RazorExplicitExpression.cs | 61 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Dom/RazorExpression.cs | 47 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Dom/RazorImplicitExpression.cs | 61 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Dom/RazorStatement.cs | 57 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/EditorParserFixed/BackgroundParser.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/BackgroundParser.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/EditorParserFixed/CommonResources.Designer.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/CommonResources.Designer.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/EditorParserFixed/DisposableAction.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/DisposableAction.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/EditorParserFixed/RazorEditorParser.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/RazorEditorParser.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/EditorParserFixed/RazorEditorTrace.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/RazorEditorTrace.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/EditorParserFixed/RazorResources.Designer.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/RazorResources.Designer.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/FileUtil.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/FileUtil.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/MarkupRewriter.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/MarkupRewriter.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/PreprocessedAttributeBlockCodeGenerator.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedAttributeBlockCodeGenerator.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/PreprocessedAttributeRewriter.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedAttributeRewriter.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/PreprocessedCSharpRazorCodeParser.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedCSharpRazorCodeParser.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/PreprocessedDynamicAttributeBlockCodeGenerator.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedDynamicAttributeBlockCodeGenerator.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/PreprocessedLiteralAttributeCodeGenerator.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedLiteralAttributeCodeGenerator.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/PreprocessedRazorHost.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedRazorHost.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/PreprocessedTemplateCodeTransformer.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedTemplateCodeTransformer.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/RazorTemplatePreprocessor.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/RazorTemplatePreprocessor.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/RazorWriterHelper.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/RazorWriterHelper.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Generator/RewritingRazorTemplateEngine.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/RewritingRazorTemplateEngine.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/IRazorCompletionBuilder.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Completion/IRazorCompletionBuilder.cs) | 6 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorCodeBlockState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorCodeBlockState.cs) | 7 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorCodeFragmentState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorCodeFragmentState.cs) | 19 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorCommentState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorCommentState.cs) | 7 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorDirectiveState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorDirectiveState.cs) | 7 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorExpressionState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorExpressionState.cs) | 7 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorOutlineNode.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/OutlineNode.cs) | 18 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorRootState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorFreeState.cs) | 14 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorSpeculativeState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorSpeculativeState.cs) | 13 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorState.cs) | 10 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorStatementState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorStatementState.cs) | 13 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorSymbols.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorSymbols.cs) | 17 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/RazorUtils.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorUtils.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Parser/StateEngineService.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/StateEngineService.cs) | 11 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/Razor-templates.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Razor-templates.xml) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/RazorCSharpEditorExtension.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/RazorCSharpEditorExtension.cs) | 44 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/RazorCSharpFormatter.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Formatting/RazorCSharpFormatter.cs) | 10 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/RazorCSharpParsedDocument.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorCSharpParsedDocument.cs) | 5 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/RazorCSharpParser.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorCSharpParser.cs) | 58 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/RazorCompletion.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Completion/RazorCompletion.cs) | 9 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/RazorPageInfo.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorPageInfo.cs) | 11 | ||||
-rw-r--r-- | main/src/addins/AspNet/Razor/RazorSyntaxMode.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorSyntaxMode.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/Controller.xft.xml | 39 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/GlobalAsax.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/GlobalAsaxMvc3.xft.xml) | 136 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/LayoutPage.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/LayoutPage.xft.xml) | 10 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/PartialViewPageRazor.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/PartialViewPageRazor.xft.xml) | 8 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/UserControl.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/UserControl.xft.xml) | 20 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/ViewContentPage.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewContentPage.xft.xml) | 10 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/ViewMasterPage.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewMasterPage.xft.xml) | 20 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/ViewPage.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewPage.xft.xml) | 23 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/ViewPageRazor.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewPageRazor.xft.xml) | 10 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/WebConfigApp.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigAppMvc3.xft.xml) | 302 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Mvc/WebConfigViews.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigViewsMvc3.xft.xml) | 157 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/MvcCommon/Error.cshtml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/Error.cshtml) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/MvcCommon/HomeController.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/HomeController.cs) | 7 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/MvcCommon/HomeControllerTest.cs | 35 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/MvcCommon/Index.cshtml | 1 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/MvcCommon/ViewPageRazor.cshtml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/ViewPageRazor.cshtml) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/MvcCommon/_Layout.cshtml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/_Layout.cshtml) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/MvcCommon/_ViewStart.cshtml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/_ViewStart.cshtml) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/PreprocessedRazorTemplate.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/PreprocessedRazorTemplate.xft.xml) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Projects/EmptyMvcProject.xpt.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/EmptyProject.xpt.xml) | 14 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Projects/EmptyProject.xpt.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebApplication-Empty.xpt.xml) | 6 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Projects/MvcProject.xpt.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3Razor.xpt.xml) | 160 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Projects/MvcProjectWithUnitTest.xpt.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3RazorWithUnitTest.xpt.xml) | 216 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Projects/MvcRazorProject.xpt.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Project.xpt.xml) | 53 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Projects/MvcRazorProjectWithUnitTest.xpt.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectWithUnitTest.xpt.xml) | 51 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/Projects/WebApplication.xpt.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebApplication.xpt.xml) | 37 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebConfig-Application.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebConfig-Application.xft.xml) | 13 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebConfig-SubDir.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebConfig-SubDir.xft.xml) | 11 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/GlobalAsax-CodeBehind.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/GlobalAsax-CodeBehind.xft.xml) | 14 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/GlobalAsax-Empty.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/GlobalAsax-Empty.xft.xml) | 19 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/MasterPage-CodeBehind.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/MasterPage-CodeBehind.xft.xml) | 32 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/MasterPage-Empty.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/MasterPage-Empty.xft.xml) | 23 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/NestedMasterPage-CodeBehind.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/NestedMasterPage-CodeBehind.xft.xml) | 21 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/NestedMasterPage.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/NestedMasterPage.xft.xml) | 13 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/WebContentForm-CodeBehind.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebContentForm-CodeBehind.xft.xml) | 20 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/WebContentForm.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebContentForm.xft.xml) | 12 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/WebControl-CodeBehind.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebControl-CodeBehind.xft.xml) | 32 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/WebControl-Empty.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebControl-Empty.xft.xml) | 15 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/WebForm-CodeBehind.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebForm-CodeBehind.xft.xml) | 36 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/WebForm-Empty.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebForm-Empty.xft.xml) | 17 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/WebHandler-CodeBehind.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebHandler-CodeBehind.xft.xml) | 20 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/WebHandler-Empty.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebHandler-Empty.xft.xml) | 17 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/WebService-CodeBehind.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebService-CodeBehind.xft.xml) | 21 | ||||
-rw-r--r-- | main/src/addins/AspNet/Templates/WebForms/WebService-Empty.xft.xml (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebService-Empty.xft.xml) | 21 | ||||
-rw-r--r-- | main/src/addins/AspNet/Test/Test.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Test/Test.cs) | 0 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Html/HtmlImplicitClosingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.Xml.StateEngine/HtmlImplicitClosingTests.cs) | 14 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Html/HtmlParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.Xml.StateEngine/HtmlParsingTests.cs) | 18 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/MonoDevelop.AspNet.Tests.csproj | 124 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Razor/Dom/RazorCodeBlockParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorCodeBlockParsingTests.cs) | 13 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Razor/Dom/RazorCodeFragmentsParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorCodeFragmentsParsingTests.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Razor/Dom/RazorCommentParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorCommentParsingTests.cs) | 12 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Razor/Dom/RazorDirectivesParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorDirectivesParsingTests.cs) | 34 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Razor/Dom/RazorExplicitExpressionsParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorExplicitExpressionsParsingTests.cs) | 11 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Razor/Dom/RazorImplicitExpressionsParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorImplicitExpressionsParsingTests.cs) | 19 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Razor/Dom/RazorParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorParsingTests.cs) | 12 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Razor/Dom/RazorStatementsParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorStatementsParsingTests.cs) | 27 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Razor/RazorCompletionTesting.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet.Mvc.Completion/RazorCompletionTesting.cs) | 23 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/Razor/RazorCompletionTests.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet.Mvc.Completion/CompletionTests.cs) | 5 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/WebForms/WebFormsCompletionTests.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet/AspNetCompletionTests.cs) | 55 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/WebForms/WebFormsParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.Xml.StateEngine/AspNetParsingTests.cs) | 37 | ||||
-rw-r--r-- | main/src/addins/AspNet/Tests/WebForms/WebFormsTesting.cs (renamed from main/tests/UnitTests/MonoDevelop.AspNet/AspNetTesting.cs) | 32 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Dom/WebFormsBindingExpression.cs | 62 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Dom/WebFormsDirective.cs | 108 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Dom/WebFormsDomExtensions.cs | 72 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Dom/WebFormsExpression.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/RemoveXPathHighlightingCommand.cs) | 43 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Dom/WebFormsHtmlEncodedExpression.cs | 63 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Dom/WebFormsRenderBlock.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Completion/SimpleLists.cs) | 51 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Dom/WebFormsRenderExpression.cs | 61 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Dom/WebFormsResourceExpression.cs | 62 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Dom/WebFormsServerComment.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/OpenXPathQueryPadCommand.cs) | 62 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/ILanguageCompletionBuilder.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs) | 41 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/MasterContentFileDescriptionTemplate.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs) | 19 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Parser/WebFormsAttributeValueState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetAttributeValueState.cs) | 16 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Parser/WebFormsDirectiveAttributeState.cs | 47 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Parser/WebFormsDirectiveState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs) | 39 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Parser/WebFormsExpressionState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs) | 23 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Parser/WebFormsRootState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs) | 42 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/Parser/WebFormsServerCommentState.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs) | 14 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/SuggestedHandlerCompletionData.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs) | 12 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/AspNet/WebForms/WebFormsCodeBehind.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/CodeBehind.cs) | 35 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsCodeBehindTypeNameCache.cs | 61 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsDirectiveCompletion.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/Directive.cs) | 36 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/AspNet/WebForms/WebFormsEditorExtension.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs) | 241 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsMemberListBuilder.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/MemberListBuilder.cs) | 22 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsPageInfo.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/PageInfo.cs) | 181 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsParsedDocument.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs) | 17 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsParser.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/AspNetParser.cs) | 22 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsRegistrationCache.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/RegistrationCache.cs) | 116 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsSyntaxMode.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetSyntaxMode.cs) | 18 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsToolboxLoader.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetToolboxLoader.cs) | 16 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsToolboxNode.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetToolboxNode.cs) | 42 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsToolboxProvider.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetToolboxProvider.cs) | 8 | ||||
-rw-r--r-- | main/src/addins/AspNet/WebForms/WebFormsTypeContext.cs | 648 | ||||
-rw-r--r-- | main/src/addins/AspNet/packages.config | 6 | ||||
-rw-r--r-- | main/src/addins/CSharpBinding/AspNet/ASPNetReferenceFinder.cs | 9 | ||||
-rw-r--r-- | main/src/addins/CSharpBinding/AspNet/AspLanguageBuilder.cs | 39 | ||||
-rw-r--r-- | main/src/addins/CSharpBinding/AspNet/CSharpBinding.AspNet.csproj | 23 | ||||
-rw-r--r-- | main/src/addins/CSharpBinding/AspNet/ExtensionModel.addin.xml | 3 | ||||
-rw-r--r-- | main/src/addins/CSharpBinding/AspNet/RazorCSharpCompletionBuilder.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Completion/RazorCSharpCompletionBuilder.cs) | 10 | ||||
-rw-r--r-- | main/src/addins/CSharpBinding/Autotools/Autotools.csproj | 5 | ||||
-rw-r--r-- | main/src/addins/Makefile.am | 2 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/AspNetSoftDebuggerEngine.cs | 17 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/MonoDevelop.Debugger.Soft.AspNet.csproj | 20 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerEngine.cs | 7 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32.csproj | 10 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/AUTHORS | 15 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/COPYING | 504 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/ChangeLog | 2030 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Makefile.am | 1 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XDom.cs | 636 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XState.cs | 84 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlParser.cs | 299 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathHistoryList.cs | 96 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNamespaceList.cs | 96 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNodeMatch.cs | 184 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNodeTextMarker.cs | 82 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryPad.cs | 131 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryPadOptions.cs | 94 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryWidget.cs | 515 | ||||
-rwxr-xr-x | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/EncodedStringWriter.cs | 64 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/OpenStylesheetCommand.cs | 59 | ||||
-rwxr-xr-x | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/QualifiedNameCollection.cs | 288 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs | 417 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorCommandBase.cs | 24 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorView.cs | 138 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorViewContent.cs | 614 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlNamespace.cs | 82 | ||||
-rwxr-xr-x | main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlParser.cs | 704 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/README | 79 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/TODO | 64 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/AssemblyInfo.cs | 32 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/ChangeLog | 86 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeGroupReferenceSelectedTestFixture.cs | 55 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeReferenceSelectedTestFixture.cs | 70 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeSelectedTestFixture.cs | 40 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeTypeSelectedTestFixture.cs | 68 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementReferenceSelectedTestFixture.cs | 78 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementReferenceWithPrefixSelectedTestFixture.cs | 76 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementSelectedTestFixture.cs | 49 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementTypeSelectedTestFixture.cs | 54 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementTypeWithPrefixSelectedTestFixture.cs | 57 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/GroupReferenceSelectedTestFixture.cs | 89 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/MimeTypeHandledTests.cs | 37 | ||||
-rwxr-xr-x | main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ActiveElementStartPathTestFixture.cs | 106 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ActiveElementUnderCursorTests.cs | 161 | ||||
-rwxr-xr-x | main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeNameTestFixture.cs | 89 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeNameUnderCursorTests.cs | 72 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeValueUnderCursorTests.cs | 67 | ||||
-rwxr-xr-x | main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/InsideAttributeValueTestFixture.cs | 100 | ||||
-rwxr-xr-x | main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/NamespaceDeclarationTestFixture.cs | 112 | ||||
-rwxr-xr-x | main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ParentElementPathTestFixture.cs | 62 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/GetSchemaFromFileNameTestFixture.cs | 46 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/RunXPathQueryTests.cs | 169 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XPathHistoryListTests.cs | 107 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XPathNamespaceListTests.cs | 130 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XmlNamespaceTests.cs | 18 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XmlNamespaceToStringTests.cs | 50 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.Xml.Formatting.XmlFormattingPolicyPanelWidget.cs | 159 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs | 67 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.cs | 179 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/gtk-gui/generated.cs | 81 | ||||
-rw-r--r-- | main/src/addins/MonoDevelop.XmlEditor/gtk-gui/gui.stetic | 491 | ||||
-rw-r--r-- | main/src/addins/VersionControl/MonoDevelop.VersionControl/gtk-gui/generated.cs | 165 | ||||
-rw-r--r-- | main/src/addins/Web/Makefile.am | 2 | ||||
-rw-r--r-- | main/src/addins/Xml/Completion/EmptyXmlCompletionProvider.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/EmptyXmlCompletionProvider.cs) | 11 | ||||
-rw-r--r-- | main/src/addins/Xml/Completion/ILazilyLoadedProvider.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/ILazilyLoadedProvider.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/Xml/Completion/IXmlCompletionProvider.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/IXmlCompletionProvider.cs) | 3 | ||||
-rw-r--r-- | main/src/addins/Xml/Completion/InferredXmlCompletionProvider.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/InferredXmlCompletionProvider.cs) | 12 | ||||
-rw-r--r-- | main/src/addins/Xml/Completion/LocalOnlyXmlResolver.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/LocalOnlyXmlResolver.cs) | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Completion/QualifiedName.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/QualifiedName.cs) | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Completion/XmlCompletionData.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs) | 16 | ||||
-rw-r--r-- | main/src/addins/Xml/Completion/XmlCompletionDataList.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlCompletionDataList.cs) | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Completion/XmlElementPath.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlElementPath.cs) | 67 | ||||
-rw-r--r-- | main/src/addins/Xml/Completion/XmlMultipleClosingTagCompletionData.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlMultipleClosingTagCompletionData.cs) | 12 | ||||
-rw-r--r-- | main/src/addins/Xml/Completion/XmlNamespacePrefixMap.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlNamespacePrefixMap.cs) | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Completion/XmlSchemaCompletionData.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs) | 14 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Completion/XmlSchemaCompletionDataCollection.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionDataCollection.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/Xml/Completion/XmlTagCompletionData.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/IAttributedXObject.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/IAspNetLanguageBinding.cs) | 25 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/INamedXObject.cs (renamed from main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcCommands.cs) | 65 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XAttribute.cs | 74 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XAttributeCollection.cs | 122 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XCData.cs | 44 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XClosingTag.cs | 60 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XComment.cs | 44 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XContainer.cs | 83 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XDocType.cs | 76 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XDocument.cs | 51 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XElement.cs | 144 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XName.cs | 103 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XNode.cs | 40 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XObject.cs | 110 | ||||
-rw-r--r-- | main/src/addins/Xml/Dom/XProcessingInstruction.cs | 44 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/BaseXmlEditorExtension.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs) | 182 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlCommands.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/Commands.cs) | 13 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlDocumentParser.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlDocumentParser.cs) | 13 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Editor/XmlEditorOptions.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorOptions.cs) | 78 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Editor/XmlEditorOptionsPanel.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanel.cs) | 10 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlEditorOptionsPanelWidget.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanelWidget.cs) | 27 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlEditorService.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorService.cs) | 50 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Editor/XmlFileAssociation.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlFileAssociation.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlFileAssociationManager.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlFileAssociationManager.cs) | 5 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlFileAssociationNode.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlFileAssociationNode.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlParsedDocument.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlParsedDocument.cs) | 5 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Editor/XmlSchemaManager.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlSchemaManager.cs) | 12 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlSchemaNode.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlSchemaNode.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlSchemasPanel.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlSchemasPanel.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlSchemasPanelWidget.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs) | 71 | ||||
-rw-r--r-- | main/src/addins/Xml/Editor/XmlTextEditorExtension.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlTextEditorExtension.cs) | 75 | ||||
-rw-r--r-- | main/src/addins/Xml/Formatting/MonoXmlPolicy.xml (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/MonoXmlPolicy.xml) | 0 | ||||
-rw-r--r-- | main/src/addins/Xml/Formatting/XmlFormatter.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormatter.cs) | 0 | ||||
-rw-r--r-- | main/src/addins/Xml/Formatting/XmlFormatterWriter.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormatterWriter.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/Xml/Formatting/XmlFormattingPolicy.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormattingPolicy.cs) | 0 | ||||
-rw-r--r-- | main/src/addins/Xml/Formatting/XmlFormattingPolicyPanel.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormattingPolicyPanel.cs) | 0 | ||||
-rw-r--r-- | main/src/addins/Xml/Formatting/XmlFormattingPolicyPanelWidget.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormattingPolicyPanelWidget.cs) | 95 | ||||
-rw-r--r-- | main/src/addins/Xml/MSBuild/MSBuildDocumentParser.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildDocumentParser.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/Xml/MSBuild/MSBuildElement.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildElement.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/Xml/MSBuild/MSBuildResolveContext.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildResolveContext.cs) | 7 | ||||
-rw-r--r-- | main/src/addins/Xml/MSBuild/MSBuildTextEditorExtension.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildTextEditorExtension.cs) | 13 | ||||
-rw-r--r-- | main/src/addins/Xml/Makefile.am (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Makefile.am) | 0 | ||||
-rw-r--r-- | main/src/addins/Xml/MonoDevelop.Xml.csproj (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.csproj) | 187 | ||||
-rw-r--r-- | main/src/addins/Xml/Parser/XmlAttributeState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlAttributeState.cs) | 17 | ||||
-rw-r--r-- | main/src/addins/Xml/Parser/XmlAttributeValueState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs) | 9 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Parser/XmlCDataState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlCDataState.cs) | 12 | ||||
-rw-r--r-- | main/src/addins/Xml/Parser/XmlChar.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlChar.cs) | 2 | ||||
-rw-r--r-- | main/src/addins/Xml/Parser/XmlClosingTagState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs) | 13 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Parser/XmlCommentState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlCommentState.cs) | 12 | ||||
-rw-r--r-- | main/src/addins/Xml/Parser/XmlDocTypeState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlDocTypeState.cs) | 13 | ||||
-rw-r--r-- | main/src/addins/Xml/Parser/XmlNameState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlNameState.cs) | 12 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Parser/XmlParser.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/Parser.cs) | 69 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Parser/XmlParserState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/State.cs) | 30 | ||||
-rw-r--r-- | main/src/addins/Xml/Parser/XmlProcessingInstructionState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs) | 12 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Parser/XmlRootState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlFreeState.cs) | 31 | ||||
-rw-r--r-- | main/src/addins/Xml/Parser/XmlTagState.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlTagState.cs) | 11 | ||||
-rw-r--r-- | main/src/addins/Xml/Properties/AddinInfo.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/AddinInfo.cs) | 5 | ||||
-rw-r--r-- | main/src/addins/Xml/Properties/AssemblyInfo.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/AssemblyInfo.cs) | 0 | ||||
-rw-r--r-- | main/src/addins/Xml/Properties/MonoDevelop.XmlEditor.addin.xml (renamed from main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml) | 81 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/CompletionData/XmlCompletionDataImageTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/CompletionData/XmlCompletionDataImageTestFixture.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/CompletionData/XmlCompletionDataStringTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/CompletionData/XmlCompletionDataStringTestFixture.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/MonoDevelop.Xml.Tests.csproj (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/MonoDevelop.XmlEditor.Tests.csproj) | 53 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Parser/ActiveElementStartPathTestFixture.cs | 95 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Parser/ActiveElementUnderCursorTests.cs | 157 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Parser/AttributeNameTestFixture.cs | 98 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Parser/AttributeNameUnderCursorTests.cs | 56 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Parser/AttributeValueUnderCursorTests.cs | 68 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Parser/InsideAttributeValueTestFixture.cs | 109 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Parser/NamespaceDeclarationTestFixture.cs | 109 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Parser/ParentElementPathTestFixture.cs | 57 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Parser/ParsingTests.cs (renamed from main/tests/UnitTests/MonoDevelop.Xml.StateEngine/ParsingTests.cs) | 37 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Parser/QualifiedNameTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/QualifiedNameTestFixture.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Parser/TestXmlParser.cs (renamed from main/tests/UnitTests/MonoDevelop.Xml.StateEngine/TestParser.cs) | 65 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Paths/NoElementPathTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Paths/NoElementPathTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Paths/SingleElementPathTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Paths/SingleElementPathTestFixture.cs) | 14 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Paths/TwoElementPathTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Paths/TwoElementPathTestFixture.cs) | 32 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Resources/XMLSchema.xsd (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Resources/XMLSchema.xsd) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Resources/xhtml1-strict-modified.xsd (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Resources/xhtml1-strict-modified.xsd) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/AbstractElementTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AbstractElementTestFixture.cs) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/AllElementTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AllElementTestFixture.cs) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/AttributeAnnotationTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeAnnotationTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/AttributeGroupRefTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeGroupRefTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/AttributeRefTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeRefTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/AttributeValueAnnotationTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeValueAnnotationTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/ChildElementAttributesTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ChildElementAttributesTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/ChoiceTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ChoiceTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/ComplexContentExtensionTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ComplexContentExtensionTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/DuplicateElementTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/DuplicateElementTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/ElementAnnotationTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ElementAnnotationTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/ElementRefAnnotationTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ElementRefAnnotationTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/ElementWithAttributeSchemaTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ElementWithAttributeSchemaTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/EnumAttributeValueTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/EnumAttributeValueTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/ExtensionElementTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ExtensionElementTestFixture.cs) | 6 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Schema/FindAttributeFromComplexTypeTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/FindAttributeFromComplexTypeTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/GroupRefCompositorTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/GroupRefCompositorTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/GroupRefTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/GroupRefTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/Includes/AttributeGroupRefSchemaIncludeTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema.Includes/AttributeGroupRefSchemaIncludeTestFixture.cs) | 8 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/Includes/TwoElementSchemaIncludeTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema.Includes/TwoElementSchemaIncludeTestFixture.cs) | 8 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Schema/MissingSchemaElementTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/MissingSchemaElementTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/NamespaceCompletionTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NamespaceCompletionTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/NestedAttributeGroupRefTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedAttributeGroupRefTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/NestedChoiceTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedChoiceTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/NestedElementSchemaTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedElementSchemaTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/NestedSequenceTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedSequenceTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/ReferencedElementsTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ReferencedElementsTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/RestrictionElementTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/RestrictionElementTestFixture.cs) | 6 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Schema/SchemaAssociationTests.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SchemaAssociationTests.cs) | 5 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/SchemaTestFixtureBase.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SchemaTestFixtureBase.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/SequencedChoiceTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SequencedChoiceTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/SimpleContentWithAttributeTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SimpleContentWithAttributeTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/SingleElementSchemaTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SingleElementSchemaTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/TwoElementSchemaTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/TwoElementSchemaTestFixture.cs) | 3 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/Uri/GetUriTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema.Uri/GetUriTestFixture.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/XhtmlStrictSchemaTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/XhtmlStrictSchemaTestFixture.cs) | 7 | ||||
-rw-r--r-- | main/src/addins/Xml/Tests/Schema/XmlSchemaNamespaceTests.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/XmlSchemaNamespaceTests.cs) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Schema/XsdSchemaTestFixture.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/XsdSchemaTestFixture.cs) | 7 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Utils/ResourceManager.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Utils/ResourceManager.cs) | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | main/src/addins/Xml/Tests/Utils/SchemaIncludeTestFixtureHelper.cs (renamed from main/src/addins/MonoDevelop.XmlEditor/Tests/Utils/SchemaIncludeTestFixtureHelper.cs) | 4 | ||||
-rw-r--r-- | main/src/addins/Xml/icons/light/prefs-xml-16.png (renamed from main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-16.png) | bin | 422 -> 422 bytes | |||
-rw-r--r-- | main/src/addins/Xml/icons/light/prefs-xml-16@2x.png (renamed from main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-16@2x.png) | bin | 917 -> 917 bytes | |||
-rw-r--r-- | main/src/addins/Xml/icons/light/prefs-xml-schemas-16.png (renamed from main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-schemas-16.png) | bin | 422 -> 422 bytes | |||
-rw-r--r-- | main/src/addins/Xml/icons/light/prefs-xml-schemas-16@2x.png (renamed from main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-schemas-16@2x.png) | bin | 917 -> 917 bytes | |||
-rw-r--r-- | main/src/addins/Xml/schemas/MonoDevelopAddIn.xsd (renamed from main/src/addins/MonoDevelop.XmlEditor/schemas/MonoDevelopAddIn.xsd) | 0 | ||||
-rwxr-xr-x | main/src/addins/Xml/schemas/W3C-License.html (renamed from main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/W3C-License.html) | 0 | ||||
-rwxr-xr-x | main/src/addins/Xml/schemas/XMLSchema.xsd (renamed from main/src/addins/MonoDevelop.XmlEditor/schemas/XMLSchema.xsd) | 0 | ||||
-rwxr-xr-x | main/src/addins/Xml/schemas/appconfig.xsd (renamed from main/src/addins/MonoDevelop.XmlEditor/schemas/appconfig.xsd) | 0 | ||||
-rwxr-xr-x | main/src/addins/Xml/schemas/manifest.xsd (renamed from main/src/addins/MonoDevelop.XmlEditor/schemas/manifest.xsd) | 0 | ||||
-rwxr-xr-x | main/src/addins/Xml/schemas/nant.xsd (renamed from main/src/addins/MonoDevelop.XmlEditor/schemas/nant.xsd) | 0 | ||||
-rwxr-xr-x | main/src/addins/Xml/schemas/readme.txt (renamed from main/src/addins/MonoDevelop.XmlEditor/schemas/readme.txt) | 0 | ||||
-rwxr-xr-x | main/src/addins/Xml/schemas/xslt.xsd (renamed from main/src/addins/MonoDevelop.XmlEditor/schemas/xslt.xsd) | 0 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs | 5 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/TooltipInformation.cs | 10 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/TooltipInformationWindow.cs | 16 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/CustomToolService.cs | 51 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/MSBuildCustomTool.cs | 55 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewFileDialog.cs | 1 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj | 1 | ||||
-rw-r--r-- | main/tests/Makefile.am | 3 | ||||
-rw-r--r-- | main/tests/UnitTests/MonoDevelop.CSharpBinding/TestDocument.cs | 5 | ||||
-rw-r--r-- | main/tests/UnitTests/UnitTests.csproj | 44 | ||||
-rwxr-xr-x | version-checks | 2 |
491 files changed, 12389 insertions, 26993 deletions
diff --git a/.gitignore b/.gitignore index 63bab9e283..a83a4ae599 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ obj/ /main/src/addins/MonoDevelop.Debugger.Win32/CorApi2/bin /main/src/core/MonoDevelop.Core/BuildVariables.cs /scripts/configure.exe +/main/packages #VS writes these sometimes even when it doesn't change anything /main/_UpgradeReport_Files @@ -49,6 +50,7 @@ autom4te.cache/ *.tar.gz tarballs/ test-results/ +Thumbs.db #Mac bundle stuff *.dmg @@ -76,7 +78,7 @@ test-results/ /main/man/Makefile /main/build/MacOSX/Makefile /main/build/Makefile -main/external/Makefile +/main/external/Makefile /main/contrib/Makefile /main/contrib/Mono.Cecil/Makefile /main/contrib/ICSharpCode.NRefactory.CSharp/Makefile @@ -85,8 +87,6 @@ main/external/Makefile /main/po/Makefile /main/src/Makefile /main/src/addins/AspNet/Makefile -/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Makefile -/main/src/addins/AspNet/MonoDevelop.AspNet/Makefile /main/src/addins/CBinding/Makefile /main/src/addins/CSharpBinding/AspNet/Makefile /main/src/addins/CSharpBinding/Autotools/Makefile @@ -122,7 +122,7 @@ main/external/Makefile /main/src/addins/MonoDevelop.RegexToolkit/Makefile /main/src/addins/MonoDevelop.SourceEditor2/Makefile /main/src/addins/MonoDevelop.WebReferences/Makefile -/main/src/addins/MonoDevelop.XmlEditor/Makefile +/main/src/addins/Xml/Makefile /main/src/addins/MonoDeveloperExtensions/Makefile /main/src/addins/MonoDeveloperExtensions/NUnit/Makefile /main/src/addins/NUnit/Makefile diff --git a/main/Main.sln b/main/Main.sln index 03caa07ca6..5c7760290b 100644 --- a/main/Main.sln +++ b/main/Main.sln @@ -109,11 +109,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.Deployment", "s EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.Deployment.Linux", "src\addins\Deployment\MonoDevelop.Deployment.Linux\MonoDevelop.Deployment.Linux.csproj", "{BA9020AD-A2D1-47C8-9A7C-756162C38296}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MonoDevelop.XmlEditor", "MonoDevelop.XmlEditor", "{2A39DAE0-09B8-481E-950D-DF9DE0E87208}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Xml", "Xml", "{2A39DAE0-09B8-481E-950D-DF9DE0E87208}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.XmlEditor.Tests", "src\addins\MonoDevelop.XmlEditor\Tests\MonoDevelop.XmlEditor.Tests.csproj", "{8E47B77A-A649-494C-9BF2-B845E39CADE9}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.Xml.Tests", "src\addins\Xml\Tests\MonoDevelop.Xml.Tests.csproj", "{8E47B77A-A649-494C-9BF2-B845E39CADE9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.XmlEditor", "src\addins\MonoDevelop.XmlEditor\MonoDevelop.XmlEditor.csproj", "{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.Xml", "src\addins\Xml\MonoDevelop.Xml.csproj", "{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "MonoDevelop.NUnit", "MonoDevelop.NUnit", "{DE462010-393D-4655-A42C-2C78BB14D2FA}"
EndProject
@@ -127,9 +127,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.Refactoring", " EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AspNet", "AspNet", "{0ADCD824-2506-4A61-9B88-ABF1D5267CE8}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.AspNet", "src\addins\AspNet\MonoDevelop.AspNet\MonoDevelop.AspNet.csproj", "{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.AspNet", "src\addins\AspNet\MonoDevelop.AspNet.csproj", "{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.AspNet.Mvc", "src\addins\AspNet\MonoDevelop.AspNet.Mvc\MonoDevelop.AspNet.Mvc.csproj", "{B32AD0DD-5247-437B-A2EF-1A4676C1B072}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MonoDevelop.AspNet.Tests", "src\addins\AspNet\Tests\MonoDevelop.AspNet.Tests.csproj", "{BEFADF93-EE92-4806-9C0B-937B25311C95}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "TextTemplating", "TextTemplating", "{68F63ACB-A9B2-468F-B365-0F41F0D5F1DA}"
EndProject
@@ -1436,22 +1436,6 @@ Global {B257A1A3-78DF-4F00-8053-D32A8B1EB679}.ReleaseMac|Any CPU.Build.0 = Release|x86
{B257A1A3-78DF-4F00-8053-D32A8B1EB679}.ReleaseWin32|Any CPU.ActiveCfg = Release|x86
{B257A1A3-78DF-4F00-8053-D32A8B1EB679}.ReleaseWin32|Any CPU.Build.0 = Release|x86
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.DebugGnome|Any CPU.ActiveCfg = Debug|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.DebugGnome|Any CPU.Build.0 = Debug|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.DebugWin32|Any CPU.ActiveCfg = Debug|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.DebugWin32|Any CPU.Build.0 = Debug|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.Release|Any CPU.Build.0 = Release|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.ReleaseGnome|Any CPU.ActiveCfg = Release|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.ReleaseGnome|Any CPU.Build.0 = Release|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.ReleaseWin32|Any CPU.ActiveCfg = Release|Any CPU
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072}.ReleaseWin32|Any CPU.Build.0 = Release|Any CPU
{B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.DebugGnome|Any CPU.ActiveCfg = Debug|Any CPU
{B7C1673E-5124-4BE5-8D21-EC8B12F85B6B}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
@@ -1492,6 +1476,22 @@ Global {BA9020AD-A2D1-47C8-9A7C-756162C38296}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
{BA9020AD-A2D1-47C8-9A7C-756162C38296}.ReleaseWin32|Any CPU.ActiveCfg = Release|Any CPU
{BA9020AD-A2D1-47C8-9A7C-756162C38296}.ReleaseWin32|Any CPU.Build.0 = Release|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.DebugGnome|Any CPU.ActiveCfg = Debug|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.DebugGnome|Any CPU.Build.0 = Debug|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.DebugMac|Any CPU.ActiveCfg = Debug|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.DebugMac|Any CPU.Build.0 = Debug|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.DebugWin32|Any CPU.ActiveCfg = Debug|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.DebugWin32|Any CPU.Build.0 = Debug|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.ReleaseGnome|Any CPU.ActiveCfg = Release|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.ReleaseGnome|Any CPU.Build.0 = Release|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.ReleaseMac|Any CPU.ActiveCfg = Release|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.ReleaseMac|Any CPU.Build.0 = Release|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.ReleaseWin32|Any CPU.ActiveCfg = Release|Any CPU
+ {BEFADF93-EE92-4806-9C0B-937B25311C95}.ReleaseWin32|Any CPU.Build.0 = Release|Any CPU
{BFE8691A-D323-4622-9021-7B8B27F81599}.Debug|Any CPU.ActiveCfg = Debug|x86
{BFE8691A-D323-4622-9021-7B8B27F81599}.Debug|Any CPU.Build.0 = Debug|x86
{BFE8691A-D323-4622-9021-7B8B27F81599}.DebugGnome|Any CPU.ActiveCfg = Debug|x86
@@ -1998,7 +1998,7 @@ Global {A7A4246D-CEC4-42DF-A3C1-C31B9F51C4EC} = {DE462010-393D-4655-A42C-2C78BB14D2FA}
{0AF16AF1-0876-413E-9803-08BD33C19E00} = {DE462010-393D-4655-A42C-2C78BB14D2FA}
{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E} = {0ADCD824-2506-4A61-9B88-ABF1D5267CE8}
- {B32AD0DD-5247-437B-A2EF-1A4676C1B072} = {0ADCD824-2506-4A61-9B88-ABF1D5267CE8}
+ {BEFADF93-EE92-4806-9C0B-937B25311C95} = {0ADCD824-2506-4A61-9B88-ABF1D5267CE8}
{A2364D6A-00EF-417C-80A6-815726C70032} = {68F63ACB-A9B2-468F-B365-0F41F0D5F1DA}
{D1D35409-C814-47F6-B038-B9B5BF0FE490} = {68F63ACB-A9B2-468F-B365-0F41F0D5F1DA}
{8CCA39DD-8412-4547-BE7F-0C3D3ACC6FAC} = {68F63ACB-A9B2-468F-B365-0F41F0D5F1DA}
@@ -2111,7 +2111,7 @@ Global $12.scope = image/svg+xml
$0.XmlFormattingPolicy = $13
$13.inheritsSet = null
- $13.scope = image/svg+xml
+ $13.scope = image/svgxml
outputpath = build\bin\
MakePkgConfig = False
MakeLibPC = True
diff --git a/main/configure.in b/main/configure.in index 94e9d58d08..293933bd8e 100644 --- a/main/configure.in +++ b/main/configure.in @@ -312,8 +312,6 @@ src/addins/TextTemplating/TextTransform/Makefile src/addins/TextTemplating/MonoDevelop.TextTemplating/Makefile src/addins/TextTemplating/Mono.TextTemplating.Tests/Makefile src/addins/AspNet/Makefile -src/addins/AspNet/MonoDevelop.AspNet/Makefile -src/addins/AspNet/MonoDevelop.AspNet.Mvc/Makefile src/addins/MonoDevelop.Autotools/Makefile src/addins/MonoDevelop.DesignerSupport/Makefile src/addins/MonoDevelop.WebReferences/Makefile @@ -332,7 +330,7 @@ src/addins/WindowsPlatform/WindowsAPICodePack/Shell/Makefile src/addins/WindowsPlatform/WindowsPlatform/Makefile src/addins/MonoDevelop.AssemblyBrowser/Makefile src/addins/MonoDevelop.SourceEditor2/Makefile -src/addins/MonoDevelop.XmlEditor/Makefile +src/addins/Xml/Makefile src/addins/MonoDevelop.Refactoring/Makefile src/addins/MonoDevelop.Debugger/Makefile src/addins/MonoDevelop.Debugger.Gdb/Makefile diff --git a/main/src/addins/AspNet/ChangeLog b/main/src/addins/AspNet/ChangeLog index ee5e8af19b..4b94c7347a 100644 --- a/main/src/addins/AspNet/ChangeLog +++ b/main/src/addins/AspNet/ChangeLog @@ -1,6 +1,3359 @@ -2009-08-12 Michael Hutchinson <mhutchinson@novell.com> +2010-07-21 Mike Krüger <mkrueger@novell.com> + + * Makefile.am: + * MonoDevelop.AspNet.csproj: + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: Track API changes. + +2010-07-21 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Track API changes. + +2010-07-18 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetToolboxNode.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track API + changes.- + +2010-07-18 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetToolboxNode.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Use + TextEditorData infrastructure. + +2010-07-18 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track API + changes. + +2010-07-17 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Track API changes. + +2010-07-17 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Changed + highlighting. + +2010-07-16 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Track API changes. + +2010-07-15 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fixed 'Bug + 621658 - Parameter hints disappear afterkeystroke'. + +2010-07-15 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Worked + on 'Bug 621658 - Parameter hints disappear afterkeystroke'. + +2010-07-13 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Added styles for + templated regions in files, e.g. ASP.NET and T4. + +2010-07-12 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.Html/HtmlParser.cs: + * MonoDevelop.AspNet/CodeBehind.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet.Parser/AspNetParser.cs: + * MonoDevelop.AspNet/AspNetParserService.cs: + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Track + ProjectDomService/Parser API. + + * MonoDevelop.AspNet.addin.xml: Track ProjectDomService/Parser + API. Also, treat spark files as html. + +2010-07-11 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspProjectDom.cs: Workaround for gmcs + bug. + +2010-06-16 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Fixed 'Bug 611859 - + aspx highlighting issues'. + +2010-06-14 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetExecutionHandler.cs: Track api + changes. + +2010-06-07 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs: Track + SingleFileDescription template API. + +2010-06-04 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Fixed 'Bug 611558 - + Phantom text in editor after typing </script>'. + +2010-06-04 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Partial + support for HTML encoded expressions and script blocks. + +2010-06-04 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetDom.cs: + * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs: Add + support for HTML encoded expressions in the state engine. + + * MonoDevelop.AspNet.StateEngine/HtmlTagState.cs: + * MonoDevelop.AspNet.StateEngine/HtmlScriptBodyState.cs: + Support for HTML script blocks. + + * Makefile.am: + * MonoDevelop.AspNet.csproj: Added file to project. + +2010-06-02 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Worked + on ASP.NET completion. + +2010-05-31 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.csproj: Don't require a specific M.A + version. + +2010-05-30 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: Moved duplicate field + elimination code into re-usable method. + + * MonoDevelop.AspNet.Gui/AspProjectDom.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Added + support for CodeBeside members in embedded completion. + + * MonoDevelop.AspNet.Parser/MemberListVisitor.cs: Collect + locations of items. + +2010-05-29 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * MonoDevelop.AspNet.csproj: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/RegistrationCache.cs: + * MonoDevelop.AspNet/ProjectRegisteredControls.cs: Change the + file info caches so that they don't constantly stat the + disk. Instead, they use the project file events to flush + items. + +2010-05-29 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/ProjectRegisteredControls.cs: Fix control + registration. + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Use + directory for config search, not filename. + +2010-05-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Get the web.config + name from the project. Fixes Bug 610066 - Adding a reference + to an ASP.NET MVC project causes Web.config to be renamed + "web.config". + + +2010-05-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/PageInfo.cs: More granular version + of the NRE fix. + +2010-05-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/PageInfo.cs: Fix an NRE. + +2010-05-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: Cache ProjectDoms. + +2010-05-28 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * MonoDevelop.AspNet.csproj: Added AspProjectDom to project. + + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: + DocumentInfo now contains the usings, ProjectDoms, script + region list, class name, base type. + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Only + rebuild the DocumentInfo when we get a new + AspNetParsedDocument, not on every keystroke. Track APIs. + + * MonoDevelop.AspNet.Gui/AspProjectDom.cs: Moved from + DomWrapper in AspNetCompletion.cs. + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Added + APIs for getting the usings and ProjectDoms for the + document. + +2010-05-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Missed a file in + previous commit. + +2010-05-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Pass + the full list of usings to the ILanguageCompletionBuilder. + + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet/ProjectRegisteredControls.cs: + Registration cache now tracks imports and assembly + registrations. + + * Makefile.am: + * MonoDevelop.AspNet.csproj: Add Sysytem.Xml.Linq reference. + +2010-05-28 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.Html/PathCompletion.cs: + * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: + Fix incorrect use of ShowCustomDialog/RunCustomDialog. + +2010-05-27 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: + * MonoDevelop.AspNet.Parser/MemberListVisitor.cs: + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Fixed Bug + 524051 - .as?x.designer.cs code generated by MonoDevelop + includes fields already present in the main class. + +2010-05-27 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet/AspNetToolboxNode.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Move + all the WebTypeManager static utility-type methods onto a + WebTypeContext class. Reduces arguments and will make it + easier to cache stuff. + +2010-05-26 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: Added method for + getting the IType for an HTML control. + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Added + method for looking up IType of arbitrary tag. + +2010-05-26 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProjectBinding.cs: Fix creating + ASP.NET single file projects. Fixes Bug 603521 - Command + errors opening aspx file. + +2010-05-21 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Deployment/WebDeployService.cs: + * MonoDevelop.AspNet.Deployment/WebDeployOptionsPanelWidget.cs: + Clean up dialog placement. + +2010-05-19 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Make + prefix generation and directive insertion APIs more + flexible. + + * MonoDevelop.AspNet.Parser/PageInfo.cs: Make it possible to + inject directives to an existing info. + + * Makefile.am: + * MonoDevelop.AspNet.csproj: + * MonoDevelop.AspNet.Parser/PageDirectiveVisitor.cs: Removed + unneeded class. + + * MonoDevelop.AspNet/AspNetToolboxNode.cs: Use new + ItextToolboxItem and DocumentReferenceManager APIs to insert + new directives into the DOM only when the item is actually + inserted into the editor. Fixes Bug 543721 - Auto-added + control directives sometimes fail. + +2010-05-18 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/PageInfo.cs: + * MonoDevelop.AspNet.Parser/AspNetParser.cs: + * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: + * MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs: Collect + more information from the document for C# completion. + +2010-05-18 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * gtk-gui/gui.stetic: + * MonoDevelop.AspNet.csproj: + * MonoDevelop.AspNet/CodeBehind.cs: + * MonoDevelop.AspNet.Parser/Document.cs: + * MonoDevelop.AspNet.Parser/PageInfo.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: + * MonoDevelop.AspNet/AspNetToolboxNode.cs: + * MonoDevelop.AspNet.Parser/AspNetParser.cs: + * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: + * MonoDevelop.AspNet/AspNetToolboxProvider.cs: + * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: + * MonoDevelop.AspNet.Parser/MemberListVisitor.cs: + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs: + * MonoDevelop.AspNet.Parser/PageDirectiveVisitor.cs: + * MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: + * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: + Heavy refactoring and tidying of ASP.NET parser code to + support future changes. + +2010-05-12 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: Fix Bug + 602154 - bin/ directory not created when building ASP.Net + Web Application template. + +2010-05-11 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.Html/PathCompletion.cs: + * MonoDevelop.Html/DocTypeCompletionData.cs: + * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: + Track API changes. + +2010-05-07 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetExecutionHandler.cs: Fix checks to + allow .NET 4. + +2010-04-28 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.Html/PathCompletion.cs: + * MonoDevelop.Html/DocTypeCompletionData.cs: + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: + Track API changes. + +2010-04-26 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Worked on + ASP.NET highlighting. + +2010-04-21 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Worked on + ASP.NET completion. + +2010-04-20 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Worked on + ASP.NET completion. + +2010-04-20 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: fixed + ASP.NET completion. + +2010-04-19 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Worked + on ASP.NET completion. + +2010-03-22 Lluis Sanchez Gual <lluis@novell.com> + + * AssemblyInfo.cs: + * MonoDevelop.AspNet.addin.xml: Bumped MD version. + +2010-03-17 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.csproj: Remove import off mono.addins + targets. + +2010-03-17 Lluis Sanchez Gual <lluis@novell.com> + + * Makefile.am: + * gtk-gui/gui.stetic: + * MonoDevelop.AspNet.csproj: + * MonoDevelop.AspNet.addin.xml: + * MonoDevelop.Html/PathCompletion.cs: + * MonoDevelop.AspNet/XspParameters.cs: + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.Html/HtmlSchemaService.cs: + * MonoDevelop.AspNet.Parser/Document.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet.Parser/Directive.cs: + * MonoDevelop.AspNet/AspNetToolboxNode.cs: + * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: + * MonoDevelop.AspNet.Gui/XspOptionsPanel.cs: + * MonoDevelop.Html/DocTypeCompletionData.cs: + * MonoDevelop.AspNet.Completion/SimpleLists.cs: + * MonoDevelop.Html/HtmlCompletionDataProvider.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: + * MonoDevelop.AspNet.Deployment/WebDeployService.cs: + * MonoDevelop.AspNet.Deployment/WebDeployCommands.cs: + * MonoDevelop.AspNet.Gui/AspNetConfigurationPanel.cs: + * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: + * MonoDevelop.AspNet.Deployment/WebDeployLaunchDialog.cs: + * MonoDevelop.AspNet.Deployment/WebDeployOptionsPanel.cs: + * MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs: + * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: + Merged MD.Projects into MD.Core, and MD.Projects.Gui, + MD.Core.Gui and MD.Components into MD.Ide. + +2010-03-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/Directive.cs: + * MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs: + Track ProjectFile Link API. + +2010-02-18 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.Html/PathCompletion.cs: + * MonoDevelop.Html/DocTypeCompletionData.cs: + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: + Track api changes. + +2010-02-16 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.addin.xml: Added some conditions to avoid + early loading of extensions. + + * MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: File + extensions are now declared in the node metadata. + +2010-01-28 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/generated.cs: + * gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs: + * gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs: + Flush. + +2010-01-28 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetMSBuildImportProvider.cs: Track api + changes. + +2010-01-27 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.Html/PathCompletion.cs: + * MonoDevelop.Html/DocTypeCompletionData.cs: + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: + Track API changes. + +2010-01-14 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Implement + the new SupportsItem method. + +2010-01-08 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/LineInterceptingTextWriter.cs: fixed + possible null ref. + +2010-01-07 mkrueger <${AuthorEmail}> + + * MonoDevelop.AspNet/LineInterceptingTextWriter.cs: Fixed null + reference exception. + +2009-12-11 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetExecutionHandler.cs: Use "xsp1" not + "xsp", but include a fallback so that it still works without + wrapper scripts, as xsp1 is xsp.exe. + +2009-12-07 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * MonoDevelop.AspNet.csproj: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/LineInterceptingTextWriter.cs: Move the + LineInterceptingTextWriter to another file and make it + public. Implement proper support for crlf. + +2009-12-07 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Scan a few more + output lines to check whether xsp has started. + +2009-12-04 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: Scan xsp output + for "Listening on port: " to detect when it's started, + instead of polling the server. + +2009-12-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Deployment/WebDeployService.cs: Name + threads to make debugging easier. + +2009-12-02 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Worked + on ASP.NET code completion. + +2009-12-01 Mike Krüger <mkrueger@novell.com> + + * Makefile.am: + * MonoDevelop.AspNet.csproj: + * MonoDevelop.AspNet.addin.xml: + * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: + * MonoDevelop.AspNet.Parser.Dom/ExpressionNode.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Worked + on ASP.NET code completion. + +2009-12-01 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: + * MonoDevelop.AspNet.Deployment/WebDeployService.cs: + * MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs: + Introduced the ConfigurationSelector class to all methods + that previously took a configuration name as string. This + eliminates the ambiguity between solution configuration + names and project configuration names. + +2009-11-20 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Track API. Set + UserAssemblyPaths. Get correct configuration. + + * MonoDevelop.AspNet/AspNetExecutionCommand.cs: Add property + for list of user assemblies. + +2009-11-19 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix bad + flags manipulation. Fixes Bug 556514 - asp.net Autogenerated + function are not public. + +2009-11-11 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: Strip the implicit + namespace from the generated compilation unit. Required for + VB. + +2009-11-11 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: + Simplify creation of new ASP.NET MVC configurations. + +2009-11-09 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.csproj: Wire the soft debug addin into + the build. + +2009-10-30 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: Fake a + IProcessAsyncOperation so that is can be returned from an + execution handler. + +2009-10-30 Lluis Sanchez Gual <lluis@novell.com> + + * AssemblyInfo.cs: + * MonoDevelop.AspNet.addin.xml: Bump MD version. + +2009-10-29 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/generated.cs: + * gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs: + * gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs: + Flush. + +2009-10-09 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track + namespace renamings. + +2009-10-08 Ankit Jain <jankit@novell.com> + + * MonoDevelop.AspNet.csproj: Mark *-sharp references, + with SpecificVersion=false. Import md.targets . + +2009-10-07 Lluis Sanchez Gual <lluis@novell.com> + + * AssemblyInfo.cs: + * MonoDevelop.AspNet.addin.xml: Bump MD version. + +2009-10-06 Michael Hutchinson <mhutchinson@novell.com> * Makefile.am: - * MonoDevelop.AspNet.Mvc: Include the ASP.NET MVC and + * MonoDevelop.AspNet.csproj: Update. + + * MonoDevelop.Html/PathCompletion.cs: Creates completion lists + for picking file paths. + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Tweak API + so classes can return completion lists instead of modifying + one they're given. + + * MonoDevelop.AspNet.Parser/Directive.cs: Complete paths for + register src and for masterpagefile. Finally fix the + register directive attribute completion too. + +2009-10-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.Html/DocTypeCompletionData.cs: + * MonoDevelop.AspNet/ProjectRegisteredControls.cs: + * MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs: Use + ordinal string compares where appropriate. + +2009-10-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Take + tag name into account when resolving type from control + registration directives. Only compare prefix once per + directive, and use case-insensitive ordinal comparisons. + Fixes bug #543727. + +2009-10-01 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: Resolve user + controls from referenced projects. Fixes "Bug 519651 - + Custom Controls cannot be registered in ASP.NET pages". + +2009-09-30 Michael Hutchinson <mhutchinson@novell.com> + + * gtk-gui/gui.stetic: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs: + Enable horizontal scroll so the dialog doesn't get + oversized. + +2009-09-21 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Tidy up a + few things, and fix some FIXMEs. + +2009-09-21 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: Add a cache for + codebehind type names. + + * MonoDevelop.AspNet/ProjectRegisteredControls.cs: Factor out + FileInfoCache from the control registration cache, so we can + use it for a type name cache. + + * MonoDevelop.AspNet/WebTypeManager.cs: Type UserControls with + the type of this CodeBehind, if it can be looked up. + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Fix a + couple of small bugs in UserControl type lookups. + +2009-09-21 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Found a better way + of removing the encoding declaration from the header. + +2009-09-21 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Omit the xml + declaration when saving the .config file, because it is + declaring the utf-16 encoding, which wrong when saving the + content to a utf-8 file. Fixes bug #537846 - Editing + .aspx-files throws 'Error in text editor extension + chain'-exception. + +2009-09-16 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet\AspNetExecutionHandler.cs: Set DEVPATH to + the path of xsp. Required on Windows, so that .NET can find + Mono.Web. + + * MonoDevelop.AspNet\AspNetAppProject.cs: Moved the XSP check + to the execution handler. + +2009-09-12 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.Html/DocTypeCompletionData.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: + Track API changes. + +2009-09-01 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.csproj: Don't require a specific version + for Mono.Addins. + +2009-08-26 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/gui.stetic: Update gtk# dependency. + +2009-08-20 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetExecutionCommand.cs: + * MonoDevelop.AspNet/AspNetExecutionHandler.cs: Run xsp on the + correct target runtime. Support using a bundled xsp if it + doesn't exist in the target runtime. + +2009-08-19 Lluis Sanchez Gual <lluis@novell.com> + + * Makefile.am: + * MonoDevelop.AspNet.csproj: + * MonoDevelop.AspNet.addin.xml: + * MonoDevelop.AspNet/AspNetMSBuildImportProvider.cs: Use the + new extension point for generating msbuild imports. + +2009-08-13 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetToolboxLoader.cs: + * MonoDevelop.AspNet/AspNetToolboxProvider.cs: Use the new + AssemblyContext class to query and resolve assemblies. + +2009-08-12 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.csproj: Include the ASP.NET MVC and TextTemplating addins in the main solution and build. +2009-08-10 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.csproj: Don't local-copy project references. + +2009-08-06 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: + Override and implement CopyFrom. Should allow the config + editing panel to store values. + +2009-08-04 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.csproj: Don't local copy assemblies. + +2009-07-31 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs: + Flush. + +2009-07-31 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs: + Flush. + +2009-07-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetConfigurationPanel.cs: + * MonoDevelop.AspNet.Gui/AspNetConfigurationPanelWidget.cs: + Remove unnecessary field. + +2009-07-28 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * gtk-gui/gui.stetic: + * AspNetAddIn.csproj: + * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: + * gtk-gui/MonoDevelop.AspNet.Gui.AspNetFileSelector.cs: + * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: + Move AspNetFileSelector to + MonoDevelop.Project.Gui.Dialogs.ProjectFileSelectorDialog. + +2009-07-24 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetAppProjectBinding.cs: Track api + changes. Patch by Viktoria Dudka. + +2009-07-17 Mike Krüger <mkrueger@novell.com> + + * Makefile.am: + * AspNetAddIn.csproj: Fixed build. + +2009-07-16 Mike Krüger <mkrueger@novell.com> + + * Makefile.am: + * AspNetAddIn.csproj: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Started to + work on ASP.NET code completion. + +2009-07-15 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Worked on + highlighting support for code blocks. + +2009-07-14 Mike Krüger <mkrueger@novell.com> + + * Makefile.am: + * AspNetAddIn.csproj: + * MonoDevelop.AspNet.addin.xml: + * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Added ASP.NET C# + region syntax highlighting. + +2009-07-06 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Properly map the + configuration name to a configuration. + +2009-07-06 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/WebForm-Empty.xft.xml: + * Templates/WebApplication.xpt.xml: + * Templates/MasterPage-Empty.xft.xml: + * Templates/WebForm-CodeBehind.xft.xml: + * Templates/MasterPage-CodeBehind.xft.xml: + * Templates/WebForm-CodeBehindNonPartial.xft.xml: + * Templates/MasterPage-CodeBehindNonPartial.xft.xml: Make head + tag into server tag so that theming works. Patch from + Alfredo De Vito. + +2009-07-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: Move CodeBehindWriter from + MonoDevelop.AspNet to MonoDevelop.DesignerSupport. + +2009-06-23 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetToolboxNode.cs: + * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: + * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Use the new + DesktopService instead of PlatformService. + +2009-06-15 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: Track assembly lookup + APIs. Fix bad logic that could cause NRE. + + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetToolboxLoader.cs: + * MonoDevelop.AspNet/AspNetToolboxProvider.cs: Track assembly + lookup APIs. + +2009-05-21 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs: + * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: + Track api changes. + +2009-05-19 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet\CodeBehind.cs: + * MonoDevelop.AspNet\AspNetAppProject.cs: + * MonoDevelop.AspNet.Gui\AspNetFileSelector.cs: + * MonoDevelop.AspNet\ProjectFolderNodeBuilderExtension.cs: Use + the new FilePath class for handling file and directory + paths. + +2009-04-27 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetExecutionCommand.cs: Added + TargetRuntime parameter to AspNetExecutionComand. + +2009-04-27 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs: Track + API changes. + +2009-04-23 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: Notify fileservice when a + file that isn't open has been changed. Fixes "Bug 496278 - + C# completion doesn't update when designer codebehind is + updated". + +2009-04-23 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/WebContentForm-CodeBehind.xft.xml: Fix the + DependsOn value. Thanks to Dax@daxxfiles.net for the patch. + +2009-04-20 Lluis Sanchez Gual <lluis@novell.com> + + * Makefile.am: + * AspNetAddIn.csproj: + * MonoDevelop.AspNet.addin.xml: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetExecutionHandler.cs: + * MonoDevelop.AspNet/AspNetExecutionCommand.cs: Use an + IExecutionHandler and an ExecutionCommand to handle the + execution of asp.net projects. This will allow supporting + special execution modes such as debug or profile. + +2009-04-20 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Renamed + PixbufService to ImageService. + +2009-04-20 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Track API + changes. + + +2009-04-17 Mike Kestner <mkestner@novell.com> + + * AspNetAddin.csproj: don't require specific gtk-sharp version. + +2009-04-17 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Removed icon + service. + +2009-04-16 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetToolboxNode.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Moved + SystemAssemblyService and related classes to the namespace + MonoDevelop.Core.Assemblies. + +2009-04-15 Lluis Sanchez Gual <lluis@novell.com> + + * AssemblyInfo.cs: + * MonoDevelop.AspNet.addin.xml: Bump MD version. + +2009-04-15 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetToolboxNode.cs: + * MonoDevelop.AspNet/AspNetToolboxLoader.cs: + * MonoDevelop.AspNet/AspNetToolboxProvider.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Track + api changes to support multiple target runtimes. + +2009-04-09 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: + Add a using. + +2009-03-20 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Fix output directory + for newly created projects, since DotNetProject changes it + during project creation. + +2009-03-17 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.Html/HtmlParser.cs: + * MonoDevelop.AspNet.Parser/AspNetParser.cs: + * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: + Track API changes. + +2009-03-16 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Migrate bad output + directories from MD1 format. Set proper output directory for + new configurations. + + * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: Remove + output directory hacks. + +2009-03-13 Andrés G. Aragoneses <aaragoneses@novell.com> + + * gtk-gui/gui.stetic: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: + Making some strings not translatable. + +2009-03-11 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: Work around text editor + bug (#484574) that caused modifications to open files not to + be saved. Only try to save files that we've modified. + + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Force type + database to update during build. Fixes "Bug 484122 - + [Regression] Default C# Asp.Net template fails to compile". + Remove dead code. + +2009-03-06 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Show + directories that contain project files, even if the + directories aren't explicitly in the project. Don't + duplicate directories that have children that are explictly + in the project. + +2009-03-06 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Don't crash + on documents without doctypes. Better root element + completion for web controls and master children. + +2009-03-04 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Track + doctype parsing changes. Fix jumping to selections. + +2009-03-04 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Changed the way + execution handlers work. We are not using platform ids + anymore. Instead, we use command strings when looking for + execution handlers. IExecutionHandlerFactory has been + removed and now everything is handled by IExecutionHandler, + which has a new CanExecute method. This model is more simple + and more generic. + +2009-02-27 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs: + Save the project after adding a special folder. + +2009-02-27 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs: + More efficient query for existing folders. Attach node + builder to more limited range of node types. Show special + folders even if they exist in the project, or users might + get confused when the menu vanishes. + + * MonoDevelop.AspNet/AspNetAppProject.cs: Slim down the list + of special folders to ones for web apps rather than sites. + Make virtual. + + * MonoDevelop.AspNet.addin.xml: Remove unused attribute. + +2009-02-24 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Move + codebehind generation code from VerifyCodeBehindBuildStep to + CodeBehind and refactor it into something more re-usable. + +2009-02-24 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Fix swapped + parameters in ResolveVirtualPath. + + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Generate + strongly typed master accessor property if the MasterType + directive is present. + +2009-02-24 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/PageInfo.cs: More properties in + ToString. + + * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: Ignore case of + MasterType directive. + +2009-02-24 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/WebContentForm.xft.xml: + * Templates/NestedMasterPage.xft.xml: + * Templates/WebContentForm-CodeBehind.xft.xml: + * Templates/NestedMasterPage-CodeBehind.xft.xml: Fix + MasterPageFile attribute name. + +2009-02-24 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/Directive.cs: Add completion for + MasterType directive. + +2009-02-24 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Diplay project + tree and its icons correctly. + +2009-02-24 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: + Add new template type that allows user to pick a master page + and stubs out content regions. + + * Makefile.am: + * gtk-gui/gui.stetic: + * AspNetAddIn.csproj: + * MonoDevelop.AspNet.addin.xml: Updated. + + * Templates/MasterPage-Empty.xft.xml: + * Templates/MasterPage-CodeBehind.xft.xml: + * Templates/MasterPage-CodeBehindNonPartial.xft.xml: Correct + names. + + * Templates/WebContentForm.xft.xml: + * Templates/NestedMasterPage.xft.xml: + * Templates/WebContentForm-CodeBehind.xft.xml: + * Templates/NestedMasterPage-CodeBehind.xft.xml: New + templates. + + * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: + * gtk-gui/MonoDevelop.AspNet.Gui.AspNetFileSelector.cs: Added + a UI for picking a master page. + + * MonoDevelop.AspNet.Parser/ContentPlaceHolderVisitor.cs: A + visitor for finding the contentplaceholder ids of a master + page. + +2009-02-24 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Add methods for + handling virtual paths. + + * MonoDevelop.AspNet.Parser/PageInfo.cs: + * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: Capture + MasterPageType info. + +2009-02-23 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.addin.xml: Track merge of the project pad + context menu. + +2009-02-20 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs: Track + API. + +2009-02-20 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Add an attempt at + resolving assemblies from bin. + +2009-02-20 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Track + assembly database API behaviour. Improve assembly resolution + error handling. Fixes "Bug 477476 - Template for ASP.Net Web + Application doesn't work by default." and restores ASP.NET + code completion and codebehind generation. + +2009-02-11 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track API. + +2009-02-08 Michael Hutchinson <mhutchinson@novell.com> + + * AspNetAddIn.csproj: Copy schemas to output directory. + +2009-02-07 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Remove + unnecessary "base" instance access, as csc doesn't like it. + +2009-02-06 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.mdp: + * AspNetAddIn.csproj: Migrated to MSBuild file format. + +2009-02-04 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track + BindingService API. + +2009-02-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Allow + forced completion for fields/properties in expressions. + + * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Add + rollback so that expressions can be differentiated. Fixes + field/property completion in expressions. + +2009-02-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: + Track BindingService API. Fixes event completion bugs. + +2009-02-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet/ProjectRegisteredControls.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: + Implement full type lookup and listing mechanisms for + controls registered in web.config. Enables full code + completion for these controls. Fixes "Bug 470488 - Controls + registered in web.config do not have code completion". + +2009-02-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Add a + ControlRegistrationCache to the project to cache web.config + control registrations. + + * MonoDevelop.AspNet/ProjectRegisteredControls.cs: Use a + custom class for encapsulating registration info instead of + TagPrefixInfo, so we can attach extra data. + + * MonoDevelop.AspNet/WebTypeManager.cs: Use project's + ControlRegistrationCache for type lookups. + +2009-02-03 Lluis Sanchez Gual <lluis@novell.com> + + * AssemblyInfo.cs: + * MonoDevelop.AspNet.addin.xml: Bump MD version. + +2009-02-03 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/generated.cs: + * gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs: + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs: + * gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs: + * + gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs: + Flush. + +2009-01-30 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs: Propagate a + policy parent SolutionItem through project/file creation so that + policies can always be resolved correctly. + +2009-01-29 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * AspNetAddIn.mdp: + * MonoDevelop.AspNet/ProjectRegisteredControls.cs: Add a class to load + and cache control registrations from web.config files. It's intended + to be bound to the AspNetAppProject, for documents to look to for + completion and resolving types. + +2009-01-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: Don't pass a null + TargetFramework to SystemAssemblySevice, or it explodes. Propagate + project info to the web.config handler so that it can resolve + assemblies with the correct TargetFramework. + +2009-01-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: If the + special-casing of the asp prefix to System.Web.dll fails to resolve + the type, do a full lookup. Fixes the asp prefix with other controls, + as is common with e.g. System.Web.Extensions. + +2009-01-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/MemberListVisitor.cs: Log type resolution + errors to the document's error list. + + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Make sure the + member list is initialised before outputting errors, so that type + resolution errors show up in the error pad. Treat them as warnings + until we can be 100% sure that they're not mistakes on MD's part. + +2009-01-21 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Execute xsp in the project's + BaseDirectory, not the SourceDirectory, since the bin directory is + already assumed to be in BaseDirectory, and SourceDirectory seems to + be obsolete. Fixes running ASP.NET csproj projects in certain + circumstances. + +2009-01-21 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Remove closing tag + completion as the base class handles it now. + +2009-01-16 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetAppProjectBinding.cs: + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: + * MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs: + * MonoDevelop.AspNet.MD1Serialization/MD1AspNetCustomDataItem.cs: Track + DetermineWebSubtype API. + + * Templates/WebForm-Empty.xft.xml: + * Templates/WebApplication.xpt.xml: + * Templates/WebControl-Empty.xft.xml: + * Templates/WebHandler-Empty.xft.xml: + * Templates/GlobalAsax-Empty.xft.xml: + * Templates/WebService-Empty.xft.xml: + * Templates/MasterPage-Empty.xft.xml: + * Templates/WebConfig-SubDir.xft.xml: + * Templates/WebForm-CodeBehind.xft.xml: + * Templates/WebConfig-Application.xft.xml: + * Templates/MasterPage-CodeBehind.xft.xml: + * Templates/WebHandler-CodeBehind.xft.xml: + * Templates/WebService-CodeBehind.xft.xml: + * Templates/GlobalAsax-CodeBehind.xft.xml: + * Templates/WebControl-CodeBehind.xft.xml: + * Templates/WebForm-CodeBehindNonPartial.xft.xml: + * Templates/MasterPage-CodeBehindNonPartial.xft.xml: + * Templates/WebControl-CodeBehindNonPartial.xft.xml: Don't explicitly + set a build action, since it was wrong for MSBuild files, and the + default works fine. + +2009-01-16 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs: Deploy + all files marked as "Content" rather than all ASP.NET files. + +2009-01-16 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Add JavaScript to WebSubType. + +2009-01-16 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Add css, xhtml, html, htm to + the WebSubTypes enum. This means that their default build action is + "Content", so they get deployed by default. Should fix "Bug 466855 - + CSS files in App_Themes/theme_name/ are not deployed". + +2009-01-14 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Don't try to update web.config + when references are removed during project loading. Fixes "Bug 465852 + - MonoDevelop 2.0 (trunk) does not load ASP.NET projects from 1.0." + +2008-12-12 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.mdp: All projects now require fx 3.5. + +2008-12-11 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet/AspNetToolboxNode.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Track API + changes. + +2008-12-09 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.mdp: Don't require a specific version of Mono.Addins. + +2008-12-05 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Ignore + PersistChildrenAttribute, as it does more harm than good. It's + essentially the opposite of ParseChildrenAttribute, but it's often + incorrectly set, whereas ParseChildrenAttribute is almost invariably + correct. Also, assume that any property tagged with a + TemplateContainerAttribute has an InnerProperty persistence mode. + +2008-12-05 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add TODO markers for + ParseChildrenAttribute.ChildControlType support. + +2008-12-04 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Implemented CanExecute. + + * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: Track api changes. + +2008-12-04 Lluis Sanchez Gual <lluis@novell.com> + + * Makefile.am: Make it work for parallel build. + +2008-12-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.addin.xml: Set correct packing for Web deployment + panel. + +2008-12-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.addin.xml: Move options panels to more appropriate + categories. + + * gtk-gui/gui.stetic: Flush. + +2008-12-02 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * AspNetAddIn.mdp: + * AssemblyInfo.cs: Add AssemblyInfo.cs files that are autogenerated from + the addin manifests. + +2008-11-27 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Use + DocumentationService to look up class documentation lazily. + +2008-11-26 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: If project's CompileTarget + isn't "Library", automatically fix it, since older versions of MD did + not set it correctly. + +2008-11-25 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.Html/HtmlParser.cs: Implement multiple root element + validation since parser no longer handles this. + +2008-11-19 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Improve accuracy of + completions for controls' children. Add support for completing + properties' childen. + + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Extend lookup + methods to be able to look for types other than Control. + +2008-11-18 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/HtmlTagState.cs: Improve error location + precision for implicitly self-closing tags. + +2008-11-18 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Improve element + completion. + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Make + AspTagCompletionData public. + + * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Expose methods to + subclass. + +2008-11-18 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Use ASP.NET + serialisation attributes to improve completion. Display properties as + children when appropriate; don't display properties as attributes or + controls as children when inappropriate. + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Add a shortcut + for HTML controls. + +2008-11-17 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/WebApplication.xpt.xml: Fix case of asp:button. + + * MonoDevelop.AspNet/WebTypeManager.cs: Make sure all type name lookups + are case insensitive (seems that MonoDevelop's defaults changed). + Fixes Bug 445850 - [Regression] The C# Asp Web application template + fails to compile . + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Trivial 1.1 to + 2.0 API update. + +2008-11-14 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/HtmlTagState.cs: + * MonoDevelop.AspNet.StateEngine/HtmlClosingTagState.cs: Implement new + parser states that handle implicit tag closing for HTML. + + * Makefile.am: + * AspNetAddIn.mdp: Updated. + + * MonoDevelop.Html/HtmlParser.cs: + * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: + * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Use the new HTML + parsing states. + + * MonoDevelop.Html/ElementTypes.cs: Lookups to determine if an HTML tags + is block/inline/empty/paragraph. + +2008-11-14 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Flag schema for + update when doctype changes. + +2008-11-14 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: Use project to resolve target + .NET version for assemblies. + + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Resolve types + of items from register directives. Lazy-load descriptions. + +2008-11-13 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Include + controls referenced by Register directives when listing tags. + +2008-11-13 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.addin.xml: Specify position for build step. + + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Enable designer class + updating for UserControls and MasterPages. + +2008-11-13 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Split out the HTML + editor extension. Add document outlining. + + * Makefile.am: + * AspNetAddIn.mdp: Updated. + + * MonoDevelop.AspNet.addin.xml: + * MonoDevelop.Html/HtmlParser.cs: Added an HTML parser. + + * MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs: Split out the HTML + editor extension. Add document outlining. Mostly extracted from + Moonlight addin. + +2008-11-12 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * AspNetAddIn.mdp: + * MonoDevelop.AspNet.Gui/HtmlTextEditorExtension.cs: + * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Renamed file. + +2008-11-12 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/HtmlTextEditorExtension.cs: Move re-usable HTML + editing into base class in preparation for other changes. + +2008-11-12 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/HtmlTextEditorExtension.cs: Tidy up + doctype->schema resolution code, and only try to resolve doctype when + it changes. Use case-insensitive completion. + +2008-11-11 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track fix in text + editor's completion line/col indexing. It's now 1-indexed, as it + should be. Fix attribute value type resolution fallback. + + * MonoDevelop.AspNet.Parser/Document.cs: Comment out some noisy debug + code. + +2008-11-06 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Use new API; move default + build action code into GetDefaultBuildAction override. + +2008-11-05 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.addin.xml: Bump MD version. + +2008-11-04 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Override new + IsLibraryBasedProjectType property, consolidating code in base class. + +2008-11-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Set CompileTarget to library + on base class, not just overriding the values on the property. Fixes + Bug 436275 - MD ASP.Net project does not build in VS2005. + +2008-11-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Track MD core API to re-enable + running of ASP.NET projects. + +2008-10-28 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.addin.xml: fixed 'Bug 399737 - Code completion + busted for referenced assemblies that are not in GAC, are outside of + the solution, and which are referenced by other non-GAC outside + referenced assemblies'. + +2008-10-27 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix directive name + completion triggering. + +2008-10-24 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetDom.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs: + * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs: + * MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs: Changed + Xml StateEngine from offset-based positions to line/column positions. + +2008-10-22 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Better default build action + for auto-added codebehind files. + +2008-10-22 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: + * MonoDevelop.AspNet/AspNetAppProject.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Moved + codebehind/designer lookup functionality to + MonoDevelop.DesignerSupport. + +2008-10-16 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add simple + field/property completions in render and databinding expressions. + +2008-10-16 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Finally fix event + handler completion with the new MD Code DOM. + +2008-10-16 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * AspNetAddIn.mdp: Updated. + + * MonoDevelop.AspNet.addin.xml: Enable HtmlEditorExtension for HTML + completion. + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Gui/HtmlTextEditorExtension.cs: Refactor HTML + completion from AspNetEditorExtension into an HtmlEditorExtension + base class. + +2008-10-16 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Completion/SimpleLists.cs: Remove unused methods. + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Move code to base + class. Implement more directive completions. + + * MonoDevelop.AspNet.Parser/Directive.cs: Change API to alter lists + instead of creating them. + +2008-10-15 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Move more into the + base class. Implement directive name completion. + + * MonoDevelop.AspNet.Parser/Directive.cs: Remove unused parameters. + +2008-10-15 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser.Internal/AspParser.cs: Improve error + reporting. + +2008-10-14 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track API. Work + around some bugs in directive completion until they're fixed + properly. + + * Makefile.am: + * AspNetAddIn.mdp: Updated. + + * MonoDevelop.AspNet.Completion/SimpleLists.cs: Add utility methods for + simple completion lists with default values. + + * MonoDevelop.AspNet.Parser/Directive.cs: Add attribute completion for + all directives. Some work towards completing directive names and + values. + + * MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs: Add a WebSubType + property. + +2008-10-13 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/Directive.cs: Add more attributes. + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Remove code that's + moved to base class. + +2008-10-09 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/Directive.cs: + * MonoDevelop.Html/HtmlCompletionDataProvider.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.Html/DocTypeCompletionDataProvider.cs: Track APIs. + + * Makefile.am: + * AspNetAddIn.mdp: Updated. + +2008-10-09 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.Html/DocTypeCompletionData.cs: + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: Track + CompletionData API. + +2008-10-08 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/Directive.cs: Track API. + + * Makefile.am: + * AspNetAddIn.mdp: Updated. + + * MonoDevelop.AspNet.Parser/SimpleCompletionData.cs: Moved to + MonoDevelop.Projects.Gui. + + * MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs: Not needed; + deleted. + +2008-10-07 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.Html/DocTypeCompletionData.cs: + * MonoDevelop.AspNet.Parser/SimpleCompletionData.cs: + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: Track + API. + +2008-10-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Moved lots of code + down to the BaseXmlEditorExtension. + * AspNetAddIn.mdp, Makefile.am: Updated. + * MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs: Renamed. Add + NonSerializable flag. + +2008-10-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, + MonoDevelop.AspNet.Parser/SimpleCompletionData.cs, + MonoDevelop.AspNet.Parser/Directive.cs: Enable some simple + completion for directive attributes. + +2008-10-01 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Track API. + * MonoDevelop.AspNet.addin.xml, MonoDevelop.AspNet.MD1Serialization, + MonoDevelop.AspNet.MD1Serialization/MD1AspNetCustomDataItem.cs, + MonoDevelop.AspNet.MD1Serialization/md1format.xml, + MonoDevelop.AspNet.Deployment/WebDeployService.cs, + MonoDevelop.AspNet.Deployment/WebDeployResolver.cs, + MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs, + AspNetAddIn.mdp, Makefile.am: Integrate deployment with the + deployment service chnages; makes it much cleaner. Track "arbitrary + build action" API changes; this improves compatibility with VS Web + Apps. + +2008-09-29 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.Html/DocTypeCompletionData.cs, + MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs, + MonoDevelop.AspNet.Parser/SimpleCompletionData.cs: Implemented + IComparable <ICompletionData>. + +2008-09-26 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, + MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs, + MonoDevelop.AspNet.Parser/AspNetParser.cs, + MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs, + MonoDevelop.AspNet/AspNetParserService.cs, + MonoDevelop.AspNet/AspNetToolboxNode.cs, + MonoDevelop.AspNet/CodeBehind.cs, + MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Track API. + +2008-09-25 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs: Track API. + +2008-09-18 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.Html/HtmlCompletionDataProvider.cs, + MonoDevelop.Html/DocTypeCompletionDataProvider.cs, + MonoDevelop.AspNet.Parser/SimpleCompletionData.cs: Track api + changes. + +2008-09-12 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs, + gtk-gui/generated.cs, + gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs, + gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs, + gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs, + gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs, + gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: Updated + generated code. + +2008-09-12 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, + MonoDevelop.AspNet/AspNetToolboxNode.cs, + MonoDevelop.AspNet/WebTypeManager.cs: Track api changes. + +2008-09-10 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am, AspNetAddIn.mdp: Updated. + * MonoDevelop.AspNet.Parser/SimpleCompletionData.cs: Utility completion + data classes -- in C#3! + * MonoDevelop.AspNet.Parser/Directive.cs: Work-in-progress on directive + completion. + +2008-09-10 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs, + MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs, + MonoDevelop.AspNet/AspNetParserService.cs, + MonoDevelop.AspNet/AspNetToolboxNode.cs, + MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, + MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs, + MonoDevelop.AspNet.Parser/AspNetParser.cs: Changed compilation + unit/document meta information interface. + +2008-09-04 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs: Moved the + extensible tree view to its own directory. + +2008-09-03 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetToolboxNode.cs, AspNetAddIn.mdp: Changes + caused by parser service change. + +2008-08-22 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix attribute value + completion. + +2008-08-20 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Replace C#3 + automatic properties into C# 2 properties. Fixes build on Mono < + 1.9. Thanks to Joshua Simmons for the patch. + +2008-08-12 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser.Internal/AspTokenizer.cs, + MonoDevelop.AspNet.Parser.Internal/Directive.cs, + MonoDevelop.AspNet.Parser.Internal/AspParser.cs, + MonoDevelop.AspNet.Parser.Internal/Location.cs, + MonoDevelop.AspNet.Parser.Internal/ParseException.cs, + MonoDevelop.AspNet.Parser.Dom/ILocation.cs: Update from mcs SVN + HEAD. Fixes "Bug 409109 - The ASP.NET Editor crashes if you leave a + tag opened". + +2008-08-08 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Use Loading property instead + of filename nullness hack. + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Simplify code + generation appraoch for partial classes: if the file.aspx (etc) + file is newer than the corresponding file.aspx.designer.* file, + regenerate the designer class entirely. This means that we no + longer require refactoring support, so the feature now works with + Boo and VB.NET. + + + + Also remove support for adding members to non-partial CodeBehind + classes. + * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs, + MonoDevelop.AspNet.Gui/AspNetConfigurationPanelWidget.cs, + gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs, + gtk-gui/gui.stetic: Remove option for autogenerating members in + non-partial CodeBehind classes. Add an option for disabling + Codebehind updating altogether. + +2008-08-05 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Add null check. + +2008-08-01 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs, + MonoDevelop.AspNet.StateEngine/AspNetAttributeValueState.cs, + MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs, + MonoDevelop.AspNet.StateEngine/AspNetSpeculativeExpressionState.cs, + MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs: + Implement attribute value expressions. + * AspNetAddIn.mdp, Makefile.am: Updated. + +2008-07-31 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Show all kinds of + nodes in the path bar, and allow selecting them. + * MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs, + MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs: Fix start + offsets. + * MonoDevelop.AspNet.StateEngine/AspNetDom.cs: Add friendly + representations. + * MonoDevelop.AspNet.StateEngine/AspNetSpeculativeExpressionState.cs, + MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Implement + speculatives states. Works for expressions and server comments + within tags, though not within attributes. + +2008-07-31 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs, + MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Clean up + System.Web lookup code. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix the System.Web + fallbacks using new DOM. Respect project's runtime version. + +2008-07-31 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add comment and + CDATA completion. Only trigger tag completion in the free state. + * MonoDevelop.AspNet/WebTypeManager.cs: Simplify lookups using new + DOM's methods. They're still broken due to the DOM database + returning bad values. + +2008-07-30 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs, + MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: More porting to + new DOM. + * MonoDevelop.AspNet.StateEngine/AspNetSpeculativeExpressionState.cs: A + "speculative state" to replace the MalformedTagState. Can create a + server comment, or + * MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs: Tidying + up. + * AspNetAddIn.mdp, Makefile.am: Updated. + +2008-07-30 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs, + MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs, + MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs, + MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs: API change + to allow more that one character of rollback. + +2008-07-29 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Filter out + attributes that are already in the tag. + +2008-07-29 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs: Complete the + handling of expressions (in free state). + +2008-07-29 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs: Implement + server comments handling (in the free state). + +2008-07-29 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs, + MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs, + MonoDevelop.AspNet.StateEngine/AspNetDom.cs: Complete the handling + of directives. Server comments and expressions are still broken. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Continue port to new + DOM. Enable AspNetFreeState parser instead of XML one. + * MonoDevelop.AspNet.Parser/AspNetParser.cs: Remove debug code. + +2008-07-29 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs, + MonoDevelop.AspNet/AspNetParserService.cs, + MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Translated old + code to new dom. + +2008-07-29 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs, + MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs, + MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: + Changes for converted refactoring infrastructure. + +2008-07-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetToolboxNode.cs, + MonoDevelop.AspNet/WebTypeManager.cs, + MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, + MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Partial port + to new DOM. A *few* features are working again, but it's not nearly + done. Need to be able to get assembly parse contexts to make + progress. + +2008-07-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix document outline + view with new parser infrastructure. + +2008-07-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs, + MonoDevelop.AspNet/AspNetLanguageBinding.cs, + MonoDevelop.AspNet.addin.xml, + MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs, + MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs, + MonoDevelop.AspNet.Parser/AspNetExpressionFinder.cs, + MonoDevelop.AspNet.Parser/AspNetParser.cs, + MonoDevelop.AspNet.Parser/LocatedParserException.cs: Port to new + parser infrastructure so the ASP.NET pages get parsed. + * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs, + MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs, + MonoDevelop.AspNet.StateEngine/AspNetDom.cs, + MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs: More + in-progress work on ASP.NET extensions to the XML parser. + * AspNetAddIn.mdp, Makefile.am: Updated. + +2008-07-25 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs, + MonoDevelop.AspNet.StateEngine/AspNetAttributeValueState.cs, + MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs, + MonoDevelop.AspNet.StateEngine/AspNetDom.cs: Commit initial work on + ASP.NET parser extensions. + * Makefile.am, AspNetAddIn.mdp: Updated. + +2008-07-25 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Put path bar update + on a timeout so that it doesn't make selection too laggy. + +2008-07-24 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Improve triggering + of attribute value completion. + +2008-07-24 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: For + System.Drawing.Color names colours autocompletion entries, use a + block of the colour as the icon. Don't show system colours. + +2008-07-23 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Implemented node + selection with the path bar using the new parser. Much more + reliable, but still breaks on selecting the node the caret's in. + * gtk-gui/objects.xml, AspNetAddIn.mdp, Makefile.am: Removed + objects.xml. + +2008-07-23 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetSpecialState.cs: Unneeded; + removed. + * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Stubbed. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Use the new XML + parser for ASP.NET completion. + * gtk-gui/objects.xml, gtk-gui/gui.stetic, AspNetAddIn.mdp, + Makefile.am: Updated. + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Fix tag prefix + auto-generation logic. + * MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs: Don't fold + regions by default. + +2008-07-21 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.Deployment/WebDeployTarget.cs, + MonoDevelop.AspNet/AspNetAppProject.cs, + MonoDevelop.AspNet/AspNetAppProjectBinding.cs, + MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs, + MonoDevelop.AspNet/AspNetToolboxNode.cs, + MonoDevelop.AspNet/XspParameters.cs: Moved serialization engine to + MonoDevelop.Core. Use new syntax for specifying attribute scope. + +2008-07-14 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.addin.xml: Added javascript mime type (Bug 400896 + - Syntax Mode for Javascript). + +2008-06-25 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetSpecialState.cs, + MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs, + MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Rework stack + cloning and character rejection mechanisms in XML/ASP state engine. + +2008-06-25 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: Track + API. + +2008-06-25 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: Use case-insensitive checks on + filenames. + +2008-06-19 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track BindingService + API. Fix possible skipping of Gdk.Threads.Leave(). + * MonoDevelop.Html/DocTypeCompletionDataProvider.cs, + MonoDevelop.Html/HtmlCompletionDataProvider.cs, + MonoDevelop.Html/HtmlSchemaService.cs: Minor change to doctype + completion data API. + +2008-06-13 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Fix a logic error that caused + an exception when creating a new file group with a CodeBehind file + but no designer file. + * Templates/WebApplication.xpt.xml: Move event hander to the user code + class, not the designer class. Add protected button member because + some languagee bindings can't auto-add it. Fixes "Bug 400301 - + [Regression] The default VB Asp.Net template fails to compile". + +2008-06-10 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/WebService-CodeBehind.xft.xml, + Templates/WebHandler-CodeBehind.xft.xml, + Templates/WebForm-CodeBehindNonPartial.xft.xml, + Templates/WebForm-CodeBehind.xft.xml, + Templates/WebControl-CodeBehindNonPartial.xft.xml, + Templates/WebControl-CodeBehind.xft.xml, + Templates/MasterPage-CodeBehindNonPartial.xft.xml, + Templates/GlobalAsax-CodeBehind.xft.xml, + Templates/MasterPage-CodeBehind.xft.xml: Set grouping/dependencies + on new files. + * MonoDevelop.AspNet/AspNetAppProject.cs: Set grouping dependencies on + added files, and auto-add parents/children. + +2008-06-10 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs: Remove old + CodeBehind grouping mechanism. + +2008-06-10 Andres G. Aragoneses <aaragoneses@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Implement feature to allow + unmanaged project references in a managed project (bug#397490). + +2008-06-04 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.addin.xml: Bump MD version. + +2008-06-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: Fix path of + compiled output assembly. + +2008-05-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Fixes for ASP.NET projects + with new project model. + * Templates/WebApplication.xpt.xml: Add some "Hello World"-type code to + new ASP.NET C# projects. Fixes "Bug 361348 - C# ASP.Net template + doesn't indicate by default that it's working when run". + +2008-05-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: Actually prevent + register directives overwriting page info with blank info. + +2008-05-27 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Fix ASP.NET projects loading + with the new project model. There *may* be problems with build + paths. + * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: Prevent register + directives overwriting page info with blank info. + +2008-05-22 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetToolboxNode.cs, + MonoDevelop.AspNet/WebTypeManager.cs, Makefile.am, AspNetAddIn.mdp, + MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs, + MonoDevelop.AspNet.Parser/PageDirectiveVisitor.cs: Implemented + auto-adding of register directives and project references when a + control is added from the toolbox. + +2008-05-22 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.Html/HtmlSchemaService.cs, + MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Remove threaded + schema loading. Implement an alternative lazy schema loading + system. + +2008-05-22 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.addin.xml: Merged the extension points for project + and solution option panels into a single extension point. A single + extension point will now be used for all kinds of items. Extension + conditions can be used to make panels visible only for some + specific item types. + +2008-05-22 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs, + MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Replaced + ICompilerResult/DefaultCompilerResult/CompilerResults by a new + BuildResult class, which has owner information at error level, so + it is possible to know which project generated an error when + building a solution. Updated Task and TaskService to use the new + owner information. + +2008-05-21 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Filter out runtime versions + that aren't 1.1 or 2.0. + +2008-05-21 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetToolboxLoader.cs: Record the supported + runtime versions. + * MonoDevelop.AspNet/AspNetToolboxNode.cs: Filter the item from the + text editor toolbox if the supported runtimes don't match the + current project. + +2008-05-21 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: The Deserialize event may not + be called in some file formats, so don't use it to control the + project loading. + +2008-05-21 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet/AspNetAppProjectBinding.cs, + MonoDevelop.AspNet/AspNetAppProject.cs, + MonoDevelop.AspNet/CodeBehind.cs, + MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs, + MonoDevelop.AspNet/AspNetParserService.cs, + MonoDevelop.AspNet/AspNetToolboxNode.cs, + MonoDevelop.AspNet/WebTypeManager.cs, + MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs, + MonoDevelop.AspNet.addin.xml, + MonoDevelop.AspNet.Deployment/WebDeployService.cs, + MonoDevelop.AspNet.Deployment/WebDeployOptionsPanel.cs, + MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, + MonoDevelop.AspNet.Gui/AspNetConfigurationPanel.cs, + MonoDevelop.AspNet.Gui/AspNetConfigurationPanelWidget.cs, + MonoDevelop.AspNet.Gui/XspOptionsPanel.cs, + MonoDevelop.AspNet.Gui/XspOptionsPanelWidget.cs, + gtk-gui/gui.stetic, AspNetAddIn.mdp, Makefile.am, + MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs, + MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs, + MonoDevelop.AspNet.Parser/Document.cs: New project model changes. + +2008-05-19 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: Remove conditional build for ASP.NET support; there's no + longer any reason to disable it. + +2008-05-16 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetToolboxNode.cs: Change ITextToolboxNode API + so that nodes have more control over when they're shown. + +2008-05-15 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetToolboxProvider.cs: Moved from AspNetEdit. + * MonoDevelop.AspNet/AspNetToolboxLoader.cs: Implement correct loading + of items in System.Web 1.1. + * MonoDevelop.AspNet/AspNetToolboxNode.cs: Improve support for default + tag text. Markup for property grid. + * MonoDevelop.AspNet.addin.xml: Register provider moved from + AspNetEdit. + * Makefile.am, AspNetAddIn.mdp: Updated. + +2008-05-09 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetDisplayBinding.cs: Remove unneeded display + binding. + * MonoDevelop.AspNet/AspNetAppProject.cs: Remove bound WebTypeManager + instance. + * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Add copyright. + * MonoDevelop.AspNet/AspNetToolboxLoader.cs, + MonoDevelop.AspNet/AspNetToolboxNode.cs: Toolbox loader for ASP.NET + toolbox items that makes then available to the text editor too. + * MonoDevelop.AspNet/AspNetParserService.cs: A place for parser-access + convenience methods. + * MonoDevelop.AspNet/WebTypeManager.cs: Make static. Take project as + argument rather than being bound to it. + * MonoDevelop.AspNet.addin.xml: Register new toolbox loader. Update + mimetypes. Remove unneeded display binding. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Prevent some NREs. + * AspNetAddIn.mdp, Makefile.am: Updated. + * MonoDevelop.AspNet.Parser/Document.cs: If bound project is null, look + it up. + * MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs: Prevent possible + NRE. + * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Add + functionality for looking up and generating prefixes, for text + toolbox nodes. + +2008-05-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix positions when + selecting nodes. + +2008-05-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Use a data func for + the outline treeview. Shorten many overlong lines. + +2008-05-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser.Dom/ParentNode.cs: Make parent nodes + enumerable. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Implement document + outline support for ASP.NET documents. Still a couple of issues: + the parser doesn't provide the document at startup, so it won't + show anything until the file is changed. It also may have + performance problems on large files. + +2008-05-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs, + MonoDevelop.AspNet/CodeBehind.cs, + MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs, + MonoDevelop.AspNet.Parser/Document.cs, + MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs, + MonoDevelop.AspNet.Parser/AspNetParser.cs, + MonoDevelop.AspNet.Parser/PageInfoVisitor.cs, + MonoDevelop.AspNet.Parser/PageInfo.cs, + MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs: Replace + direscrt use of the ASP.NET docuemnt parser with use of the parser + service. Flesh out the parsed compilation units. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Use compilation + units from parser service instead of parsing on every keystroke. + * AspNetAddIn.mdp, Makefile.am: Updated + +2008-05-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.addin.xml, + MonoDevelop.AspNet/AspNetCodeBehindProvider.cs: Remove use of + removed extension point. + +2008-04-30 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetLanguageBinding.cs, + MonoDevelop.Html/HtmlCompletionDataProvider.cs, + MonoDevelop.AspNet.addin.xml, Makefile.am, AspNetAddIn.mdp, + MonoDevelop.AspNet.Parser/Document.cs, + MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs, + MonoDevelop.AspNet.Parser/AspNetExpressionFinder.cs, + MonoDevelop.AspNet.Parser/AspNetParser.cs, + MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs: Add support for + simple folding and error underlining in ASP.NET pages. + * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: Add support for simple + folding and error underlining in ASP.NET pages. Fix mimetypes. + +2008-04-30 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add ability to + select paths (partially working). + +2008-04-28 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Implement path bar + support. + * AspNetAddIn.mdp, Makefile.am, + MonoDevelop.AspNet.Parser/AspNetIndentStack.cs: Remove old indent + stack. + +2008-04-25 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetSpecialState.cs, + MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Change XML state + engine API to allow cloning a single node (as an alternative to the + whole stack). + +2008-04-18 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Add support for + XML processing instructions. + +2008-04-18 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.StateEngine/AspNetSpecialState.cs, + MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Minimal states + for ASP.NET parsing. Still need to handle expressions within + attribute values. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Use new state engine + for triggering completion. Haven't exorcised full document parse + yet -- need it for doctype etc. Also need it (but low-priority, + threaded?) for filtering existing attributes. + * Makefile.am, AspNetAddIn.mdp: Updated. + +2008-04-14 Michael Hutchinson <mhutchinson@novell.com> + + + +2008-04-14 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/WebTypeManager.cs: Remove debug code. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Greatly improve + completion triggering behaviour. Most noticeable with tag + attributes. + +2008-04-11 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add server-side + comments to completion list. + * MonoDevelop.AspNet.Parser/AspNetIndentStack.cs: Add more states, + document all the states' meaning, and handle closing some states. + +2008-04-11 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.Html/HtmlSchema.cs: Avoid unused variable warning. + * gtk-gui/gui.stetic: Updated. + * MonoDevelop.AspNet.Parser/AspNetIndentStack.cs: Woked on indent + stack. Not complete yet. + +2008-04-11 Lluis Sanchez Gual <lluis@novell.com> + + * MonoDevelop.AspNet.addin.xml: Use the new mime type extension to + register new file types. + +2008-04-08 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add completion for + colours, enums and booleans. Walk into base members when attempting + attribute completion. + +2008-04-08 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/CodeBehind.cs: Add method for getting a + non-designer class. + * MonoDevelop.AspNet/WebTypeManager.cs, + MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Add various + control lookup methods, including listing of ASP.NET controls. + * MonoDevelop.Html/HtmlSchema.cs: Minor cleanup. + * MonoDevelop.Html/HtmlSchemaService.cs: Improve lazy loading. Allow + forced preloading in a thread. + * MonoDevelop.AspNet.addin.xml: Remove HTML 4 Transitional doctype + extension, as it's a hardcoded default. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track API. Implement + ASP.NET control and attribute completion. Implement attribute value + completion (and handler stubbing) for events. Improve completion + triggering accuracy. Add documentation for completion items. + Implement close tag completion for parent tags. Lazily load HTML + schemas, and use default schema while they load. Force HTML schema + service to load in background when docuement opened. + * AspNetAddIn.mdp, Makefile.am: Updated. + * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: + Completion data type that inserts a method into a class if it's + picked. + * MonoDevelop.AspNet.Parser/AspNetIndentStack.cs: Partial (still + unused) implementation of indenter stack. + +2008-04-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: Fix build and close + correct tags. + +2008-04-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser.Dom/ParentNode.cs, + MonoDevelop.AspNet.Parser.Dom/RootNode.cs: Add a mechanism for + determining/indicating whether a tag has been closed. + * MonoDevelop.Html/DocTypeCompletionData.cs: Remove debug message. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Implement closing + tag completion for unclosed tags. Reduce spurious completion + triggering. + +2008-04-01 Michael Hutchinson <mhutchinson@novell.com> + + * Schemas, Schemas/xhtml1-transitional.xsd, Schemas/W3C-License.html, + Schemas/xhtml1-strict.xsd, Schemas/readme.txt, + Schemas/xhtml1-frameset.xsd: Add W3C XHTML 1.0 schemas. + * MonoDevelop.Html/DocTypeCompletionData.cs, + MonoDevelop.Html/DocTypeCompletionDataProvider.cs: Implement + completion provider for doctype declarations. + * MonoDevelop.Html/HtmlSchema.cs: Change to an association between an + doctype and an IXmlCompletionProvider from the XmlEditor. + * MonoDevelop.Html/HtmlSchemaService.cs: Load doctypes and associated + schemas from extension point. Expose default doctypes, and + mechanisms for getting completion providers for any registered + doctype, as well as a completion provider for doctypes themselves. + * MonoDevelop.Html/DocTypeExtensionNode.cs, + MonoDevelop.AspNet.addin.xml: Added HTML(/SGML/XML) doctypes as an + extension point. + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Implement HTML code + completion for aspx files. + * Makefile.am, AspNetAddIn.mdp: Updated. + +2008-03-10 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Deployment/WebDeployLaunchDialog.cs: Fix namespace + of panel. + +2008-03-06 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/WebConfig-SubDir.xft.xml: + * Templates/WebConfig-Application.xft.xml: Improve descriptions. + +2008-03-04 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet/AspNetAppProject.cs: Improve browser launching code. + * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: Move browser launcher code and + make it into a re-usable IAsyncOperation. + * AspNetAddIn.mdp, Makefile.am: Updated. + * MonoDevelop.AspNet.Parser/Regexes.cs: Improve server tag regex. + +2008-03-04 Mike Krüger <mkrueger@novell.com> + + * MonoDevelop.AspNet.Deployment/WebDeployService.cs, + MonoDevelop.AspNet/XspParameters.cs, + MonoDevelop.AspNet/AspNetAppProject.cs: Worked on gnome hig compliant + alerts. + +2008-03-03 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Improve ASP.NET code + completion. Now parser updates on-the-fly and suggestions are + contextual. + * gtk-gui/gui.stetic, AspNetAddIn.mdp, Makefile.am: Updated. + * MonoDevelop.AspNet.Parser.Dom/ParentNode.cs, + MonoDevelop.AspNet.Parser.Dom/Node.cs: Minor API name change. + * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: Catch and collect + parser-reported exceptions rather than blowing up. + * MonoDevelop.Html, MonoDevelop.Html/HtmlSchema.cs, + MonoDevelop.Html/HtmlSchemaService.cs: Skeletion of system for + schema-controlled HTML completion. + * MonoDevelop.AspNet.Parser/Document.cs, + MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Make it easier to + build a parser document directly rather than going through the project. + * MonoDevelop.AspNet.Parser/Regexes.cs: Utility class, unused right now. + * MonoDevelop.AspNet.Parser/LocatedParserException.cs: Allow flagging error + as a warning. + +2008-03-02 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser.Internal/ParseException.cs: Fix ILocation + capturing. + * MonoDevelop.AspNet.Parser.Dom/ParentNode.cs, + MonoDevelop.AspNet.Parser.Dom/Visitor.cs, + MonoDevelop.AspNet.Parser.Dom/TagNode.cs: Implement QuickExit so that + visitor can terminate early. + * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: Add some support for implicit + tag closing like in HTML4, making parser more robust with sloppy input. + Implement QuickExit so that visitor can terminate early. + * MonoDevelop.AspNet.Parser/LocatedParserException.cs: Fix possible NREs. + Override ToString(). + * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: Capture doctype. Use quick + exit when desired information found. + +2008-02-27 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, Makefile.am, + AspNetAddIn.mdp, MonoDevelop.AspNet.addin.xml: Add the beginnings of a + code completion system for ASP.NET. + * MonoDevelop.AspNet.Parser.Dom/ParentNode.cs, + MonoDevelop.AspNet.Parser.Dom/TagNode.cs, + MonoDevelop.AspNet.Parser.Dom/Node.cs, + MonoDevelop.AspNet.Parser.Dom/RootNode.cs, + MonoDevelop.AspNet.Parser/Document.cs: Improve error resilience. Improve + debug messages. Finish the node search system. + +2008-02-27 Michael Hutchinson <mhutchinson@novell.com> + + * MonoDevelop.AspNet.Parser/Internal: + * MonoDevelop.AspNet.Parser/Tree: + * MonoDevelop.AspNet.Parser.Internal: + * MonoDevelop.AspNet.Parser.Dom: + * AspNetAddIn.mdp: + * Makefile.am: Finish restructuring directories to reflect namespaces. + + * MonoDevelop.AspNet.addin.xml: Clean up whitespace. + +2008-02-27 Michael Hutchinson <mhutchinson@novell.com> + + * Deployment, MonoDevelop.AspNet, Gui, Parser, + MonoDevelop.AspNet.Deployment, MonoDevelop.AspNet.Gui, Project, + AspNetAddIn.mdp, Makefile.am, MonoDevelop.AspNet.Parser: Restructure + directories to reflect namespaces. + +2008-02-26 Michael Hutchinson <mhutchinson@novell.com> + + * Deployment/WebDeployService.cs, Deployment/WebDeployCommands.cs, + Deployment/WebDeployLaunchDialog.cs, + Deployment/WebDeployOptionsPanel.cs, + Deployment/WebDeployOptionsPanelWidget.cs, + Gui/AspNetConfigurationPanel.cs, Gui/AspNetConfigurationPanelWidget.cs, + Gui/XspOptionsPanel.cs, Gui/XspOptionsPanelWidget.cs, + Project/AspNetDisplayBinding.cs, Project/AspNetCommands.cs, + Project/ProjectFolderNodeBuilderExtension.cs, + Project/AspNetAppProjectBinding.cs, + Project/AspNetMSBuildProjectExtension.cs, Project/XspParameters.cs, + Project/AspNetAppProject.cs, Project/CodeBehind.cs, + Project/VerifyCodeBehindBuildStep.cs, + Project/AspNetAppProjectConfiguration.cs, + Project/AspNetCodeBehindProvider.cs, + Project/AspNetFileDescriptionTemplate.cs, Project/WebTypeManager.cs, + gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs, + gtk-gui/AspNetAddIn.AspNetConfigurationPanelWidget.cs, + gtk-gui/AspNetAddIn.XspOptionsPanelWidget.cs, + gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs, + gtk-gui/gui.stetic, AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am, + Parser/Tree/ParentNode.cs, Parser/Tree/ServerCommentNode.cs, + Parser/Tree/Visitor.cs, Parser/Tree/ServerIncludeNode.cs, + Parser/Tree/ILocation.cs, Parser/Tree/TagNode.cs, + Parser/Tree/DirectiveNode.cs, Parser/Tree/Node.cs, + Parser/Tree/ExpressionNode.cs, Parser/Tree/RootNode.cs, + Parser/Tree/TextNode.cs, Parser/WebFormReferenceManager.cs, + Parser/DebugStringVisitor.cs, Parser/Document.cs, + Parser/MemberListVisitor.cs, Parser/LocatedParserException.cs, + Parser/Internal/TagType.cs, Parser/Internal/AspTokenizer.cs, + Parser/Internal/Directive.cs, Parser/Internal/AspParser.cs, + Parser/Internal/TagAttributes.cs, Parser/Internal/Location.cs, + Parser/Internal/ParseException.cs, Parser/Internal/StrUtils.cs, + Parser/DocumentReferenceManager.cs, Parser/PageInfoVisitor.cs, + MonoDevelop.AspNet.addin.xml: Finish renaming AspNetAddIn and its + corresponding namespaces to MonoDevelop.Aspnet. + +2008-02-26 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetFileDescriptionTemplate.cs: Fix string formatting call. + +2008-02-26 Michael Hutchinson <mhutchinson@novell.com> + + * AspNetAddIn.mdp, Makefile.am, Parser/Tree/ParentNode.cs, + Parser/Tree/ServerCommentNode.cs, Parser/Tree/Visitor.cs, + Parser/Tree/TagNode.cs, Parser/Tree/DirectiveNode.cs, + Parser/Tree/Node.cs, Parser/Tree/ExpressionNode.cs, + Parser/Tree/RootNode.cs, Parser/Tree/TextNode.cs, + Parser/DebugStringVisitor.cs, Parser/Document.cs, + Parser/Internal/Location.cs: Implement dumping a debug view of the parse + tree, and binary searching for the parse node at a given location in the + file. + +2008-02-23 Mike Krüger <mkrueger@novell.com> + + * AspNetAddIn.mdp, Makefile.am: Removed some unused glade and gnome-sharp + references (only the unused). But I'll continue to remove glade, we need + to lower the dependency tree a bit. + +2008-02-20 Marek Safar <marek.safar@gmail.com> + + * Project/VerifyCodeBehindBuildStep.cs: Fixed missing parenthesis. + +2008-02-20 Michael Hutchinson <mhutchinson@novell.com> + + * Project/IAspNetLanguageBinding.cs, + Project/AspNetFileDescriptionTemplate.cs, + Templates/WebService-CodeBehind.xft.xml, + Templates/WebForm-CodeBehind.xft.xml, + Templates/MasterPage-Empty.xft.xml, + Templates/WebControl-CodeBehindNonPartial.xft.xml, + Templates/WebService-Empty.xft.xml, + Templates/WebHandler-CodeBehind.xft.xml, + Templates/WebForm-Empty.xft.xml, + Templates/WebControl-CodeBehind.xft.xml, + Templates/MasterPage-CodeBehindNonPartial.xft.xml, + Templates/WebConfig-Application.xft.xml, + Templates/WebHandler-Empty.xft.xml, Templates/GlobalAsax-Empty.xft.xml, + Templates/WebControl-Empty.xft.xml, + Templates/MasterPage-CodeBehind.xft.xml, + Templates/WebForm-CodeBehindNonPartial.xft.xml: Add a mechanism for + having the ASP.NET language code be different from MD's internal + language codes, and use it to make VB.NET pages work OOTB. + * AspNetAddIn.mdp, Makefile.am: Updated. + * Parser/Tree/Visitor.cs, Parser/Tree/ExpressionNode.cs, + Parser/Tree/RootNode.cs: The way the parser's currently used, it doesn't + need to understand expressions, so rather than throwing a + NotImplementedException, just insert them into the AST and carry on. + Means that CodeBehind generation can be used for a much larger subset of + aspx pages. + +2008-02-09 Mike Krüger <mkrueger@novell.com> + + * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: Removed source editor + dependency. + +2008-02-05 Mike Krüger <mkrueger@novell.com> + + * AspNetAddIn.addin.xml: Structured main menu. + +2008-01-25 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml: Update MD version. + +2008-01-22 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml: Updated add-in category and description. + +2008-01-19 Ankit Jain <jankit@novell.com> + + * AspNetMSBuildProjectExtension.cs: Track changes in MSBuildProjectExtension. + +2008-01-15 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/WebService-CodeBehind.xft.xml, + Templates/WebForm-CodeBehind.xft.xml, + Templates/MasterPage-Empty.xft.xml, + Templates/WebControl-CodeBehindNonPartial.xft.xml, + Templates/WebConfig-SubDir.xft.xml, Templates/WebService-Empty.xft.xml, + Templates/WebHandler-CodeBehind.xft.xml, + Templates/WebForm-Empty.xft.xml, + Templates/GlobalAsax-CodeBehind.xft.xml, + Templates/WebControl-CodeBehind.xft.xml, + Templates/MasterPage-CodeBehindNonPartial.xft.xml, + Templates/WebConfig-Application.xft.xml, + Templates/WebApplication-Empty.xpt.xml, + Templates/WebHandler-Empty.xft.xml, Templates/GlobalAsax-Empty.xft.xml, + Templates/WebControl-Empty.xft.xml, + Templates/MasterPage-CodeBehind.xft.xml, + Templates/WebForm-CodeBehindNonPartial.xft.xml, + Templates/WebApplication.xpt.xml: Make template categories translatable. + +2008-01-03 Michael Hutchinson <mhutchinson@novell.com> + + * Project/VerifyCodeBehindBuildStep.cs: Only try to add members to + CodeBehind if the needed refactoring options are supported. + +2008-01-02 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/WebService-CodeBehind.xft.xml, + Templates/WebForm-CodeBehind.xft.xml, + Templates/WebControl-CodeBehindNonPartial.xft.xml, + Templates/WebService-Empty.xft.xml, + Templates/WebHandler-CodeBehind.xft.xml, + Templates/WebControl-CodeBehind.xft.xml, + Templates/MasterPage-CodeBehindNonPartial.xft.xml, + Templates/WebHandler-Empty.xft.xml, + Templates/MasterPage-CodeBehind.xft.xml, + Templates/WebForm-CodeBehindNonPartial.xft.xml: Use ${EscapedIdentifier} + instead of ${Name} so that files can be created with names like + "Default" and work correctly in VB.NET. + +2007-12-14 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.mdp: Updated project files. The order of extended properties + won't change anymore. + +2007-12-13 Lluis Sanchez Gual <lluis@novell.com> + + * Project/AspNetAppProject.cs: Moved PlatformService to MD.Core.Gui. Removed + old FileIconService class, which is now implemented in PlatformService. + +2007-12-13 Lluis Sanchez Gual <lluis@novell.com> + + * Deployment/WebDeployTargetEditor.cs: Track api changes. + * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs, + gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs, + gtk-gui/gui.stetic: Updated. + +2007-12-13 Lluis Sanchez Gual <lluis@novell.com> + + * Project/AspNetAppProject.cs: API cleanup. + +2007-12-13 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/AspNetAddIn.XspOptionsPanelWidget.cs, + gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs, + gtk-gui/gui.stetic: Fix alignment of some labels. + +2007-12-12 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml: Bump add-in versions. + +2007-12-06 Geoff Norton <gnorton@novell.com> + + * Project/AspNetAppProject.cs: Use PlatformService to launch a browser + instead of Gnome.Url.Show. + +2007-12-04 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/objects.xml, AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: + Directory reorganization. + +2007-11-20 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs: Don't try to compile if no files are set to + compile, as compilers/bindings (e.g. CSharpBinding) will error out if no + files are set to compile. + +2007-11-09 Michael Hutchinson <mhutchinson@novell.com> + + * Deployment/WebDeployService.cs, Project/AspNetAppProject.cs, + Parser/Document.cs: Track LoggingService API changes. + +2007-11-02 Lluis Sanchez Gual <lluis@novell.com> + + * Project/VerifyCodeBehindBuildStep.cs: Use RootCombine instead of + CurrentOpenCombine when possible. + +2007-10-30 Michael Hutchinson <mhutchinson@novell.com> + + * Deployment/WebDeployService.cs, Deployment/WebDeployCommands.cs, + Deployment/WebDeployLaunchDialog.cs, + gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs, + gtk-gui/gui.stetic: Enable web deploy dialog even if no targets exist, + but add a button for editng/adding targets. Fixes "Bug 337804 - Web + Deployment should be easier to configure". + +2007-10-30 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProjectConfiguration.cs: Fix "Bug 337819 - Directory + change warning shown when creating a new Web Project.". Re-opens "Bug + 333419 - Output dir in ASP.NET project don't work", though it's now + possible to work around the latter by setting an XML attribute in the + project file. + +2007-10-30 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml: Use the html file icon for some known asp.net + files. + +2007-10-29 Michael Hutchinson <mhutchinson@novell.com> + + * AspNetAddIn.addin.xml: Use WebHandler-CodeBehind template. + +2007-10-29 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml: Bump MD version. + +2007-10-26 Michael Hutchinson <mhutchinson@novell.com> + + * Project/VerifyCodeBehindBuildStep.cs: Fix string formatting index in a + gettext call. + +2007-10-25 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs: No need to handle monitor's cancel request, + as AggregatedOperationMonitor does this for us. + +2007-10-24 Lluis Sanchez Gual <lluis@novell.com> + + * Templates/WebApplication-Empty.xpt.xml, Templates/WebApplication.xpt.xml: + Updated project icons. + +2007-10-17 Michael Hutchinson <mhutchinson@novell.com> + + * Project/WebTypeManager.cs: Don't do web.config control lookups for 1.1 + projects. + * Parser/WebFormReferenceManager.cs: Track API change. + * Parser/MemberListVisitor.cs, Parser/DocumentReferenceManager.cs: Handle + the "type" property of "input" HTML controls. + +2007-10-16 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs, Project/VerifyCodeBehindBuildStep.cs, + Parser/MemberListVisitor.cs, Parser/LocatedParserException.cs, + Parser/Internal/ParseException.cs: Rework error handling to include + location info for document parse errors. + * Project/WebTypeManager.cs, Parser/WebFormReferenceManager.cs, + Parser/DocumentReferenceManager.cs: Rework type lookups for registered + controls. Now handles custom controls and user controls, whether + registered in aspx file or web.config. + * AspNetAddIn.mdp, Makefile.am: Updated. + * Parser/Document.cs: Collect parse errors instead of dying in constructor. + +2007-10-15 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs: Copy refs to output path during compile. Not + sure it's necessary, as the Run/Deploy commands do the copy too, and + people shouldn't be running their site without executing one of these + commands first. However, we have had a few bug reports about this + behaviour, so it's better to do what people expect. + * Project/VerifyCodeBehindBuildStep.cs: Report ASP.NET parser and Codebehind + member generation errors as compile warnings, with file/line number + info. Use Gettext for i18n of warnings. + * AspNetAddIn.mdp: Updated. + +2007-10-12 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProjectConfiguration.cs: Allowing changing the output + directory to a directory other than "bin", but only after warning the + user that this may prevent the projct from running/deploying correctly. + Enables some unusual use cases, and doesn't affect other people. + +2007-10-12 Michael Hutchinson <mhutchinson@novell.com> + + * Project/VerifyCodeBehindBuildStep.cs: Change how partial classes are + handled during code generation to work around the fact that they don't + have all of the information that the 'full' class does. + +2007-10-08 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs: Use xsp2 if using 2.0 runtime (regression + introduced in previous commit). + +2007-10-03 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs: Launch xsp directly rather than via SH. Made + possible by changes to IExecutionHandler/ProcessService allowing setting + environment variables on new console processes. Fixes xsp shutdown (xsp + instances were not closes and were blocking ports). Hopefully fixes + #330327. + + Also, don't force copy output refs. + +2007-10-02 Michael Hutchinson <mhutchinson@novell.com> + + * Deployment/WebDeployService.cs: Build before deploying. + * Deployment/WebDeployTargetEditor.cs: Catch errors if file copy handler + can't be found. + +2007-10-02 Michael Hutchinson <mhutchinson@novell.com> + + * Project/VerifyCodeBehindBuildStep.cs: Make errors in Codebehind generation + into warnings rather than preventing build. + +2007-09-28 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs: Check for xsp before running it. + +2007-09-28 Michael Hutchinson <mhutchinson@novell.com> + + * Deployment/WebTargetEditor.cs, Deployment/WebDeployService.cs, + Deployment/WebDeployCommands.cs, Deployment/WebDeployResolver.cs, + Deployment/WebDeployTargetCollection.cs, Deployment/WebDeployTarget.cs, + Deployment/WebDeployWindow.cs, Deployment/WebDeployLaunchDialog.cs, + Deployment/WebDeployOptionsPanel.cs, + Deployment/WebDeployTargetEditor.cs, + Deployment/WebDeployOptionsPanelWidget.cs, AspNetAddIn.addin.xml, + gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs, + gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs, + gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs, + gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: Add new web + deployment UI and services. + * Project/AspNetAppProject.cs: Add WebDeployTargets property. Use new web + targets when returning DeployFiles. Fix NRE when language binding not + recognised. + * gtk-gui/generated.cs, gtk-gui/AspNetAddIn.XspOptionsPanelWidget.cs, + gtk-gui/objects.xml, gtk-gui/gui.stetic, AspNetAddIn.mdp, Makefile.am, + Gui/XspOptionsPanel.cs: Updated. + +2007-09-27 Ankit Jain <jankit@novell.com> + + Add support for VS2005 WebApplication projects. + * Project/AspNetMSBuildProjectExtension.cs: New. + * AspNetAddIn.addin.xml: Add Extension. + * AspNetAddIn.mdp: Update. + * Makefile.am: Update. + +2007-09-21 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs: Make write-safe by using TextFile API rather + than direct save. + +2007-09-21 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml: Bump MD version. + +2007-09-20 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs: Added reference change handlers to update the + referenced assembly list in web.config. + +2007-09-12 Michael Hutchinson <mhutchinson@novell.com> + + * Gui/XspOptionsPanelWidget.cs, + gtk-gui/AspNetAddIn.XspOptionsPanelWidget.cs, gtk-gui/gui.stetic: Fix + bugs from stetic conversion: panel status update handler and permissible + port range setting. + * Project/AspNetAppProject.cs: Restructure execution code to handle errors + better and make it possible to set MONO_OPTIONS="--debug" when calling + xsp. + +2007-09-11 Michael Hutchinson <mhutchinson@novell.com> + + * Gui/XspOptionsPanel.cs, Gui/XspOptionsPanelWidget.cs, AspNetAddIn.glade, + gtk-gui/generated.cs, + gtk-gui/AspNetAddIn.AspNetConfigurationPanelWidget.cs, + gtk-gui/AspNetAddIn.XspOptionsPanelWidget.cs, gtk-gui/gui.stetic, + AspNetAddIn.mdp, Makefile.am: Migrate XspOptionsPanel from glade to + stetic. + * Gui/AspNetConfigurationPanelWidget.cs, + Project/AspNetFileDescriptionTemplate.cs: Remove unused fields. + +2007-09-11 Michael Hutchinson <mhutchinson@novell.com> + + * Project/ProjectFolderNodeBuilderExtension.cs, Project/AspNetCommands.cs, + AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: Add a command/menu + for creating ASP.NET special directories. + * Project/AspNetAppProject.cs: Add more WebSubtypes. Use GettextCatalog for + MessageService call. Add method for discovering non-existent special + ASP.NET directories. + * Project/VerifyCodeBehindBuildStep.cs: Don't prevent compilation if + documents can't be parsed. + +2007-09-10 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs: Fire SetDefaultBuildAction only when adding + new files, not when deserialising the project. Add a "Code" WebSubtype. + * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am, + Templates/WebConfig-SubDir.xft.xml, + Templates/WebConfig-Application.xft.xml: Add Web.config templates. + * Templates/WebForm-CodeBehind.xft.xml, + Templates/GlobalAsax-CodeBehind.xft.xml, + Templates/WebControl-CodeBehind.xft.xml, + Templates/GlobalAsax-Empty.xft.xml, + Templates/MasterPage-CodeBehind.xft.xml: More tweaks to templates. + * Templates/WebApplication.xpt.xml: Add web.config to default project + template. + +2007-09-10 Michael Hutchinson <mhutchinson@novell.com> + + * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: Updated. + * Templates/WebService-CodeBehind.xft.xml, + Templates/WebForm-CodeBehind.xft.xml, + Templates/MasterPage-Empty.xft.xml, Templates/WebService-Empty.xft.xml, + Templates/WebForm-Empty.xft.xml, + Templates/WebHandler-CodeBehind.xft.xml, + Templates/WebControl-CodeBehind.xft.xml, + Templates/WebHandler-Empty.xft.xml, + Templates/MasterPage-CodeBehind.xft.xml, + Templates/WebControl-Empty.xft.xml, Templates/WebApplication.xpt.xml: + Remove deprecated FileOptions node. + * Templates/WebControl-CodeBehindNonPartial.xft.xml, + Templates/MasterPage-CodeBehindNonPartial.xft.xml, + Templates/WebForm-CodeBehindNonPartial.xft.xml: Add non-partial-type + templates. + * Templates/GlobalAsax-CodeBehind.xft.xml, + Templates/GlobalAsax-Empty.xft.xml: Add Global.asax templates. + * Templates/WebApplication-Empty.xpt.xml: Add empty project template. + +2007-09-06 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/WebService-CodeBehind.xft.xml, + Templates/WebHandler-Empty.xft.xml, Templates/WebService-Empty.xft.xml, + Templates/WebControl-Empty.xft.xml, Templates/WebForm-Empty.xft.xml, + Templates/WebHandler-CodeBehind.xft.xml: Limit to be shown for ASP.NET + projects. + * Templates/WebControl-CodeBehind.xft.xml, + Templates/WebForm-CodeBehind.xft.xml: Limit to be shown for ASP.NET + projects. Require partial class support. + * Templates/MasterPage-Empty.xft.xml: Limit to be shown for ASP.NET + projects. Require 2.0 runtime. + * Templates/MasterPage-CodeBehind.xft.xml: Limit to be shown for ASP.NET + projects. Require 2.0 runtime. Require partial class support. + +2007-09-05 Michael Hutchinson <mhutchinson@novell.com> + + * Project/AspNetAppProject.cs: Set correct BuildAction for added ASP.NET + files. Convert cachedDocuments to generic collection. + +2007-09-05 Michael Hutchinson <mhutchinson@novell.com> + + * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am, + Templates/CodeBehindWebControl.xft.xml, + Templates/CodeBehindWebForm.xft.xml, + Templates/CodeBehindWebHandler.xft.xml, + Templates/CodeBehindWebService.xft.xml, + Templates/EmptyWebControl.xft.xml, Templates/EmptyWebForm.xft.xml, + Templates/EmptyWebHandler.xft.xml, Templates/EmptyWebService.xft.xml, + Templates/MasterPage-CodeBehind.xft.xml, + Templates/MasterPage-Empty.xft.xml, + Templates/MasterPageWithCodeBehind.xft.xml, + Templates/MasterPageWithNoCodeBehind.xft.xml, + Templates/WebControl-CodeBehind.xft.xml, + Templates/WebControl-Empty.xft.xml, + Templates/WebForm-CodeBehind.xft.xml, Templates/WebForm-Empty.xft.xml, + Templates/WebHandler-CodeBehind.xft.xml, + Templates/WebHandler-Empty.xft.xml, + Templates/WebService-CodeBehind.xft.xml, + Templates/WebService-Empty.xft.xml, Templates/WebApplication.xpt.xml: + Rename template files. + +2007-09-05 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/CodeBehindWebControl.xft.xml, + Templates/CodeBehindWebForm.xft.xml, + Templates/MasterPageWithCodeBehind.xft.xml: Use SuppressAutoOpen to stop + designer CodeBehind files from opening automatically when created. + +2007-09-05 Michael Hutchinson <mhutchinson@novell.com> + + * Templates/WebApplication.xpt.xml: Use new FileReferenceTemplate to + reference CodeBehindWebForm instead of duplicating whole template. + +2007-09-05 Michael Hutchinson <mhutchinson@novell.com> + + * Project/XspParameters.cs: Fix some compile warnings. + * Templates/CodeBehindWebHandler.xft.xml, Templates/EmptyWebForm.xft.xml, + Templates/CodeBehindWebControl.xft.xml, + Templates/CodeBehindWebService.xft.xml, + Templates/CodeBehindWebForm.xft.xml, + Templates/MasterPageWithNoCodeBehind.xft.xml, + Templates/MasterPageWithCodeBehind.xft.xml, + Templates/EmptyWebHandler.xft.xml, Templates/WebApplication.xpt.xml, + Templates/EmptyWebControl.xft.xml, Templates/EmptyWebService.xft.xml: + Use partial classes where possible. Default to deploying ASP.NET files + rather than building them. Remove "Hello world" code. Default to 2.0 + runtime. + +2007-08-31 Mike Krüger <mkrueger@novell.com> + + * Gui/AspNetConfigurationPanel.cs, Gui/AspNetConfigurationPanelWidget.cs, + Gui/XspOptionsPanel.cs: Changes due to new property infrastructure. + +2007-08-31 Ankit Jain <jankit@novell.com> + + * Templates/WebApplication.xpt.xml: Set BuildAction for aspx file to + FileCopy. + +2007-08-09 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: Reorganized the + extension point hierarchy. Embedded all add-in manifests as resources. + +2007-08-01 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * AspNetAppProject.cs: Fix the IDeployable implementation. The target + directory names should be handled by an ASP.NET-specific + IDirectoryResolver, not the GetDeployFiles method. + +2007-07-25 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.mdp: Updated. + +2007-06-19 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Project/CodeBehind.cs: Oops, remove some development code in which + caused sharing violations. + +2007-06-19 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/AspNetAddIn.AspNetConfigurationPanelWidget.cs, + AspNetAddIn.mdp: Changed some old 2.4 dependencies to 2.8. Use + GettextCatalog for localizable strings. + +2007-06-18 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Gui/AspNetConfigurationPanel.cs, + Gui/AspNetConfigurationPanelWidget.cs, AspNetAddIn.glade, + gtk-gui/generated.cs, + gtk-gui/AspNetAddIn.AspNetConfigurationPanelWidget.cs, + gtk-gui/objects.xml, gtk-gui/gui.stetic: More Stetic! Convert + configuration panel widget from Glade to Stetic. + * Project/CodeBehind.cs: Some shared code for handling CodeBehind. + * Project/VerifyCodeBehindBuildStep.cs: Use partial classes if they're + present. + * Project/AspNetAppProjectConfiguration.cs: Silence the error when user + picks non-library target type. Rename AutoGenerateCodeBehindMembers + to GenerateNonPartialCodeBehindMembers. + * Project/AspNetCodeBehindProvider.cs: Use code from Codebehind class. + * AspNetAddIn.mdp, Makefile.am: Added files. + +2007-06-08 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Parser/Document.cs: Report parse errors on console, not in dialogue. + + * Parser/PageInfoVisitor.cs: Add CodeFile property. + +2007-05-31 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml: Fix typo. + +2007-05-11 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.mdp: Copy the .addins.xml file to the output dir. + +2007-05-11 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.mdp: Don't copy project references. + +2007-05-09 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.mdp, Makefile.am: Reference shared assemblies from the + correct location. + +2007-05-08 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml: Fix add-in dependency. + +2007-05-07 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Project/VerifyCodeBehindBuildStep.cs: Make updating files thread-safe. + +2007-05-04 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: Migration to + Mono.Addins. + +2007-04-21 Lluis Sanchez Gual <lluis@novell.com> + + * Project/AspNetAppProject.cs: Track api changes. + +2007-04-19 Lluis Sanchez Gual <lluis@novell.com> + + * Project/AspNetAppProject.cs: Track api changes. + * AspNetAddIn.addin.xml, Makefile.am: Added dependency to + MonoDevelop.Deployment. + * AspNetAddIn.mdp: Don't copy referenced assemblies. + +2007-02-25 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Project/AspNetAppProject.cs: + Remove DoPreBuild override as it's a deprecated build extension point. + Now set AspNetAppProjectConfiguration.SourceDirectory via a FileName + override, which is more robust. + Implement GetDeployFiles to handle ASP.NET bin folder. + +2007-02-21 Ankit Jain <jankit@novell.com> + + * Project/VerifyCodeBehindBuildStep.cs: Warn the user if + AutoGenerateCodeBehindMembers is false. + +2007-02-16 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.addin.xml: Change add-in versions to 0.13. + +2007-02-15 Lluis Sanchez Gual <lluis@novell.com> + + * AspNetAddIn.mdp, Makefile.am: Synchronized the MD project and the + Makefile + +2007-02-07 Lluis Sanchez Gual <lluis@novell.com> + + * Project/VerifyCodeBehindBuildStep.cs, AspNetAddIn.addin.xml, + AspNetAddIn.mdp: Replace the IBuildStep implementation by a + ProjectServiceExtension subclass. IBuildStep is not available + anymore. + +2007-02-05 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Templates/MasterPageWithCodeBehind.xft.xml: + * Project/AspNetDisplayBinding.cs: + * Parser/PageInfoVisitor.cs: Fix errors in last commit that came from + my misunderstanding of how the CodeBehind model doesn't apply to + MasterPages. The CodeBehindService will need support for the + CodeBeside model at some point. + +2007-02-04 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Parser/Tree/DirectiveNode.cs: Workaround for parser bug, so that + Codebehind for MasterPages can be found. + + * Parser/Internal/*: Update from mcs class tree. + + * Parser/PageInfoVisitor.cs: + * Project/AspNetDisplayBinding.cs: Handle MasterPages. + +2007-02-04 John Anderson <sontek@gmail.com> + + * Templates/MasterPageWithNoCodeBehind.xft.xml: + * Templates/MasterPageWithCodeBehind.xft.xml: + * Makefile.am: + * AspNetAddIn.mdp: + * AspNetAddIn.addin.xml: Added templates for MasterPages. + +2007-02-01 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Project/AspNetAppProject.cs: More informative error messages. + + * Project/AspNetCodeBehindProvider.cs: Track API changes. + +2007-01-18 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Templates/CodeBehindWebControl.xft.xml: Use the proper filename + rather than "Default". + +2007-01-18 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * AspNetAddIn/Parser/Internal/TagType.cs: + * AspNetAddIn/Parser/Internal/AspParser.cs: + * AspNetAddIn/Parser/Internal/ParseException.cs: + Make classes and members public so that AspNetAddIn's parser can + consume them. Can revert this when AspNetEdit uses the whole parser + rather that just the tokeniser as it does ATM. + +2006-09-19 Jacob Ilsø Christensen <jacobilsoe@gmail.com> + + * AspNetAddIn.mdp: Updated. + +2006-09-16 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Gui/AspNetConfigurationPanel.cs: + * AspNetAddIn.glade: + * Project/AspNetAppProjectConfiguration.cs: + * AspNetAddIn.addin.xml: + * Project/VerifyCodeBehindBuildStep.cs: + Added a new option that can be used to disable compilation-time + CodeBehind verification for different configurations. + + * Makefile.am: + * AspNetAddIn.mdp: Add Gui/AspNetConfigurationPanel.cs to the build. + +2006-09-13 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Project/AspNetAppProject.cs: Fix parsed document caching. Check if file + can be parsed before parsing, instead of at cache lookup. + +2006-08-21 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Project/AspNetDisplayBinding.cs: + * Project/AspNetAppProject.cs: + * Parser/PageInfoVisitor.cs: Add support for Global.asax CodeBehind. + + * Project/AspNetCodeBehindProvider.cs: + * Project/AspNetAppProject.cs: Don't try to create Documents for files + that we can't parse. + + * Project/AspNetAppProject.cs: Improve web server launch checking code. + +2006-08-21 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Project/VerifyCodeBehindBuildStep.cs: Make sure modified files are + saved before compilation. + Update the parser database to make sure our parse information is + valid. + + * Project/AspNetAppProject.cs: Add an operation cancel handler. + + * Parser/Document.cs: trap file loading exceptions. + +2006-08-05 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Project/VerifyCodeBehindBuildStep.cs: + Track changes in BindingService. + * AspNetAddIn.mdp: Remove nonexistent file. + +2006-07-25 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Project/AspNetAppProject.cs: + Become aware of Project.DoPreBuild; let it create the correct output + directory for us. + * Project/VerifyCodeBehindBuildStep.cs: + Refactored some functionality into Monodevelop.DesignerSupport. + BindingService. + + +2006-07-21 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Project/AspNetAppProject.cs: + * Project/VerifyCodeBehindBuildStep.cs: + Move Codebehind verification into a separate build step. + + * Project/CodeBehindClassBuilder.cs: + * Project/AspNetCodeBehindProvider.cs: + Deleted. Functionality moved to MonoDevelop.DesignerSupport. + * Project/AspNetAppProject.cs: + * AspNetAddIn.addin.xml: + * Project/CodeBehindProjectFileExtension.cs: + Implement CodeBehindProvider architecture. + + * Parser/PageInfoVisitor.cs: + Find CodeBehind info for more filetypes. + + * Templates/CodeBehindWebHandler.xft.xml: + * Templates/CodeBehindWebControl.xft.xml: + * Templates/CodeBehindWebForm.xft.xml: + * Templates/WebApplication.xpt.xml: + Remove unnecessary underscores in CodeBehind class names. + + * Templates/CodeBehindWebService.xft.xml: + * Templates/EmptyWebService.xft.xml: + New templates. + + + * Project/AspNetDisplayBinding.cs: + New file. For now, makes it possible to open ASP.NET mime types. + + * AspNetAddIn.addin.xml: + * Makefile.am: + * AspNetAddIn.mdp: + Include new files, remove old ones. + +2006-07-04 Michael Hutchinson <m.j.hutchinson@gmail.com> + + * Templates/CodeBehindWebControl.xft.xml: + * Templates/CodeBehindWebForm.xft.xml: + + * Project/AspNetAppProject.cs: + * Project/CodeBehindProjectFileExtension.cs: + Don't always throw exceptions when CodeBehind not found. + + * AspNetAddIn.addin.xml: + * Project/CodeBehindProjectFileExtension.cs: + Change "HideCodeBehind" option to "ShowCodeBehindFiles" + + * Project/AspNetFileDescriptionTemplate.cs: + Move translation functionality to child CodeTranslationFileDescriptionTemplate. + Move name substitution functionality to SingleFileDescriptionTemplate. + + * Templates/CodeBehindWebHandler.xft.xml: + * Templates/EmptyWebForm.xft.xml: + * Templates/CodeBehindWebControl.xft.xml: + * Templates/CodeBehindWebForm.xft.xml: + * Templates/EmptyWebHandler.xft.xml: + * Templates/WebApplication.xpt.xml: + * Templates/EmptyWebControl.xft.xml: + Track AspNetFileDescriptionTemplate changes. diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddController/ControllerWithEmptyReadAndWriteActions.tt b/main/src/addins/AspNet/CodeTemplates/CSharp/AddController/ControllerWithEmptyReadAndWriteActions.tt index 50dd69e111..50dd69e111 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddController/ControllerWithEmptyReadAndWriteActions.tt +++ b/main/src/addins/AspNet/CodeTemplates/CSharp/AddController/ControllerWithEmptyReadAndWriteActions.tt diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddController/Empty.tt b/main/src/addins/AspNet/CodeTemplates/CSharp/AddController/Empty.tt index 930da51a0e..930da51a0e 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddController/Empty.tt +++ b/main/src/addins/AspNet/CodeTemplates/CSharp/AddController/Empty.tt diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddView/Aspx/Empty.tt b/main/src/addins/AspNet/CodeTemplates/CSharp/AddView/Aspx/Empty.tt index 770de05a28..e2ac7c789c 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddView/Aspx/Empty.tt +++ b/main/src/addins/AspNet/CodeTemplates/CSharp/AddView/Aspx/Empty.tt @@ -17,7 +17,8 @@ if (mvcHost.IsViewUserControl) { #> } } else if(mvcHost.IsViewPage) { #> <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= dataTypeString #>" %> -<html xmlns="http://www.w3.org/1999/xhtml"> +<!DOCTYPE html> +<html> <head runat="server"> <title></title> </head> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddView/Razor/Empty.tt b/main/src/addins/AspNet/CodeTemplates/CSharp/AddView/Razor/Empty.tt index 9c53b0761f..9c53b0761f 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CodeTemplates/CSharp/AddView/Razor/Empty.tt +++ b/main/src/addins/AspNet/CodeTemplates/CSharp/AddView/Razor/Empty.tt diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/AddControllerDialog.cs b/main/src/addins/AspNet/Commands/AddControllerDialog.cs index ec709c532d..603e60dbf0 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/AddControllerDialog.cs +++ b/main/src/addins/AspNet/Commands/AddControllerDialog.cs @@ -26,14 +26,21 @@ using System;
using System.Collections.Generic;
-namespace MonoDevelop.AspNet.Mvc.Gui
+using Gtk;
+using MonoDevelop.Core;
+using MonoDevelop.AspNet.Projects;
+
+namespace MonoDevelop.AspNet.Commands
{
- public partial class AddControllerDialog : Gtk.Dialog
+ class AddControllerDialog : Dialog
{
IList<string> loadedTemplateList;
System.CodeDom.Compiler.CodeDomProvider provider;
- #region Public Properties
+ Button buttonCancel;
+ Button buttonOk;
+ Entry nameEntry;
+ ComboBox templateCombo;
public string ControllerName {
get {
@@ -50,11 +57,9 @@ namespace MonoDevelop.AspNet.Mvc.Gui }
}
- #endregion
-
- public AddControllerDialog (AspMvcProject project)
+ public AddControllerDialog (AspNetAppProject project)
{
- this.Build ();
+ Build ();
provider = project.LanguageBinding.GetCodeDomProvider ();
@@ -81,6 +86,46 @@ namespace MonoDevelop.AspNet.Mvc.Gui Validate ();
}
+ void Build ()
+ {
+ DefaultWidth = 400;
+ DefaultHeight = 150;
+ BorderWidth = 6;
+ Resizable = false;
+
+ buttonCancel = new Button (Stock.Cancel);
+ AddActionWidget (buttonCancel, ResponseType.Cancel);
+ buttonOk = new Button (Stock.Ok);
+ AddActionWidget (buttonOk, ResponseType.Ok);
+
+ nameEntry = new Entry ();
+ templateCombo = ComboBox.NewText ();
+
+ var nameLabel = new Label {
+ TextWithMnemonic = GettextCatalog.GetString ("_Name:"),
+ Xalign = 0,
+ MnemonicWidget = nameEntry
+ };
+ var templateLabel = new Label {
+ TextWithMnemonic = GettextCatalog.GetString ("_Template:"),
+ Xalign = 0,
+ MnemonicWidget = templateCombo
+ };
+
+ var table = new Table (2, 2, false) {
+ RowSpacing = 6,
+ ColumnSpacing = 6
+ };
+
+ table.Attach (nameLabel, 0, 1, 0, 1, AttachOptions.Fill, 0, 0, 0);
+ table.Attach (nameEntry, 1, 2, 0, 1, AttachOptions.Fill | AttachOptions.Expand, 0, 0, 0);
+ table.Attach (templateLabel, 0, 1, 1, 2, AttachOptions.Fill, 0, 0, 0);
+ table.Attach (templateCombo, 1, 2, 1, 2, AttachOptions.Fill | AttachOptions.Expand, 0, 0, 0);
+ VBox.PackStart (table);
+
+ Child.ShowAll ();
+ }
+
protected virtual void Validate (object sender, EventArgs e)
{
Validate ();
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/AddViewDialog.cs b/main/src/addins/AspNet/Commands/AddViewDialog.cs index b3966789cc..c9d4c56a21 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/AddViewDialog.cs +++ b/main/src/addins/AspNet/Commands/AddViewDialog.cs @@ -25,41 +25,47 @@ // THE SOFTWARE. using System; -using System.Linq; using System.IO; using System.Collections.Generic; -using MonoDevelop.AspNet.StateEngine; using PP = System.IO.Path; -using MonoDevelop.AspNet.Gui; using MonoDevelop.Ide; -using MonoDevelop.AspNet.Parser; using MonoDevelop.Core; -using MonoDevelop.Components; using ICSharpCode.NRefactory.TypeSystem; using MonoDevelop.Ide.TypeSystem; -using MonoDevelop.Xml.StateEngine; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms.Dom; +using MonoDevelop.AspNet.WebForms; +using Gtk; -namespace MonoDevelop.AspNet.Mvc.Gui +namespace MonoDevelop.AspNet.Commands { - - - public partial class AddViewDialog : Gtk.Dialog - { - AspMvcProject project;
+ class AddViewDialog : Dialog + { + readonly AspNetAppProject project;
IDictionary<string, IList<string>> loadedTemplateList;
- IDictionary<string, Gtk.ListStore> templateStore;
- Gtk.ListStore dataClassStore;
+ IDictionary<string, ListStore> templateStore;
+ ListStore dataClassStore;
string oldMaster;
string oldEngine;
- Gtk.ListStore primaryPlaceholderStore = new Gtk.ListStore (typeof (String));
+ ListStore primaryPlaceholderStore = new ListStore (typeof (String));
System.CodeDom.Compiler.CodeDomProvider provider;
TypeDataProvider classDataProvider; - - public AddViewDialog (AspMvcProject project) + + Button buttonCancel, buttonOk, masterButton; + Label placeholderLabel; + ComboBox viewEngineCombo, templateCombo; + ComboBoxEntry placeholderCombo, dataClassCombo; + Entry nameEntry; + Entry masterEntry; + CheckButton partialCheck, stronglyTypedCheck, masterCheck; + Alignment typePanel, masterPanel; + + public AddViewDialog (AspNetAppProject project) { this.project = project; - this.Build (); + + Build (); provider = project.LanguageBinding.GetCodeDomProvider ();
@@ -72,33 +78,160 @@ namespace MonoDevelop.AspNet.Mvc.Gui viewEngineCombo.Active = 0;
InitializeTemplateStore (loadedTemplateList); - + ContentPlaceHolders = new List<string> (); string siteMaster = project.VirtualToLocalPath ("~/Views/Shared/Site.master", null); if (project.Files.GetFile (siteMaster) != null) masterEntry.Text = "~/Views/Shared/Site.master"; - primaryPlaceholderCombo.Model = primaryPlaceholderStore; + placeholderCombo.Model = primaryPlaceholderStore; UpdateTypePanelSensitivity (null, null); UpdateMasterPanelSensitivity (null, null); Validate (); + } + + void Build () + { + DefaultWidth = 470; + DefaultHeight = 380; + BorderWidth = 6; + Resizable = false; + + VBox.Spacing = 6; + + buttonCancel = new Button (Gtk.Stock.Cancel); + AddActionWidget (buttonCancel, ResponseType.Cancel); + buttonOk = new Button (Gtk.Stock.Ok); + AddActionWidget (buttonOk, ResponseType.Ok); + + var table = new Table (3, 2, false) { ColumnSpacing = 6, RowSpacing = 6 }; + + nameEntry = new Entry { WidthRequest = 350 }; + viewEngineCombo = ComboBox.NewText (); + templateCombo = ComboBox.NewText (); + + var nameLabel = new Label (GettextCatalog.GetString ("_Name")) { + MnemonicWidget = nameEntry, + Xalign = 0 + }; + var templateLabel = new Label (GettextCatalog.GetString ("_Template:")) { + MnemonicWidget = nameEntry, + Xalign = 0 + }; + var engineLabel = new Label (GettextCatalog.GetString ("_View Engine:")) { + MnemonicWidget = nameEntry, + Xalign = 0 + }; + + const AttachOptions expandFill = AttachOptions.Expand | AttachOptions.Fill; + const AttachOptions fill = AttachOptions.Fill; + + table.Attach (nameLabel, 0, 1, 0, 1, fill, 0, 0, 0); + table.Attach (nameEntry, 1, 2, 0, 1, expandFill, 0, 0, 0); + table.Attach (templateLabel, 0, 1, 1, 2, fill, 0, 0, 0); + table.Attach (templateCombo, 1, 2, 1, 2, expandFill, 0, 0, 0); + table.Attach (engineLabel, 0, 1, 2, 3, fill, 0, 0, 0); + table.Attach (viewEngineCombo, 1, 2, 2, 3, expandFill, 0, 0, 0); + + VBox.PackStart (table, false, false, 0); + + var frame = new Frame (GettextCatalog.GetString ("Options")) { BorderWidth = 2 }; + var optionsVBox = new VBox { Spacing = 6 }; + var optionsAlignment = new Alignment (0.5f, 0.5f, 1f, 1f) { + Child = optionsVBox, + TopPadding = 4, + BottomPadding = 4, + RightPadding = 4, + LeftPadding = 4 + }; + frame.Add (optionsAlignment); + + partialCheck = new CheckButton (GettextCatalog.GetString ("_Partial view")) { UseUnderline = true }; + stronglyTypedCheck = new CheckButton (GettextCatalog.GetString ("_Strongly typed")) { UseUnderline = true }; + masterCheck = new CheckButton (GettextCatalog.GetString ("Has _master page or layout")) { UseUnderline = true }; + + dataClassCombo = ComboBoxEntry.NewText (); + masterEntry = new Entry { WidthRequest = 250 }; + placeholderCombo = ComboBoxEntry.NewText (); + masterButton = new Button ("..."); + + optionsVBox.PackStart (partialCheck); + optionsVBox.PackStart (stronglyTypedCheck); + typePanel = WithLabelAndLeftPadding (dataClassCombo, GettextCatalog.GetString ("_Data class:"), true, 24); + optionsVBox.PackStart (typePanel); + optionsVBox.PackStart (masterCheck); + + + var masterLabel = new Label (GettextCatalog.GetString ("_File:")) { + MnemonicWidget = masterEntry, + Xalign = 0, + UseUnderline = true + }; + + placeholderLabel = new Label (GettextCatalog.GetString ("P_rimary placeholder:")) { + MnemonicWidget = placeholderCombo, + Xalign = 0, + UseUnderline = true + }; + + var masterTable = new Table (2, 3, false) { RowSpacing = 6, ColumnSpacing = 6 }; + + masterTable.Attach (masterLabel, 0, 1, 0, 1, fill, 0, 0, 0); + masterTable.Attach (masterEntry, 1, 3, 0, 1, expandFill, 0, 0, 0); + masterTable.Attach (placeholderLabel, 0, 1, 1, 2, expandFill, 0, 0, 0); + masterTable.Attach (placeholderCombo, 1, 2, 1, 2, fill, 0, 0, 0); + masterTable.Attach (masterButton, 2, 3, 1, 2, fill, 0, 0, 0); + + masterPanel = new Alignment (0.5f, 0.5f, 1f, 1f) { LeftPadding = 24, Child = masterTable }; + optionsVBox.PackStart (masterPanel); + + VBox.PackStart (frame, false, false, 0); + + Child.ShowAll (); + + viewEngineCombo.Changed += ViewEngineChanged; + templateCombo.Changed += Validate; + nameEntry.Changed += Validate; + partialCheck.Toggled += UpdateMasterPanelSensitivity; + stronglyTypedCheck.Toggled += UpdateTypePanelSensitivity; + dataClassCombo.Changed += DataClassChanged; + masterCheck.Toggled += UpdateMasterPanelSensitivity; + masterEntry.Changed += MasterChanged; + masterButton.Clicked += ShowMasterSelectionDialog; + placeholderCombo.Changed += Validate; + + } + + static Alignment WithLabelAndLeftPadding (Widget w, string labelText, bool underline, uint leftPadding) + { + var label = new Label (labelText) { + MnemonicWidget = w, + Xalign = 0, + UseUnderline = underline + }; + + var box = new HBox (false, 6); + box.PackStart (label); + box.PackStart (w, true, true, 0); + + return new Alignment (0.5f, 0.5f, 1f, 1f) { LeftPadding = leftPadding, Child = box }; }
IEnumerable<string> GetProperViewEngines ()
{
yield return "Aspx";
- if (MvcVersion.CompareTo ("2.0.0.0") > 0)
+ if (project.SupportsRazorViewEngine)
yield return "Razor";
}
void InitializeTemplateStore (IDictionary<string, IList<string>> tempList)
{
- templateStore = new Dictionary<string, Gtk.ListStore> ();
+ templateStore = new Dictionary<string, ListStore> ();
foreach (var engine in tempList.Keys) {
bool foundEmptyTemplate = false;
- templateStore[engine] = new Gtk.ListStore (typeof (string));
+ templateStore[engine] = new ListStore (typeof (string));
foreach (string file in tempList[engine]) {
string name = PP.GetFileNameWithoutExtension (file);
@@ -135,23 +268,23 @@ namespace MonoDevelop.AspNet.Mvc.Gui buttonOk.Sensitive = IsValid (); } - protected virtual void UpdateMasterPanelSensitivity (object sender, EventArgs e) + protected void UpdateMasterPanelSensitivity (object sender, EventArgs e) { bool canHaveMaster = !IsPartialView; masterCheck.Sensitive = canHaveMaster; masterPanel.Sensitive = canHaveMaster && HasMaster;
- placeholderBox.Sensitive = masterPanel.Sensitive && ActiveViewEngine != "Razor"; + placeholderLabel.Sensitive = placeholderCombo.Sensitive = masterPanel.Sensitive && ActiveViewEngine != "Razor"; MasterChanged (null, null); Validate (); } - protected virtual void UpdateTypePanelSensitivity (object sender, EventArgs e) + protected void UpdateTypePanelSensitivity (object sender, EventArgs e) {
bool enabled = typePanel.Sensitive = stronglyTypedCheck.Active;
if (enabled && classDataProvider == null) {
classDataProvider = new TypeDataProvider (project);
- dataClassStore = new Gtk.ListStore (typeof (string));
+ dataClassStore = new ListStore (typeof (string));
foreach (var item in classDataProvider.TypeNamesList)
dataClassStore.AppendValues (item);
dataClassCombo.Model = dataClassStore;
@@ -174,7 +307,7 @@ namespace MonoDevelop.AspNet.Mvc.Gui return false;
if (!IsPartialView && HasMaster && ActiveViewEngine != "Razor") {
- if (String.IsNullOrEmpty (MasterFile) || !System.IO.File.Exists (project.VirtualToLocalPath (oldMaster, null)))
+ if (String.IsNullOrEmpty (MasterFile) || !File.Exists (project.VirtualToLocalPath (oldMaster, null)))
return false;
//PrimaryPlaceHolder can be empty
//Layout Page can be empty in Razor Views - it's usually set in _ViewStart.cshtml file
@@ -191,15 +324,15 @@ namespace MonoDevelop.AspNet.Mvc.Gui return !String.IsNullOrEmpty (identifier) && provider.IsValidIdentifier (identifier); } - protected virtual void ShowMasterSelectionDialog (object sender, System.EventArgs e) + protected virtual void ShowMasterSelectionDialog (object sender, EventArgs e) {
string pattern, title;
if (ActiveViewEngine == "Razor") {
pattern = "*.cshtml";
- title = MonoDevelop.Core.GettextCatalog.GetString ("Select a Layout file...");
+ title = GettextCatalog.GetString ("Select a Layout file...");
} else {
pattern = "*.master";
- title = MonoDevelop.Core.GettextCatalog.GetString ("Select a Master Page...");
+ title = GettextCatalog.GetString ("Select a Master Page...");
}
var dialog = new MonoDevelop.Ide.Projects.ProjectFileSelectorDialog (project, null, pattern)
{
@@ -207,7 +340,7 @@ namespace MonoDevelop.AspNet.Mvc.Gui TransientFor = this,
}; try { - if (MessageService.RunCustomDialog (dialog) == (int) Gtk.ResponseType.Ok) + if (MessageService.RunCustomDialog (dialog) == (int) ResponseType.Ok) masterEntry.Text = project.LocalToVirtualPath (dialog.SelectedFile.FilePath); } finally { dialog.Destroy (); @@ -230,8 +363,7 @@ namespace MonoDevelop.AspNet.Mvc.Gui if (!File.Exists (realPath)) return; - var pd = TypeSystemService.ParseFile (project, realPath) - as AspNetParsedDocument; + var pd = TypeSystemService.ParseFile (project, realPath) as WebFormsParsedDocument; if (pd != null) { try { @@ -243,7 +375,7 @@ namespace MonoDevelop.AspNet.Mvc.Gui if (placeholder.Contains ("main") || placeholder.Contains ("Main") || placeholder.Contains ("content") || placeholder.Contains ("Content")) - primaryPlaceholderCombo.Active = i; + placeholderCombo.Active = i; } } catch (Exception ex) { LoggingService.LogError ("Unhandled exception getting master regions for '" + realPath + "'", ex); @@ -296,7 +428,7 @@ namespace MonoDevelop.AspNet.Mvc.Gui public string PrimaryPlaceHolder { get { - return primaryPlaceholderCombo.ActiveText; + return placeholderCombo.ActiveText; } } @@ -329,12 +461,6 @@ namespace MonoDevelop.AspNet.Mvc.Gui public string ActiveViewEngine {
get { return viewEngineCombo.ActiveText; }
- }
-
- public string MvcVersion {
- get { - return project.GetAspNetMvcVersion ();
- }
} #endregion
diff --git a/main/src/addins/AspNet/Commands/AddViewFromControllerCommandHandler.cs b/main/src/addins/AspNet/Commands/AddViewFromControllerCommandHandler.cs new file mode 100644 index 0000000000..0bf46856ec --- /dev/null +++ b/main/src/addins/AspNet/Commands/AddViewFromControllerCommandHandler.cs @@ -0,0 +1,133 @@ +//
+// AddViewFromControllerCommandHandler.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using MonoDevelop.Components.Commands;
+using MonoDevelop.Ide;
+using MonoDevelop.AspNet.Projects;
+
+namespace MonoDevelop.AspNet.Commands
+{
+ class AddViewFromControllerCommandHandler : CommandHandler
+ {
+ protected override void Update (CommandInfo info)
+ {
+ MvcCommandsCommonHandler.Update (info);
+ }
+
+ protected override void Run ()
+ {
+ var doc = IdeApp.Workbench.ActiveDocument;
+ var project = (AspNetAppProject)doc.Project;
+ var currentLocation = doc.Editor.Caret.Location;
+
+ string controllerName = doc.ParsedDocument.GetTopLevelTypeDefinition (currentLocation).Name;
+ int pos = controllerName.LastIndexOf ("Controller", StringComparison.Ordinal);
+ if (pos > 0)
+ controllerName = controllerName.Remove (pos);
+
+ string path = doc.FileName.ParentDirectory.ParentDirectory.Combine ("Views", controllerName); + string actionName = doc.ParsedDocument.GetMember (currentLocation).Name;
+ AddView (project, path, actionName);
+ }
+
+ public static void AddView (AspNetAppProject project, string path, string name)
+ {
+ var provider = project.LanguageBinding.GetCodeDomProvider ();
+ if (provider == null)
+ throw new InvalidOperationException ("Project language has null CodeDOM provider");
+
+ string outputFile = null;
+ MvcTextTemplateHost host = null;
+ AddViewDialog dialog = null;
+
+ try {
+ dialog = new AddViewDialog (project);
+ dialog.ViewName = name;
+
+ bool fileGood = false;
+ while (!fileGood) {
+ var resp = (Gtk.ResponseType) MessageService.RunCustomDialog (dialog);
+ dialog.Hide ();
+ if (resp != Gtk.ResponseType.Ok || ! dialog.IsValid ())
+ return;
+
+ string ext = ".cshtml";
+ if (dialog.ActiveViewEngine == "Aspx")
+ ext = dialog.IsPartialView ? ".ascx" : ".aspx";
+
+ if (!System.IO.Directory.Exists (path))
+ System.IO.Directory.CreateDirectory (path);
+
+ outputFile = System.IO.Path.Combine (path, dialog.ViewName) + ext;
+
+ if (System.IO.File.Exists (outputFile)) {
+ fileGood = MessageService.AskQuestion ("Overwrite file?",
+ String.Format ("The file '{0}' already exists.\n", dialog.ViewName) +
+ "Would you like to overwrite it?", AlertButton.OverwriteFile, AlertButton.Cancel)
+ != AlertButton.Cancel;
+ } else
+ break;
+ }
+
+ host = new MvcTextTemplateHost {
+ LanguageExtension = provider.FileExtension,
+ ItemName = dialog.ViewName,
+ ViewDataTypeString = ""
+ };
+
+ if (dialog.HasMaster) {
+ host.IsViewContentPage = true;
+ host.ContentPlaceholder = dialog.PrimaryPlaceHolder;
+ host.MasterPage = dialog.MasterFile;
+ host.ContentPlaceHolders = dialog.ContentPlaceHolders;
+ }
+ else if (dialog.IsPartialView)
+ host.IsViewUserControl = true;
+ else
+ host.IsViewPage = true;
+
+ if (dialog.IsStronglyTyped)
+ host.ViewDataTypeString = dialog.ViewDataTypeString;
+
+ host.ProcessTemplate (dialog.TemplateFile, outputFile);
+ MonoDevelop.TextTemplating.TextTemplatingService.ShowTemplateHostErrors (host.Errors);
+
+ } finally {
+ if (host != null)
+ host.Dispose ();
+ if (dialog != null)
+ dialog.Destroy ();
+ }
+
+ if (System.IO.File.Exists (outputFile)) {
+ project.AddFile (outputFile);
+ IdeApp.ProjectOperations.Save (project);
+ }
+ }
+ }
+
+}
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetCommands.cs b/main/src/addins/AspNet/Commands/AspNetCommands.cs index f22838d13c..0962f498c3 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetCommands.cs +++ b/main/src/addins/AspNet/Commands/AspNetCommands.cs @@ -24,15 +24,15 @@ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -using System; - -using MonoDevelop.Components.Commands; - -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.Commands { - public enum AspNetCommands { AddAspNetDirectory, + AddView, + AddController, + GoToView, + GoToController, + AddViewFromController } } diff --git a/main/src/addins/AspNet/Commands/GoToControllerCommandHandler.cs b/main/src/addins/AspNet/Commands/GoToControllerCommandHandler.cs new file mode 100644 index 0000000000..ed2251cb31 --- /dev/null +++ b/main/src/addins/AspNet/Commands/GoToControllerCommandHandler.cs @@ -0,0 +1,66 @@ +//
+// GoToControllerCommandHandler.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Linq;
+using ICSharpCode.NRefactory.TypeSystem;
+using MonoDevelop.Components.Commands;
+using MonoDevelop.Core;
+using MonoDevelop.Ide;
+using MonoDevelop.AspNet.Projects;
+
+namespace MonoDevelop.AspNet.Commands
+{
+
+ class GoToControllerCommandHandler : CommandHandler
+ {
+ protected override void Update (CommandInfo info)
+ {
+ var doc = IdeApp.Workbench.ActiveDocument;
+ AspNetAppProject project;
+ if (doc == null || (project = doc.Project as AspNetAppProject) == null || !project.IsAspMvcProject) {
+ info.Enabled = info.Visible = false;
+ return;
+ }
+ var baseDirectory = doc.FileName.ParentDirectory.ParentDirectory; + if (!string.Equals (baseDirectory.FileName, "Views")) + info.Enabled = info.Visible = false;
+ }
+
+ protected override void Run ()
+ {
+ var doc = IdeApp.Workbench.ActiveDocument;
+ var name = doc.FileName.ParentDirectory.FileName;
+ var controller = doc.ProjectContent.GetAllTypeDefinitions ().FirstOrDefault (t => t.Name == name + "Controller");
+
+ if (controller != null)
+ IdeApp.Workbench.OpenDocument (controller.UnresolvedFile.FileName, doc.Project);
+ else
+ MessageService.ShowError ("Matching controller cannot be found.");
+ }
+ }
+
+}
diff --git a/main/src/addins/AspNet/Commands/GoToViewCommandHandler.cs b/main/src/addins/AspNet/Commands/GoToViewCommandHandler.cs new file mode 100644 index 0000000000..cbdfed0257 --- /dev/null +++ b/main/src/addins/AspNet/Commands/GoToViewCommandHandler.cs @@ -0,0 +1,76 @@ +//
+// GoToViewCommandHandler.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.IO;
+using ICSharpCode.NRefactory.TypeSystem;
+using MonoDevelop.Components.Commands;
+using MonoDevelop.Core;
+using MonoDevelop.Ide;
+
+namespace MonoDevelop.AspNet.Commands
+{
+ class GoToViewCommandHandler : CommandHandler
+ {
+ protected override void Update (CommandInfo info)
+ {
+ MvcCommandsCommonHandler.Update (info);
+ }
+
+ protected override void Run ()
+ {
+ var doc = IdeApp.Workbench.ActiveDocument;
+ var currentLocation = doc.Editor.Caret.Location;
+
+ var controller = doc.ParsedDocument.GetTopLevelTypeDefinition (currentLocation); + string controllerName = controller.Name; + int pos = controllerName.LastIndexOf ("Controller", StringComparison.Ordinal);
+ if (pos > 0)
+ controllerName = controllerName.Remove (pos);
+ + var baseDirectory = doc.FileName.ParentDirectory.ParentDirectory; +
+ string actionName = doc.ParsedDocument.GetMember (currentLocation).Name;
+ var viewFoldersPaths = new [] {
+ baseDirectory.Combine ("Views", controllerName), + baseDirectory.Combine ("Views", "Shared") + };
+ var viewExtensions = new [] { ".aspx", ".cshtml" };
+
+ foreach (var folder in viewFoldersPaths) {
+ foreach (var ext in viewExtensions) {
+ var possibleFile = folder.Combine (actionName + ext);
+ if (File.Exists (possibleFile)) {
+ IdeApp.Workbench.OpenDocument (possibleFile, doc.Project);
+ return;
+ }
+ }
+ }
+
+ MessageService.ShowError ("Matching view cannot be found.");
+ }
+ }
+}
diff --git a/main/src/addins/AspNet/Commands/MvcCommandsCommonHandler.cs b/main/src/addins/AspNet/Commands/MvcCommandsCommonHandler.cs new file mode 100644 index 0000000000..03fa16fb63 --- /dev/null +++ b/main/src/addins/AspNet/Commands/MvcCommandsCommonHandler.cs @@ -0,0 +1,60 @@ +//
+// CommandHandlers.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Linq;
+using ICSharpCode.NRefactory.TypeSystem;
+using MonoDevelop.Components.Commands;
+using MonoDevelop.Ide;
+using MonoDevelop.AspNet.Projects;
+
+namespace MonoDevelop.AspNet.Commands
+{
+ static class MvcCommandsCommonHandler
+ {
+ public static void Update (CommandInfo info)
+ {
+ var doc = IdeApp.Workbench.ActiveDocument;
+ AspNetAppProject project;
+ if (doc == null || (project = doc.Project as AspNetAppProject) == null || !project.IsAspMvcProject || doc.ParsedDocument == null) {
+ info.Enabled = info.Visible = false;
+ return;
+ }
+
+ var currentLocation = doc.Editor.Caret.Location;
+ var topLevelType = doc.ParsedDocument.GetTopLevelTypeDefinition (currentLocation);
+ if (topLevelType == null || !topLevelType.Name.EndsWith ("Controller", StringComparison.Ordinal)) { + info.Enabled = info.Visible = false;
+ return;
+ }
+
+ var correctReturnTypes = new [] { "ActionResult", "ViewResultBase", "ViewResult", "PartialViewResult" };
+ var member = doc.ParsedDocument.GetMember (currentLocation) as IUnresolvedMethod;
+ if (member == null || !member.IsPublic || correctReturnTypes.All (t => t != member.ReturnType.ToString ()))
+ info.Enabled = info.Visible = false;
+ }
+ }
+}
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetExecutionCommand.cs b/main/src/addins/AspNet/Execution/AspNetExecutionCommand.cs index e8ab5aac6e..e1104e7ffd 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetExecutionCommand.cs +++ b/main/src/addins/AspNet/Execution/AspNetExecutionCommand.cs @@ -24,22 +24,17 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System; using MonoDevelop.Core; using MonoDevelop.Core.Execution; using MonoDevelop.Core.Assemblies; using System.Collections.Generic; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.Execution { public class AspNetExecutionCommand: ExecutionCommand { IDictionary<string, string> environmentVariables; - - public AspNetExecutionCommand() - { - } - + public ClrVersion ClrVersion { get; set; } public XspParameters XspParameters { get; set; } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetExecutionHandler.cs b/main/src/addins/AspNet/Execution/AspNetExecutionHandler.cs index 0e341ea78b..2e0dcca894 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetExecutionHandler.cs +++ b/main/src/addins/AspNet/Execution/AspNetExecutionHandler.cs @@ -26,13 +26,12 @@ using System; using System.Collections.Generic; -using MonoDevelop.Projects; +using System.IO; using MonoDevelop.Core; using MonoDevelop.Core.Assemblies; using MonoDevelop.Core.Execution; -using System.IO; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.Execution { public class AspNetExecutionHandler: IExecutionHandler { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/BrowserLauncher.cs b/main/src/addins/AspNet/Execution/BrowserLauncher.cs index d5e27e66cc..6a03216721 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/BrowserLauncher.cs +++ b/main/src/addins/AspNet/Execution/BrowserLauncher.cs @@ -31,10 +31,9 @@ using MonoDevelop.Core; using MonoDevelop.Core.Execution; using MonoDevelop.Ide; -namespace MonoDevelop.AspNet.Gui -{ - - public static class BrowserLauncher +namespace MonoDevelop.AspNet.Execution +{ + static class BrowserLauncher { public static IProcessAsyncOperation LaunchDefaultBrowser (string url) { @@ -47,5 +46,4 @@ namespace MonoDevelop.AspNet.Gui } } } - } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/LineInterceptingTextWriter.cs b/main/src/addins/AspNet/Execution/LineInterceptingTextWriter.cs index 02d7768ad6..b743e1cd6c 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/LineInterceptingTextWriter.cs +++ b/main/src/addins/AspNet/Execution/LineInterceptingTextWriter.cs @@ -27,16 +27,16 @@ using System; using System.IO; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.Execution { /// <summary> /// This is used to watch for a specific lines in a textwriter. It wraps an (optional) real writer, /// parses lines, and raises events. /// </summary> - public class LineInterceptingTextWriter : TextWriter + class LineInterceptingTextWriter : TextWriter { - TextWriter innerWriter; + readonly TextWriter innerWriter; System.Text.StringBuilder sb = new System.Text.StringBuilder (); Action onNewLine; bool prevCharWasCR; @@ -49,8 +49,13 @@ namespace MonoDevelop.AspNet } public bool FinishedIntercepting { - get { return sb == null; } - set { sb = null; } + get { + return sb == null; + } + set { + if (value) + sb = null; + } } /// <summary> diff --git a/main/src/addins/AspNet/Execution/XspBrowserLauncherConsole.cs b/main/src/addins/AspNet/Execution/XspBrowserLauncherConsole.cs new file mode 100644 index 0000000000..c62fea6de7 --- /dev/null +++ b/main/src/addins/AspNet/Execution/XspBrowserLauncherConsole.cs @@ -0,0 +1,90 @@ +//
+// XspBrowserLauncherConsole.cs
+//
+// Author:
+// Michael Hutchinson <mhutch@xamarin.com>
+//
+// Copyright (c) 2014 Xamarin Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System; +using System.IO; +using MonoDevelop.Core.Execution; + +namespace MonoDevelop.AspNet.Execution +{ + class XspBrowserLauncherConsole : IConsole + { + readonly IConsole real; + LineInterceptingTextWriter outWriter; + Action <string> launchBrowser; + + const int MAX_WATCHED_LINES = 30; + + public XspBrowserLauncherConsole (IConsole real, Action <string> launchBrowser) + { + this.real = real; + this.launchBrowser = launchBrowser; + } + + public void Dispose () + { + real.Dispose (); + } + + public event EventHandler CancelRequested { + add { real.CancelRequested += value; } + remove { real.CancelRequested -= value; } + } + + public TextReader In { + get { return real.In; } + } + + public TextWriter Out { + get { + if (outWriter == null) + outWriter = new LineInterceptingTextWriter (real.Out, delegate { + string line = outWriter.GetLine(); + if (line.Contains ("Listening on port: ")) { + string port = System.Text.RegularExpressions.Regex.Match (line, "(?<=port: )[0-9]*(?= )").Value; + launchBrowser (port); + outWriter.FinishedIntercepting = true; + } else if (outWriter.LineCount > MAX_WATCHED_LINES) { + outWriter.FinishedIntercepting = true; + } + }); + return outWriter; + } + } + + public TextWriter Error { + get { return real.Error; } + } + + public TextWriter Log { + get { return real.Log; } + } + + public bool CloseOnDispose { + get { return real.CloseOnDispose; } + } + } +} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/XspOptionsPanel.cs b/main/src/addins/AspNet/Execution/XspOptionsPanel.cs index 4d4d6a7e46..6bd97b965d 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/XspOptionsPanel.cs +++ b/main/src/addins/AspNet/Execution/XspOptionsPanel.cs @@ -29,16 +29,13 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; using Gtk; -using MonoDevelop.Ide.Projects; -using MonoDevelop.Core; using MonoDevelop.Ide.Gui.Dialogs; +using MonoDevelop.AspNet.Projects; -namespace MonoDevelop.AspNet.Gui +namespace MonoDevelop.AspNet.Execution { - - public class XspOptionsPanel : ItemOptionsPanel + class XspOptionsPanel : ItemOptionsPanel { XspOptionsPanelWidget panel; diff --git a/main/src/addins/AspNet/Execution/XspOptionsPanelWidget.cs b/main/src/addins/AspNet/Execution/XspOptionsPanelWidget.cs new file mode 100644 index 0000000000..18126f4836 --- /dev/null +++ b/main/src/addins/AspNet/Execution/XspOptionsPanelWidget.cs @@ -0,0 +1,202 @@ +// XspOptionsPanelWidget.cs +// +// Author: +// Michael Hutchinson <mhutchinson@novell.com> +// +// Copyright (C) 2007 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +using System; +using Gtk; + +using MonoDevelop.Core; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.Components; + +namespace MonoDevelop.AspNet.Execution +{ + class XspOptionsPanelWidget : VBox + { + Entry ipAddress = new Entry { WidthChars = 39 }; // sized for IPv6 + SpinButton portNumber = new SpinButton (0, Int16.MaxValue, 1) { WidthChars = 5} ; + CheckButton verboseCheck = new CheckButton (); + readonly ComboBox sslMode = ComboBox.NewText (); + readonly ComboBox sslProtocol = ComboBox.NewText (); + readonly ComboBox keyType = ComboBox.NewText (); + readonly ComboBox passwordOptions = ComboBox.NewText (); + readonly FileEntry keyLocation = new FileEntry (); + readonly FileEntry certLocation = new FileEntry (); + readonly Entry passwordEntry = new Entry { InvisibleChar = '●' }; + + public XspOptionsPanelWidget (AspNetAppProject project) + { + Build (); + + XspParameters xPar = project.XspParameters; + + //index should be equivalent to XspSslMode enum + ((ListStore) sslMode.Model).Clear (); + sslMode.AppendText (GettextCatalog.GetString ("None")); + sslMode.AppendText (GettextCatalog.GetString ("Enabled")); + sslMode.AppendText (GettextCatalog.GetString ("Accept Client Certificates")); + sslMode.AppendText (GettextCatalog.GetString ("Require Client Certificates")); + + //index should be equivalent to XspSslProtocol enum + ((ListStore) sslProtocol.Model).Clear (); + sslProtocol.AppendText (GettextCatalog.GetString ("Default")); + sslProtocol.AppendText ("TLS"); + sslProtocol.AppendText ("SSL 2"); + sslProtocol.AppendText ("SSL 3"); + + ((ListStore) keyType.Model).Clear (); + keyType.AppendText (GettextCatalog.GetString ("None")); + keyType.AppendText ("Pkcs12"); + keyType.AppendText ("PVK"); + + ((ListStore) passwordOptions.Model).Clear (); + passwordOptions.AppendText (GettextCatalog.GetString ("None")); + passwordOptions.AppendText (GettextCatalog.GetString ("Ask")); + passwordOptions.AppendText (GettextCatalog.GetString ("Store (insecure)")); + + //load all options + ipAddress.Text = xPar.Address; + portNumber.Value = xPar.Port; + verboseCheck.Active = xPar.Verbose; + sslMode.Active = (int) xPar.SslMode; + sslProtocol.Active = (int) xPar.SslProtocol; + keyType.Active = (int) xPar.KeyType; + keyLocation.Path = xPar.PrivateKeyFile; + certLocation.Path = xPar.CertificateFile; + passwordOptions.Active = (int) xPar.PasswordOptions; + passwordEntry.Text = xPar.PrivateKeyPassword; + } + + void Build () + { + Spacing = 6; + + PackStart (new Label { Markup = "<b>" + GettextCatalog.GetString ("General Options") + "</b>", Xalign = 0 }); + + var gpadLabel = new Label { WidthRequest = 12 }; + var ipLabel = new Label (GettextCatalog.GetString ("IP address:")) { Xalign = 0 }; + var ipHint = new Label (GettextCatalog.GetString ("(blank = localhost)")) { Xalign = 0 }; + var ipHbox = new HBox (false, 6); + ipHbox.PackStart (ipAddress, false, false, 0); + ipHbox.PackStart (ipHint, false, false, 0); + var portLabel = new Label (GettextCatalog.GetString ("Port:")) { Xalign = 0 }; + var portHint = new Label (GettextCatalog.GetString ("(0 = random)")) { Xalign = 0 }; + var portHbox = new HBox (false, 6); + portHbox.PackStart (portNumber, false, false, 0); + portHbox.PackStart (portHint, false, false, 0); + verboseCheck.Label = GettextCatalog.GetString ("Verbose console output"); + verboseCheck.Xalign = 0; + + var ipTable = new Table (3, 3, false) { ColumnSpacing = 6, RowSpacing = 6 }; + ipTable.Attach (gpadLabel, 0, 1, 0, 1, AttachOptions.Fill, 0, 0, 0); + ipTable.Attach (ipLabel, 1, 2, 0, 1, AttachOptions.Fill, 0, 0, 0); + ipTable.Attach (ipHbox, 2, 3, 0, 1, AttachOptions.Fill, 0, 0, 0); + ipTable.Attach (portLabel, 1, 2, 1, 2, AttachOptions.Fill, 0, 0, 0); + ipTable.Attach (portHbox, 2, 3, 1, 2, AttachOptions.Fill, 0, 0, 0); + ipTable.Attach (verboseCheck, 1, 3, 2, 3, AttachOptions.Fill, 0, 0, 0); + PackStart (ipTable); + + PackStart (new Label { Markup = "<b>" + GettextCatalog.GetString ("Security") + "</b>", Xalign = 0 }); + + var sslPadLabel = new Label { WidthRequest = 12 }; + var sslModeLabel = new Label (GettextCatalog.GetString ("SSL mode:")) { Xalign = 0 }; + var sslModeAlign = new Alignment (0, 0, 0, 0) { Child = sslMode }; + var sslProtocolLabel = new Label (GettextCatalog.GetString ("SSL protocol:")) { Xalign = 0 }; + var sslProtocolAlign = new Alignment (0, 0, 0, 0) { Child = sslProtocol }; + + var sslTable = new Table (2, 3, false) { ColumnSpacing = 6, RowSpacing = 6 }; + sslTable.Attach (sslPadLabel, 0, 1, 0, 1, AttachOptions.Fill, 0, 0, 0); + sslTable.Attach (sslModeLabel, 1, 2, 0, 1, AttachOptions.Fill, 0, 0, 0); + sslTable.Attach (sslModeAlign, 2, 3, 0, 1, AttachOptions.Fill, 0, 0, 0); + sslTable.Attach (sslProtocolLabel, 1, 2, 1, 2, AttachOptions.Fill, 0, 0, 0); + sslTable.Attach (sslProtocolAlign, 2, 3, 1, 2, AttachOptions.Fill, 0, 0, 0); + PackStart (sslTable); + + PackStart (new Label { Markup = "<b>" + GettextCatalog.GetString ("SSL Key") + "</b>", Xalign = 0 }); + + var keyPadLabel = new Label { WidthRequest = 12 }; + var keyTypeLabel = new Label (GettextCatalog.GetString ("Key type:")) { Xalign = 0 }; + var keyTypeAlign = new Alignment (0, 0, 0, 0) { Child = keyType }; + var keyFileLabel = new Label (GettextCatalog.GetString ("Key file:")) { Xalign = 0 }; + var certFileLabel = new Label (GettextCatalog.GetString ("Certificate file:")) { Xalign = 0 }; + var passwordLabel = new Label (GettextCatalog.GetString ("Password:")) { Xalign = 0 }; + var passwordHbox = new HBox (false, 6); + passwordHbox.PackStart (passwordOptions, false, false, 0); + passwordHbox.PackStart (passwordEntry, true, true, 0); + + var keyTable = new Table (4, 4, false) { ColumnSpacing = 6, RowSpacing = 6 }; + keyTable.Attach (keyPadLabel, 0, 1, 0, 1, AttachOptions.Fill, 0, 0, 0); + keyTable.Attach (keyTypeLabel, 1, 2, 0, 1, AttachOptions.Fill, 0, 0, 0); + keyTable.Attach (keyTypeAlign, 2, 3, 0, 1, AttachOptions.Fill, 0, 0, 0); + keyTable.Attach (keyFileLabel, 1, 2, 1, 2, AttachOptions.Fill, 0, 0, 0); + keyTable.Attach (keyLocation, 2, 4, 1, 2, AttachOptions.Expand | AttachOptions.Fill, 0, 0, 0); + keyTable.Attach (certFileLabel, 1, 2, 2, 3, AttachOptions.Fill, 0, 0, 0); + keyTable.Attach (certLocation, 2, 4, 2, 3, AttachOptions.Expand | AttachOptions.Fill, 0, 0, 0); + keyTable.Attach (passwordLabel, 1, 2, 3, 4, AttachOptions.Fill, 0, 0, 0); + keyTable.Attach (passwordHbox, 2, 4, 3, 4, AttachOptions.Expand | AttachOptions.Fill, 0, 0, 0); + PackStart (keyTable); + + sslMode.Changed += UpdateSensitivity; + keyType.Changed += UpdateSensitivity; + passwordOptions.Changed += UpdateSensitivity; + + ShowAll (); + } + + public void Store (AspNetAppProject project) + { + XspParameters xPar = project.XspParameters; + + xPar.Address = ipAddress.Text; + xPar.Port = Convert.ToUInt16 (portNumber.Value); + xPar.Verbose = verboseCheck.Active; + xPar.SslMode = (XspSslMode) sslMode.Active; + xPar.SslProtocol = (XspSslProtocol) sslProtocol.Active; + xPar.KeyType = (XspKeyType) keyType.Active; + xPar.PrivateKeyFile = keyLocation.Path; + xPar.CertificateFile = certLocation.Path; + xPar.PasswordOptions = (XspPasswordOptions) passwordOptions.Active; + xPar.PrivateKeyPassword = passwordEntry.Text; + } + + void UpdateSensitivity (object sender, EventArgs e) + { + bool sslEnabled = ((XspSslMode) sslMode.Active) != XspSslMode.None; + sslProtocol.Sensitive = sslEnabled; + keyType.Sensitive = sslEnabled; + + bool keyEnabled = (sslEnabled) && (keyType.Active != 0); + keyLocation.Sensitive = keyEnabled; + passwordOptions.Sensitive = keyEnabled; + + bool certEnabled = (keyEnabled) && (keyType.Active == 2); + certLocation.Sensitive = certEnabled; + + passwordEntry.Sensitive = (keyEnabled) && (passwordOptions.Active == 2); + if (!passwordEntry.Sensitive) + passwordEntry.Text = ""; + } + } +} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/XspParameters.cs b/main/src/addins/AspNet/Execution/XspParameters.cs index 13516a70a4..e55fd0e541 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/XspParameters.cs +++ b/main/src/addins/AspNet/Execution/XspParameters.cs @@ -28,11 +28,12 @@ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // + using System; -using MonoDevelop.Ide.Gui; using MonoDevelop.Core.Serialization; +using MonoDevelop.Core; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.Execution { [DataItem ("XspParameters")] public class XspParameters : ICloneable @@ -77,7 +78,7 @@ namespace MonoDevelop.AspNet get { return (int) port; } set { try { - port = System.Convert.ToUInt16 (value); + port = Convert.ToUInt16 (value); } catch (InvalidCastException) { throw new ArgumentException ("The port value is outside the permitted range"); } @@ -138,7 +139,7 @@ namespace MonoDevelop.AspNet public string GetXspParameters () { - System.Text.StringBuilder opt = new System.Text.StringBuilder (); + var opt = new System.Text.StringBuilder (); if (port == 0) opt.Append (" --random-port"); @@ -159,7 +160,7 @@ namespace MonoDevelop.AspNet } if (sslMode != XspSslMode.None) - opt.AppendFormat (" --protocols {0}", System.Enum.GetName (typeof (XspSslProtocol), sslProtocol)); + opt.AppendFormat (" --protocols {0}", Enum.GetName (typeof (XspSslProtocol), sslProtocol)); switch (keyType) { @@ -179,15 +180,14 @@ namespace MonoDevelop.AspNet //password for keyfile if ((keyType != XspKeyType.None) && (passwordOptions != XspPasswordOptions.None)) { - string pwtemp = ""; + string pwtemp = password; - if (passwordOptions == XspPasswordOptions.Store) - pwtemp = password; - else - //TODO: hide password chars (will need custom dialogue) + if (passwordOptions != XspPasswordOptions.Store) { pwtemp = MonoDevelop.Ide.MessageService.GetPassword ( - "Please enter the password for your private key for the XSP Web Server", - "XSP Private Key Password"); + GettextCatalog.GetString ("Please enter the password for your private key for the XSP Web Server"), + GettextCatalog.GetString ("XSP Private Key Password") + ); + } if (!string.IsNullOrEmpty (pwtemp)) opt.AppendFormat (" --pkpwd {0}", pwtemp); diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs b/main/src/addins/AspNet/Html/BaseHtmlEditorExtension.cs index 9cbbae106e..b20a67c689 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs +++ b/main/src/addins/AspNet/Html/BaseHtmlEditorExtension.cs @@ -29,24 +29,17 @@ using System; using System.Linq; using System.Collections.Generic; -using System.Diagnostics; using MonoDevelop.Core; -using MonoDevelop.Projects; using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.Ide.Gui.Content; +using MonoDevelop.AspNet.Html.Parser; +using MonoDevelop.Xml.Parser; +using MonoDevelop.Xml.Dom; -using MonoDevelop.AspNet; -using MonoDevelop.AspNet.Parser; -using MonoDevelop.AspNet.StateEngine; -using MonoDevelop.Html; -using MonoDevelop.DesignerSupport; -using MonoDevelop.Xml.StateEngine; - -namespace MonoDevelop.AspNet.Gui +namespace MonoDevelop.AspNet.Html { - public abstract class BaseHtmlEditorExtension : MonoDevelop.XmlEditor.Gui.BaseXmlEditorExtension + public abstract class BaseHtmlEditorExtension : MonoDevelop.Xml.Editor.BaseXmlEditorExtension { HtmlSchema schema; bool resolvedDocType; @@ -86,9 +79,9 @@ namespace MonoDevelop.AspNet.Gui #region Setup and teardown - protected override RootState CreateRootState () + protected override XmlRootState CreateRootState () { - return new XmlFreeState (new HtmlTagState (), new HtmlClosingTagState (true)); + return new XmlRootState (new HtmlTagState (), new HtmlClosingTagState (true)); } public override void Initialize () diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/DocTypeCompletionData.cs b/main/src/addins/AspNet/Html/DocTypeCompletionData.cs index 3e77712bc7..583293ab43 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/DocTypeCompletionData.cs +++ b/main/src/addins/AspNet/Html/DocTypeCompletionData.cs @@ -30,7 +30,7 @@ using System; using MonoDevelop.Core; using MonoDevelop.Ide.CodeCompletion; -namespace MonoDevelop.Html +namespace MonoDevelop.AspNet.Html { public class DocTypeCompletionData : CompletionData { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/DocTypeExtensionNode.cs b/main/src/addins/AspNet/Html/DocTypeExtensionNode.cs index abcfaeb0b5..82a3f5d5ab 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/DocTypeExtensionNode.cs +++ b/main/src/addins/AspNet/Html/DocTypeExtensionNode.cs @@ -29,9 +29,9 @@ using System; using Mono.Addins; -namespace MonoDevelop.Html +namespace MonoDevelop.AspNet.Html { - public class DocTypeExtensionNode : ExtensionNode + class DocTypeExtensionNode : ExtensionNode { #pragma warning disable 0649 diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/ElementTypes.cs b/main/src/addins/AspNet/Html/ElementTypes.cs index 9a2633061b..b06136af76 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/ElementTypes.cs +++ b/main/src/addins/AspNet/Html/ElementTypes.cs @@ -29,10 +29,8 @@ using System; using System.Collections.Generic; -namespace MonoDevelop.Html +namespace MonoDevelop.AspNet.Html { - - public class ElementTypes { //element listings found at http://gigamonkeys.com/book/practical-an-html-generation-library-the-interpreter.html diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs b/main/src/addins/AspNet/Html/HtmlEditorExtension.cs index 0416268cdb..c287c6f7f0 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs +++ b/main/src/addins/AspNet/Html/HtmlEditorExtension.cs @@ -26,16 +26,12 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; -using System.Collections.Generic; - -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.Ide.TypeSystem; using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.AspNet.Gui +namespace MonoDevelop.AspNet.Html { - sealed class HtmlEditorExtension : BaseHtmlEditorExtension { //copied from MoonlightEditorExtension @@ -43,7 +39,7 @@ namespace MonoDevelop.AspNet.Gui protected override void RefillOutlineStore (ParsedDocument doc, Gtk.TreeStore store) { - XDocument xdoc = ((XmlParsedDocument)doc).XDocument; + XDocument xdoc = ((MonoDevelop.Xml.Editor.XmlParsedDocument)doc).XDocument; if (xdoc == null) return; // Gtk.TreeIter iter = outlineTreeStore.AppendValues (System.IO.Path.GetFileName (CU.Document.FilePath), p); @@ -54,7 +50,7 @@ namespace MonoDevelop.AspNet.Gui { outlineTree.TextRenderer.Xpad = 0; outlineTree.TextRenderer.Ypad = 0; - outlineTree.AppendColumn ("Node", outlineTree.TextRenderer, new Gtk.TreeCellDataFunc (outlineTreeDataFunc)); + outlineTree.AppendColumn ("Node", outlineTree.TextRenderer, OutlineTreeDataFunc); } protected override void OutlineSelectionChanged (object selection) @@ -77,7 +73,7 @@ namespace MonoDevelop.AspNet.Gui } } - void outlineTreeDataFunc (Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) + void OutlineTreeDataFunc (Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) { Gtk.CellRendererText txtRenderer = (Gtk.CellRendererText) cell; XNode n = (XNode) model.GetValue (iter, 0); diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlParser.cs b/main/src/addins/AspNet/Html/HtmlParser.cs index 2840453381..6938328c0c 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlParser.cs +++ b/main/src/addins/AspNet/Html/HtmlParser.cs @@ -27,27 +27,29 @@ // using System; -using System.IO; using System.Collections.Generic; +using System.IO; -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.AspNet.StateEngine; -using MonoDevelop.Ide.TypeSystem; using ICSharpCode.NRefactory.TypeSystem; + +using MonoDevelop.Ide.TypeSystem; using MonoDevelop.Projects; +using MonoDevelop.Xml.Dom; +using MonoDevelop.Xml.Parser; +using MonoDevelop.AspNet.Html.Parser; -namespace MonoDevelop.Html +namespace MonoDevelop.AspNet.Html { public class HtmlParser : TypeSystemParser { public override ParsedDocument Parse (bool storeAst, string fileName, TextReader tr, Project project = null) { - var doc = new XmlParsedDocument (fileName); + var doc = new MonoDevelop.Xml.Editor.XmlParsedDocument (fileName); doc.Flags = ParsedDocumentFlags.NonSerializable; try { - Parser xmlParser = new Parser ( - new XmlFreeState (new HtmlTagState (), new HtmlClosingTagState (true)), + var xmlParser = new XmlParser ( + new XmlRootState (new HtmlTagState (), new HtmlClosingTagState (true)), true); xmlParser.Parse (tr); diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/PathCompletion.cs b/main/src/addins/AspNet/Html/HtmlPathCompletion.cs index 06aea22eb3..b5b5596a70 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/PathCompletion.cs +++ b/main/src/addins/AspNet/Html/HtmlPathCompletion.cs @@ -31,11 +31,9 @@ using MonoDevelop.Core; using System.Text.RegularExpressions; using MonoDevelop.Ide; -namespace MonoDevelop.Html +namespace MonoDevelop.AspNet.Html { - - - public static class PathCompletion + public static class HtmlPathCompletion { public static CompletionDataList GetPathCompletion (Project proj, string pattern, @@ -51,14 +49,14 @@ namespace MonoDevelop.Html var dir = fromFile.ParentDirectory.ToString (); foreach (var pf in proj.Files) { string pathStr = pf.FilePath.ToString (); - if (pf.Subtype == Subtype.Directory || !pathStr.StartsWith (dir)) + if (pf.Subtype == Subtype.Directory || !pathStr.StartsWith (dir, StringComparison.Ordinal)) continue; int split = pathStr.LastIndexOf (System.IO.Path.DirectorySeparatorChar); if (split != dir.Length) continue; - if (regex.IsMatch (pf.FilePath.FileName.ToString ())) + if (regex.IsMatch (pf.FilePath.FileName)) list.Add (new FileCompletionData (pf, pathFunc)); } @@ -89,15 +87,15 @@ namespace MonoDevelop.Html public int CompareTo (CompletionData other) { - return DisplayText.CompareTo (other.DisplayText); + return string.Compare (DisplayText, other.DisplayText, StringComparison.Ordinal); } } class FilePickerCompletionData : CompletionData { - Project proj; - string pattern; - Func<ProjectFile,string> pathFunc; + readonly Project proj; + readonly string pattern; + readonly Func<ProjectFile,string> pathFunc; public FilePickerCompletionData (Project proj, string pattern, Func<ProjectFile,string> pathFunc) { @@ -111,7 +109,7 @@ namespace MonoDevelop.Html } public override string Description { - get { return GettextCatalog.GetString ("Choose a file from the project.");; } + get { return GettextCatalog.GetString ("Choose a file from the project."); } } public override string CompletionText { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlSchema.cs b/main/src/addins/AspNet/Html/HtmlSchema.cs index afab884d03..3078c3d5bd 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlSchema.cs +++ b/main/src/addins/AspNet/Html/HtmlSchema.cs @@ -29,9 +29,9 @@ using System; using System.Xml; using System.Collections.Generic; -using MonoDevelop.XmlEditor.Completion; +using MonoDevelop.Xml.Completion; -namespace MonoDevelop.Html +namespace MonoDevelop.AspNet.Html { public class HtmlSchema diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlSchemaService.cs b/main/src/addins/AspNet/Html/HtmlSchemaService.cs index edb2e22280..4828a9f3d9 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlSchemaService.cs +++ b/main/src/addins/AspNet/Html/HtmlSchemaService.cs @@ -32,9 +32,9 @@ using System.IO; using MonoDevelop.Core; using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.XmlEditor.Completion; +using MonoDevelop.Xml.Completion; -namespace MonoDevelop.Html +namespace MonoDevelop.AspNet.Html { public static class HtmlSchemaService @@ -51,9 +51,7 @@ namespace MonoDevelop.Html schemas = new Dictionary<string, HtmlSchema> (); //load all the schemas from addin points - //NOTE: the first ([0]) schema must be the default schema (HTML4 transitional) - string schemaDir = Path.GetDirectoryName (System.Reflection.Assembly.GetExecutingAssembly ().Location); - schemaDir = Path.Combine (schemaDir, "Schemas"); + //NOTE: the first ([0]) schema must be the default schema foreach (DocTypeExtensionNode node in Mono.Addins.AddinManager.GetExtensionNodes ("/MonoDevelop/Html/DocTypes")) { if (schemas.ContainsKey (node.Name)) @@ -61,7 +59,7 @@ namespace MonoDevelop.Html "HtmlSchemaService cannot register duplicate doctype with the name '{0}'", node.Name); if (!string.IsNullOrEmpty (node.XsdFile)) { - string path = Path.Combine (schemaDir, node.XsdFile); + string path = node.Addin.GetFilePath (node.XsdFile); try { IXmlCompletionProvider provider = new XmlSchemaCompletionData (path); schemas.Add (node.Name, new HtmlSchema (node.Name, node.FullName, provider)); diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/HtmlClosingTagState.cs b/main/src/addins/AspNet/Html/Parser/HtmlClosingTagState.cs index 059cced7bb..3a65026555 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/HtmlClosingTagState.cs +++ b/main/src/addins/AspNet/Html/Parser/HtmlClosingTagState.cs @@ -27,18 +27,15 @@ // using System; -using System.Collections.Generic; -using System.Diagnostics; +using MonoDevelop.Xml.Parser; +using MonoDevelop.Xml.Dom; -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.Html; - -namespace MonoDevelop.AspNet.StateEngine +namespace MonoDevelop.AspNet.Html.Parser { public class HtmlClosingTagState : XmlClosingTagState { - bool warnAutoClose; + readonly bool warnAutoClose; public HtmlClosingTagState (bool warnAutoClose)
: this (warnAutoClose, new XmlNameState ())
@@ -51,13 +48,13 @@ namespace MonoDevelop.AspNet.StateEngine this.warnAutoClose = warnAutoClose;
} - public override State PushChar (char c, IParseContext context, ref string rollback) + public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback) { //NOTE: This is (mostly) duplicated in HtmlTagState //handle inline tags implicitly closed by block-level elements if (context.CurrentStateLength == 1 && context.PreviousState is XmlNameState) { - XClosingTag ct = (XClosingTag) context.Nodes.Peek (); + var ct = (XClosingTag) context.Nodes.Peek (); if (!ct.Name.HasPrefix && ct.Name.IsValid) { //Note: the node stack will always be at least 1 deep due to the XDocument var parent = context.Nodes.Peek (1) as XElement; diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/HtmlScriptBodyState.cs b/main/src/addins/AspNet/Html/Parser/HtmlScriptBodyState.cs index 8473d949d1..39e4f9eefe 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/HtmlScriptBodyState.cs +++ b/main/src/addins/AspNet/Html/Parser/HtmlScriptBodyState.cs @@ -23,21 +23,16 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. +using MonoDevelop.Xml.Parser; +using MonoDevelop.Xml.Dom; -using System; -using MonoDevelop.Xml.StateEngine; - -namespace MonoDevelop.AspNet.StateEngine +namespace MonoDevelop.AspNet.Html.Parser { - public class HtmlScriptBodyState : State + public class HtmlScriptBodyState : XmlParserState { const string CLOSE = "</script>"; - - public HtmlScriptBodyState () - { - } - - public override State PushChar (char c, IParseContext context, ref string rollback) + + public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback) { if (context.CurrentStateLength == 0) context.StateTag = 0; diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/HtmlTagState.cs b/main/src/addins/AspNet/Html/Parser/HtmlTagState.cs index e1d6591392..87b0dc6e1e 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/HtmlTagState.cs +++ b/main/src/addins/AspNet/Html/Parser/HtmlTagState.cs @@ -27,18 +27,18 @@ // using System; -using System.Diagnostics; - -using MonoDevelop.Html; -using MonoDevelop.Xml.StateEngine; +using MonoDevelop.Xml.Parser; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.AspNet.StateEngine +namespace MonoDevelop.AspNet.Html.Parser { - public class HtmlTagState : XmlTagState { - HtmlScriptBodyState ScriptState; - public HtmlTagState () : this (new XmlAttributeState ()) {} + readonly HtmlScriptBodyState scriptState; + + public HtmlTagState () : this (new XmlAttributeState ()) + { + } public HtmlTagState (XmlAttributeState attributeState) : this (attributeState, new XmlNameState ()) @@ -53,12 +53,12 @@ namespace MonoDevelop.AspNet.StateEngine public HtmlTagState (XmlAttributeState attributeState, XmlNameState nameState, HtmlScriptBodyState scriptState) : base (attributeState, nameState) { - this.ScriptState = scriptState; + this.scriptState = scriptState; - Adopt (this.ScriptState); + Adopt (this.scriptState); } - public override State PushChar (char c, IParseContext context, ref string rollback) + public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback) { if (context.CurrentStateLength == 1 && context.PreviousState is HtmlScriptBodyState) return Parent; @@ -66,7 +66,7 @@ namespace MonoDevelop.AspNet.StateEngine //NOTE: This is (mostly) duplicated in HtmlClosingTagState //handle "paragraph" tags implicitly closed by block-level elements if (context.CurrentStateLength == 1 && context.PreviousState is XmlNameState) { - XElement element = (XElement) context.Nodes.Peek (); + var element = (XElement) context.Nodes.Peek (); if (!element.Name.HasPrefix && element.Name.IsValid) { //Note: the node stack will always be at least 1 deep due to the XDocument @@ -85,17 +85,17 @@ namespace MonoDevelop.AspNet.StateEngine } } - State ret = base.PushChar (c, context, ref rollback); + XmlParserState ret = base.PushChar (c, context, ref rollback); if (ret == Parent && c == '>') { var element = context.Nodes.Peek () as XElement; if (element != null && !element.Name.HasPrefix && element.Name.IsValid) { if (element.Name.Name.Equals ("script", StringComparison.OrdinalIgnoreCase)) { - return ScriptState; - } else if (ElementTypes.IsEmpty (element.Name.Name)) { + return scriptState; + } + if (ElementTypes.IsEmpty (element.Name.Name)) { element.Close (element); context.Nodes.Pop (); - } } } diff --git a/main/src/addins/MonoDevelop.XmlEditor/schemas/W3C-License.html b/main/src/addins/AspNet/Html/Schemas/W3C-License.html index 2edbb1ad27..fc5db13b69 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/schemas/W3C-License.html +++ b/main/src/addins/AspNet/Html/Schemas/W3C-License.html @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> +<html> <head> <title>W3C Software License</title> <style type="text/css"> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/readme.txt b/main/src/addins/AspNet/Html/Schemas/readme.txt index a6158b05b9..a6158b05b9 100755..100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/readme.txt +++ b/main/src/addins/AspNet/Html/Schemas/readme.txt diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/xhtml1-frameset.xsd b/main/src/addins/AspNet/Html/Schemas/xhtml1-frameset.xsd index 0518a6145d..0518a6145d 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/xhtml1-frameset.xsd +++ b/main/src/addins/AspNet/Html/Schemas/xhtml1-frameset.xsd diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/xhtml1-strict.xsd b/main/src/addins/AspNet/Html/Schemas/xhtml1-strict.xsd index 93b80b6678..93b80b6678 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/xhtml1-strict.xsd +++ b/main/src/addins/AspNet/Html/Schemas/xhtml1-strict.xsd diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/xhtml1-transitional.xsd b/main/src/addins/AspNet/Html/Schemas/xhtml1-transitional.xsd index 8ce44fb9af..8ce44fb9af 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/xhtml1-transitional.xsd +++ b/main/src/addins/AspNet/Html/Schemas/xhtml1-transitional.xsd diff --git a/main/src/addins/AspNet/Makefile.am b/main/src/addins/AspNet/Makefile.am index e27cad6a75..b8a06787c8 100644 --- a/main/src/addins/AspNet/Makefile.am +++ b/main/src/addins/AspNet/Makefile.am @@ -1,3 +1,4 @@ -SUBDIRS = \ - MonoDevelop.AspNet \ - MonoDevelop.AspNet.Mvc +include $(top_srcdir)/xbuild.include +EXTRA_DIST += \ + $(wildcard lib/*) \ + $(wildcard Templates/Common/*.cshtml) diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AddinInfo.cs b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AddinInfo.cs deleted file mode 100644 index 276f882f7e..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AddinInfo.cs +++ /dev/null @@ -1,20 +0,0 @@ - -using System; -using Mono.Addins; -using Mono.Addins.Description; - -[assembly:Addin ("AspNet.Mvc", - Namespace = "MonoDevelop", - Version = MonoDevelop.BuildInfo.Version, - Flags = AddinFlags.Hidden, - Category = "Web Development")] - -[assembly:AddinName ("ASP.NET MVC Support")] -[assembly:AddinDescription ("Support for ASP.NET MVC projects")] - -[assembly:AddinDependency ("Core", MonoDevelop.BuildInfo.Version)] -[assembly:AddinDependency ("Ide", MonoDevelop.BuildInfo.Version)] -[assembly:AddinDependency ("DesignerSupport", MonoDevelop.BuildInfo.Version)] -[assembly:AddinDependency ("AspNet", MonoDevelop.BuildInfo.Version)] -[assembly:AddinDependency ("XmlEditor", MonoDevelop.BuildInfo.Version)] -[assembly:AddinDependency ("SourceEditor2", MonoDevelop.BuildInfo.Version)] diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProject.cs b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProject.cs deleted file mode 100644 index c16fbe9608..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProject.cs +++ /dev/null @@ -1,288 +0,0 @@ -// -// AspMvcProject.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (c) 2009 Novell, Inc. (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -using System; -using System.IO; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Xml; -using MonoDevelop.Projects; -using MonoDevelop.Core.Serialization; - -namespace MonoDevelop.AspNet.Mvc -{ - public abstract class AspMvcProject : AspNetAppProject - { - public AspMvcProject () - { - } - - public AspMvcProject (string languageName) - : base (languageName) - { - } - - public AspMvcProject (string languageName, ProjectCreateInformation info, XmlElement projectOptions) - : base (languageName, info, projectOptions) - { - } - - public override SolutionItemConfiguration CreateConfiguration (string name) - { - var conf = new AspMvcProjectConfiguration (name); - conf.CopyFrom (base.CreateConfiguration (name)); - return conf; - } - - public override IEnumerable<string> GetProjectTypes () - { - yield return "AspNetMvc"; - foreach (var t in base.GetProjectTypes ()) - yield return t; - } - - public override bool SupportsFramework (MonoDevelop.Core.Assemblies.TargetFramework framework) - { - return framework.CanReferenceAssembliesTargetingFramework (MonoDevelop.Core.Assemblies.TargetFrameworkMoniker.NET_3_5); - } - - public override IEnumerable<string> GetSpecialDirectories () - { - foreach (string s in BaseGetSpecialDirectories ()) - yield return s; - yield return "Views"; - yield return "Models"; - yield return "Controllers"; - } - - //so iterator can access base.GetSpecialDirectories () verifiably - IEnumerable<string> BaseGetSpecialDirectories () - { - return base.GetSpecialDirectories (); - } - - public IList<string> GetCodeTemplates (string type, string subtype = null) - { - var files = new List<string> (); - var names = new HashSet<string> (); - - string asmDir = Path.GetDirectoryName (typeof (AspMvcProject).Assembly.Location); - string lang = this.LanguageName; - if (lang == "C#") { - lang = "CSharp"; - } - - if (subtype != null) { - type = Path.Combine (type, subtype); - } - - var dirs = new string[] { - Path.Combine (this.BaseDirectory, "CodeTemplates", type), - Path.Combine (this.BaseDirectory, "CodeTemplates", lang, type), - Path.Combine (asmDir, "CodeTemplates", type), - Path.Combine (asmDir, "CodeTemplates", lang, type), - }; - - foreach (string directory in dirs) - if (Directory.Exists (directory)) - foreach (string file in Directory.GetFiles (directory, "*.tt", SearchOption.TopDirectoryOnly)) - if (names.Add (Path.GetFileName (file))) - files.Add (file); - - return files; - } - - protected override void PopulateSupportFileList (MonoDevelop.Projects.FileCopySet list, ConfigurationSelector solutionConfiguration) - { - base.PopulateSupportFileList (list, solutionConfiguration); - - //HACK: workaround for MD not local-copying package references - foreach (ProjectReference projectReference in References) { - if (projectReference.Package != null && projectReference.Package.Name == "system.web.mvc") { - if (projectReference.ReferenceType == ReferenceType.Package) - foreach (MonoDevelop.Core.Assemblies.SystemAssembly assem in projectReference.Package.Assemblies) - list.Add (assem.Location); - break; - } - } - } - - public string GetAspNetMvcVersion () - { - foreach (var pref in References) { - if (pref.StoredReference.IndexOf ("System.Web.Mvc", StringComparison.OrdinalIgnoreCase) < 0) - continue; - switch (pref.ReferenceType) { - case ReferenceType.Assembly: - case ReferenceType.Package: - foreach (var f in pref.GetReferencedFileNames (null)) { - if (Path.GetFileNameWithoutExtension (f) != "System.Web.Mvc" || !File.Exists (f)) - continue; - return AssemblyName.GetAssemblyName (f).Version.ToString (); - } - break; - default: - continue; - } - }; - - return GetDefaultAspNetMvcVersion (); - } - - protected abstract string GetDefaultAspNetMvcVersion (); - - public override string GetDefaultBuildAction (string fileName) - { - var fileType = DetermineFileType (fileName); - switch (fileType) { - case AspMvcSubtype.Razor: - return BuildAction.Content; - default: - return base.GetDefaultBuildAction (fileName); - } - } - - private AspMvcSubtype DetermineFileType (string fileName) - { - string extension = System.IO.Path.GetExtension (fileName); - if (extension == null) - return AspMvcSubtype.Unknown; - extension = extension.ToUpperInvariant ().TrimStart ('.'); - switch (extension) - { - case "CSHTML": - return AspMvcSubtype.Razor; - default: - return AspMvcSubtype.Unknown; - } - } - } - - public enum AspMvcSubtype - { - Unknown, - Razor - }
-
- public class AspMvc1Project : AspMvcProject
- {
- public AspMvc1Project ()
- {
- }
-
- public AspMvc1Project (string languageName)
- : base (languageName)
- {
- }
-
- public AspMvc1Project (string languageName, ProjectCreateInformation info, XmlElement projectOptions)
- : base (languageName, info, projectOptions)
- {
- } - - protected override string GetDefaultAspNetMvcVersion () - { - return "1.0.0.0"; - }
- }
-
- public class AspMvc2Project : AspMvcProject
- {
- public AspMvc2Project ()
- {
- }
-
- public AspMvc2Project (string languageName)
- : base (languageName)
- {
- }
-
- public AspMvc2Project (string languageName, ProjectCreateInformation info, XmlElement projectOptions)
- : base (languageName, info, projectOptions)
- {
- } - - protected override string GetDefaultAspNetMvcVersion () - { - return "2.0.0.0"; - }
- }
-
- public class AspMvc3Project : AspMvcProject
- {
- public AspMvc3Project ()
- {
- }
-
- public AspMvc3Project (string languageName)
- : base (languageName)
- {
- }
-
- public AspMvc3Project (string languageName, ProjectCreateInformation info, XmlElement projectOptions)
- : base (languageName, info, projectOptions)
- {
- }
-
- public override bool SupportsFramework (MonoDevelop.Core.Assemblies.TargetFramework framework)
- {
- return framework.CanReferenceAssembliesTargetingFramework (MonoDevelop.Core.Assemblies.TargetFrameworkMoniker.NET_4_0);
- } - - protected override string GetDefaultAspNetMvcVersion () - { - return "3.0.0.0"; - }
- } - - public class AspMvc4Project : AspMvcProject - { - public AspMvc4Project () - { - } - - public AspMvc4Project (string languageName) - : base (languageName) - { - } - - public AspMvc4Project (string languageName, ProjectCreateInformation info, XmlElement projectOptions) - : base (languageName, info, projectOptions) - { - } - - public override bool SupportsFramework (MonoDevelop.Core.Assemblies.TargetFramework framework) - { - return framework.CanReferenceAssembliesTargetingFramework (MonoDevelop.Core.Assemblies.TargetFrameworkMoniker.NET_4_0); - } - - protected override string GetDefaultAspNetMvcVersion () - { - return "4.0.0.0"; - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProjectBinding.cs b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProjectBinding.cs deleted file mode 100644 index 4fd822ce9e..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProjectBinding.cs +++ /dev/null @@ -1,129 +0,0 @@ -// -// AspMvcProjectBinding.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (c) 2009 Novell, Inc. (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -using System; -using MonoDevelop.Core; -using MonoDevelop.Projects; - -namespace MonoDevelop.AspNet.Mvc -{ - - - public class AspMvc1ProjectBinding : IProjectBinding - { - public Project CreateProject (ProjectCreateInformation info, System.Xml.XmlElement projectOptions) - { - string lang = projectOptions.GetAttribute ("language"); - return new AspMvc1Project (lang, info, projectOptions); - } - - public Project CreateSingleFileProject (string sourceFile) - { - throw new InvalidOperationException (); - } - - public bool CanCreateSingleFileProject (string sourceFile) - { - return false; - } - - public string Name { - get { return "AspNetMvc1"; } - } - }
-
- public class AspMvc2ProjectBinding : IProjectBinding
- {
- public Project CreateProject (ProjectCreateInformation info, System.Xml.XmlElement projectOptions)
- {
- string lang = projectOptions.GetAttribute ("language");
- return new AspMvc2Project (lang, info, projectOptions);
- }
-
- public Project CreateSingleFileProject (string sourceFile)
- {
- throw new InvalidOperationException ();
- }
-
- public bool CanCreateSingleFileProject (string sourceFile)
- {
- return false;
- }
-
- public string Name
- {
- get { return "AspNetMvc2"; }
- }
- }
-
- public class AspMvc3ProjectBinding : IProjectBinding
- {
- public Project CreateProject (ProjectCreateInformation info, System.Xml.XmlElement projectOptions)
- {
- string lang = projectOptions.GetAttribute ("language");
- return new AspMvc3Project (lang, info, projectOptions);
- }
-
- public Project CreateSingleFileProject (string sourceFile)
- {
- throw new InvalidOperationException ();
- }
-
- public bool CanCreateSingleFileProject (string sourceFile)
- {
- return false;
- }
-
- public string Name
- {
- get { return "AspNetMvc3"; }
- }
- } - - public class AspMvc4ProjectBinding : IProjectBinding - { - public Project CreateProject (ProjectCreateInformation info, System.Xml.XmlElement projectOptions) - { - string lang = projectOptions.GetAttribute ("language"); - return new AspMvc4Project (lang, info, projectOptions); - } - - public Project CreateSingleFileProject (string sourceFile) - { - throw new InvalidOperationException (); - } - - public bool CanCreateSingleFileProject (string sourceFile) - { - return false; - } - - public string Name - { - get { return "AspNetMvc4"; } - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AssemblyInfo.cs b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AssemblyInfo.cs deleted file mode 100644 index fca3c6b090..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AssemblyInfo.cs +++ /dev/null @@ -1,9 +0,0 @@ -// Autogenerated from MonoDevelop.AspNet.Mvc.addin.xml - -using System.Reflection; - -[assembly: AssemblyProduct ("MonoDevelop")] -[assembly: AssemblyTitle ("ASP.NET MVC Support")] -[assembly: AssemblyDescription ("Support for ASP.NET MVC projects.")] -[assembly: AssemblyVersion ("2.6")] -[assembly: AssemblyCopyright ("MIT X11")] diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/ChangeLog b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/ChangeLog deleted file mode 100644 index b2436669b0..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/ChangeLog +++ /dev/null @@ -1,393 +0,0 @@ -2010-07-13 Mike Krüger <mkrueger@novell.com> - - * Makefile.am: - * gtk-gui/gui.stetic: - * Gui/AddViewDialog.cs: - * MonoDevelop.AspNet.Mvc.csproj: Track API changes. - -2010-05-30 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/FolderNodeBuilderExtension.cs: Use the recyclable text - templating domain. Fixes Bug 584067 - ASP.NET MVC: cannot - add a View, uncaught exception. - -2010-05-28 Lluis Sanchez Gual <lluis@novell.com> - - * Gui/AddViewDialog.cs: - * Gui/FolderNodeBuilderExtension.cs: Fix incorrect use of - ShowCustomDialog/RunCustomDialog. - -2010-05-21 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/AddViewDialog.cs: Clean up dialog placement. - -2010-05-18 Michael Hutchinson <mhutchinson@novell.com> - - * gtk-gui/gui.stetic: - * Gui/AddViewDialog.cs: Heavy refactoring and tidying of - ASP.NET parser code to support future changes. - -2010-03-22 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.AspNet.Mvc.addin.xml: Bumped MD version. - -2010-03-17 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * AspMvcProject.cs: - * gtk-gui/gui.stetic: - * Gui/AddViewDialog.cs: - * MonoDevelop.AspNet.Mvc.csproj: - * MonoDevelop.AspNet.Mvc.addin.xml: - * Gui/FolderNodeBuilderExtension.cs: Merged MD.Projects into - MD.Core, and MD.Projects.Gui, MD.Core.Gui and MD.Components - into MD.Ide. - -2010-03-15 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Mvc.csproj: Added makefile to project. - -2010-03-01 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/FolderNodeBuilderExtension.cs: Fix "Bug 584067 - ASP.NET - MVC: cannot add a View, uncaught exception" by marshalling - assembly resolves from the templating AppDomain to the MD - AppDomain. - -2010-01-28 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/generated.cs: - * gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.cs: Flush. - -2009-12-01 Lluis Sanchez Gual <lluis@novell.com> - - * AspMvcProject.cs: Introduced the ConfigurationSelector class - to all methods that previously took a configuration name as - string. This eliminates the ambiguity between solution - configuration names and project configuration names. - -2009-11-11 Michael Hutchinson <mhutchinson@novell.com> - - * AspMvcProject.cs: - * AspMvcProjectConfiguration.cs: Simplify creation of new - ASP.NET MVC configurations. - -2009-11-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Mvc.csproj: Wire the soft debug addin - into the build. - -2009-10-30 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.AspNet.Mvc.addin.xml: Bump MD version. - -2009-10-29 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/generated.cs: - * gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.cs: Flush. - -2009-10-08 Ankit Jain <jankit@novell.com> - - * MonoDevelop.AspNet.Mvc.csproj: Import md.targets . - -2009-10-07 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.AspNet.Mvc.addin.xml: Bump MD version. - -2009-09-15 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.Mvc.csproj: Fix output path. - -2009-08-20 Michael Hutchinson <mhutchinson@novell.com> - - * AssemblyInfo.cs: Update assembly info. - -2009-08-14 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * MonoDevelop.AspNet.Mvc.csproj: Fix windows build. - -2009-08-12 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: Fix install targets. - -2009-08-12 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * MonoDevelop.AspNet.Mvc.csproj: Add the data files. - -2009-08-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Mvc.csproj: Don't local-copy project - refs. - -2009-08-12 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * MonoDevelop.AspNet.Mvc.csproj: Include the ASP.NET MVC and - TextTemplating addins in the main solution and build. - -2009-08-11 Michael Hutchinson <mhutchinson@novell.com> - - * System.Web.Mvc.dll: - * MonoDevelop.AspNet.Mvc.csproj: - * MonoDevelop.AspNet.Mvc.addin.xml: Remove the MVC dll now - that Mono 2.4 series ships it. - -2009-07-29 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/AddViewDialog.cs: Track API. - - * gtk-gui/gui.stetic: - * MonoDevelop.AspNet.Mvc.csproj: - * gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.cs: Flush. - -2009-06-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Mvc.csproj: Add another project dependency. - -2009-06-03 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/FolderNodeBuilderExtension.cs: Track FilePath API. - -2009-04-29 Michael Hutchinson <mhutchinson@novell.com> - - * AspMvcProject.cs: Fix possible NRE. - -2009-04-21 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/AddViewDialog.cs: Fix build. - -2009-04-17 Michael Hutchinson <mhutchinson@novell.com> - - * AspMvcProject.cs: Track namespace changes. - -2009-04-15 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.Mvc.addin.xml: Bump MD version. - -2009-04-09 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/AddViewDialog.cs: Track parser API. - -2009-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/AddViewDialog.cs: Refresh the placeholder list properly. - -2009-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/AddViewDialog.cs: When auto-selecting site master, - refresh the placeholders list. - -2009-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * CodeTemplates/AddView/Empty.tt: Fix missing runat="server" - in Content tags. - -2009-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Mvc.addin.xml: Update package name. - - * AspMvcProject.cs: Check we're on the 2.4 runtime or later. - Update package name. - - * Templates/Project.xpt.xml: Add some "Hello World" content. - -2009-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/AddViewDialog.cs: Disable class selector, and the widget - it uses has broken input handling in modal dialogs. - -2009-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * AspMvcProject.cs: Add a workaround for Bug 491377: Package - references can't be local-copied even if they aren't GAC - assemblies. - -2009-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebConfigApp.xft.xml: Fix web.config. - -2009-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * System.Web.Mvc.dll: Need assembly signed with winfx key. - -2009-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * System.Web.Mvc.dll: - * MonoDevelop.AspNet.Mvc.csproj: - * MonoDevelop.AspNet.Mvc.addin.xml: Fix refs. Add a local - copy of the GMCS-built, MS-PL System.Web.Mvc dll. - -2009-03-13 Michael Hutchinson <mhutchinson@novell.com> - - * gtk-gui/gui.stetic: Track build directory change. - -2009-03-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Mvc.csproj: Move output dir from ../bin - to ../build. - -2009-03-13 Michael Hutchinson <mhutchinson@novell.com> - - * gtk-gui: - * gtk-gui/gui.stetic: - * gtk-gui/generated.cs: - * gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.cs: Add - missing files. - -2009-03-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Mvc.csproj: - * MonoDevelop.AspNet.Mvc.addin.xml: Reference the - TextTemplating addin. - - * Gui/AddViewDialog.cs: Fix warning. - - * Gui/FolderNodeBuilderExtension.cs: Move error-showing code - to the TemplatingService. - -2009-03-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Mvc.addin.xml: Update dependencies. - - * Gui/AddViewDialog.cs: - * MonoDevelop.AspNet.Mvc.csproj: Add class picker. - -2009-03-06 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/AddViewDialog.cs: Get the placeholder list from the - master page. Better validation of input. - -2009-03-06 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Mvc.csproj: Updated. - - * AspMvcProject.cs: Add method for looking up .tt files. - - * Gui/AddViewDialog.cs: New Add View dialog. - - * Gui/FolderNodeBuilderExtension.cs: Use new Add View dialog - and the MVC T4 host. - - * CodeTemplates: - * TextTemplating: - * CodeTemplates/AddView: - * CodeTemplates/AddController: Added. - - * TextTemplating/MvcTextTemplateHost.cs: ASP.NET MVC T4 host. - - * CodeTemplates/AddView/Empty.tt: Simple empty tt file. - - * Templates/UserControl.xft.xml: Add more whitespace. - -2009-03-04 Michael Hutchinson <mhutchinson@novell.com> - - * T4/Engine.cs: - * T4/Tokeniser.cs: - * T4/ToStringHelper.cs: - * T4/ParsedTemplate.cs: - * T4/TextTransformation.cs: - * T4/DirectiveProcessor.cs: - * MonoDevelop.AspNet.Mvc.csproj: - * T4/ITextTemplatingEngineHost.cs: - * T4/DirectiveProcessorException.cs: - * T4/RequiresProvidesDirectiveProcessor.cs: Move T4 - implementation to its own assembly. Tweak some appdomain - stuff. - -2009-03-03 Michael Hutchinson <mhutchinson@novell.com> - - * T4/Engine.cs: Handle culture, encoding, extension directive - values. - -2009-03-03 Michael Hutchinson <mhutchinson@novell.com> - - * T4/Engine.cs: - * T4/Template.cs: - * T4/Tokeniser.cs: - * T4/ParsedTemplate.cs: - * MonoDevelop.AspNet.Mvc.csproj: T4 implementation is complete - except for handling some of the directive values and custom - directives. - -2009-03-03 Michael Hutchinson <mhutchinson@novell.com> - - * T4: - * T4/Engine.cs: - * T4/Template.cs: - * T4/Tokeniser.cs: - * T4/ToStringHelper.cs: - * T4/DirectiveProcessor.cs: - * T4/TextTransformation.cs: - * MonoDevelop.AspNet.Mvc.csproj: - * T4/ITextTemplatingEngineHost.cs: - * T4/DirectiveProcessorException.cs: - * T4/RequiresProvidesDirectiveProcessor.cs: Added an - incomplete T4 implemention. - -2009-02-28 Michael Hutchinson <mhutchinson@novell.com> - - * AspMvcProject.cs: Add Models, Views, Controllers to special - folders list. - -2009-02-27 Michael Hutchinson <mhutchinson@novell.com> - - * Gui: - * AspMvcCommands.cs: - * MonoDevelop.AspNet.Mvc.addin.xml: - * Gui/FolderNodeBuilderExtension.cs: Add context menu commands - for adding views and controllers to the appropriate folders. - - * MonoDevelop.AspNet.Mvc.csproj: Updated. - -2009-02-26 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.Mvc.csproj: Flush. - -2009-02-26 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/Project.xpt.xml: - * Templates/EmptyProject.xpt.xml: Set SpecificVersion false - for some references. - -2009-02-24 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/ViewContentPage.xft.xml: Fix MasterPageFile - attribute name. - -2009-02-24 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/ViewContentPage.xft.xml: Use master content - generator. - -2009-02-21 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/Project.xpt.xml: - * Templates/GlobalAsax.xft.xml: - * MonoDevelop.AspNet.Mvc.csproj: - * Templates/WebConfigApp.xft.xml: - * Templates/EmptyProject.xpt.xml: - * MonoDevelop.AspNet.Mvc.addin.xml: - * Templates/WebConfigViews.xft.xml: Added web.config, - global.asax templates. - -2009-02-20 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/Project.xpt.xml: - * Templates/EmptyProject.xpt.xml: Add Web.configs. - -2009-02-20 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/Project.xpt.xml: - * Templates/EmptyProject.xpt.xml: Set target framework - version. Create default MVC directories. - -2009-02-18 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.Mvc.addin.xml: Fix MVC project type - registration. - diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CommandHandlers.cs b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CommandHandlers.cs deleted file mode 100644 index 4a507549f1..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/CommandHandlers.cs +++ /dev/null @@ -1,155 +0,0 @@ -//
-// CommandHandlers.cs
-//
-// Author:
-// Piotr Dowgiallo <sparekd@gmail.com>
-//
-// Copyright (c) 2012 Piotr Dowgiallo
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System.Collections.Generic;
-using System.Linq;
-using MonoDevelop.Components.Commands;
-using MonoDevelop.Ide;
-using ICSharpCode.NRefactory.TypeSystem;
-using System.IO;
-using MonoDevelop.Core;
-using MonoDevelop.AspNet.Mvc.Gui;
-using System;
-
-namespace MonoDevelop.AspNet.Mvc
-{
- class GoToViewCommandHandler : CommandHandler
- {
- protected override void Update (CommandInfo info)
- {
- MvcCommandsCommonHandler.Update (info);
- }
-
- protected override void Run ()
- {
- var doc = IdeApp.Workbench.ActiveDocument;
- var currentLocation = doc.Editor.Caret.Location;
-
- var controller = doc.ParsedDocument.GetTopLevelTypeDefinition (currentLocation); - string controllerName = controller.Name; - int pos = controllerName.LastIndexOf ("Controller", StringComparison.Ordinal);
- if (pos > 0)
- controllerName = controllerName.Remove (pos);
- - var baseDirectory = doc.FileName.ParentDirectory.ParentDirectory; -
- string actionName = doc.ParsedDocument.GetMember (currentLocation).Name;
- var viewFoldersPaths = new FilePath[] {
- baseDirectory.Combine ("Views", controllerName), - baseDirectory.Combine ("Views", "Shared") - };
- var viewExtensions = new string[] { ".aspx", ".cshtml" };
-
- foreach (var folder in viewFoldersPaths) {
- foreach (var ext in viewExtensions) {
- var possibleFile = folder.Combine (actionName + ext);
- if (File.Exists (possibleFile)) {
- IdeApp.Workbench.OpenDocument (possibleFile);
- return;
- }
- }
- }
-
- MessageService.ShowError ("Matching view cannot be found.");
- }
- }
-
- class AddViewFromControllerCommandHandler : CommandHandler
- {
- protected override void Update (CommandInfo info)
- {
- MvcCommandsCommonHandler.Update (info);
- }
-
- protected override void Run ()
- {
- var doc = IdeApp.Workbench.ActiveDocument;
- var project = doc.Project as AspMvcProject;
- var currentLocation = doc.Editor.Caret.Location;
-
- string controllerName = doc.ParsedDocument.GetTopLevelTypeDefinition (currentLocation).Name;
- int pos = controllerName.LastIndexOf ("Controller", StringComparison.Ordinal);
- if (pos > 0)
- controllerName = controllerName.Remove (pos);
-
- string path = doc.FileName.ParentDirectory.ParentDirectory.Combine ("Views", controllerName); - string actionName = doc.ParsedDocument.GetMember (currentLocation).Name;
- FolderCommandHandler.AddView (project, path, actionName);
- }
- }
-
- class GoToControllerCommandHandler : CommandHandler
- {
- protected override void Update (CommandInfo info)
- {
- var doc = IdeApp.Workbench.ActiveDocument;
- if (doc == null || !(doc.Project is AspMvcProject)) {
- info.Enabled = info.Visible = false;
- return;
- }
- var baseDirectory = doc.FileName.ParentDirectory.ParentDirectory; - if (!string.Equals (baseDirectory.FileName, "Views")) - info.Enabled = info.Visible = false;
- }
-
- protected override void Run ()
- {
- var doc = IdeApp.Workbench.ActiveDocument;
- var name = doc.FileName.ParentDirectory.FileName;
- var controller = doc.ProjectContent.GetAllTypeDefinitions ().FirstOrDefault (t => t.Name == name + "Controller");
-
- if (controller != null)
- IdeApp.Workbench.OpenDocument (controller.UnresolvedFile.FileName);
- else
- MessageService.ShowError ("Matching controller cannot be found.");
- }
- }
-
- static class MvcCommandsCommonHandler
- {
- public static void Update (CommandInfo info)
- {
- var doc = IdeApp.Workbench.ActiveDocument;
- if (doc == null || !(doc.Project is AspMvcProject)) {
- info.Enabled = info.Visible = false;
- return;
- }
-
- var currentLocation = doc.Editor.Caret.Location;
- var topLevelType = doc.ParsedDocument.GetTopLevelTypeDefinition (currentLocation);
- if (topLevelType == null || !topLevelType.Name.EndsWith ("Controller", StringComparison.Ordinal)) { - info.Enabled = info.Visible = false;
- return;
- }
-
- var correctReturnTypes = new string[] { "ActionResult", "ViewResultBase", "ViewResult", "PartialViewResult" };
- var member = doc.ParsedDocument.GetMember (currentLocation) as IUnresolvedMethod;
- if (member == null || !member.IsPublic || !correctReturnTypes.Any (t => t == member.ReturnType.ToString ()))
- info.Enabled = info.Visible = false;
- }
- }
-}
-
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Makefile.am b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Makefile.am deleted file mode 100644 index b8a06787c8..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -include $(top_srcdir)/xbuild.include -EXTRA_DIST += \ - $(wildcard lib/*) \ - $(wildcard Templates/Common/*.cshtml) diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/MonoDevelop.AspNet.Mvc.addin.xml b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/MonoDevelop.AspNet.Mvc.addin.xml deleted file mode 100644 index 0b1cba0afc..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/MonoDevelop.AspNet.Mvc.addin.xml +++ /dev/null @@ -1,202 +0,0 @@ -<ExtensionModel> - - <Runtime> - <Import file = "Templates/Controller.xft.xml"/> - <Import file = "Templates/ViewPage.xft.xml"/> - <Import file = "Templates/ViewContentPage.xft.xml"/> - <Import file = "Templates/UserControl.xft.xml"/> - <Import file = "Templates/ViewMasterPage.xft.xml" /> - <Import file = "Templates/Project.xpt.xml" /> - <Import file = "Templates/EmptyProject.xpt.xml"/> - <Import file = "Templates/GlobalAsax.xft.xml"/> - <Import file = "Templates/WebConfigApp.xft.xml"/> - <Import file = "Templates/WebConfigViews.xft.xml"/> - <Import file = "Templates/ProjectMvc3.xpt.xml" /> - <Import file = "Templates/EmptyProjectMvc3.xpt.xml" /> - <Import file = "Templates/GlobalAsaxMvc3.xft.xml" /> - <Import file = "Templates/WebConfigAppMvc3.xft.xml" /> - <Import file = "Templates/WebConfigViewsMvc3.xft.xml" /> - <Import file = "Templates/ProjectWithUnitTest.xpt.xml" /> - <Import file = "Templates/ProjectMvc3WithUnitTest.xpt.xml" /> - <Import file = "Templates/ProjectMvc3Razor.xpt.xml" /> - <Import file = "Templates/ProjectMvc3RazorWithUnitTest.xpt.xml" /> - <Import file = "Templates/LayoutPage.xft.xml" /> - <Import file = "Templates/ViewPageRazor.xft.xml" /> - <Import file = "Templates/PartialViewPageRazor.xft.xml" /> - <Import file = "Templates/PreprocessedRazorTemplate.xft.xml" /> - <Import file = "CodeTemplates/CSharp/AddView/Aspx/Empty.tt" /> - <Import file = "CodeTemplates/CSharp/AddView/Razor/Empty.tt" /> - <Import file = "CodeTemplates/CSharp/AddController/Empty.tt" /> - <Import file = "CodeTemplates/CSharp/AddController/ControllerWithEmptyReadAndWriteActions.tt" /> - </Runtime> - - <Extension path = "/MonoDevelop/ProjectModel/MSBuildItemTypes"> - <DotNetProjectSubtype - guid="{603c0e0b-db56-11dc-be95-000d561079b0}" - type="MonoDevelop.AspNet.Mvc.AspMvc1Project" - insertbefore="MonoDevelop.AspNet.AspNetAppProject" - /> - <DotNetProjectSubtype - guid="{F85E285D-A4E0-4152-9332-AB1D724D3325}" - type="MonoDevelop.AspNet.Mvc.AspMvc2Project" - insertbefore="MonoDevelop.AspNet.AspNetAppProject" - /> - <DotNetProjectSubtype - guid="{E53F8FEA-EAE0-44A6-8774-FFD645390401}" - type="MonoDevelop.AspNet.Mvc.AspMvc3Project" - insertbefore="MonoDevelop.AspNet.AspNetAppProject" - /> - <DotNetProjectSubtype - guid="{E3E379DF-F4C6-4180-9B81-6769533ABE47}" - type="MonoDevelop.AspNet.Mvc.AspMvc4Project" - insertbefore="MonoDevelop.AspNet.AspNetAppProject" - /> - </Extension> - - <Extension path = "/MonoDevelop/Ide/FileTemplates"> - <FileTemplate id = "AspMvcController" - file = "Templates/Controller.xft.xml"/> - <FileTemplate id = "AspMvcViewPage" - file = "Templates/ViewPage.xft.xml"/> - <FileTemplate id = "AspMvcViewContentPage" - file = "Templates/ViewContentPage.xft.xml"/> - <FileTemplate id = "AspMvcUserControl" - file = "Templates/UserControl.xft.xml"/> - <FileTemplate id = "AspMvcViewMasterPage" - file = "Templates/ViewMasterPage.xft.xml" /> - <FileTemplate id = "AspMvcGlobalAsax" - file = "Templates/GlobalAsax.xft.xml" /> - <FileTemplate id = "AspMvcWebConfigApp" - file = "Templates/WebConfigApp.xft.xml" /> - <FileTemplate id = "AspMvcWebConfigViews" - file = "Templates/WebConfigViews.xft.xml" /> - <FileTemplate id = "AspMvc3GlobalAsax" - file = "Templates/GlobalAsaxMvc3.xft.xml" /> - <FileTemplate id = "AspMvc3WebConfigApp" - file = "Templates/WebConfigAppMvc3.xft.xml" /> - <FileTemplate id = "AspMvc3WebConfigViews" - file = "Templates/WebConfigViewsMvc3.xft.xml" /> - <FileTemplate id = "AspMvcViewPageRazor" - file = "Templates/ViewPageRazor.xft.xml" /> - <FileTemplate id = "AspMvcLayoutPage" - file = "Templates/LayoutPage.xft.xml" /> - <FileTemplate id = "AspMvcPartialViewPageRazor" - file = "Templates/PartialViewPageRazor.xft.xml" /> - <FileTemplate id = "PreprocessedRazorTemplate" - file = "Templates/PreprocessedRazorTemplate.xft.xml" /> - </Extension> - - <Extension path = "/MonoDevelop/Ide/ProjectTemplates"> - <ProjectTemplate id = "AspMvcProject-Empty" file = "Templates/EmptyProject.xpt.xml"/> - <ProjectTemplate id = "AspMvcProject" file = "Templates/Project.xpt.xml" /> - <ProjectTemplate id = "AspMvcProjectWithUnitTest" file = "Templates/ProjectWithUnitTest.xpt.xml" /> - <Condition id="AssemblyInstalled" name="System.Web.Mvc" minVersion="3.0.0.0"> - <ProjectTemplate id = "AspMvc3Project-Empty" file = "Templates/EmptyProjectMvc3.xpt.xml" /> - <ProjectTemplate id = "AspMvc3Project" file = "Templates/ProjectMvc3.xpt.xml" /> - <ProjectTemplate id = "AspMvc3ProjectWithUnitTest" file = "Templates/ProjectMvc3WithUnitTest.xpt.xml" /> - <ProjectTemplate id = "AspMvc3Project-Razor" file = "Templates/ProjectMvc3Razor.xpt.xml" /> - <ProjectTemplate id = "AspMvc3Project-RazorWithUnitTest" file = "Templates/ProjectMvc3RazorWithUnitTest.xpt.xml" /> - </Condition> - </Extension> - - <Extension path = "/MonoDevelop/ProjectModel/ProjectBindings"> - <ProjectBinding id = "AspNetMvc1" class = "MonoDevelop.AspNet.Mvc.AspMvc1ProjectBinding" /> - <ProjectBinding id = "AspNetMvc2" class = "MonoDevelop.AspNet.Mvc.AspMvc2ProjectBinding" /> - <ProjectBinding id = "AspNetMvc3" class = "MonoDevelop.AspNet.Mvc.AspMvc3ProjectBinding" /> - <ProjectBinding id = "AspNetMvc4" class = "MonoDevelop.AspNet.Mvc.AspMvc4ProjectBinding" /> - </Extension> - - <Extension path = "/MonoDevelop/ProjectModel/SerializableClasses"> - <DataType class = "MonoDevelop.AspNet.Mvc.AspMvcProject" /> - <DataType class = "MonoDevelop.AspNet.Mvc.AspMvcProjectConfiguration" /> - </Extension> - - <Extension path = "/MonoDevelop/Ide/Commands"> - <Category _name = "ASP.NET" id = "AspNet"> - <Command id = "MonoDevelop.AspNet.Mvc.AspMvcCommands.AddController" - _label = "Controller..." - _description = "Add an ASP.NET MVC controller" /> - <Command id = "MonoDevelop.AspNet.Mvc.AspMvcCommands.AddView" - _label = "View..." - _description = "Add an ASP.NET MVC view" /> - </Category> - </Extension> - - <Extension path = "/MonoDevelop/Ide/Commands/TextEditor"> - <Command id = "MonoDevelop.AspNet.Mvc.AspMvcCommands.GoToView" - _label = "Go To View" - defaultHandler = "MonoDevelop.AspNet.Mvc.GoToViewCommandHandler" - description = "Go to the corresponding view file" /> - <Command id = "MonoDevelop.AspNet.Mvc.AspMvcCommands.AddViewFromController" - _label = "Add View..." - defaultHandler = "MonoDevelop.AspNet.Mvc.AddViewFromControllerCommandHandler" - description = "Add an ASP.NET MVC view" /> - <Command id = "MonoDevelop.AspNet.Mvc.AspMvcCommands.GoToController" - _label = "Go To Controller" - defaultHandler = "MonoDevelop.AspNet.Mvc.GoToControllerCommandHandler" - description = "Go to the corresponding controller file" /> - </Extension> - - <Extension path = "/MonoDevelop/Ide/ContextMenu/ProjectPad/Add"> - <Condition id="activeproject" value="AspNetMvc"> - <CommandItem id = "MonoDevelop.AspNet.Mvc.AspMvcCommands.AddController" insertbefore="MonoDevelop.Ide.Commands.ProjectCommands.AddNewFiles" disabledVisible="false"/> - <CommandItem id = "MonoDevelop.AspNet.Mvc.AspMvcCommands.AddView" disabledVisible="false" /> - <SeparatorItem id = "MvcAddSeparator" /> - </Condition> - </Extension> - - <Extension path = "/MonoDevelop/SourceEditor2/ContextMenu/Editor"> - <Condition id="FileType" fileExtensions=".cs"> - <CommandItem id = "MonoDevelop.AspNet.Mvc.AspMvcCommands.GoToView" insertbefore="MonoDevelop.Ide.Commands.EditCommands.Cut" /> - <CommandItem id = "MonoDevelop.AspNet.Mvc.AspMvcCommands.AddViewFromController" /> - <SeparatorItem id = "MvcSeparator1" /> - </Condition> - <Condition id="FileType" fileExtensions=".cshtml,.aspx"> - <CommandItem id = "MonoDevelop.AspNet.Mvc.AspMvcCommands.GoToController" insertbefore="MonoDevelop.Ide.Commands.EditCommands.Cut" /> - <SeparatorItem id = "MvcSeparator2" /> - </Condition> - </Extension> - - <Extension path = "/MonoDevelop/Ide/Pads/ProjectPad"> - <NodeBuilder id="AspMvcFolderNodeBuilderExtension" class = "MonoDevelop.AspNet.Mvc.Gui.FolderNodeBuilderExtension"/> - </Extension> - - <Extension path = "/MonoDevelop/TypeSystem/Parser"> - <Parser class = "MonoDevelop.AspNet.Mvc.Parser.RazorCSharpParser" mimeType="text/x-cshtml" /> - </Extension> - - <ExtensionPoint path = "/MonoDevelop/Razor/CompletionBuilders"> - <ExtensionNode name="Class" /> - </ExtensionPoint> - - <Extension path = "/MonoDevelop/Razor/CompletionBuilders"> - <Class class = "MonoDevelop.AspNet.Mvc.Completion.RazorCSharpCompletionBuilder" /> - </Extension> - - <Extension path = "/MonoDevelop/Core/MimeTypes"> - <MimeType id="text/x-cshtml" _description="ASP.NET MVC Razor View" icon="md-html-file-icon" isText="true"> - <File pattern="*.cshtml" /> - </MimeType> - </Extension> - - <Extension path = "/MonoDevelop/Ide/TextEditorExtensions"> - <Class fileExtensions=".cshtml" class = "MonoDevelop.AspNet.Mvc.Gui.RazorCSharpEditorExtension" /> - </Extension> - - <Extension path = "/MonoDevelop/Ide/CodeTemplates"> - <CodeTemplate file="Razor-templates.xml" /> - </Extension> - - <Extension path = "/MonoDevelop/Ide/CodeFormatters"> - <Formatter mimeType="text/x-cshtml" class="MonoDevelop.AspNet.Mvc.Formatting.RazorCSharpFormatter" /> - </Extension> - - <Extension path = "/MonoDevelop/Ide/CompletionCharacters"> - <Complete language="Razor" commitOnSpace="True" commitChars="{}[]().,:;+-*/%&|^!~=<>?@#'"\"/> - </Extension> - - <Extension path = "/MonoDevelop/Ide/CustomTools"> - <!-- NOTE: we explicitly do no call this "RazorGenerator" to avoid conflicts with http://razorgenerator.codeplex.com/ --> - <Tool name="RazorTemplatePreprocessor" type="MonoDevelop.RazorGenerator.RazorTemplatePreprocessor"/> - </Extension> -</ExtensionModel> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/MonoDevelop.AspNet.Mvc.csproj b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/MonoDevelop.AspNet.Mvc.csproj deleted file mode 100644 index 250f115344..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/MonoDevelop.AspNet.Mvc.csproj +++ /dev/null @@ -1,339 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProductVersion>8.0.30703</ProductVersion> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{B32AD0DD-5247-437B-A2EF-1A4676C1B072}</ProjectGuid> - <OutputType>Library</OutputType> - <RootNamespace>MonoDevelop.AspNet.Mvc</RootNamespace> - <AssemblyName>MonoDevelop.AspNet.Mvc</AssemblyName> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugSymbols>True</DebugSymbols> - <DebugType>full</DebugType> - <Optimize>False</Optimize> - <OutputPath>..\..\..\..\build\AddIns\MonoDevelop.AspNet.Mvc</OutputPath> - <DefineConstants>DEBUG</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - <ConsolePause>False</ConsolePause> - <NoWarn>1591;1573</NoWarn> - <DocumentationFile>..\..\..\..\build\AddIns\MonoDevelop.AspNet.Mvc\MonoDevelop.AspNet.Mvc.xml</DocumentationFile> - <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - <OutputPath>..\build</OutputPath> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - <ConsolePause>False</ConsolePause> - <DebugSymbols>true</DebugSymbols> - <NoWarn>1591;1573</NoWarn> - <DocumentationFile>..\build\MonoDevelop.AspNet.Mvc.xml</DocumentationFile> - <AllowUnsafeBlocks>true</AllowUnsafeBlocks> - </PropertyGroup> - <ItemGroup> - <Compile Include="AssemblyInfo.cs" /> - <Compile Include="AspMvcProjectBinding.cs" /> - <Compile Include="AspMvcProject.cs" /> - <Compile Include="AspMvcProjectConfiguration.cs" /> - <Compile Include="AspMvcCommands.cs" /> - <Compile Include="CommandHandlers.cs" /> - <Compile Include="Completion\IRazorCompletionBuilder.cs" /> - <Compile Include="Completion\RazorCompletion.cs" /> - <Compile Include="Completion\RazorCSharpCompletionBuilder.cs" /> - <Compile Include="Formatting\RazorCSharpFormatter.cs" /> - <Compile Include="Gui\FolderNodeBuilderExtension.cs" /> - <None Include="CodeTemplates\CSharp\AddController\ControllerWithEmptyReadAndWriteActions.tt"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="CodeTemplates\CSharp\AddController\Empty.tt"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="CodeTemplates\CSharp\AddView\Razor\Empty.tt"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\Common\Error.cshtml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\Common\HomeController.cs"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\Common\HomeControllerTest.cs"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <Compile Include="Gui\RazorCSharpEditorExtension.cs" /> - <Compile Include="Parser\OutlineNode.cs" /> - <Compile Include="Parser\RazorCSharpParsedDocument.cs" /> - <Compile Include="Parser\RazorCSharpParser.cs" /> - <Compile Include="Parser\RazorPageInfo.cs" /> - <Compile Include="Parser\RazorSymbols.cs" /> - <Compile Include="Parser\RazorUtils.cs" /> - <Compile Include="RazorSyntaxMode.cs" /> - <Compile Include="StateEngine\RazorCodeBlockState.cs" /> - <Compile Include="StateEngine\RazorCodeFragmentState.cs" /> - <Compile Include="StateEngine\RazorCommentState.cs" /> - <Compile Include="StateEngine\RazorDirectiveState.cs" /> - <Compile Include="StateEngine\RazorDom.cs" /> - <Compile Include="StateEngine\RazorExpressionState.cs" /> - <Compile Include="StateEngine\RazorFreeState.cs" /> - <Compile Include="StateEngine\RazorSpeculativeState.cs" /> - <Compile Include="StateEngine\RazorState.cs" /> - <Compile Include="StateEngine\RazorStatementState.cs" /> - <Compile Include="StateEngine\StateEngineService.cs" /> - <Compile Include="TextTemplating\MvcTextTemplateHost.cs" /> - <Compile Include="gtk-gui\generated.cs" /> - <Compile Include="Gui\AddViewDialog.cs" /> - <Compile Include="gtk-gui\MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.cs" /> - <Compile Include="Gui\AddControllerDialog.cs" /> - <Compile Include="gtk-gui\MonoDevelop.AspNet.Mvc.Gui.AddControllerDialog.cs" /> - <None Include="Templates\PreprocessedRazorTemplate.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <Compile Include="RazorGenerator\RazorTemplatePreprocessor.cs" /> - <Compile Include="RazorGenerator\PreprocessedCSharpRazorCodeParser.cs" /> - <Compile Include="RazorGenerator\PreprocessedTemplateCodeTransformer.cs" /> - <Compile Include="RazorEditorParserFixed\RazorEditorParser.cs" /> - <Compile Include="RazorEditorParserFixed\BackgroundParser.cs" /> - <Compile Include="RazorEditorParserFixed\RazorEditorTrace.cs" /> - <Compile Include="RazorEditorParserFixed\RazorResources.Designer.cs" /> - <Compile Include="RazorEditorParserFixed\CommonResources.Designer.cs" /> - <Compile Include="RazorEditorParserFixed\DisposableAction.cs" /> - <Compile Include="AddinInfo.cs" /> - <Compile Include="RazorGenerator\MarkupRewriter.cs" /> - <Compile Include="RazorGenerator\RewritingRazorTemplateEngine.cs" /> - <Compile Include="RazorGenerator\PreprocessedAttributeRewriter.cs" /> - <Compile Include="RazorGenerator\PreprocessedRazorHost.cs" /> - <Compile Include="RazorGenerator\PreprocessedLiteralAttributeCodeGenerator.cs" /> - <Compile Include="RazorGenerator\PreprocessedAttributeBlockCodeGenerator.cs" /> - <Compile Include="RazorGenerator\PreprocessedDynamicAttributeBlockCodeGenerator.cs" /> - <Compile Include="RazorGenerator\RazorWriterHelper.cs" /> - <Compile Include="RazorGenerator\FileUtil.cs" /> - </ItemGroup> - <ItemGroup> - <Reference Include="System" /> - <Reference Include="System.Configuration" /> - <Reference Include="System.Web" /> - <Reference Include="System.Xml" /> - <Reference Include="System.Core" /> - <Reference Include="Mono.Posix" /> - <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> - <SpecificVersion>False</SpecificVersion> - </Reference> - <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> - <SpecificVersion>False</SpecificVersion> - </Reference> - <Reference Include="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> - <Reference Include="atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> - <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> - <Reference Include="System.Web.Mvc"> - <HintPath>lib\System.Web.Mvc.dll</HintPath> - </Reference> - <Reference Include="System.Web.Razor"> - <HintPath>lib\System.Web.Razor.dll</HintPath> - </Reference> - <Reference Include="System.Web.WebPages"> - <HintPath>lib\System.Web.WebPages.dll</HintPath> - </Reference> - <Reference Include="System.Web.WebPages.Razor"> - <HintPath>lib\System.Web.WebPages.Razor.dll</HintPath> - </Reference> - </ItemGroup> - <ItemGroup> - <EmbeddedResource Include="MonoDevelop.AspNet.Mvc.addin.xml"> - <LogicalName>MonoDevelop.AspNet.Mvc.addin.xml</LogicalName> - <SubType>Designer</SubType> - </EmbeddedResource> - <EmbeddedResource Include="gtk-gui\gui.stetic"> - <LogicalName>gui.stetic</LogicalName> - </EmbeddedResource> - </ItemGroup> - <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> - <ItemGroup> - <ProjectReference Include="..\..\..\..\external\nrefactory\ICSharpCode.NRefactory.CSharp\ICSharpCode.NRefactory.CSharp.csproj"> - <Project>{53DCA265-3C3C-42F9-B647-F72BA678122B}</Project> - <Name>ICSharpCode.NRefactory.CSharp</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\CSharpBinding\CSharpBinding.csproj"> - <Project>{07CC7654-27D6-421D-A64C-0FFA40456FA2}</Project> - <Name>CSharpBinding</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\TextTemplating\Mono.TextTemplating\Mono.TextTemplating.csproj"> - <Project>{A2364D6A-00EF-417C-80A6-815726C70032}</Project> - <Name>Mono.TextTemplating</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\TextTemplating\MonoDevelop.TextTemplating\MonoDevelop.TextTemplating.csproj"> - <Project>{8CCA39DD-8412-4547-BE7F-0C3D3ACC6FAC}</Project> - <Name>MonoDevelop.TextTemplating</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\core\MonoDevelop.Core\MonoDevelop.Core.csproj"> - <Project>{7525BB88-6142-4A26-93B9-A30C6983390A}</Project> - <Name>MonoDevelop.Core</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\MonoDevelop.DesignerSupport\MonoDevelop.DesignerSupport.csproj"> - <Project>{2C24D515-4A2C-445C-8419-C09231913CFA}</Project> - <Name>MonoDevelop.DesignerSupport</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\core\MonoDevelop.Ide\MonoDevelop.Ide.csproj"> - <Project>{27096E7F-C91C-4AC6-B289-6897A701DF21}</Project> - <Name>MonoDevelop.Ide</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\MonoDevelop.XmlEditor\MonoDevelop.XmlEditor.csproj"> - <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> - <Name>MonoDevelop.XmlEditor</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\MonoDevelop.AspNet\MonoDevelop.AspNet.csproj"> - <Project>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</Project> - <Name>MonoDevelop.AspNet</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\core\Mono.Texteditor\Mono.TextEditor.csproj"> - <Project>{A2329308-3751-4DBD-9A75-5F7B8B024625}</Project> - <Name>Mono.TextEditor</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\..\external\nrefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj"> - <Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project> - <Name>ICSharpCode.NRefactory</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\..\external\mono-addins\Mono.Addins\Mono.Addins.csproj"> - <Project>{91DD5A2D-9FE3-4C3C-9253-876141874DAD}</Project> - <Name>Mono.Addins</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\MonoDevelop.Debugger\MonoDevelop.Debugger.csproj"> - <Project>{2357AABD-08C7-4808-A495-8FF2D3CDFDB0}</Project> - <Name>MonoDevelop.Debugger</Name> - <Private>False</Private> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <None Include="Templates\Common\Index.cshtml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\Common\ViewPageRazor.cshtml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\Common\_Layout.cshtml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\Common\_ViewStart.cshtml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\Controller.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\EmptyProject.xpt.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\GlobalAsax.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\Project.xpt.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\UserControl.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\ViewContentPage.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\ViewMasterPage.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\ViewPage.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\WebConfigApp.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\WebConfigViews.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - <SubType>Designer</SubType> - </None> - <None Include="CodeTemplates\CSharp\AddView\Aspx\Empty.tt"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Makefile.am" /> - </ItemGroup> - <ItemGroup> - <None Include="Templates\EmptyProjectMvc3.xpt.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - <SubType>Designer</SubType> - </None> - <None Include="Templates\GlobalAsaxMvc3.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\ProjectMvc3.xpt.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - <SubType>Designer</SubType> - </None> - <None Include="Templates\WebConfigAppMvc3.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\WebConfigViewsMvc3.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - </ItemGroup> - <ItemGroup> - <None Include="Templates\ProjectMvc3Razor.xpt.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - <SubType>Designer</SubType> - </None> - </ItemGroup> - <ItemGroup> - <None Include="Templates\ProjectMvc3WithUnitTest.xpt.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="Templates\ProjectWithUnitTest.xpt.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - </ItemGroup> - <ItemGroup> - <None Include="Templates\ProjectMvc3RazorWithUnitTest.xpt.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - <SubType>Designer</SubType> - </None> - </ItemGroup> - <ItemGroup> - <None Include="Templates\LayoutPage.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - </ItemGroup> - <ItemGroup> - <None Include="Templates\PartialViewPageRazor.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - </ItemGroup> - <ItemGroup> - <None Include="Templates\ViewPageRazor.xft.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - </ItemGroup> - <ItemGroup /> - <ItemGroup> - <None Include="Razor-templates.xml"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - <SubType>Designer</SubType> - </None> - </ItemGroup> - <ItemGroup> - <Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" /> - </ItemGroup> - <ItemGroup> - <Folder Include="RazorGenerator\" /> - <Folder Include="RazorEditorParserFixed\" /> - </ItemGroup> -</Project> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorDom.cs b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorDom.cs deleted file mode 100644 index 2069d32a4b..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorDom.cs +++ /dev/null @@ -1,202 +0,0 @@ -//
-// RazorDom.cs
-//
-// Author:
-// Piotr Dowgiallo <sparekd@gmail.com>
-//
-// Copyright (c) 2012 Piotr Dowgiallo
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using MonoDevelop.Xml.StateEngine;
-using ICSharpCode.NRefactory.TypeSystem;
-using ICSharpCode.NRefactory;
-using System.Diagnostics;
-using Mono.TextEditor;
-using MonoDevelop.Ide;
-using System.Linq;
-
-namespace MonoDevelop.AspNet.Mvc.StateEngine
-{
- public abstract class RazorExpression : XNode
- {
- public RazorExpression (DomRegion region) : base (region) { }
- public RazorExpression (TextLocation start) : base (start) { }
- protected RazorExpression () { }
- }
-
- public class RazorExplicitExpression : RazorExpression
- {
- public RazorExplicitExpression (DomRegion region) : base (region) { }
- public RazorExplicitExpression (TextLocation start) : base (start) { }
- protected RazorExplicitExpression () { }
-
- protected override XObject NewInstance () { return new RazorExplicitExpression (); }
-
- public override string ToString ()
- {
- return string.Format ("[RazorExplicitExpression Location='{0}'", this.Region);
- }
-
- public override string FriendlyPathRepresentation
- {
- get { return "@( )"; }
- }
- }
-
- public class RazorImplicitExpression : RazorExpression
- {
- public RazorImplicitExpression (DomRegion region) : base (region) { }
- public RazorImplicitExpression (TextLocation start) : base (start) { }
- protected RazorImplicitExpression () { }
-
- protected override XObject NewInstance () { return new RazorImplicitExpression (); }
-
- public override string ToString ()
- {
- return string.Format ("[RazorImplicitExpression Location='{0}'", this.Region);
- }
-
- public override string FriendlyPathRepresentation
- {
- get { return "@"; }
- }
- }
-
- public class RazorComment : XNode
- {
- public RazorComment (DomRegion region) : base (region) { }
- public RazorComment (TextLocation start) : base (start) { }
- protected RazorComment () { }
-
- protected override XObject NewInstance () { return new RazorComment (); }
-
- public override string ToString ()
- {
- return string.Format ("[RazorComment Location='{0}'", this.Region);
- }
-
- public override string FriendlyPathRepresentation
- {
- get { return "@* *@"; }
- }
- }
-
- public abstract class RazorCodeFragment : XContainer
- {
- public RazorCodeFragment (TextLocation start) : base (start) {}
-
- protected RazorCodeFragment () { }
-
- public string Name { get; set; }
- public TextLocation? FirstBracket { get; set; }
- public TextDocument Document {
- get {
- if (IdeApp.Workbench.ActiveDocument != null && IdeApp.Workbench.ActiveDocument.Editor != null)
- return IdeApp.Workbench.ActiveDocument.Editor.Document;
- return null;
- }
- }
-
- public bool IsEndingBracket (TextLocation bracketLocation)
- {
- // If document isn't entirely loaded
- if (Document == null || Document.Lines.Count () < Region.BeginLine)
- return false;
-
- if (!FirstBracket.HasValue && !FindFirstBracket (bracketLocation))
- return false;
-
- int firstBracketOffset = Document.GetOffset (FirstBracket.Value);
- int currentBracketOffset = Document.GetOffset (bracketLocation);
-
- return Document.GetMatchingBracketOffset (firstBracketOffset) == currentBracketOffset;
- }
-
- public bool FindFirstBracket (TextLocation currentLocation)
- {
- if (Document.Lines.Count () < Region.BeginLine)
- return false;
-
- int firstBracketPosition = Document.GetTextBetween (Region.Begin, currentLocation).IndexOf ('{');
- if (firstBracketPosition == -1)
- return false;
-
- int beginOffset = Document.LocationToOffset (Region.Begin);
- FirstBracket = Document.OffsetToLocation (beginOffset + firstBracketPosition);
- return true;
- }
- }
-
- public class RazorCodeBlock : RazorCodeFragment
- {
- public RazorCodeBlock (TextLocation start) : base (start) { }
- protected RazorCodeBlock () { }
-
- protected override XObject NewInstance () { return new RazorCodeBlock (); }
-
- public override string ToString ()
- {
- return string.Format ("[RazorCodeBlock Location='{0}'", this.Region);
- }
-
- public override string FriendlyPathRepresentation
- {
- get { return "@{ }"; }
- }
- }
-
- public class RazorDirective : RazorCodeFragment
- {
- public RazorDirective (TextLocation start) : base (start) { }
- protected RazorDirective () { }
-
- protected override XObject NewInstance () { return new RazorDirective (); }
-
- public bool IsSimpleDirective { get; set; }
-
- public override string ToString ()
- {
- return string.Format ("[RazorDirective Location='{0}'", this.Region);
- }
-
- public override string FriendlyPathRepresentation
- {
- get { return "@" + Name; }
- }
- }
-
- public class RazorStatement : RazorCodeFragment
- {
- public RazorStatement (TextLocation start) : base (start) { }
- protected RazorStatement () { }
-
- protected override XObject NewInstance () { return new RazorStatement (); }
-
- public override string ToString ()
- {
- return string.Format ("[RazorStatement Location='{0}'", this.Region);
- }
-
- public override string FriendlyPathRepresentation
- {
- get { return "@" + Name; }
- }
- }
-}
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/HomeControllerTest.cs b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/HomeControllerTest.cs deleted file mode 100644 index b98cbbe901..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/HomeControllerTest.cs +++ /dev/null @@ -1,28 +0,0 @@ -using NUnit.Framework;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Web.Mvc;
-using ${SolutionName};
-using ${SolutionName}.Controllers;
-
-namespace ${Namespace}
-{
- [TestFixture ()]
- public class ${Name}
- {
- [Test ()]
- public void Index ()
- {
- // Arrange
- HomeController controller = new HomeController ();
-
- // Act
- ViewResult result = controller.Index () as ViewResult;
-
- // Assert
- Assert.AreEqual ("Welcome to ASP.NET MVC on Mono!", result.ViewData["Message"]);
- }
- }
-}
\ No newline at end of file diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/Index.cshtml b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/Index.cshtml deleted file mode 100644 index e17c85e1ce..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/Index.cshtml +++ /dev/null @@ -1 +0,0 @@ -<h2>@ViewData["Message"]</h2>
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Controller.xft.xml b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Controller.xft.xml deleted file mode 100644 index efd7300bcd..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Controller.xft.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0"?> -<Template originator="Michael Hutchinson" - created="2009/02/17" - lastModified="2009/02/17"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC Controller</_Name> - <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET MVC</_Category> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> - <_Description>Creates an ASP.NET MVC Controller.</_Description> - </TemplateConfiguration> - - <!-- Template Content --> - <TemplateFiles> - <CodeDomFile> - <CompileUnit> - <Namespaces> - <Namespace Name=""> - <Imports> - <NamespaceImport Namespace="System" /> - <NamespaceImport Namespace="System.Collections.Generic" /> - <NamespaceImport Namespace="System.Linq" /> - <NamespaceImport Namespace="System.Web" /> - <NamespaceImport Namespace="System.Web.Mvc" /> - <NamespaceImport Namespace="System.Web.Mvc.Ajax" /> - </Imports> - </Namespace> - <Namespace Name="${Namespace}.Controllers"> - <Types> - <TypeDeclaration Name="${Name}" IsClass="true" > - <BaseTypes> - <TypeReference BaseType="Controller" /> - </BaseTypes> - <Members> - </Members> - </TypeDeclaration> - </Types> - </Namespace> - </Namespaces> - </CompileUnit> - </CodeDomFile> - </TemplateFiles> -</Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/EmptyProjectMvc3.xpt.xml b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/EmptyProjectMvc3.xpt.xml deleted file mode 100644 index 06b0bb25ca..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/EmptyProjectMvc3.xpt.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0"?> -<Template originator="Piotr Dowgiallo" - created="2012/05/16" - lastModified="2012/05/16"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>Empty ASP.NET MVC 3 Project</_Name> - <_Category>C#/ASP.NET</_Category> - <Icon>md-project-web</Icon> - <LanguageName>C#</LanguageName> - <_Description>Creates an empty ASP.NET MVC 3 Web Project.</_Description> - </TemplateConfiguration> - - <!-- Actions --> - <Actions> - </Actions> - - <!-- Template Content --> - <Combine name = "${ProjectName}" directory = "."> - <Options> - <StartupProject>${ProjectName}</StartupProject> - </Options> - - <Project name = "${ProjectName}" directory = "." type = "AspNetMvc3"> - <Options TargetFrameworkVersion = "4.0" /> - <References> - <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Core" /> - <Reference type="Package" refto="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Xml.Linq" /> - <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - </References> - <Files> - <Directory name="Content" /> - <Directory name="Controllers" /> - <Directory name="Models" /> - <Directory name="Scripts" /> - <Directory name="Views"> - <FileTemplateReference TemplateID="AspMvc3WebConfigViews" name="Web.config" SuppressAutoOpen="true" /> - </Directory> - <FileTemplateReference TemplateID="AspMvc3WebConfigApp" name="Web.config" SuppressAutoOpen="true" /> - <FileTemplateReference TemplateID="AspMvc3GlobalAsax" name="Global.asax" SuppressAutoOpen="true" /> - </Files> - </Project> - </Combine> -</Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/GlobalAsax.xft.xml b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/GlobalAsax.xft.xml deleted file mode 100644 index cf812f649a..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/GlobalAsax.xft.xml +++ /dev/null @@ -1,62 +0,0 @@ -<?xml version="1.0"?> -<Template Originator="Michael Hutchinson" - Created="2009/02/20" - LastModified="2012/05/17"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC 2 Global.asax</_Name> - <_Category>ASP.NET MVC</_Category> - <Icon>md-html-file-icon</Icon> - <LanguageName>C#</LanguageName> - <ProjectType>AspNetMvc</ProjectType> - <DefaultFilename IsFixed="True">Global.asax</DefaultFilename> - <_Description>Creates an ASP.NET MVC 2 Global.asax file.</_Description> - </TemplateConfiguration> - - <Conditions> - <ParentProject PermittedCreationPaths="" ExcludedFiles="/Global.asax" /> - </Conditions> - - <!-- Template Content --> - <TemplateFiles> - <AspNetFile name="Global.asax"> - <FileText> -<![CDATA[<%@ Application Inherits="${Namespace}.MvcApplication" %>]]> - </FileText> - </AspNetFile> - <File name="Global.asax.cs" DependsOn="Global.asax" > -<![CDATA[ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Mvc; -using System.Web.Routing; - -namespace ${Namespace} -{ - public class MvcApplication : System.Web.HttpApplication - { - public static void RegisterRoutes(RouteCollection routes) - { - routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); - - routes.MapRoute( - "Default", - "{controller}/{action}/{id}", - new { controller = "Home", action = "Index", id = "" } - ); - - } - - protected void Application_Start() - { - AreaRegistration.RegisterAllAreas(); - RegisterRoutes(RouteTable.Routes); - } - } -}]]> - </File> - </TemplateFiles> -</Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3.xpt.xml b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3.xpt.xml deleted file mode 100644 index 8f910e96c5..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3.xpt.xml +++ /dev/null @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<Template originator="Piotr Dowgiallo" - created="2012/05/16" - lastModified="2012/05/16"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC 3 Project</_Name> - <_Category>C#/ASP.NET</_Category> - <Icon>md-project-web</Icon> - <LanguageName>C#</LanguageName> - <_Description>Creates an ASP.NET MVC 3 Web Project.</_Description> - </TemplateConfiguration> - - - <!-- Actions --> - <Actions> - <Open filename = "Controllers/HomeController.cs"/> - </Actions> - - <!-- Template Content --> - <Combine name = "${ProjectName}" directory = "."> - <Options> - <StartupProject>${ProjectName}</StartupProject> - </Options> - - <Project name = "${ProjectName}" directory = "." type = "AspNetMvc3"> - <Options TargetFrameworkVersion = "4.0" /> - <References> - <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Core" /> - <Reference type="Package" refto="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Xml.Linq" /> - <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - </References> - <Files> - <Directory name="Content" /> - <Directory name="Controllers"> - <File name="HomeController.cs" src="Common/HomeController.cs" /> - </Directory> - <Directory name="Models" /> - <Directory name="Scripts" /> - <Directory name="Views"> - <FileTemplateReference TemplateID="AspMvc3WebConfigViews" name="Web.config" SuppressAutoOpen="true" /> - <Directory name="Home"> - <AspNetFile name="Index.aspx"> - <FileText> -<![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="System.Web.Mvc.ViewPage" %> -${Doctype} -<html xmlns="http://www.w3.org/1999/xhtml"> -<head runat="server"> - <title></title> -</head> -<body> - <div> - <%= Html.Encode(ViewData["Message"]) %> - </div> -</body> -]]> - </FileText> - </AspNetFile> - </Directory> - <Directory name="Shared"> - <AspNetFile name="Error.aspx"> - <FileText> -<![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="System.Web.Mvc.ViewPage" %> -${Doctype} -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - <title>Error</title> -</head> -<body> - <div> - <h2>An error occurred while processing your request.</h2> - </div> -</body> -]]> - </FileText> - </AspNetFile> - </Directory> - </Directory> - <FileTemplateReference TemplateID="AspMvc3WebConfigApp" name="Web.config" SuppressAutoOpen="true" /> - <FileTemplateReference TemplateID="AspMvc3GlobalAsax" name="Global.asax" SuppressAutoOpen="true" /> - </Files> - </Project> - </Combine> -</Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3WithUnitTest.xpt.xml b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3WithUnitTest.xpt.xml deleted file mode 100644 index 2675e62477..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3WithUnitTest.xpt.xml +++ /dev/null @@ -1,126 +0,0 @@ -<?xml version="1.0"?> -<Template originator="Piotr Dowgiallo" - created="2012/06/05" - lastModified="2012/06/05"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC 3 with Unit Test Project</_Name> - <_Category>C#/ASP.NET</_Category> - <Icon>md-project-web</Icon> - <LanguageName>C#</LanguageName> - <_Description>Creates an ASP.NET MVC 3 Web Project with Unit Test Project.</_Description> - </TemplateConfiguration> - - - <!-- Actions --> - <Actions> - <Open filename = "Controllers/HomeController.cs"/> - </Actions> - - <!-- Template Content --> - <Combine name = "${ProjectName}" directory = "."> - <Options> - <StartupProject>${ProjectName}</StartupProject> - </Options> - - <Project name = "${ProjectName}" directory = "." type = "AspNetMvc3"> - <Options TargetFrameworkVersion = "4.0" /> - <References> - <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Core" /> - <Reference type="Package" refto="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Xml.Linq" /> - <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - </References> - <Files> - <Directory name="Content" /> - <Directory name="Controllers"> - <File name="HomeController.cs" src="Common/HomeController.cs" /> - </Directory> - <Directory name="Models" /> - <Directory name="Scripts" /> - <Directory name="Views"> - <FileTemplateReference TemplateID="AspMvc3WebConfigViews" name="Web.config" SuppressAutoOpen="true" /> - <Directory name="Home"> - <AspNetFile name="Index.aspx"> - <FileText> - <![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="System.Web.Mvc.ViewPage" %> -${Doctype} -<html xmlns="http://www.w3.org/1999/xhtml"> -<head runat="server"> - <title></title> -</head> -<body> - <div> - <%= Html.Encode(ViewData["Message"]) %> - </div> -</body> -]]> - </FileText> - </AspNetFile> - </Directory> - <Directory name="Shared"> - <AspNetFile name="Error.aspx"> - <FileText> - <![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="System.Web.Mvc.ViewPage" %> -${Doctype} -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - <title>Error</title> -</head> -<body> - <div> - <h2>An error occurred while processing your request.</h2> - </div> -</body> -]]> - </FileText> - </AspNetFile> - </Directory> - </Directory> - <FileTemplateReference TemplateID="AspMvc3WebConfigApp" name="Web.config" SuppressAutoOpen="true" /> - <FileTemplateReference TemplateID="AspMvc3GlobalAsax" name="Global.asax" SuppressAutoOpen="true" /> - </Files> - </Project> - <Project name = "${ProjectName}.Tests" directory = "${ProjectName}.Tests"> - <Options Target = "Library" /> - - <References> - <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Core" /> - <Reference type="Package" refto="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Xml.Linq" /> - <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="nunit.framework" SpecificVersion = "false" LocalCopy = "false" /> - <Reference type="Project" refto="${ProjectName}" /> - </References> - - <Files> - <Directory name="Controllers"> - <File name="HomeControllerTest.cs" src="Common/HomeControllerTest.cs" /> - </Directory> - </Files> - </Project> - </Combine> -</Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigApp.xft.xml b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigApp.xft.xml deleted file mode 100644 index fe96f40c35..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigApp.xft.xml +++ /dev/null @@ -1,143 +0,0 @@ -<?xml version="1.0"?> -<Template - Originator="Michael Hutchinson" - Created="2009/02/20" - LastModified="2012/05/17"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC 2 Application Configuration</_Name> - <_Category>ASP.NET MVC</_Category> - <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> - <DefaultFilename IsFixed="True">Web.config</DefaultFilename> - <_Description>Creates an ASP.NET MVC 2 Web.config file for an application.</_Description> - </TemplateConfiguration> - - <Conditions> - <ParentProject PermittedCreationPaths="" ExcludedFiles="Web.config" RequireProject="True"/> - </Conditions> - - <!-- Template Content --> - <TemplateFiles> - <AspNetFile name="Web.config"> - <FileText> -<![CDATA[<?xml version="1.0" ?> -<!-- -Web.config file for ${ProjectName}. - -The settings that can be used in this file are documented at -http://www.mono-project.com/Config_system.web and -http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx ---> -<configuration> - <configSections> - <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> - <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> - <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> - <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> - <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" /> - <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> - <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> - <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> - </sectionGroup> - </sectionGroup> - </sectionGroup> - </configSections> - - <system.web> - <!-- - Set compilation debug="true" to insert debugging - symbols into the compiled page. Because this - affects performance, set this value to true only - during development. - --> - <compilation defaultLanguage="${AspNetLanguage}" debug="false"> - <assemblies> - <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> - <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> - <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> - <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> - </assemblies> - </compilation> - - <customErrors mode="RemoteOnly"> - </customErrors> - - <pages> - <controls> - <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - </controls> - - <namespaces> - <add namespace="System.Web.Mvc"/> - <add namespace="System.Web.Mvc.Ajax"/> - <add namespace="System.Web.Mvc.Html"/> - <add namespace="System.Web.Routing"/> - <add namespace="System.Linq"/> - <add namespace="System.Collections.Generic"/> - </namespaces> - </pages> - - <authorization> - <allow users="*" /> - </authorization> - - <httpHandlers> - <remove verb="*" path="*.asmx"/> - <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> - <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - </httpHandlers> - - <httpModules> - <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> - </httpModules> - - <trace - enabled="false" - localOnly="true" - pageOutput="false" - requestLimit="10" - traceMode="SortByTime" - /> - - <globalization - requestEncoding="utf-8" - responseEncoding="utf-8" - /> - - </system.web> - - <system.codedom> - <compilers> - <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" - type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <providerOption name="CompilerVersion" value="v4.0"/> - <providerOption name="WarnAsError" value="false"/> - </compiler> - <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" - type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <providerOption name="CompilerVersion" value="v4.0"/> - <providerOption name="OptionInfer" value="true"/> - <providerOption name="WarnAsError" value="false"/> - </compiler> - </compilers> - </system.codedom> - - <system.web.extensions/> - -</configuration>]]> - </FileText> - </AspNetFile> - </TemplateFiles> -</Template> - diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigViews.xft.xml b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigViews.xft.xml deleted file mode 100644 index 4e18d67c88..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigViews.xft.xml +++ /dev/null @@ -1,59 +0,0 @@ -<?xml version="1.0"?> -<Template - Originator="Michael Hutchinson" - Created="2009/02/20" - LastModified="2012/05/17"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC 2 Views Configuration</_Name> - <_Category>ASP.NET MVC</_Category> - <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> - <DefaultFilename IsFixed="True">Web.config</DefaultFilename> - <_Description>Creates an ASP.NET MVC 2 Web.config file for the Views directory.</_Description> - </TemplateConfiguration> - - <Conditions> - <ParentProject PermittedCreationPaths="/Views" ExcludedFiles="Web.config" /> - </Conditions> - - <!-- Template Content --> - <TemplateFiles> - <File name="Web.config"> -<![CDATA[<?xml version="1.0"?> -<configuration> - <system.web> - <httpHandlers> - <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> - </httpHandlers> - - <!-- - Enabling request validation in view pages would cause validation to occur - after the input has already been processed by the controller. By default - MVC performs request validation before a controller processes the input. - To change this behavior apply the ValidateInputAttribute to a - controller or action. - --> - <pages validateRequest="false" - pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" - pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" - userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> - <controls> - <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> - </controls> - </pages> - </system.web> - - <system.webServer> - <validation validateIntegratedModeConfiguration="false"/> - <handlers> - <remove name="BlockViewHandler"/> - <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/> - </handlers> - </system.webServer> -</configuration>]]> - </File> - </TemplateFiles> -</Template>
\ No newline at end of file diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddControllerDialog.cs b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddControllerDialog.cs deleted file mode 100644 index 2ef2c71e15..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddControllerDialog.cs +++ /dev/null @@ -1,122 +0,0 @@ -
-// This file has been generated by the GUI designer. Do not modify.
-namespace MonoDevelop.AspNet.Mvc.Gui
-{
- public partial class AddControllerDialog
- {
- private global::Gtk.Table table1;
- private global::Gtk.Label label1;
- private global::Gtk.Label label2;
- private global::Gtk.Entry nameEntry;
- private global::Gtk.ComboBox templateCombo;
- private global::Gtk.Button buttonCancel;
- private global::Gtk.Button buttonOk;
-
- protected virtual void Build ()
- {
- global::Stetic.Gui.Initialize (this);
- // Widget MonoDevelop.AspNet.Mvc.Gui.AddControllerDialog
- this.Name = "MonoDevelop.AspNet.Mvc.Gui.AddControllerDialog";
- this.Title = global::Mono.Unix.Catalog.GetString ("Add Controller");
- this.WindowPosition = ((global::Gtk.WindowPosition)(4));
- // Internal child MonoDevelop.AspNet.Mvc.Gui.AddControllerDialog.VBox
- global::Gtk.VBox w1 = this.VBox;
- w1.Name = "dialog1_VBox";
- w1.Spacing = 6;
- w1.BorderWidth = ((uint)(6));
- // Container child dialog1_VBox.Gtk.Box+BoxChild
- this.table1 = new global::Gtk.Table (((uint)(2)), ((uint)(2)), false);
- this.table1.Name = "table1";
- this.table1.RowSpacing = ((uint)(6));
- this.table1.ColumnSpacing = ((uint)(6));
- // Container child table1.Gtk.Table+TableChild
- this.label1 = new global::Gtk.Label ();
- this.label1.Name = "label1";
- this.label1.Xalign = 0F;
- this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("_Name:");
- this.label1.UseUnderline = true;
- this.table1.Add (this.label1);
- global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.label1]));
- w2.XOptions = ((global::Gtk.AttachOptions)(4));
- w2.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label2 = new global::Gtk.Label ();
- this.label2.Name = "label2";
- this.label2.Xalign = 0F;
- this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("_Template:");
- this.label2.UseUnderline = true;
- this.table1.Add (this.label2);
- global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 [this.label2]));
- w3.TopAttach = ((uint)(1));
- w3.BottomAttach = ((uint)(2));
- w3.XOptions = ((global::Gtk.AttachOptions)(4));
- w3.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.nameEntry = new global::Gtk.Entry ();
- this.nameEntry.CanFocus = true;
- this.nameEntry.Name = "nameEntry";
- this.nameEntry.IsEditable = true;
- this.nameEntry.InvisibleChar = '●';
- this.table1.Add (this.nameEntry);
- global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 [this.nameEntry]));
- w4.LeftAttach = ((uint)(1));
- w4.RightAttach = ((uint)(2));
- w4.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.templateCombo = global::Gtk.ComboBox.NewText ();
- this.templateCombo.Name = "templateCombo";
- this.table1.Add (this.templateCombo);
- global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1 [this.templateCombo]));
- w5.TopAttach = ((uint)(1));
- w5.BottomAttach = ((uint)(2));
- w5.LeftAttach = ((uint)(1));
- w5.RightAttach = ((uint)(2));
- w5.YOptions = ((global::Gtk.AttachOptions)(4));
- w1.Add (this.table1);
- global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(w1 [this.table1]));
- w6.Position = 0;
- w6.Expand = false;
- w6.Fill = false;
- // Internal child MonoDevelop.AspNet.Mvc.Gui.AddControllerDialog.ActionArea
- global::Gtk.HButtonBox w7 = this.ActionArea;
- w7.Name = "dialog1_ActionArea";
- w7.Spacing = 10;
- w7.BorderWidth = ((uint)(5));
- w7.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonCancel = new global::Gtk.Button ();
- this.buttonCancel.CanDefault = true;
- this.buttonCancel.CanFocus = true;
- this.buttonCancel.Name = "buttonCancel";
- this.buttonCancel.UseStock = true;
- this.buttonCancel.UseUnderline = true;
- this.buttonCancel.Label = "gtk-cancel";
- this.AddActionWidget (this.buttonCancel, -6);
- global::Gtk.ButtonBox.ButtonBoxChild w8 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w7 [this.buttonCancel]));
- w8.Expand = false;
- w8.Fill = false;
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonOk = new global::Gtk.Button ();
- this.buttonOk.CanDefault = true;
- this.buttonOk.CanFocus = true;
- this.buttonOk.Name = "buttonOk";
- this.buttonOk.UseStock = true;
- this.buttonOk.UseUnderline = true;
- this.buttonOk.Label = "gtk-ok";
- this.AddActionWidget (this.buttonOk, -5);
- global::Gtk.ButtonBox.ButtonBoxChild w9 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w7 [this.buttonOk]));
- w9.Position = 1;
- w9.Expand = false;
- w9.Fill = false;
- if ((this.Child != null)) {
- this.Child.ShowAll ();
- }
- this.DefaultWidth = 400;
- this.DefaultHeight = 157;
- this.label1.MnemonicWidget = this.nameEntry;
- this.label2.MnemonicWidget = this.templateCombo;
- this.Show ();
- this.nameEntry.Changed += new global::System.EventHandler (this.Validate);
- }
- }
-}
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.cs b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.cs deleted file mode 100644 index 7b7de3c626..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.cs +++ /dev/null @@ -1,368 +0,0 @@ -
-// This file has been generated by the GUI designer. Do not modify.
-namespace MonoDevelop.AspNet.Mvc.Gui
-{
- public partial class AddViewDialog
- {
- private global::Gtk.VBox vbox2;
- private global::Gtk.Table table1;
- private global::Gtk.Label label1;
- private global::Gtk.Label label4;
- private global::Gtk.Label label6;
- private global::Gtk.Entry nameEntry;
- private global::Gtk.ComboBox templateCombo;
- private global::Gtk.ComboBox viewEngineCombo;
- private global::Gtk.Frame frame1;
- private global::Gtk.Alignment alignment1;
- private global::Gtk.VBox vbox4;
- private global::Gtk.CheckButton partialCheck;
- private global::Gtk.CheckButton stronglyTypedCheck;
- private global::Gtk.Alignment typePanel;
- private global::Gtk.HBox hbox1;
- private global::Gtk.Label label3;
- private global::Gtk.Alignment dataClassAlignment;
- private global::Gtk.ComboBoxEntry dataClassCombo;
- private global::Gtk.CheckButton masterCheck;
- private global::Gtk.Alignment masterPanel;
- private global::Gtk.VBox vbox3;
- private global::Gtk.HBox hbox4;
- private global::Gtk.Label label5;
- private global::Gtk.Entry masterEntry;
- private global::Gtk.Button masterButton;
- private global::Gtk.HBox placeholderBox;
- private global::Gtk.Label label2;
- private global::Gtk.ComboBoxEntry primaryPlaceholderCombo;
- private global::Gtk.Label GtkLabel6;
- private global::Gtk.Button buttonCancel;
- private global::Gtk.Button buttonOk;
-
- protected virtual void Build ()
- {
- global::Stetic.Gui.Initialize (this);
- // Widget MonoDevelop.AspNet.Mvc.Gui.AddViewDialog
- this.Name = "MonoDevelop.AspNet.Mvc.Gui.AddViewDialog";
- this.Title = global::Mono.Unix.Catalog.GetString ("Add View");
- this.WindowPosition = ((global::Gtk.WindowPosition)(4));
- this.BorderWidth = ((uint)(6));
- this.Resizable = false;
- this.AllowGrow = false;
- // Internal child MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.VBox
- global::Gtk.VBox w1 = this.VBox;
- w1.Name = "dialog1_VBox";
- w1.BorderWidth = ((uint)(2));
- // Container child dialog1_VBox.Gtk.Box+BoxChild
- this.vbox2 = new global::Gtk.VBox ();
- this.vbox2.Name = "vbox2";
- this.vbox2.Spacing = 6;
- // Container child vbox2.Gtk.Box+BoxChild
- this.table1 = new global::Gtk.Table (((uint)(3)), ((uint)(2)), false);
- this.table1.Name = "table1";
- this.table1.RowSpacing = ((uint)(6));
- this.table1.ColumnSpacing = ((uint)(6));
- // Container child table1.Gtk.Table+TableChild
- this.label1 = new global::Gtk.Label ();
- this.label1.Name = "label1";
- this.label1.Xalign = 0F;
- this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("_Name:");
- this.label1.UseUnderline = true;
- this.table1.Add (this.label1);
- global::Gtk.Table.TableChild w2 = ((global::Gtk.Table.TableChild)(this.table1 [this.label1]));
- w2.XOptions = ((global::Gtk.AttachOptions)(4));
- w2.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label4 = new global::Gtk.Label ();
- this.label4.Name = "label4";
- this.label4.Xalign = 0F;
- this.label4.LabelProp = global::Mono.Unix.Catalog.GetString ("_Template:");
- this.label4.UseUnderline = true;
- this.table1.Add (this.label4);
- global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table1 [this.label4]));
- w3.TopAttach = ((uint)(1));
- w3.BottomAttach = ((uint)(2));
- w3.XOptions = ((global::Gtk.AttachOptions)(4));
- w3.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.label6 = new global::Gtk.Label ();
- this.label6.Name = "label6";
- this.label6.LabelProp = global::Mono.Unix.Catalog.GetString ("_View Engine:");
- this.label6.UseUnderline = true;
- this.table1.Add (this.label6);
- global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table1 [this.label6]));
- w4.TopAttach = ((uint)(2));
- w4.BottomAttach = ((uint)(3));
- w4.XOptions = ((global::Gtk.AttachOptions)(4));
- w4.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.nameEntry = new global::Gtk.Entry ();
- this.nameEntry.CanFocus = true;
- this.nameEntry.Name = "nameEntry";
- this.nameEntry.IsEditable = true;
- this.nameEntry.InvisibleChar = '●';
- this.table1.Add (this.nameEntry);
- global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table1 [this.nameEntry]));
- w5.LeftAttach = ((uint)(1));
- w5.RightAttach = ((uint)(2));
- w5.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.templateCombo = global::Gtk.ComboBox.NewText ();
- this.templateCombo.Name = "templateCombo";
- this.table1.Add (this.templateCombo);
- global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table1 [this.templateCombo]));
- w6.TopAttach = ((uint)(1));
- w6.BottomAttach = ((uint)(2));
- w6.LeftAttach = ((uint)(1));
- w6.RightAttach = ((uint)(2));
- w6.XOptions = ((global::Gtk.AttachOptions)(4));
- w6.YOptions = ((global::Gtk.AttachOptions)(4));
- // Container child table1.Gtk.Table+TableChild
- this.viewEngineCombo = global::Gtk.ComboBox.NewText ();
- this.viewEngineCombo.Name = "viewEngineCombo";
- this.table1.Add (this.viewEngineCombo);
- global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.table1 [this.viewEngineCombo]));
- w7.TopAttach = ((uint)(2));
- w7.BottomAttach = ((uint)(3));
- w7.LeftAttach = ((uint)(1));
- w7.RightAttach = ((uint)(2));
- w7.XOptions = ((global::Gtk.AttachOptions)(4));
- w7.YOptions = ((global::Gtk.AttachOptions)(4));
- this.vbox2.Add (this.table1);
- global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.table1]));
- w8.Position = 0;
- w8.Expand = false;
- w8.Fill = false;
- // Container child vbox2.Gtk.Box+BoxChild
- this.frame1 = new global::Gtk.Frame ();
- this.frame1.Name = "frame1";
- this.frame1.ShadowType = ((global::Gtk.ShadowType)(1));
- this.frame1.BorderWidth = ((uint)(2));
- // Container child frame1.Gtk.Container+ContainerChild
- this.alignment1 = new global::Gtk.Alignment (0.5F, 0.5F, 1F, 1F);
- this.alignment1.Name = "alignment1";
- this.alignment1.LeftPadding = ((uint)(4));
- this.alignment1.TopPadding = ((uint)(4));
- this.alignment1.RightPadding = ((uint)(4));
- this.alignment1.BottomPadding = ((uint)(4));
- // Container child alignment1.Gtk.Container+ContainerChild
- this.vbox4 = new global::Gtk.VBox ();
- this.vbox4.Name = "vbox4";
- this.vbox4.Spacing = 6;
- // Container child vbox4.Gtk.Box+BoxChild
- this.partialCheck = new global::Gtk.CheckButton ();
- this.partialCheck.CanFocus = true;
- this.partialCheck.Name = "partialCheck";
- this.partialCheck.Label = global::Mono.Unix.Catalog.GetString ("_Partial view");
- this.partialCheck.DrawIndicator = true;
- this.partialCheck.UseUnderline = true;
- this.vbox4.Add (this.partialCheck);
- global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.partialCheck]));
- w9.Position = 0;
- w9.Expand = false;
- w9.Fill = false;
- // Container child vbox4.Gtk.Box+BoxChild
- this.stronglyTypedCheck = new global::Gtk.CheckButton ();
- this.stronglyTypedCheck.CanFocus = true;
- this.stronglyTypedCheck.Name = "stronglyTypedCheck";
- this.stronglyTypedCheck.Label = global::Mono.Unix.Catalog.GetString ("_Strongly typed");
- this.stronglyTypedCheck.DrawIndicator = true;
- this.stronglyTypedCheck.UseUnderline = true;
- this.vbox4.Add (this.stronglyTypedCheck);
- global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.stronglyTypedCheck]));
- w10.Position = 1;
- w10.Expand = false;
- w10.Fill = false;
- // Container child vbox4.Gtk.Box+BoxChild
- this.typePanel = new global::Gtk.Alignment (0F, 0F, 1F, 1F);
- this.typePanel.Name = "typePanel";
- this.typePanel.LeftPadding = ((uint)(24));
- // Container child typePanel.Gtk.Container+ContainerChild
- this.hbox1 = new global::Gtk.HBox ();
- this.hbox1.Name = "hbox1";
- this.hbox1.Spacing = 6;
- // Container child hbox1.Gtk.Box+BoxChild
- this.label3 = new global::Gtk.Label ();
- this.label3.Name = "label3";
- this.label3.Xalign = 0F;
- this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("_Data class:");
- this.label3.UseUnderline = true;
- this.hbox1.Add (this.label3);
- global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.label3]));
- w11.Position = 0;
- w11.Expand = false;
- w11.Fill = false;
- // Container child hbox1.Gtk.Box+BoxChild
- this.dataClassAlignment = new global::Gtk.Alignment (0.5F, 0.5F, 1F, 1F);
- this.dataClassAlignment.Name = "dataClassAlignment";
- // Container child dataClassAlignment.Gtk.Container+ContainerChild
- this.dataClassCombo = global::Gtk.ComboBoxEntry.NewText ();
- this.dataClassCombo.Name = "dataClassCombo";
- this.dataClassAlignment.Add (this.dataClassCombo);
- this.hbox1.Add (this.dataClassAlignment);
- global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.dataClassAlignment]));
- w13.Position = 1;
- this.typePanel.Add (this.hbox1);
- this.vbox4.Add (this.typePanel);
- global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.typePanel]));
- w15.Position = 2;
- w15.Fill = false;
- // Container child vbox4.Gtk.Box+BoxChild
- this.masterCheck = new global::Gtk.CheckButton ();
- this.masterCheck.CanFocus = true;
- this.masterCheck.Name = "masterCheck";
- this.masterCheck.Label = global::Mono.Unix.Catalog.GetString ("Has _master page or layout:");
- this.masterCheck.DrawIndicator = true;
- this.masterCheck.UseUnderline = true;
- this.vbox4.Add (this.masterCheck);
- global::Gtk.Box.BoxChild w16 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.masterCheck]));
- w16.Position = 3;
- w16.Expand = false;
- w16.Fill = false;
- // Container child vbox4.Gtk.Box+BoxChild
- this.masterPanel = new global::Gtk.Alignment (0F, 0F, 1F, 1F);
- this.masterPanel.Name = "masterPanel";
- this.masterPanel.LeftPadding = ((uint)(24));
- // Container child masterPanel.Gtk.Container+ContainerChild
- this.vbox3 = new global::Gtk.VBox ();
- this.vbox3.Name = "vbox3";
- this.vbox3.Spacing = 6;
- // Container child vbox3.Gtk.Box+BoxChild
- this.hbox4 = new global::Gtk.HBox ();
- this.hbox4.Name = "hbox4";
- this.hbox4.Spacing = 6;
- // Container child hbox4.Gtk.Box+BoxChild
- this.label5 = new global::Gtk.Label ();
- this.label5.Name = "label5";
- this.label5.LabelProp = global::Mono.Unix.Catalog.GetString ("_File:");
- this.label5.UseUnderline = true;
- this.hbox4.Add (this.label5);
- global::Gtk.Box.BoxChild w17 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.label5]));
- w17.Position = 0;
- w17.Expand = false;
- w17.Fill = false;
- // Container child hbox4.Gtk.Box+BoxChild
- this.masterEntry = new global::Gtk.Entry ();
- this.masterEntry.CanFocus = true;
- this.masterEntry.Name = "masterEntry";
- this.masterEntry.IsEditable = true;
- this.masterEntry.InvisibleChar = '●';
- this.hbox4.Add (this.masterEntry);
- global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.masterEntry]));
- w18.Position = 1;
- // Container child hbox4.Gtk.Box+BoxChild
- this.masterButton = new global::Gtk.Button ();
- this.masterButton.CanFocus = true;
- this.masterButton.Name = "masterButton";
- this.masterButton.UseUnderline = true;
- this.masterButton.Label = global::Mono.Unix.Catalog.GetString ("...");
- this.hbox4.Add (this.masterButton);
- global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.masterButton]));
- w19.Position = 2;
- w19.Expand = false;
- w19.Fill = false;
- this.vbox3.Add (this.hbox4);
- global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.hbox4]));
- w20.Position = 0;
- w20.Expand = false;
- w20.Fill = false;
- // Container child vbox3.Gtk.Box+BoxChild
- this.placeholderBox = new global::Gtk.HBox ();
- this.placeholderBox.Name = "placeholderBox";
- this.placeholderBox.Spacing = 6;
- // Container child placeholderBox.Gtk.Box+BoxChild
- this.label2 = new global::Gtk.Label ();
- this.label2.Name = "label2";
- this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("P_rimary placeholder: ");
- this.label2.UseUnderline = true;
- this.placeholderBox.Add (this.label2);
- global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.placeholderBox [this.label2]));
- w21.Position = 0;
- w21.Expand = false;
- w21.Fill = false;
- // Container child placeholderBox.Gtk.Box+BoxChild
- this.primaryPlaceholderCombo = global::Gtk.ComboBoxEntry.NewText ();
- this.primaryPlaceholderCombo.WidthRequest = 250;
- this.primaryPlaceholderCombo.Name = "primaryPlaceholderCombo";
- this.placeholderBox.Add (this.primaryPlaceholderCombo);
- global::Gtk.Box.BoxChild w22 = ((global::Gtk.Box.BoxChild)(this.placeholderBox [this.primaryPlaceholderCombo]));
- w22.Position = 1;
- this.vbox3.Add (this.placeholderBox);
- global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.placeholderBox]));
- w23.Position = 1;
- w23.Expand = false;
- w23.Fill = false;
- this.masterPanel.Add (this.vbox3);
- this.vbox4.Add (this.masterPanel);
- global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.masterPanel]));
- w25.Position = 4;
- w25.Expand = false;
- w25.Fill = false;
- this.alignment1.Add (this.vbox4);
- this.frame1.Add (this.alignment1);
- this.GtkLabel6 = new global::Gtk.Label ();
- this.GtkLabel6.Name = "GtkLabel6";
- this.GtkLabel6.LabelProp = global::Mono.Unix.Catalog.GetString ("Options");
- this.frame1.LabelWidget = this.GtkLabel6;
- this.vbox2.Add (this.frame1);
- global::Gtk.Box.BoxChild w28 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.frame1]));
- w28.Position = 1;
- w28.Expand = false;
- w28.Fill = false;
- w1.Add (this.vbox2);
- global::Gtk.Box.BoxChild w29 = ((global::Gtk.Box.BoxChild)(w1 [this.vbox2]));
- w29.Position = 0;
- w29.Expand = false;
- w29.Fill = false;
- // Internal child MonoDevelop.AspNet.Mvc.Gui.AddViewDialog.ActionArea
- global::Gtk.HButtonBox w30 = this.ActionArea;
- w30.Name = "dialog1_ActionArea";
- w30.Spacing = 6;
- w30.BorderWidth = ((uint)(5));
- w30.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4));
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonCancel = new global::Gtk.Button ();
- this.buttonCancel.CanDefault = true;
- this.buttonCancel.CanFocus = true;
- this.buttonCancel.Name = "buttonCancel";
- this.buttonCancel.UseStock = true;
- this.buttonCancel.UseUnderline = true;
- this.buttonCancel.Label = "gtk-cancel";
- this.AddActionWidget (this.buttonCancel, -6);
- global::Gtk.ButtonBox.ButtonBoxChild w31 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w30 [this.buttonCancel]));
- w31.Expand = false;
- w31.Fill = false;
- // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild
- this.buttonOk = new global::Gtk.Button ();
- this.buttonOk.CanDefault = true;
- this.buttonOk.CanFocus = true;
- this.buttonOk.Name = "buttonOk";
- this.buttonOk.UseStock = true;
- this.buttonOk.UseUnderline = true;
- this.buttonOk.Label = "gtk-ok";
- this.AddActionWidget (this.buttonOk, -5);
- global::Gtk.ButtonBox.ButtonBoxChild w32 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w30 [this.buttonOk]));
- w32.Position = 1;
- w32.Expand = false;
- w32.Fill = false;
- if ((this.Child != null)) {
- this.Child.ShowAll ();
- }
- this.DefaultWidth = 470;
- this.DefaultHeight = 393;
- this.label1.MnemonicWidget = this.nameEntry;
- this.label4.MnemonicWidget = this.templateCombo;
- this.label6.MnemonicWidget = this.viewEngineCombo;
- this.label3.MnemonicWidget = this.dataClassCombo;
- this.label5.MnemonicWidget = this.masterEntry;
- this.Hide ();
- this.viewEngineCombo.Changed += new global::System.EventHandler (this.ViewEngineChanged);
- this.templateCombo.Changed += new global::System.EventHandler (this.Validate);
- this.nameEntry.Changed += new global::System.EventHandler (this.Validate);
- this.partialCheck.Toggled += new global::System.EventHandler (this.UpdateMasterPanelSensitivity);
- this.stronglyTypedCheck.Toggled += new global::System.EventHandler (this.UpdateTypePanelSensitivity);
- this.dataClassCombo.Changed += new global::System.EventHandler (this.DataClassChanged);
- this.masterCheck.Toggled += new global::System.EventHandler (this.UpdateMasterPanelSensitivity);
- this.masterEntry.Changed += new global::System.EventHandler (this.MasterChanged);
- this.masterButton.Clicked += new global::System.EventHandler (this.ShowMasterSelectionDialog);
- this.primaryPlaceholderCombo.Changed += new global::System.EventHandler (this.Validate);
- }
- }
-}
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/generated.cs b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/generated.cs deleted file mode 100644 index 9ef3363981..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/generated.cs +++ /dev/null @@ -1,29 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace Stetic -{ - internal class Gui - { - private static bool initialized; - - internal static void Initialize (Gtk.Widget iconRenderer) - { - if ((Stetic.Gui.initialized == false)) { - Stetic.Gui.initialized = true; - } - } - } - - internal class ActionGroups - { - public static Gtk.ActionGroup GetActionGroup (System.Type type) - { - return Stetic.ActionGroups.GetActionGroup (type.FullName); - } - - public static Gtk.ActionGroup GetActionGroup (string name) - { - return null; - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/gui.stetic b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/gui.stetic deleted file mode 100644 index 9c7eb4001f..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/gtk-gui/gui.stetic +++ /dev/null @@ -1,638 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<stetic-interface> - <configuration> - <images-root-path>..</images-root-path> - <target-gtk-version>2.12</target-gtk-version> - </configuration> - <import> - <widget-library name="../../../../../build/AddIns/MonoDevelop.TextTemplating/MonoDevelop.TextTemplating.dll" /> - <widget-library name="../../../../../build/AddIns/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.dll" /> - <widget-library name="../../../../../build/bin/MonoDevelop.Ide.dll" /> - <widget-library name="../../../../../build/AddIns/MonoDevelop.AspNet/MonoDevelop.AspNet.dll" /> - <widget-library name="../../../../../build/bin/Mono.TextEditor.dll" /> - <widget-library name="../../../../../build/AddIns/MonoDevelop.AspNet.Mvc/MonoDevelop.AspNet.Mvc.dll" internal="true" /> - </import> - <widget class="Gtk.Dialog" id="MonoDevelop.AspNet.Mvc.Gui.AddViewDialog" design-size="470 393"> - <property name="MemberName" /> - <property name="Visible">False</property> - <property name="Title" translatable="yes">Add View</property> - <property name="WindowPosition">CenterOnParent</property> - <property name="BorderWidth">6</property> - <property name="Resizable">False</property> - <property name="AllowGrow">False</property> - <property name="Buttons">2</property> - <property name="HelpButton">False</property> - <child internal-child="VBox"> - <widget class="Gtk.VBox" id="dialog1_VBox"> - <property name="MemberName" /> - <property name="BorderWidth">2</property> - <child> - <widget class="Gtk.VBox" id="vbox2"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Table" id="table1"> - <property name="MemberName" /> - <property name="NRows">3</property> - <property name="NColumns">2</property> - <property name="RowSpacing">6</property> - <property name="ColumnSpacing">6</property> - <child> - <widget class="Gtk.Label" id="label1"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">_Name:</property> - <property name="UseUnderline">True</property> - <property name="MnemonicWidget">nameEntry</property> - </widget> - <packing> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label4"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">_Template:</property> - <property name="UseUnderline">True</property> - <property name="MnemonicWidget">templateCombo</property> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label6"> - <property name="MemberName" /> - <property name="LabelProp" translatable="yes">_View Engine:</property> - <property name="UseUnderline">True</property> - <property name="MnemonicWidget">viewEngineCombo</property> - </widget> - <packing> - <property name="TopAttach">2</property> - <property name="BottomAttach">3</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Entry" id="nameEntry"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="IsEditable">True</property> - <property name="InvisibleChar">●</property> - <signal name="Changed" handler="Validate" /> - </widget> - <packing> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">False</property> - <property name="YOptions">Fill</property> - <property name="XExpand">True</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.ComboBox" id="templateCombo"> - <property name="MemberName" /> - <property name="IsTextCombo">True</property> - <property name="Items" translatable="yes" /> - <signal name="Changed" handler="Validate" /> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.ComboBox" id="viewEngineCombo"> - <property name="MemberName" /> - <property name="IsTextCombo">True</property> - <property name="Items" translatable="yes" /> - <signal name="Changed" handler="ViewEngineChanged" /> - </widget> - <packing> - <property name="TopAttach">2</property> - <property name="BottomAttach">3</property> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Frame" id="frame1"> - <property name="MemberName" /> - <property name="ShadowType">In</property> - <property name="BorderWidth">2</property> - <child> - <widget class="Gtk.Alignment" id="alignment1"> - <property name="MemberName" /> - <property name="LeftPadding">4</property> - <property name="TopPadding">4</property> - <property name="RightPadding">4</property> - <property name="BottomPadding">4</property> - <child> - <widget class="Gtk.VBox" id="vbox4"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.CheckButton" id="partialCheck"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Label" translatable="yes">_Partial view</property> - <property name="DrawIndicator">True</property> - <property name="HasLabel">True</property> - <property name="UseUnderline">True</property> - <signal name="Toggled" handler="UpdateMasterPanelSensitivity" /> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.CheckButton" id="stronglyTypedCheck"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Label" translatable="yes">_Strongly typed</property> - <property name="DrawIndicator">True</property> - <property name="HasLabel">True</property> - <property name="UseUnderline">True</property> - <signal name="Toggled" handler="UpdateTypePanelSensitivity" /> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Alignment" id="typePanel"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="Yalign">0</property> - <property name="LeftPadding">24</property> - <child> - <widget class="Gtk.HBox" id="hbox1"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Label" id="label3"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">_Data class:</property> - <property name="UseUnderline">True</property> - <property name="MnemonicWidget">dataClassCombo</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Alignment" id="dataClassAlignment"> - <property name="MemberName" /> - <child> - <widget class="Gtk.ComboBoxEntry" id="dataClassCombo"> - <property name="MemberName" /> - <property name="IsTextCombo">True</property> - <property name="Items" translatable="yes" /> - <signal name="Changed" handler="DataClassChanged" /> - </widget> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">False</property> - </packing> - </child> - </widget> - </child> - </widget> - <packing> - <property name="Position">2</property> - <property name="AutoSize">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.CheckButton" id="masterCheck"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Label" translatable="yes">Has _master page or layout:</property> - <property name="DrawIndicator">True</property> - <property name="HasLabel">True</property> - <property name="UseUnderline">True</property> - <signal name="Toggled" handler="UpdateMasterPanelSensitivity" /> - </widget> - <packing> - <property name="Position">3</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Alignment" id="masterPanel"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="Yalign">0</property> - <property name="LeftPadding">24</property> - <child> - <widget class="Gtk.VBox" id="vbox3"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.HBox" id="hbox4"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Label" id="label5"> - <property name="MemberName" /> - <property name="LabelProp" translatable="yes">_File:</property> - <property name="UseUnderline">True</property> - <property name="MnemonicWidget">masterEntry</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Entry" id="masterEntry"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="IsEditable">True</property> - <property name="InvisibleChar">●</property> - <signal name="Changed" handler="MasterChanged" /> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="masterButton"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Type">TextOnly</property> - <property name="Label" translatable="yes">...</property> - <property name="UseUnderline">True</property> - <signal name="Clicked" handler="ShowMasterSelectionDialog" /> - </widget> - <packing> - <property name="Position">2</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="placeholderBox"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Label" id="label2"> - <property name="MemberName" /> - <property name="LabelProp" translatable="yes">P_rimary placeholder: </property> - <property name="UseUnderline">True</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.ComboBoxEntry" id="primaryPlaceholderCombo"> - <property name="MemberName" /> - <property name="WidthRequest">250</property> - <property name="IsTextCombo">True</property> - <property name="Items" translatable="yes" /> - <signal name="Changed" handler="Validate" /> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> - <packing> - <property name="Position">4</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> - </child> - <child> - <widget class="Gtk.Label" id="GtkLabel6"> - <property name="MemberName" /> - <property name="LabelProp" translatable="yes">Options</property> - </widget> - <packing> - <property name="type">label_item</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - <child internal-child="ActionArea"> - <widget class="Gtk.HButtonBox" id="dialog1_ActionArea"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <property name="BorderWidth">5</property> - <property name="Size">2</property> - <property name="LayoutStyle">End</property> - <child> - <widget class="Gtk.Button" id="buttonCancel"> - <property name="MemberName" /> - <property name="CanDefault">True</property> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-cancel</property> - <property name="ResponseId">-6</property> - <property name="label">gtk-cancel</property> - </widget> - <packing> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="buttonOk"> - <property name="MemberName" /> - <property name="CanDefault">True</property> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-ok</property> - <property name="ResponseId">-5</property> - <property name="label">gtk-ok</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="Gtk.Dialog" id="MonoDevelop.AspNet.Mvc.Gui.AddControllerDialog" design-size="400 157"> - <property name="MemberName" /> - <property name="Title" translatable="yes">Add Controller</property> - <property name="WindowPosition">CenterOnParent</property> - <property name="Buttons">2</property> - <property name="HelpButton">False</property> - <child internal-child="VBox"> - <widget class="Gtk.VBox" id="dialog1_VBox"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <property name="BorderWidth">6</property> - <child> - <widget class="Gtk.Table" id="table1"> - <property name="MemberName" /> - <property name="NRows">2</property> - <property name="NColumns">2</property> - <property name="RowSpacing">6</property> - <property name="ColumnSpacing">6</property> - <child> - <widget class="Gtk.Label" id="label1"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">_Name:</property> - <property name="UseUnderline">True</property> - <property name="MnemonicWidget">nameEntry</property> - </widget> - <packing> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label2"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">_Template:</property> - <property name="UseUnderline">True</property> - <property name="MnemonicWidget">templateCombo</property> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Entry" id="nameEntry"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="IsEditable">True</property> - <property name="InvisibleChar">●</property> - <signal name="Changed" handler="Validate" /> - </widget> - <packing> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">False</property> - <property name="YOptions">Fill</property> - <property name="XExpand">True</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.ComboBox" id="templateCombo"> - <property name="MemberName" /> - <property name="IsTextCombo">True</property> - <property name="Items" translatable="yes" /> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">False</property> - <property name="YOptions">Fill</property> - <property name="XExpand">True</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - <child internal-child="ActionArea"> - <widget class="Gtk.HButtonBox" id="dialog1_ActionArea"> - <property name="MemberName" /> - <property name="Spacing">10</property> - <property name="BorderWidth">5</property> - <property name="Size">2</property> - <property name="LayoutStyle">End</property> - <child> - <widget class="Gtk.Button" id="buttonCancel"> - <property name="MemberName" /> - <property name="CanDefault">True</property> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-cancel</property> - <property name="ResponseId">-6</property> - <property name="label">gtk-cancel</property> - </widget> - <packing> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="buttonOk"> - <property name="MemberName" /> - <property name="CanDefault">True</property> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-ok</property> - <property name="ResponseId">-5</property> - <property name="label">gtk-ok</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> -</stetic-interface>
\ No newline at end of file diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.Mvc.dll b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.Mvc.dll Binary files differdeleted file mode 100755 index f05ae7c9bc..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.Mvc.dll +++ /dev/null diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.Razor.dll b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.Razor.dll Binary files differdeleted file mode 100755 index 59058c5346..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.Razor.dll +++ /dev/null diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.WebPages.Razor.dll b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.WebPages.Razor.dll Binary files differdeleted file mode 100755 index 0772e6e8b6..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.WebPages.Razor.dll +++ /dev/null diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.WebPages.dll b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.WebPages.dll Binary files differdeleted file mode 100755 index cb749797c1..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/System.Web.WebPages.dll +++ /dev/null diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/md-aspnet.snk b/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/md-aspnet.snk Binary files differdeleted file mode 100644 index be6bf28179..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/lib/md-aspnet.snk +++ /dev/null diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.csproj b/main/src/addins/AspNet/MonoDevelop.AspNet.csproj new file mode 100644 index 0000000000..26e3e80662 --- /dev/null +++ b/main/src/addins/AspNet/MonoDevelop.AspNet.csproj @@ -0,0 +1,499 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.30703</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</ProjectGuid> + <OutputType>Library</OutputType> + <AssemblyName>MonoDevelop.AspNet</AssemblyName> + <RootNamespace>MonoDevelop.AspNet</RootNamespace> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>True</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>..\..\..\build\AddIns\AspNet</OutputPath> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <Execution> + <Execution clr-version="Net_2_0" /> + </Execution> + <DefineConstants>DEBUG</DefineConstants> + <NoWarn>1591;1573</NoWarn> + <DocumentationFile>..\..\..\build\AddIns\AspNet\MonoDevelop.AspNet.xml</DocumentationFile> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>pdbonly</DebugType> + <Optimize>True</Optimize> + <OutputPath>..\..\..\build\AddIns\AspNet</OutputPath> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <Execution> + <Execution clr-version="Net_2_0" /> + </Execution> + <DebugSymbols>true</DebugSymbols> + <NoWarn>1591;1573</NoWarn> + <DocumentationFile>..\..\..\build\AddIns\AspNet\MonoDevelop.AspNet.xml</DocumentationFile> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + </PropertyGroup> + <ItemGroup> + <ProjectReference Include="..\..\core\MonoDevelop.Ide\MonoDevelop.Ide.csproj"> + <Project>{27096E7F-C91C-4AC6-B289-6897A701DF21}</Project> + <Name>MonoDevelop.Ide</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\core\MonoDevelop.Core\MonoDevelop.Core.csproj"> + <Project>{7525BB88-6142-4A26-93B9-A30C6983390A}</Project> + <Name>MonoDevelop.Core</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\MonoDevelop.DesignerSupport\MonoDevelop.DesignerSupport.csproj"> + <Project>{2C24D515-4A2C-445C-8419-C09231913CFA}</Project> + <Name>MonoDevelop.DesignerSupport</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\core\Mono.Texteditor\Mono.TextEditor.csproj"> + <Project>{A2329308-3751-4DBD-9A75-5F7B8B024625}</Project> + <Name>Mono.TextEditor</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\MonoDevelop.Refactoring\MonoDevelop.Refactoring.csproj"> + <Project>{100568FC-F4E8-439B-94AD-41D11724E45B}</Project> + <Name>MonoDevelop.Refactoring</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\MonoDevelop.SourceEditor2\MonoDevelop.SourceEditor.csproj"> + <Project>{F8F92AA4-A376-4679-A9D4-60E7B7FBF477}</Project> + <Name>MonoDevelop.SourceEditor</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\..\external\nrefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj"> + <Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project> + <Name>ICSharpCode.NRefactory</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\..\external\nrefactory\ICSharpCode.NRefactory.CSharp\ICSharpCode.NRefactory.CSharp.csproj"> + <Project>{53DCA265-3C3C-42F9-B647-F72BA678122B}</Project> + <Name>ICSharpCode.NRefactory.CSharp</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\MonoDevelop.Debugger\MonoDevelop.Debugger.csproj"> + <Project>{2357AABD-08C7-4808-A495-8FF2D3CDFDB0}</Project> + <Name>MonoDevelop.Debugger</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\..\external\mono-addins\Mono.Addins\Mono.Addins.csproj"> + <Project>{91DD5A2D-9FE3-4C3C-9253-876141874DAD}</Project> + <Name>Mono.Addins</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\..\external\debugger-libs\Mono.Debugging\Mono.Debugging.csproj"> + <Project>{90C99ADB-7D4B-4EB4-98C2-40BD1B14C7D2}</Project> + <Name>Mono.Debugging</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\..\external\xwt\Xwt\Xwt.csproj"> + <Project>{92494904-35FA-4DC9-BDE9-3A3E87AC49D3}</Project> + <Name>Xwt</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\TextTemplating\MonoDevelop.TextTemplating\MonoDevelop.TextTemplating.csproj"> + <Project>{8CCA39DD-8412-4547-BE7F-0C3D3ACC6FAC}</Project> + <Name>MonoDevelop.TextTemplating</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\TextTemplating\Mono.TextTemplating\Mono.TextTemplating.csproj"> + <Project>{A2364D6A-00EF-417C-80A6-815726C70032}</Project> + <Name>Mono.TextTemplating</Name> + <Private>False</Private> + </ProjectReference> + <Reference Include="System.Web.Razor"> + <HintPath>..\..\..\packages\Microsoft.AspNet.Razor.2.0.30506.0\lib\net40\System.Web.Razor.dll</HintPath> + </Reference> + <Reference Include="System.Web.Helpers"> + <HintPath>..\..\..\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.Helpers.dll</HintPath> + </Reference> + <Reference Include="System.Web.WebPages.Deployment"> + <HintPath>..\..\..\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.WebPages.Deployment.dll</HintPath> + </Reference> + <Reference Include="System.Web.WebPages"> + <HintPath>..\..\..\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.WebPages.dll</HintPath> + </Reference> + <Reference Include="System.Web.WebPages.Razor"> + <HintPath>..\..\..\packages\Microsoft.AspNet.WebPages.2.0.30506.0\lib\net40\System.Web.WebPages.Razor.dll</HintPath> + </Reference> + <Reference Include="System.Web.Mvc"> + <HintPath>..\..\..\packages\Microsoft.AspNet.Mvc.4.0.30506.0\lib\net40\System.Web.Mvc.dll</HintPath> + </Reference> + <ProjectReference Include="..\Xml\MonoDevelop.Xml.csproj"> + <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> + <Name>MonoDevelop.Xml</Name> + <Private>False</Private> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Web" /> + <Reference Include="System.Drawing.Design" /> + <Reference Include="System.Design" /> + <Reference Include="System.Drawing" /> + <Reference Include="System.Configuration" /> + <Reference Include="System.Core" /> + <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> + <SpecificVersion>False</SpecificVersion> + </Reference> + <Reference Include="System.Xml.Linq" /> + <Reference Include="Mono.Posix" /> + <Reference Include="System.ServiceModel" /> + <Reference Include="System.Runtime.Serialization" /> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="Properties\MonoDevelop.AspNet.addin.xml"> + <LogicalName>MonoDevelop.AspNet.addin.xml</LogicalName> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <Compile Include="Html\HtmlSchemaService.cs" /> + <Compile Include="Html\HtmlSchema.cs" /> + <Compile Include="Html\DocTypeExtensionNode.cs" /> + <Compile Include="Html\DocTypeCompletionData.cs" /> + <Compile Include="Html\HtmlParser.cs" /> + <Compile Include="Html\ElementTypes.cs" /> + <Compile Include="Razor\Parser\RazorSymbols.cs" /> + <Compile Include="Razor\Parser\RazorUtils.cs" /> + <Compile Include="Razor\RazorSyntaxMode.cs" /> + <Compile Include="Razor\RazorCSharpFormatter.cs" /> + <Compile Include="Razor\EditorParserFixed\BackgroundParser.cs" /> + <Compile Include="Razor\EditorParserFixed\CommonResources.Designer.cs" /> + <Compile Include="Razor\EditorParserFixed\DisposableAction.cs" /> + <Compile Include="Razor\EditorParserFixed\RazorEditorParser.cs" /> + <Compile Include="Razor\EditorParserFixed\RazorEditorTrace.cs" /> + <Compile Include="Razor\EditorParserFixed\RazorResources.Designer.cs" /> + <Compile Include="Projects\AspMvcProject.cs" /> + <Compile Include="Projects\AspMvcProjectConfiguration.cs" /> + <Compile Include="Projects\AspNetAppProject.cs" /> + <Compile Include="Projects\AspNetAppProjectBinding.cs" /> + <Compile Include="Projects\AspNetAppProjectConfiguration.cs" /> + <Compile Include="Projects\AspNetMSBuildImportProvider.cs" /> + <Compile Include="WebForms\MasterContentFileDescriptionTemplate.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="Properties\AddinInfo.cs" /> + <Compile Include="WebForms\ILanguageCompletionBuilder.cs" /> + <Compile Include="Html\HtmlEditorExtension.cs" /> + <Compile Include="Html\Parser\HtmlClosingTagState.cs" /> + <Compile Include="Html\Parser\HtmlScriptBodyState.cs" /> + <Compile Include="Html\Parser\HtmlTagState.cs" /> + <Compile Include="Projects\MvcTextTemplateHost.cs" /> + <Compile Include="Html\BaseHtmlEditorExtension.cs" /> + <Compile Include="Razor\Parser\RazorCodeBlockState.cs" /> + <Compile Include="Razor\Parser\RazorCodeFragmentState.cs" /> + <Compile Include="Razor\Parser\RazorCommentState.cs" /> + <Compile Include="Razor\Parser\RazorDirectiveState.cs" /> + <Compile Include="Razor\Parser\RazorExpressionState.cs" /> + <Compile Include="Razor\Parser\RazorSpeculativeState.cs" /> + <Compile Include="Razor\Parser\RazorState.cs" /> + <Compile Include="Razor\Parser\RazorStatementState.cs" /> + <Compile Include="Razor\Parser\StateEngineService.cs" /> + <Compile Include="Razor\IRazorCompletionBuilder.cs" /> + <Compile Include="Razor\RazorCompletion.cs" /> + <Compile Include="Razor\RazorCSharpEditorExtension.cs" /> + <Compile Include="Projects\WebSubtype.cs" /> + <Compile Include="Execution\AspNetExecutionCommand.cs" /> + <Compile Include="Execution\AspNetExecutionHandler.cs" /> + <Compile Include="Execution\LineInterceptingTextWriter.cs" /> + <Compile Include="Execution\XspParameters.cs" /> + <Compile Include="Execution\BrowserLauncher.cs" /> + <Compile Include="Execution\XspOptionsPanel.cs" /> + <Compile Include="Execution\XspOptionsPanelWidget.cs" /> + <Compile Include="Execution\XspBrowserLauncherConsole.cs" /> + <Compile Include="Html\HtmlPathCompletion.cs" /> + <Compile Include="WebForms\WebFormsEditorExtension.cs" /> + <Compile Include="WebForms\WebFormsSyntaxMode.cs" /> + <Compile Include="WebForms\WebFormsToolboxLoader.cs" /> + <Compile Include="WebForms\WebFormsToolboxNode.cs" /> + <Compile Include="WebForms\WebFormsMemberListBuilder.cs" /> + <Compile Include="WebForms\WebFormsRegistrationCache.cs" /> + <Compile Include="WebForms\WebFormsToolboxProvider.cs" /> + <Compile Include="WebForms\WebFormsCodeBehind.cs" /> + <Compile Include="WebForms\WebFormsCodeBehindTypeNameCache.cs" /> + <Compile Include="WebForms\Parser\WebFormsAttributeValueState.cs" /> + <Compile Include="WebForms\Parser\WebFormsServerCommentState.cs" /> + <Compile Include="WebForms\Parser\WebFormsDirectiveState.cs" /> + <Compile Include="WebForms\Parser\WebFormsDirectiveAttributeState.cs" /> + <Compile Include="WebForms\Parser\WebFormsExpressionState.cs" /> + <Compile Include="WebForms\Dom\WebFormsDirective.cs" /> + <Compile Include="WebForms\Dom\WebFormsExpression.cs" /> + <Compile Include="WebForms\Dom\WebFormsRenderExpression.cs" /> + <Compile Include="WebForms\Dom\WebFormsHtmlEncodedExpression.cs" /> + <Compile Include="WebForms\Dom\WebFormsBindingExpression.cs" /> + <Compile Include="WebForms\Dom\WebFormsResourceExpression.cs" /> + <Compile Include="WebForms\Dom\WebFormsServerComment.cs" /> + <Compile Include="WebForms\Dom\WebFormsDomExtensions.cs" /> + <Compile Include="WebForms\Dom\WebFormsRenderBlock.cs" /> + <Compile Include="Razor\Dom\RazorComment.cs" /> + <Compile Include="Razor\Dom\RazorCodeFragment.cs" /> + <Compile Include="Razor\Dom\RazorCodeBlock.cs" /> + <Compile Include="Razor\Dom\RazorDirective.cs" /> + <Compile Include="Razor\Dom\RazorStatement.cs" /> + <Compile Include="Razor\Dom\RazorImplicitExpression.cs" /> + <Compile Include="Razor\Dom\RazorExplicitExpression.cs" /> + <Compile Include="Razor\Dom\RazorExpression.cs" /> + <Compile Include="WebForms\WebFormsDirectiveCompletion.cs" /> + <Compile Include="Razor\Parser\RazorOutlineNode.cs" /> + <Compile Include="Commands\AddControllerDialog.cs" /> + <Compile Include="Commands\AddViewDialog.cs" /> + <Compile Include="Commands\AspNetCommands.cs" /> + <Compile Include="Commands\GoToViewCommandHandler.cs" /> + <Compile Include="Commands\AddViewFromControllerCommandHandler.cs" /> + <Compile Include="Commands\GoToControllerCommandHandler.cs" /> + <Compile Include="Commands\MvcCommandsCommonHandler.cs" /> + <Compile Include="ProjectPad\AspNetFolderNodeBuilderExtension.cs" /> + <Compile Include="ProjectPad\AspNetFolderNodeCommandHandler.cs" /> + <Compile Include="ProjectPad\AspNetProjectNodeBuilderExtension.cs" /> + <Compile Include="ProjectPad\AspNetProjectNodeCommandHandler.cs" /> + <Compile Include="Razor\Generator\FileUtil.cs" /> + <Compile Include="Razor\Generator\MarkupRewriter.cs" /> + <Compile Include="Razor\Generator\PreprocessedAttributeBlockCodeGenerator.cs" /> + <Compile Include="Razor\Generator\PreprocessedAttributeRewriter.cs" /> + <Compile Include="Razor\Generator\PreprocessedCSharpRazorCodeParser.cs" /> + <Compile Include="Razor\Generator\PreprocessedDynamicAttributeBlockCodeGenerator.cs" /> + <Compile Include="Razor\Generator\PreprocessedLiteralAttributeCodeGenerator.cs" /> + <Compile Include="Razor\Generator\PreprocessedRazorHost.cs" /> + <Compile Include="Razor\Generator\PreprocessedTemplateCodeTransformer.cs" /> + <Compile Include="Razor\Generator\RazorTemplatePreprocessor.cs" /> + <Compile Include="Razor\Generator\RazorWriterHelper.cs" /> + <Compile Include="Razor\Generator\RewritingRazorTemplateEngine.cs" /> + <Compile Include="Projects\AspNetMvcFileTemplateCondition.cs" /> + <Compile Include="WebForms\WebFormsParser.cs" /> + <Compile Include="WebForms\WebFormsParsedDocument.cs" /> + <Compile Include="WebForms\WebFormsPageInfo.cs" /> + <Compile Include="WebForms\SuggestedHandlerCompletionData.cs" /> + <Compile Include="Razor\Parser\RazorRootState.cs" /> + <Compile Include="WebForms\Parser\WebFormsRootState.cs" /> + <Compile Include="Razor\RazorCSharpParser.cs" /> + <Compile Include="Razor\RazorCSharpParsedDocument.cs" /> + <Compile Include="Razor\RazorPageInfo.cs" /> + <Compile Include="WebForms\WebFormsTypeContext.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="Makefile.am" /> + <None Include="packages.config" /> + <None Include="Razor\Razor-templates.xml"> + <SubType>Designer</SubType> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="CodeTemplates\CSharp\AddController\ControllerWithEmptyReadAndWriteActions.tt"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="CodeTemplates\CSharp\AddController\Empty.tt"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="CodeTemplates\CSharp\AddView\Aspx\Empty.tt"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="CodeTemplates\CSharp\AddView\Razor\Empty.tt"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\Controller.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\GlobalAsax.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\LayoutPage.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\PartialViewPageRazor.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\UserControl.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\ViewContentPage.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\ViewMasterPage.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\ViewPage.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\ViewPageRazor.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\WebConfigApp.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Mvc\WebConfigViews.xft.xml"> + <SubType>Designer</SubType> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebConfig-Application.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebConfig-SubDir.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\GlobalAsax-Empty.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\GlobalAsax-CodeBehind.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\MasterPage-CodeBehind.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\MasterPage-Empty.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\NestedMasterPage.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\WebContentForm.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\WebControl-Empty.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\WebForm-CodeBehind.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\NestedMasterPage-CodeBehind.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\WebControl-CodeBehind.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\WebForm-Empty.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\WebHandler-CodeBehind.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\WebService-Empty.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\WebService-CodeBehind.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\WebHandler-Empty.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\WebForms\WebContentForm-CodeBehind.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\PreprocessedRazorTemplate.xft.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\MvcCommon\_Layout.cshtml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\MvcCommon\_ViewStart.cshtml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\MvcCommon\Error.cshtml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\MvcCommon\HomeController.cs"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\MvcCommon\HomeControllerTest.cs"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\MvcCommon\Index.cshtml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\MvcCommon\ViewPageRazor.cshtml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Projects\MvcProjectWithUnitTest.xpt.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Projects\MvcProject.xpt.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Projects\EmptyProject.xpt.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Projects\EmptyMvcProject.xpt.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Projects\MvcRazorProject.xpt.xml"> + <SubType>Designer</SubType> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Projects\MvcRazorProjectWithUnitTest.xpt.xml"> + <SubType>Designer</SubType> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="Templates\Projects\WebApplication.xpt.xml"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + </ItemGroup> + <ItemGroup> + <Content Include="Html\Schemas\readme.txt"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="Html\Schemas\W3C-License.html"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="Html\Schemas\xhtml1-frameset.xsd"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="Html\Schemas\xhtml1-strict.xsd"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + <Content Include="Html\Schemas\xhtml1-transitional.xsd"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <ProjectExtensions> + <MonoDevelop> + <Properties> + <Policies> + <DotNetNamingPolicy DirectoryNamespaceAssociation="PrefixedHierarchical" ResourceNamePolicy="FileName" /> + </Policies> + </Properties> + </MonoDevelop> + </ProjectExtensions> + <ItemGroup> + <Folder Include="WebForms\" /> + <Folder Include="Razor\" /> + <Folder Include="Templates\WebForms\" /> + <Folder Include="Projects\" /> + <Folder Include="Properties\" /> + <Folder Include="Html\Parser\" /> + <Folder Include="Html\Schemas\" /> + <Folder Include="Execution\" /> + <Folder Include="WebForms\Dom\" /> + <Folder Include="Razor\Dom\" /> + <Folder Include="Commands\" /> + <Folder Include="ProjectPad\" /> + <Folder Include="Templates\Projects\" /> + </ItemGroup> + <Target Name="BeforeBuild"> + <PropertyGroup> + <NuGet>..\..\..\external\nuget-binary\NuGet.exe</NuGet> + <NuGet Condition="$(OS)=='Unix'">mono $(NuGet)</NuGet> + <SlnDir>..\..\..</SlnDir> + </PropertyGroup> + <Exec Command="$(NuGet) restore -SolutionDirectory $(SlnDir)" /> + </Target> +</Project> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/ChangeLog b/main/src/addins/AspNet/MonoDevelop.AspNet/ChangeLog deleted file mode 100644 index 4b94c7347a..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/ChangeLog +++ /dev/null @@ -1,3359 +0,0 @@ -2010-07-21 Mike Krüger <mkrueger@novell.com> - - * Makefile.am: - * MonoDevelop.AspNet.csproj: - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: Track API changes. - -2010-07-21 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Track API changes. - -2010-07-18 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetToolboxNode.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track API - changes.- - -2010-07-18 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetToolboxNode.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Use - TextEditorData infrastructure. - -2010-07-18 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track API - changes. - -2010-07-17 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Track API changes. - -2010-07-17 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Changed - highlighting. - -2010-07-16 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Track API changes. - -2010-07-15 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fixed 'Bug - 621658 - Parameter hints disappear afterkeystroke'. - -2010-07-15 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Worked - on 'Bug 621658 - Parameter hints disappear afterkeystroke'. - -2010-07-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Added styles for - templated regions in files, e.g. ASP.NET and T4. - -2010-07-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Html/HtmlParser.cs: - * MonoDevelop.AspNet/CodeBehind.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet.Parser/AspNetParser.cs: - * MonoDevelop.AspNet/AspNetParserService.cs: - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Track - ProjectDomService/Parser API. - - * MonoDevelop.AspNet.addin.xml: Track ProjectDomService/Parser - API. Also, treat spark files as html. - -2010-07-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspProjectDom.cs: Workaround for gmcs - bug. - -2010-06-16 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Fixed 'Bug 611859 - - aspx highlighting issues'. - -2010-06-14 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetExecutionHandler.cs: Track api - changes. - -2010-06-07 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs: Track - SingleFileDescription template API. - -2010-06-04 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Fixed 'Bug 611558 - - Phantom text in editor after typing </script>'. - -2010-06-04 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Partial - support for HTML encoded expressions and script blocks. - -2010-06-04 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetDom.cs: - * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs: Add - support for HTML encoded expressions in the state engine. - - * MonoDevelop.AspNet.StateEngine/HtmlTagState.cs: - * MonoDevelop.AspNet.StateEngine/HtmlScriptBodyState.cs: - Support for HTML script blocks. - - * Makefile.am: - * MonoDevelop.AspNet.csproj: Added file to project. - -2010-06-02 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Worked - on ASP.NET completion. - -2010-05-31 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.csproj: Don't require a specific M.A - version. - -2010-05-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: Moved duplicate field - elimination code into re-usable method. - - * MonoDevelop.AspNet.Gui/AspProjectDom.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Added - support for CodeBeside members in embedded completion. - - * MonoDevelop.AspNet.Parser/MemberListVisitor.cs: Collect - locations of items. - -2010-05-29 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * MonoDevelop.AspNet.csproj: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/RegistrationCache.cs: - * MonoDevelop.AspNet/ProjectRegisteredControls.cs: Change the - file info caches so that they don't constantly stat the - disk. Instead, they use the project file events to flush - items. - -2010-05-29 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/ProjectRegisteredControls.cs: Fix control - registration. - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Use - directory for config search, not filename. - -2010-05-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Get the web.config - name from the project. Fixes Bug 610066 - Adding a reference - to an ASP.NET MVC project causes Web.config to be renamed - "web.config". - - -2010-05-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/PageInfo.cs: More granular version - of the NRE fix. - -2010-05-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/PageInfo.cs: Fix an NRE. - -2010-05-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: Cache ProjectDoms. - -2010-05-28 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * MonoDevelop.AspNet.csproj: Added AspProjectDom to project. - - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: - DocumentInfo now contains the usings, ProjectDoms, script - region list, class name, base type. - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Only - rebuild the DocumentInfo when we get a new - AspNetParsedDocument, not on every keystroke. Track APIs. - - * MonoDevelop.AspNet.Gui/AspProjectDom.cs: Moved from - DomWrapper in AspNetCompletion.cs. - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Added - APIs for getting the usings and ProjectDoms for the - document. - -2010-05-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Missed a file in - previous commit. - -2010-05-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Pass - the full list of usings to the ILanguageCompletionBuilder. - - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet/ProjectRegisteredControls.cs: - Registration cache now tracks imports and assembly - registrations. - - * Makefile.am: - * MonoDevelop.AspNet.csproj: Add Sysytem.Xml.Linq reference. - -2010-05-28 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.Html/PathCompletion.cs: - * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: - Fix incorrect use of ShowCustomDialog/RunCustomDialog. - -2010-05-27 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: - * MonoDevelop.AspNet.Parser/MemberListVisitor.cs: - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Fixed Bug - 524051 - .as?x.designer.cs code generated by MonoDevelop - includes fields already present in the main class. - -2010-05-27 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet/AspNetToolboxNode.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Move - all the WebTypeManager static utility-type methods onto a - WebTypeContext class. Reduces arguments and will make it - easier to cache stuff. - -2010-05-26 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: Added method for - getting the IType for an HTML control. - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Added - method for looking up IType of arbitrary tag. - -2010-05-26 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProjectBinding.cs: Fix creating - ASP.NET single file projects. Fixes Bug 603521 - Command - errors opening aspx file. - -2010-05-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Deployment/WebDeployService.cs: - * MonoDevelop.AspNet.Deployment/WebDeployOptionsPanelWidget.cs: - Clean up dialog placement. - -2010-05-19 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Make - prefix generation and directive insertion APIs more - flexible. - - * MonoDevelop.AspNet.Parser/PageInfo.cs: Make it possible to - inject directives to an existing info. - - * Makefile.am: - * MonoDevelop.AspNet.csproj: - * MonoDevelop.AspNet.Parser/PageDirectiveVisitor.cs: Removed - unneeded class. - - * MonoDevelop.AspNet/AspNetToolboxNode.cs: Use new - ItextToolboxItem and DocumentReferenceManager APIs to insert - new directives into the DOM only when the item is actually - inserted into the editor. Fixes Bug 543721 - Auto-added - control directives sometimes fail. - -2010-05-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/PageInfo.cs: - * MonoDevelop.AspNet.Parser/AspNetParser.cs: - * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: - * MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs: Collect - more information from the document for C# completion. - -2010-05-18 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * gtk-gui/gui.stetic: - * MonoDevelop.AspNet.csproj: - * MonoDevelop.AspNet/CodeBehind.cs: - * MonoDevelop.AspNet.Parser/Document.cs: - * MonoDevelop.AspNet.Parser/PageInfo.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: - * MonoDevelop.AspNet/AspNetToolboxNode.cs: - * MonoDevelop.AspNet.Parser/AspNetParser.cs: - * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: - * MonoDevelop.AspNet/AspNetToolboxProvider.cs: - * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: - * MonoDevelop.AspNet.Parser/MemberListVisitor.cs: - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs: - * MonoDevelop.AspNet.Parser/PageDirectiveVisitor.cs: - * MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: - * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: - Heavy refactoring and tidying of ASP.NET parser code to - support future changes. - -2010-05-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: Fix Bug - 602154 - bin/ directory not created when building ASP.Net - Web Application template. - -2010-05-11 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.Html/PathCompletion.cs: - * MonoDevelop.Html/DocTypeCompletionData.cs: - * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: - Track API changes. - -2010-05-07 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetExecutionHandler.cs: Fix checks to - allow .NET 4. - -2010-04-28 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.Html/PathCompletion.cs: - * MonoDevelop.Html/DocTypeCompletionData.cs: - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: - Track API changes. - -2010-04-26 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Worked on - ASP.NET highlighting. - -2010-04-21 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Worked on - ASP.NET completion. - -2010-04-20 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Worked on - ASP.NET completion. - -2010-04-20 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: fixed - ASP.NET completion. - -2010-04-19 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Worked - on ASP.NET completion. - -2010-03-22 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.AspNet.addin.xml: Bumped MD version. - -2010-03-17 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.csproj: Remove import off mono.addins - targets. - -2010-03-17 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * gtk-gui/gui.stetic: - * MonoDevelop.AspNet.csproj: - * MonoDevelop.AspNet.addin.xml: - * MonoDevelop.Html/PathCompletion.cs: - * MonoDevelop.AspNet/XspParameters.cs: - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.Html/HtmlSchemaService.cs: - * MonoDevelop.AspNet.Parser/Document.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet.Parser/Directive.cs: - * MonoDevelop.AspNet/AspNetToolboxNode.cs: - * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: - * MonoDevelop.AspNet.Gui/XspOptionsPanel.cs: - * MonoDevelop.Html/DocTypeCompletionData.cs: - * MonoDevelop.AspNet.Completion/SimpleLists.cs: - * MonoDevelop.Html/HtmlCompletionDataProvider.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: - * MonoDevelop.AspNet.Deployment/WebDeployService.cs: - * MonoDevelop.AspNet.Deployment/WebDeployCommands.cs: - * MonoDevelop.AspNet.Gui/AspNetConfigurationPanel.cs: - * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: - * MonoDevelop.AspNet.Deployment/WebDeployLaunchDialog.cs: - * MonoDevelop.AspNet.Deployment/WebDeployOptionsPanel.cs: - * MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs: - * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: - Merged MD.Projects into MD.Core, and MD.Projects.Gui, - MD.Core.Gui and MD.Components into MD.Ide. - -2010-03-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/Directive.cs: - * MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs: - Track ProjectFile Link API. - -2010-02-18 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.Html/PathCompletion.cs: - * MonoDevelop.Html/DocTypeCompletionData.cs: - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: - Track api changes. - -2010-02-16 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.addin.xml: Added some conditions to avoid - early loading of extensions. - - * MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: File - extensions are now declared in the node metadata. - -2010-01-28 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/generated.cs: - * gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs: - * gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs: - Flush. - -2010-01-28 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetMSBuildImportProvider.cs: Track api - changes. - -2010-01-27 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.Html/PathCompletion.cs: - * MonoDevelop.Html/DocTypeCompletionData.cs: - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: - Track API changes. - -2010-01-14 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Implement - the new SupportsItem method. - -2010-01-08 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/LineInterceptingTextWriter.cs: fixed - possible null ref. - -2010-01-07 mkrueger <${AuthorEmail}> - - * MonoDevelop.AspNet/LineInterceptingTextWriter.cs: Fixed null - reference exception. - -2009-12-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetExecutionHandler.cs: Use "xsp1" not - "xsp", but include a fallback so that it still works without - wrapper scripts, as xsp1 is xsp.exe. - -2009-12-07 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * MonoDevelop.AspNet.csproj: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/LineInterceptingTextWriter.cs: Move the - LineInterceptingTextWriter to another file and make it - public. Implement proper support for crlf. - -2009-12-07 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Scan a few more - output lines to check whether xsp has started. - -2009-12-04 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: Scan xsp output - for "Listening on port: " to detect when it's started, - instead of polling the server. - -2009-12-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Deployment/WebDeployService.cs: Name - threads to make debugging easier. - -2009-12-02 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Worked - on ASP.NET code completion. - -2009-12-01 Mike Krüger <mkrueger@novell.com> - - * Makefile.am: - * MonoDevelop.AspNet.csproj: - * MonoDevelop.AspNet.addin.xml: - * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: - * MonoDevelop.AspNet.Parser.Dom/ExpressionNode.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs: Worked - on ASP.NET code completion. - -2009-12-01 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: - * MonoDevelop.AspNet.Deployment/WebDeployService.cs: - * MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs: - Introduced the ConfigurationSelector class to all methods - that previously took a configuration name as string. This - eliminates the ambiguity between solution configuration - names and project configuration names. - -2009-11-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Track API. Set - UserAssemblyPaths. Get correct configuration. - - * MonoDevelop.AspNet/AspNetExecutionCommand.cs: Add property - for list of user assemblies. - -2009-11-19 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix bad - flags manipulation. Fixes Bug 556514 - asp.net Autogenerated - function are not public. - -2009-11-11 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: Strip the implicit - namespace from the generated compilation unit. Required for - VB. - -2009-11-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: - Simplify creation of new ASP.NET MVC configurations. - -2009-11-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.csproj: Wire the soft debug addin into - the build. - -2009-10-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: Fake a - IProcessAsyncOperation so that is can be returned from an - execution handler. - -2009-10-30 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.AspNet.addin.xml: Bump MD version. - -2009-10-29 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/generated.cs: - * gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs: - * gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs: - Flush. - -2009-10-09 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track - namespace renamings. - -2009-10-08 Ankit Jain <jankit@novell.com> - - * MonoDevelop.AspNet.csproj: Mark *-sharp references, - with SpecificVersion=false. Import md.targets . - -2009-10-07 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.AspNet.addin.xml: Bump MD version. - -2009-10-06 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * MonoDevelop.AspNet.csproj: Update. - - * MonoDevelop.Html/PathCompletion.cs: Creates completion lists - for picking file paths. - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Tweak API - so classes can return completion lists instead of modifying - one they're given. - - * MonoDevelop.AspNet.Parser/Directive.cs: Complete paths for - register src and for masterpagefile. Finally fix the - register directive attribute completion too. - -2009-10-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.Html/DocTypeCompletionData.cs: - * MonoDevelop.AspNet/ProjectRegisteredControls.cs: - * MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs: Use - ordinal string compares where appropriate. - -2009-10-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Take - tag name into account when resolving type from control - registration directives. Only compare prefix once per - directive, and use case-insensitive ordinal comparisons. - Fixes bug #543727. - -2009-10-01 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: Resolve user - controls from referenced projects. Fixes "Bug 519651 - - Custom Controls cannot be registered in ASP.NET pages". - -2009-09-30 Michael Hutchinson <mhutchinson@novell.com> - - * gtk-gui/gui.stetic: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs: - Enable horizontal scroll so the dialog doesn't get - oversized. - -2009-09-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Tidy up a - few things, and fix some FIXMEs. - -2009-09-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: Add a cache for - codebehind type names. - - * MonoDevelop.AspNet/ProjectRegisteredControls.cs: Factor out - FileInfoCache from the control registration cache, so we can - use it for a type name cache. - - * MonoDevelop.AspNet/WebTypeManager.cs: Type UserControls with - the type of this CodeBehind, if it can be looked up. - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Fix a - couple of small bugs in UserControl type lookups. - -2009-09-21 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Found a better way - of removing the encoding declaration from the header. - -2009-09-21 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Omit the xml - declaration when saving the .config file, because it is - declaring the utf-16 encoding, which wrong when saving the - content to a utf-8 file. Fixes bug #537846 - Editing - .aspx-files throws 'Error in text editor extension - chain'-exception. - -2009-09-16 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet\AspNetExecutionHandler.cs: Set DEVPATH to - the path of xsp. Required on Windows, so that .NET can find - Mono.Web. - - * MonoDevelop.AspNet\AspNetAppProject.cs: Moved the XSP check - to the execution handler. - -2009-09-12 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.Html/DocTypeCompletionData.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: - Track API changes. - -2009-09-01 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.csproj: Don't require a specific version - for Mono.Addins. - -2009-08-26 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/gui.stetic: Update gtk# dependency. - -2009-08-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetExecutionCommand.cs: - * MonoDevelop.AspNet/AspNetExecutionHandler.cs: Run xsp on the - correct target runtime. Support using a bundled xsp if it - doesn't exist in the target runtime. - -2009-08-19 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * MonoDevelop.AspNet.csproj: - * MonoDevelop.AspNet.addin.xml: - * MonoDevelop.AspNet/AspNetMSBuildImportProvider.cs: Use the - new extension point for generating msbuild imports. - -2009-08-13 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetToolboxLoader.cs: - * MonoDevelop.AspNet/AspNetToolboxProvider.cs: Use the new - AssemblyContext class to query and resolve assemblies. - -2009-08-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.csproj: Include the ASP.NET MVC and - TextTemplating addins in the main solution and build. - -2009-08-10 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.csproj: Don't local-copy project references. - -2009-08-06 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: - Override and implement CopyFrom. Should allow the config - editing panel to store values. - -2009-08-04 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.csproj: Don't local copy assemblies. - -2009-07-31 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs: - Flush. - -2009-07-31 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs: - Flush. - -2009-07-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetConfigurationPanel.cs: - * MonoDevelop.AspNet.Gui/AspNetConfigurationPanelWidget.cs: - Remove unnecessary field. - -2009-07-28 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * gtk-gui/gui.stetic: - * AspNetAddIn.csproj: - * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: - * gtk-gui/MonoDevelop.AspNet.Gui.AspNetFileSelector.cs: - * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: - Move AspNetFileSelector to - MonoDevelop.Project.Gui.Dialogs.ProjectFileSelectorDialog. - -2009-07-24 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetAppProjectBinding.cs: Track api - changes. Patch by Viktoria Dudka. - -2009-07-17 Mike Krüger <mkrueger@novell.com> - - * Makefile.am: - * AspNetAddIn.csproj: Fixed build. - -2009-07-16 Mike Krüger <mkrueger@novell.com> - - * Makefile.am: - * AspNetAddIn.csproj: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Started to - work on ASP.NET code completion. - -2009-07-15 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Worked on - highlighting support for code blocks. - -2009-07-14 Mike Krüger <mkrueger@novell.com> - - * Makefile.am: - * AspNetAddIn.csproj: - * MonoDevelop.AspNet.addin.xml: - * MonoDevelop.AspNet/AspNetSyntaxMode.cs: Added ASP.NET C# - region syntax highlighting. - -2009-07-06 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Properly map the - configuration name to a configuration. - -2009-07-06 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebForm-Empty.xft.xml: - * Templates/WebApplication.xpt.xml: - * Templates/MasterPage-Empty.xft.xml: - * Templates/WebForm-CodeBehind.xft.xml: - * Templates/MasterPage-CodeBehind.xft.xml: - * Templates/WebForm-CodeBehindNonPartial.xft.xml: - * Templates/MasterPage-CodeBehindNonPartial.xft.xml: Make head - tag into server tag so that theming works. Patch from - Alfredo De Vito. - -2009-07-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: Move CodeBehindWriter from - MonoDevelop.AspNet to MonoDevelop.DesignerSupport. - -2009-06-23 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetToolboxNode.cs: - * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: - * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Use the new - DesktopService instead of PlatformService. - -2009-06-15 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: Track assembly lookup - APIs. Fix bad logic that could cause NRE. - - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetToolboxLoader.cs: - * MonoDevelop.AspNet/AspNetToolboxProvider.cs: Track assembly - lookup APIs. - -2009-05-21 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs: - * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: - Track api changes. - -2009-05-19 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet\CodeBehind.cs: - * MonoDevelop.AspNet\AspNetAppProject.cs: - * MonoDevelop.AspNet.Gui\AspNetFileSelector.cs: - * MonoDevelop.AspNet\ProjectFolderNodeBuilderExtension.cs: Use - the new FilePath class for handling file and directory - paths. - -2009-04-27 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetExecutionCommand.cs: Added - TargetRuntime parameter to AspNetExecutionComand. - -2009-04-27 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs: Track - API changes. - -2009-04-23 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: Notify fileservice when a - file that isn't open has been changed. Fixes "Bug 496278 - - C# completion doesn't update when designer codebehind is - updated". - -2009-04-23 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebContentForm-CodeBehind.xft.xml: Fix the - DependsOn value. Thanks to Dax@daxxfiles.net for the patch. - -2009-04-20 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * AspNetAddIn.csproj: - * MonoDevelop.AspNet.addin.xml: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetExecutionHandler.cs: - * MonoDevelop.AspNet/AspNetExecutionCommand.cs: Use an - IExecutionHandler and an ExecutionCommand to handle the - execution of asp.net projects. This will allow supporting - special execution modes such as debug or profile. - -2009-04-20 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Renamed - PixbufService to ImageService. - -2009-04-20 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Track API - changes. - - -2009-04-17 Mike Kestner <mkestner@novell.com> - - * AspNetAddin.csproj: don't require specific gtk-sharp version. - -2009-04-17 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Removed icon - service. - -2009-04-16 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetToolboxNode.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Moved - SystemAssemblyService and related classes to the namespace - MonoDevelop.Core.Assemblies. - -2009-04-15 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.AspNet.addin.xml: Bump MD version. - -2009-04-15 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetToolboxNode.cs: - * MonoDevelop.AspNet/AspNetToolboxLoader.cs: - * MonoDevelop.AspNet/AspNetToolboxProvider.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Track - api changes to support multiple target runtimes. - -2009-04-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: - Add a using. - -2009-03-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Fix output directory - for newly created projects, since DotNetProject changes it - during project creation. - -2009-03-17 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.Html/HtmlParser.cs: - * MonoDevelop.AspNet.Parser/AspNetParser.cs: - * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: - Track API changes. - -2009-03-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Migrate bad output - directories from MD1 format. Set proper output directory for - new configurations. - - * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: Remove - output directory hacks. - -2009-03-13 Andrés G. Aragoneses <aaragoneses@novell.com> - - * gtk-gui/gui.stetic: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: - Making some strings not translatable. - -2009-03-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: Work around text editor - bug (#484574) that caused modifications to open files not to - be saved. Only try to save files that we've modified. - - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Force type - database to update during build. Fixes "Bug 484122 - - [Regression] Default C# Asp.Net template fails to compile". - Remove dead code. - -2009-03-06 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Show - directories that contain project files, even if the - directories aren't explicitly in the project. Don't - duplicate directories that have children that are explictly - in the project. - -2009-03-06 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Don't crash - on documents without doctypes. Better root element - completion for web controls and master children. - -2009-03-04 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Track - doctype parsing changes. Fix jumping to selections. - -2009-03-04 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Changed the way - execution handlers work. We are not using platform ids - anymore. Instead, we use command strings when looking for - execution handlers. IExecutionHandlerFactory has been - removed and now everything is handled by IExecutionHandler, - which has a new CanExecute method. This model is more simple - and more generic. - -2009-02-27 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs: - Save the project after adding a special folder. - -2009-02-27 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs: - More efficient query for existing folders. Attach node - builder to more limited range of node types. Show special - folders even if they exist in the project, or users might - get confused when the menu vanishes. - - * MonoDevelop.AspNet/AspNetAppProject.cs: Slim down the list - of special folders to ones for web apps rather than sites. - Make virtual. - - * MonoDevelop.AspNet.addin.xml: Remove unused attribute. - -2009-02-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Move - codebehind generation code from VerifyCodeBehindBuildStep to - CodeBehind and refactor it into something more re-usable. - -2009-02-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Fix swapped - parameters in ResolveVirtualPath. - - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Generate - strongly typed master accessor property if the MasterType - directive is present. - -2009-02-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/PageInfo.cs: More properties in - ToString. - - * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: Ignore case of - MasterType directive. - -2009-02-24 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebContentForm.xft.xml: - * Templates/NestedMasterPage.xft.xml: - * Templates/WebContentForm-CodeBehind.xft.xml: - * Templates/NestedMasterPage-CodeBehind.xft.xml: Fix - MasterPageFile attribute name. - -2009-02-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/Directive.cs: Add completion for - MasterType directive. - -2009-02-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: Diplay project - tree and its icons correctly. - -2009-02-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs: - Add new template type that allows user to pick a master page - and stubs out content regions. - - * Makefile.am: - * gtk-gui/gui.stetic: - * AspNetAddIn.csproj: - * MonoDevelop.AspNet.addin.xml: Updated. - - * Templates/MasterPage-Empty.xft.xml: - * Templates/MasterPage-CodeBehind.xft.xml: - * Templates/MasterPage-CodeBehindNonPartial.xft.xml: Correct - names. - - * Templates/WebContentForm.xft.xml: - * Templates/NestedMasterPage.xft.xml: - * Templates/WebContentForm-CodeBehind.xft.xml: - * Templates/NestedMasterPage-CodeBehind.xft.xml: New - templates. - - * MonoDevelop.AspNet.Gui/AspNetFileSelector.cs: - * gtk-gui/MonoDevelop.AspNet.Gui.AspNetFileSelector.cs: Added - a UI for picking a master page. - - * MonoDevelop.AspNet.Parser/ContentPlaceHolderVisitor.cs: A - visitor for finding the contentplaceholder ids of a master - page. - -2009-02-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Add methods for - handling virtual paths. - - * MonoDevelop.AspNet.Parser/PageInfo.cs: - * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: Capture - MasterPageType info. - -2009-02-23 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.addin.xml: Track merge of the project pad - context menu. - -2009-02-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs: Track - API. - -2009-02-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Add an attempt at - resolving assemblies from bin. - -2009-02-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Track - assembly database API behaviour. Improve assembly resolution - error handling. Fixes "Bug 477476 - Template for ASP.Net Web - Application doesn't work by default." and restores ASP.NET - code completion and codebehind generation. - -2009-02-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track API. - -2009-02-08 Michael Hutchinson <mhutchinson@novell.com> - - * AspNetAddIn.csproj: Copy schemas to output directory. - -2009-02-07 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Remove - unnecessary "base" instance access, as csc doesn't like it. - -2009-02-06 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.mdp: - * AspNetAddIn.csproj: Migrated to MSBuild file format. - -2009-02-04 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track - BindingService API. - -2009-02-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Allow - forced completion for fields/properties in expressions. - - * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Add - rollback so that expressions can be differentiated. Fixes - field/property completion in expressions. - -2009-02-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: - Track BindingService API. Fixes event completion bugs. - -2009-02-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet/ProjectRegisteredControls.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: - Implement full type lookup and listing mechanisms for - controls registered in web.config. Enables full code - completion for these controls. Fixes "Bug 470488 - Controls - registered in web.config do not have code completion". - -2009-02-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Add a - ControlRegistrationCache to the project to cache web.config - control registrations. - - * MonoDevelop.AspNet/ProjectRegisteredControls.cs: Use a - custom class for encapsulating registration info instead of - TagPrefixInfo, so we can attach extra data. - - * MonoDevelop.AspNet/WebTypeManager.cs: Use project's - ControlRegistrationCache for type lookups. - -2009-02-03 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.AspNet.addin.xml: Bump MD version. - -2009-02-03 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/generated.cs: - * gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs: - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs: - * gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs: - * - gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs: - Flush. - -2009-01-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs: Propagate a - policy parent SolutionItem through project/file creation so that - policies can always be resolved correctly. - -2009-01-29 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * AspNetAddIn.mdp: - * MonoDevelop.AspNet/ProjectRegisteredControls.cs: Add a class to load - and cache control registrations from web.config files. It's intended - to be bound to the AspNetAppProject, for documents to look to for - completion and resolving types. - -2009-01-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: Don't pass a null - TargetFramework to SystemAssemblySevice, or it explodes. Propagate - project info to the web.config handler so that it can resolve - assemblies with the correct TargetFramework. - -2009-01-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: If the - special-casing of the asp prefix to System.Web.dll fails to resolve - the type, do a full lookup. Fixes the asp prefix with other controls, - as is common with e.g. System.Web.Extensions. - -2009-01-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/MemberListVisitor.cs: Log type resolution - errors to the document's error list. - - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Make sure the - member list is initialised before outputting errors, so that type - resolution errors show up in the error pad. Treat them as warnings - until we can be 100% sure that they're not mistakes on MD's part. - -2009-01-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Execute xsp in the project's - BaseDirectory, not the SourceDirectory, since the bin directory is - already assumed to be in BaseDirectory, and SourceDirectory seems to - be obsolete. Fixes running ASP.NET csproj projects in certain - circumstances. - -2009-01-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Remove closing tag - completion as the base class handles it now. - -2009-01-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetAppProjectBinding.cs: - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: - * MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs: - * MonoDevelop.AspNet.MD1Serialization/MD1AspNetCustomDataItem.cs: Track - DetermineWebSubtype API. - - * Templates/WebForm-Empty.xft.xml: - * Templates/WebApplication.xpt.xml: - * Templates/WebControl-Empty.xft.xml: - * Templates/WebHandler-Empty.xft.xml: - * Templates/GlobalAsax-Empty.xft.xml: - * Templates/WebService-Empty.xft.xml: - * Templates/MasterPage-Empty.xft.xml: - * Templates/WebConfig-SubDir.xft.xml: - * Templates/WebForm-CodeBehind.xft.xml: - * Templates/WebConfig-Application.xft.xml: - * Templates/MasterPage-CodeBehind.xft.xml: - * Templates/WebHandler-CodeBehind.xft.xml: - * Templates/WebService-CodeBehind.xft.xml: - * Templates/GlobalAsax-CodeBehind.xft.xml: - * Templates/WebControl-CodeBehind.xft.xml: - * Templates/WebForm-CodeBehindNonPartial.xft.xml: - * Templates/MasterPage-CodeBehindNonPartial.xft.xml: - * Templates/WebControl-CodeBehindNonPartial.xft.xml: Don't explicitly - set a build action, since it was wrong for MSBuild files, and the - default works fine. - -2009-01-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs: Deploy - all files marked as "Content" rather than all ASP.NET files. - -2009-01-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Add JavaScript to WebSubType. - -2009-01-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Add css, xhtml, html, htm to - the WebSubTypes enum. This means that their default build action is - "Content", so they get deployed by default. Should fix "Bug 466855 - - CSS files in App_Themes/theme_name/ are not deployed". - -2009-01-14 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Don't try to update web.config - when references are removed during project loading. Fixes "Bug 465852 - - MonoDevelop 2.0 (trunk) does not load ASP.NET projects from 1.0." - -2008-12-12 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.mdp: All projects now require fx 3.5. - -2008-12-11 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet/AspNetToolboxNode.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Track API - changes. - -2008-12-09 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.mdp: Don't require a specific version of Mono.Addins. - -2008-12-05 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Ignore - PersistChildrenAttribute, as it does more harm than good. It's - essentially the opposite of ParseChildrenAttribute, but it's often - incorrectly set, whereas ParseChildrenAttribute is almost invariably - correct. Also, assume that any property tagged with a - TemplateContainerAttribute has an InnerProperty persistence mode. - -2008-12-05 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add TODO markers for - ParseChildrenAttribute.ChildControlType support. - -2008-12-04 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Implemented CanExecute. - - * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: Track api changes. - -2008-12-04 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: Make it work for parallel build. - -2008-12-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.addin.xml: Set correct packing for Web deployment - panel. - -2008-12-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.addin.xml: Move options panels to more appropriate - categories. - - * gtk-gui/gui.stetic: Flush. - -2008-12-02 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * AspNetAddIn.mdp: - * AssemblyInfo.cs: Add AssemblyInfo.cs files that are autogenerated from - the addin manifests. - -2008-11-27 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Use - DocumentationService to look up class documentation lazily. - -2008-11-26 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: If project's CompileTarget - isn't "Library", automatically fix it, since older versions of MD did - not set it correctly. - -2008-11-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Html/HtmlParser.cs: Implement multiple root element - validation since parser no longer handles this. - -2008-11-19 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Improve accuracy of - completions for controls' children. Add support for completing - properties' childen. - - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Extend lookup - methods to be able to look for types other than Control. - -2008-11-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/HtmlTagState.cs: Improve error location - precision for implicitly self-closing tags. - -2008-11-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Improve element - completion. - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Make - AspTagCompletionData public. - - * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Expose methods to - subclass. - -2008-11-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Use ASP.NET - serialisation attributes to improve completion. Display properties as - children when appropriate; don't display properties as attributes or - controls as children when inappropriate. - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Add a shortcut - for HTML controls. - -2008-11-17 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebApplication.xpt.xml: Fix case of asp:button. - - * MonoDevelop.AspNet/WebTypeManager.cs: Make sure all type name lookups - are case insensitive (seems that MonoDevelop's defaults changed). - Fixes Bug 445850 - [Regression] The C# Asp Web application template - fails to compile . - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Trivial 1.1 to - 2.0 API update. - -2008-11-14 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/HtmlTagState.cs: - * MonoDevelop.AspNet.StateEngine/HtmlClosingTagState.cs: Implement new - parser states that handle implicit tag closing for HTML. - - * Makefile.am: - * AspNetAddIn.mdp: Updated. - - * MonoDevelop.Html/HtmlParser.cs: - * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: - * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Use the new HTML - parsing states. - - * MonoDevelop.Html/ElementTypes.cs: Lookups to determine if an HTML tags - is block/inline/empty/paragraph. - -2008-11-14 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Flag schema for - update when doctype changes. - -2008-11-14 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: Use project to resolve target - .NET version for assemblies. - - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Resolve types - of items from register directives. Lazy-load descriptions. - -2008-11-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Include - controls referenced by Register directives when listing tags. - -2008-11-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.addin.xml: Specify position for build step. - - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Enable designer class - updating for UserControls and MasterPages. - -2008-11-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Split out the HTML - editor extension. Add document outlining. - - * Makefile.am: - * AspNetAddIn.mdp: Updated. - - * MonoDevelop.AspNet.addin.xml: - * MonoDevelop.Html/HtmlParser.cs: Added an HTML parser. - - * MonoDevelop.AspNet.Gui/HtmlEditorExtension.cs: Split out the HTML - editor extension. Add document outlining. Mostly extracted from - Moonlight addin. - -2008-11-12 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * AspNetAddIn.mdp: - * MonoDevelop.AspNet.Gui/HtmlTextEditorExtension.cs: - * MonoDevelop.AspNet.Gui/BaseHtmlEditorExtension.cs: Renamed file. - -2008-11-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/HtmlTextEditorExtension.cs: Move re-usable HTML - editing into base class in preparation for other changes. - -2008-11-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/HtmlTextEditorExtension.cs: Tidy up - doctype->schema resolution code, and only try to resolve doctype when - it changes. Use case-insensitive completion. - -2008-11-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track fix in text - editor's completion line/col indexing. It's now 1-indexed, as it - should be. Fix attribute value type resolution fallback. - - * MonoDevelop.AspNet.Parser/Document.cs: Comment out some noisy debug - code. - -2008-11-06 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Use new API; move default - build action code into GetDefaultBuildAction override. - -2008-11-05 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.addin.xml: Bump MD version. - -2008-11-04 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Override new - IsLibraryBasedProjectType property, consolidating code in base class. - -2008-11-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Set CompileTarget to library - on base class, not just overriding the values on the property. Fixes - Bug 436275 - MD ASP.Net project does not build in VS2005. - -2008-11-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Track MD core API to re-enable - running of ASP.NET projects. - -2008-10-28 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.addin.xml: fixed 'Bug 399737 - Code completion - busted for referenced assemblies that are not in GAC, are outside of - the solution, and which are referenced by other non-GAC outside - referenced assemblies'. - -2008-10-27 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix directive name - completion triggering. - -2008-10-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetDom.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs: - * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs: - * MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs: Changed - Xml StateEngine from offset-based positions to line/column positions. - -2008-10-22 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Better default build action - for auto-added codebehind files. - -2008-10-22 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: - * MonoDevelop.AspNet/AspNetAppProject.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Moved - codebehind/designer lookup functionality to - MonoDevelop.DesignerSupport. - -2008-10-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add simple - field/property completions in render and databinding expressions. - -2008-10-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Finally fix event - handler completion with the new MD Code DOM. - -2008-10-16 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * AspNetAddIn.mdp: Updated. - - * MonoDevelop.AspNet.addin.xml: Enable HtmlEditorExtension for HTML - completion. - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Gui/HtmlTextEditorExtension.cs: Refactor HTML - completion from AspNetEditorExtension into an HtmlEditorExtension - base class. - -2008-10-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Completion/SimpleLists.cs: Remove unused methods. - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Move code to base - class. Implement more directive completions. - - * MonoDevelop.AspNet.Parser/Directive.cs: Change API to alter lists - instead of creating them. - -2008-10-15 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Move more into the - base class. Implement directive name completion. - - * MonoDevelop.AspNet.Parser/Directive.cs: Remove unused parameters. - -2008-10-15 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser.Internal/AspParser.cs: Improve error - reporting. - -2008-10-14 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track API. Work - around some bugs in directive completion until they're fixed - properly. - - * Makefile.am: - * AspNetAddIn.mdp: Updated. - - * MonoDevelop.AspNet.Completion/SimpleLists.cs: Add utility methods for - simple completion lists with default values. - - * MonoDevelop.AspNet.Parser/Directive.cs: Add attribute completion for - all directives. Some work towards completing directive names and - values. - - * MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs: Add a WebSubType - property. - -2008-10-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/Directive.cs: Add more attributes. - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Remove code that's - moved to base class. - -2008-10-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/Directive.cs: - * MonoDevelop.Html/HtmlCompletionDataProvider.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.Html/DocTypeCompletionDataProvider.cs: Track APIs. - - * Makefile.am: - * AspNetAddIn.mdp: Updated. - -2008-10-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Html/DocTypeCompletionData.cs: - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: Track - CompletionData API. - -2008-10-08 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/Directive.cs: Track API. - - * Makefile.am: - * AspNetAddIn.mdp: Updated. - - * MonoDevelop.AspNet.Parser/SimpleCompletionData.cs: Moved to - MonoDevelop.Projects.Gui. - - * MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs: Not needed; - deleted. - -2008-10-07 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Html/DocTypeCompletionData.cs: - * MonoDevelop.AspNet.Parser/SimpleCompletionData.cs: - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: Track - API. - -2008-10-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Moved lots of code - down to the BaseXmlEditorExtension. - * AspNetAddIn.mdp, Makefile.am: Updated. - * MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs: Renamed. Add - NonSerializable flag. - -2008-10-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, - MonoDevelop.AspNet.Parser/SimpleCompletionData.cs, - MonoDevelop.AspNet.Parser/Directive.cs: Enable some simple - completion for directive attributes. - -2008-10-01 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Track API. - * MonoDevelop.AspNet.addin.xml, MonoDevelop.AspNet.MD1Serialization, - MonoDevelop.AspNet.MD1Serialization/MD1AspNetCustomDataItem.cs, - MonoDevelop.AspNet.MD1Serialization/md1format.xml, - MonoDevelop.AspNet.Deployment/WebDeployService.cs, - MonoDevelop.AspNet.Deployment/WebDeployResolver.cs, - MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs, - AspNetAddIn.mdp, Makefile.am: Integrate deployment with the - deployment service chnages; makes it much cleaner. Track "arbitrary - build action" API changes; this improves compatibility with VS Web - Apps. - -2008-09-29 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.Html/DocTypeCompletionData.cs, - MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs, - MonoDevelop.AspNet.Parser/SimpleCompletionData.cs: Implemented - IComparable <ICompletionData>. - -2008-09-26 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, - MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs, - MonoDevelop.AspNet.Parser/AspNetParser.cs, - MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs, - MonoDevelop.AspNet/AspNetParserService.cs, - MonoDevelop.AspNet/AspNetToolboxNode.cs, - MonoDevelop.AspNet/CodeBehind.cs, - MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Track API. - -2008-09-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs: Track API. - -2008-09-18 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.Html/HtmlCompletionDataProvider.cs, - MonoDevelop.Html/DocTypeCompletionDataProvider.cs, - MonoDevelop.AspNet.Parser/SimpleCompletionData.cs: Track api - changes. - -2008-09-12 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs, - gtk-gui/generated.cs, - gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs, - gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs, - gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs, - gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs, - gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: Updated - generated code. - -2008-09-12 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, - MonoDevelop.AspNet/AspNetToolboxNode.cs, - MonoDevelop.AspNet/WebTypeManager.cs: Track api changes. - -2008-09-10 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am, AspNetAddIn.mdp: Updated. - * MonoDevelop.AspNet.Parser/SimpleCompletionData.cs: Utility completion - data classes -- in C#3! - * MonoDevelop.AspNet.Parser/Directive.cs: Work-in-progress on directive - completion. - -2008-09-10 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs, - MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs, - MonoDevelop.AspNet/AspNetParserService.cs, - MonoDevelop.AspNet/AspNetToolboxNode.cs, - MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, - MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs, - MonoDevelop.AspNet.Parser/AspNetParser.cs: Changed compilation - unit/document meta information interface. - -2008-09-04 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs: Moved the - extensible tree view to its own directory. - -2008-09-03 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetToolboxNode.cs, AspNetAddIn.mdp: Changes - caused by parser service change. - -2008-08-22 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix attribute value - completion. - -2008-08-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Replace C#3 - automatic properties into C# 2 properties. Fixes build on Mono < - 1.9. Thanks to Joshua Simmons for the patch. - -2008-08-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser.Internal/AspTokenizer.cs, - MonoDevelop.AspNet.Parser.Internal/Directive.cs, - MonoDevelop.AspNet.Parser.Internal/AspParser.cs, - MonoDevelop.AspNet.Parser.Internal/Location.cs, - MonoDevelop.AspNet.Parser.Internal/ParseException.cs, - MonoDevelop.AspNet.Parser.Dom/ILocation.cs: Update from mcs SVN - HEAD. Fixes "Bug 409109 - The ASP.NET Editor crashes if you leave a - tag opened". - -2008-08-08 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Use Loading property instead - of filename nullness hack. - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Simplify code - generation appraoch for partial classes: if the file.aspx (etc) - file is newer than the corresponding file.aspx.designer.* file, - regenerate the designer class entirely. This means that we no - longer require refactoring support, so the feature now works with - Boo and VB.NET. - - - - Also remove support for adding members to non-partial CodeBehind - classes. - * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs, - MonoDevelop.AspNet.Gui/AspNetConfigurationPanelWidget.cs, - gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs, - gtk-gui/gui.stetic: Remove option for autogenerating members in - non-partial CodeBehind classes. Add an option for disabling - Codebehind updating altogether. - -2008-08-05 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Add null check. - -2008-08-01 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs, - MonoDevelop.AspNet.StateEngine/AspNetAttributeValueState.cs, - MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs, - MonoDevelop.AspNet.StateEngine/AspNetSpeculativeExpressionState.cs, - MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs: - Implement attribute value expressions. - * AspNetAddIn.mdp, Makefile.am: Updated. - -2008-07-31 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Show all kinds of - nodes in the path bar, and allow selecting them. - * MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs, - MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs: Fix start - offsets. - * MonoDevelop.AspNet.StateEngine/AspNetDom.cs: Add friendly - representations. - * MonoDevelop.AspNet.StateEngine/AspNetSpeculativeExpressionState.cs, - MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Implement - speculatives states. Works for expressions and server comments - within tags, though not within attributes. - -2008-07-31 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs, - MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Clean up - System.Web lookup code. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix the System.Web - fallbacks using new DOM. Respect project's runtime version. - -2008-07-31 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add comment and - CDATA completion. Only trigger tag completion in the free state. - * MonoDevelop.AspNet/WebTypeManager.cs: Simplify lookups using new - DOM's methods. They're still broken due to the DOM database - returning bad values. - -2008-07-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs, - MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: More porting to - new DOM. - * MonoDevelop.AspNet.StateEngine/AspNetSpeculativeExpressionState.cs: A - "speculative state" to replace the MalformedTagState. Can create a - server comment, or - * MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs: Tidying - up. - * AspNetAddIn.mdp, Makefile.am: Updated. - -2008-07-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs, - MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs, - MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs, - MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs: API change - to allow more that one character of rollback. - -2008-07-29 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Filter out - attributes that are already in the tag. - -2008-07-29 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs: Complete the - handling of expressions (in free state). - -2008-07-29 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs: Implement - server comments handling (in the free state). - -2008-07-29 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs, - MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs, - MonoDevelop.AspNet.StateEngine/AspNetDom.cs: Complete the handling - of directives. Server comments and expressions are still broken. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Continue port to new - DOM. Enable AspNetFreeState parser instead of XML one. - * MonoDevelop.AspNet.Parser/AspNetParser.cs: Remove debug code. - -2008-07-29 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs, - MonoDevelop.AspNet/AspNetParserService.cs, - MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Translated old - code to new dom. - -2008-07-29 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs, - MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs, - MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: - Changes for converted refactoring infrastructure. - -2008-07-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetToolboxNode.cs, - MonoDevelop.AspNet/WebTypeManager.cs, - MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, - MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Partial port - to new DOM. A *few* features are working again, but it's not nearly - done. Need to be able to get assembly parse contexts to make - progress. - -2008-07-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix document outline - view with new parser infrastructure. - -2008-07-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs, - MonoDevelop.AspNet/AspNetLanguageBinding.cs, - MonoDevelop.AspNet.addin.xml, - MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs, - MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs, - MonoDevelop.AspNet.Parser/AspNetExpressionFinder.cs, - MonoDevelop.AspNet.Parser/AspNetParser.cs, - MonoDevelop.AspNet.Parser/LocatedParserException.cs: Port to new - parser infrastructure so the ASP.NET pages get parsed. - * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs, - MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs, - MonoDevelop.AspNet.StateEngine/AspNetDom.cs, - MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs: More - in-progress work on ASP.NET extensions to the XML parser. - * AspNetAddIn.mdp, Makefile.am: Updated. - -2008-07-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs, - MonoDevelop.AspNet.StateEngine/AspNetAttributeValueState.cs, - MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs, - MonoDevelop.AspNet.StateEngine/AspNetDom.cs: Commit initial work on - ASP.NET parser extensions. - * Makefile.am, AspNetAddIn.mdp: Updated. - -2008-07-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Put path bar update - on a timeout so that it doesn't make selection too laggy. - -2008-07-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Improve triggering - of attribute value completion. - -2008-07-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: For - System.Drawing.Color names colours autocompletion entries, use a - block of the colour as the icon. Don't show system colours. - -2008-07-23 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Implemented node - selection with the path bar using the new parser. Much more - reliable, but still breaks on selecting the node the caret's in. - * gtk-gui/objects.xml, AspNetAddIn.mdp, Makefile.am: Removed - objects.xml. - -2008-07-23 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetSpecialState.cs: Unneeded; - removed. - * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Stubbed. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Use the new XML - parser for ASP.NET completion. - * gtk-gui/objects.xml, gtk-gui/gui.stetic, AspNetAddIn.mdp, - Makefile.am: Updated. - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Fix tag prefix - auto-generation logic. - * MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs: Don't fold - regions by default. - -2008-07-21 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.Deployment/WebDeployTarget.cs, - MonoDevelop.AspNet/AspNetAppProject.cs, - MonoDevelop.AspNet/AspNetAppProjectBinding.cs, - MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs, - MonoDevelop.AspNet/AspNetToolboxNode.cs, - MonoDevelop.AspNet/XspParameters.cs: Moved serialization engine to - MonoDevelop.Core. Use new syntax for specifying attribute scope. - -2008-07-14 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.addin.xml: Added javascript mime type (Bug 400896 - - Syntax Mode for Javascript). - -2008-06-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetSpecialState.cs, - MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs, - MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Rework stack - cloning and character rejection mechanisms in XML/ASP state engine. - -2008-06-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: Track - API. - -2008-06-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: Use case-insensitive checks on - filenames. - -2008-06-19 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track BindingService - API. Fix possible skipping of Gdk.Threads.Leave(). - * MonoDevelop.Html/DocTypeCompletionDataProvider.cs, - MonoDevelop.Html/HtmlCompletionDataProvider.cs, - MonoDevelop.Html/HtmlSchemaService.cs: Minor change to doctype - completion data API. - -2008-06-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Fix a logic error that caused - an exception when creating a new file group with a CodeBehind file - but no designer file. - * Templates/WebApplication.xpt.xml: Move event hander to the user code - class, not the designer class. Add protected button member because - some languagee bindings can't auto-add it. Fixes "Bug 400301 - - [Regression] The default VB Asp.Net template fails to compile". - -2008-06-10 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebService-CodeBehind.xft.xml, - Templates/WebHandler-CodeBehind.xft.xml, - Templates/WebForm-CodeBehindNonPartial.xft.xml, - Templates/WebForm-CodeBehind.xft.xml, - Templates/WebControl-CodeBehindNonPartial.xft.xml, - Templates/WebControl-CodeBehind.xft.xml, - Templates/MasterPage-CodeBehindNonPartial.xft.xml, - Templates/GlobalAsax-CodeBehind.xft.xml, - Templates/MasterPage-CodeBehind.xft.xml: Set grouping/dependencies - on new files. - * MonoDevelop.AspNet/AspNetAppProject.cs: Set grouping dependencies on - added files, and auto-add parents/children. - -2008-06-10 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs: Remove old - CodeBehind grouping mechanism. - -2008-06-10 Andres G. Aragoneses <aaragoneses@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Implement feature to allow - unmanaged project references in a managed project (bug#397490). - -2008-06-04 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.addin.xml: Bump MD version. - -2008-06-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs: Fix path of - compiled output assembly. - -2008-05-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Fixes for ASP.NET projects - with new project model. - * Templates/WebApplication.xpt.xml: Add some "Hello World"-type code to - new ASP.NET C# projects. Fixes "Bug 361348 - C# ASP.Net template - doesn't indicate by default that it's working when run". - -2008-05-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: Actually prevent - register directives overwriting page info with blank info. - -2008-05-27 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Fix ASP.NET projects loading - with the new project model. There *may* be problems with build - paths. - * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: Prevent register - directives overwriting page info with blank info. - -2008-05-22 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetToolboxNode.cs, - MonoDevelop.AspNet/WebTypeManager.cs, Makefile.am, AspNetAddIn.mdp, - MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs, - MonoDevelop.AspNet.Parser/PageDirectiveVisitor.cs: Implemented - auto-adding of register directives and project references when a - control is added from the toolbox. - -2008-05-22 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Html/HtmlSchemaService.cs, - MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Remove threaded - schema loading. Implement an alternative lazy schema loading - system. - -2008-05-22 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.addin.xml: Merged the extension points for project - and solution option panels into a single extension point. A single - extension point will now be used for all kinds of items. Extension - conditions can be used to make panels visible only for some - specific item types. - -2008-05-22 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs, - MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Replaced - ICompilerResult/DefaultCompilerResult/CompilerResults by a new - BuildResult class, which has owner information at error level, so - it is possible to know which project generated an error when - building a solution. Updated Task and TaskService to use the new - owner information. - -2008-05-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Filter out runtime versions - that aren't 1.1 or 2.0. - -2008-05-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetToolboxLoader.cs: Record the supported - runtime versions. - * MonoDevelop.AspNet/AspNetToolboxNode.cs: Filter the item from the - text editor toolbox if the supported runtimes don't match the - current project. - -2008-05-21 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: The Deserialize event may not - be called in some file formats, so don't use it to control the - project loading. - -2008-05-21 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet/AspNetAppProjectBinding.cs, - MonoDevelop.AspNet/AspNetAppProject.cs, - MonoDevelop.AspNet/CodeBehind.cs, - MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs, - MonoDevelop.AspNet/AspNetParserService.cs, - MonoDevelop.AspNet/AspNetToolboxNode.cs, - MonoDevelop.AspNet/WebTypeManager.cs, - MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs, - MonoDevelop.AspNet.addin.xml, - MonoDevelop.AspNet.Deployment/WebDeployService.cs, - MonoDevelop.AspNet.Deployment/WebDeployOptionsPanel.cs, - MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, - MonoDevelop.AspNet.Gui/AspNetConfigurationPanel.cs, - MonoDevelop.AspNet.Gui/AspNetConfigurationPanelWidget.cs, - MonoDevelop.AspNet.Gui/XspOptionsPanel.cs, - MonoDevelop.AspNet.Gui/XspOptionsPanelWidget.cs, - gtk-gui/gui.stetic, AspNetAddIn.mdp, Makefile.am, - MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs, - MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs, - MonoDevelop.AspNet.Parser/Document.cs: New project model changes. - -2008-05-19 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: Remove conditional build for ASP.NET support; there's no - longer any reason to disable it. - -2008-05-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetToolboxNode.cs: Change ITextToolboxNode API - so that nodes have more control over when they're shown. - -2008-05-15 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetToolboxProvider.cs: Moved from AspNetEdit. - * MonoDevelop.AspNet/AspNetToolboxLoader.cs: Implement correct loading - of items in System.Web 1.1. - * MonoDevelop.AspNet/AspNetToolboxNode.cs: Improve support for default - tag text. Markup for property grid. - * MonoDevelop.AspNet.addin.xml: Register provider moved from - AspNetEdit. - * Makefile.am, AspNetAddIn.mdp: Updated. - -2008-05-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetDisplayBinding.cs: Remove unneeded display - binding. - * MonoDevelop.AspNet/AspNetAppProject.cs: Remove bound WebTypeManager - instance. - * MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs: Add copyright. - * MonoDevelop.AspNet/AspNetToolboxLoader.cs, - MonoDevelop.AspNet/AspNetToolboxNode.cs: Toolbox loader for ASP.NET - toolbox items that makes then available to the text editor too. - * MonoDevelop.AspNet/AspNetParserService.cs: A place for parser-access - convenience methods. - * MonoDevelop.AspNet/WebTypeManager.cs: Make static. Take project as - argument rather than being bound to it. - * MonoDevelop.AspNet.addin.xml: Register new toolbox loader. Update - mimetypes. Remove unneeded display binding. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Prevent some NREs. - * AspNetAddIn.mdp, Makefile.am: Updated. - * MonoDevelop.AspNet.Parser/Document.cs: If bound project is null, look - it up. - * MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs: Prevent possible - NRE. - * MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Add - functionality for looking up and generating prefixes, for text - toolbox nodes. - -2008-05-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Fix positions when - selecting nodes. - -2008-05-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Use a data func for - the outline treeview. Shorten many overlong lines. - -2008-05-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser.Dom/ParentNode.cs: Make parent nodes - enumerable. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Implement document - outline support for ASP.NET documents. Still a couple of issues: - the parser doesn't provide the document at startup, so it won't - show anything until the file is changed. It also may have - performance problems on large files. - -2008-05-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs, - MonoDevelop.AspNet/CodeBehind.cs, - MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs, - MonoDevelop.AspNet.Parser/Document.cs, - MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs, - MonoDevelop.AspNet.Parser/AspNetParser.cs, - MonoDevelop.AspNet.Parser/PageInfoVisitor.cs, - MonoDevelop.AspNet.Parser/PageInfo.cs, - MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs: Replace - direscrt use of the ASP.NET docuemnt parser with use of the parser - service. Flesh out the parsed compilation units. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Use compilation - units from parser service instead of parsing on every keystroke. - * AspNetAddIn.mdp, Makefile.am: Updated - -2008-05-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.addin.xml, - MonoDevelop.AspNet/AspNetCodeBehindProvider.cs: Remove use of - removed extension point. - -2008-04-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetLanguageBinding.cs, - MonoDevelop.Html/HtmlCompletionDataProvider.cs, - MonoDevelop.AspNet.addin.xml, Makefile.am, AspNetAddIn.mdp, - MonoDevelop.AspNet.Parser/Document.cs, - MonoDevelop.AspNet.Parser/CompilationUnitVisitor.cs, - MonoDevelop.AspNet.Parser/AspNetExpressionFinder.cs, - MonoDevelop.AspNet.Parser/AspNetParser.cs, - MonoDevelop.AspNet.Parser/AspNetCompilationUnit.cs: Add support for - simple folding and error underlining in ASP.NET pages. - * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: Add support for simple - folding and error underlining in ASP.NET pages. Fix mimetypes. - -2008-04-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add ability to - select paths (partially working). - -2008-04-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Implement path bar - support. - * AspNetAddIn.mdp, Makefile.am, - MonoDevelop.AspNet.Parser/AspNetIndentStack.cs: Remove old indent - stack. - -2008-04-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetSpecialState.cs, - MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Change XML state - engine API to allow cloning a single node (as an alternative to the - whole stack). - -2008-04-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Add support for - XML processing instructions. - -2008-04-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.StateEngine/AspNetSpecialState.cs, - MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs: Minimal states - for ASP.NET parsing. Still need to handle expressions within - attribute values. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Use new state engine - for triggering completion. Haven't exorcised full document parse - yet -- need it for doctype etc. Also need it (but low-priority, - threaded?) for filtering existing attributes. - * Makefile.am, AspNetAddIn.mdp: Updated. - -2008-04-14 Michael Hutchinson <mhutchinson@novell.com> - - - -2008-04-14 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/WebTypeManager.cs: Remove debug code. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Greatly improve - completion triggering behaviour. Most noticeable with tag - attributes. - -2008-04-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add server-side - comments to completion list. - * MonoDevelop.AspNet.Parser/AspNetIndentStack.cs: Add more states, - document all the states' meaning, and handle closing some states. - -2008-04-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Html/HtmlSchema.cs: Avoid unused variable warning. - * gtk-gui/gui.stetic: Updated. - * MonoDevelop.AspNet.Parser/AspNetIndentStack.cs: Woked on indent - stack. Not complete yet. - -2008-04-11 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.AspNet.addin.xml: Use the new mime type extension to - register new file types. - -2008-04-08 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Add completion for - colours, enums and booleans. Walk into base members when attempting - attribute completion. - -2008-04-08 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/CodeBehind.cs: Add method for getting a - non-designer class. - * MonoDevelop.AspNet/WebTypeManager.cs, - MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Add various - control lookup methods, including listing of ASP.NET controls. - * MonoDevelop.Html/HtmlSchema.cs: Minor cleanup. - * MonoDevelop.Html/HtmlSchemaService.cs: Improve lazy loading. Allow - forced preloading in a thread. - * MonoDevelop.AspNet.addin.xml: Remove HTML 4 Transitional doctype - extension, as it's a hardcoded default. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Track API. Implement - ASP.NET control and attribute completion. Implement attribute value - completion (and handler stubbing) for events. Improve completion - triggering accuracy. Add documentation for completion items. - Implement close tag completion for parent tags. Lazily load HTML - schemas, and use default schema while they load. Force HTML schema - service to load in background when docuement opened. - * AspNetAddIn.mdp, Makefile.am: Updated. - * MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs: - Completion data type that inserts a method into a class if it's - picked. - * MonoDevelop.AspNet.Parser/AspNetIndentStack.cs: Partial (still - unused) implementation of indenter stack. - -2008-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: Fix build and close - correct tags. - -2008-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser.Dom/ParentNode.cs, - MonoDevelop.AspNet.Parser.Dom/RootNode.cs: Add a mechanism for - determining/indicating whether a tag has been closed. - * MonoDevelop.Html/DocTypeCompletionData.cs: Remove debug message. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Implement closing - tag completion for unclosed tags. Reduce spurious completion - triggering. - -2008-04-01 Michael Hutchinson <mhutchinson@novell.com> - - * Schemas, Schemas/xhtml1-transitional.xsd, Schemas/W3C-License.html, - Schemas/xhtml1-strict.xsd, Schemas/readme.txt, - Schemas/xhtml1-frameset.xsd: Add W3C XHTML 1.0 schemas. - * MonoDevelop.Html/DocTypeCompletionData.cs, - MonoDevelop.Html/DocTypeCompletionDataProvider.cs: Implement - completion provider for doctype declarations. - * MonoDevelop.Html/HtmlSchema.cs: Change to an association between an - doctype and an IXmlCompletionProvider from the XmlEditor. - * MonoDevelop.Html/HtmlSchemaService.cs: Load doctypes and associated - schemas from extension point. Expose default doctypes, and - mechanisms for getting completion providers for any registered - doctype, as well as a completion provider for doctypes themselves. - * MonoDevelop.Html/DocTypeExtensionNode.cs, - MonoDevelop.AspNet.addin.xml: Added HTML(/SGML/XML) doctypes as an - extension point. - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Implement HTML code - completion for aspx files. - * Makefile.am, AspNetAddIn.mdp: Updated. - -2008-03-10 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Deployment/WebDeployLaunchDialog.cs: Fix namespace - of panel. - -2008-03-06 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebConfig-SubDir.xft.xml: - * Templates/WebConfig-Application.xft.xml: Improve descriptions. - -2008-03-04 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet/AspNetAppProject.cs: Improve browser launching code. - * MonoDevelop.AspNet.Gui/BrowserLauncher.cs: Move browser launcher code and - make it into a re-usable IAsyncOperation. - * AspNetAddIn.mdp, Makefile.am: Updated. - * MonoDevelop.AspNet.Parser/Regexes.cs: Improve server tag regex. - -2008-03-04 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.AspNet.Deployment/WebDeployService.cs, - MonoDevelop.AspNet/XspParameters.cs, - MonoDevelop.AspNet/AspNetAppProject.cs: Worked on gnome hig compliant - alerts. - -2008-03-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs: Improve ASP.NET code - completion. Now parser updates on-the-fly and suggestions are - contextual. - * gtk-gui/gui.stetic, AspNetAddIn.mdp, Makefile.am: Updated. - * MonoDevelop.AspNet.Parser.Dom/ParentNode.cs, - MonoDevelop.AspNet.Parser.Dom/Node.cs: Minor API name change. - * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: Catch and collect - parser-reported exceptions rather than blowing up. - * MonoDevelop.Html, MonoDevelop.Html/HtmlSchema.cs, - MonoDevelop.Html/HtmlSchemaService.cs: Skeletion of system for - schema-controlled HTML completion. - * MonoDevelop.AspNet.Parser/Document.cs, - MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs: Make it easier to - build a parser document directly rather than going through the project. - * MonoDevelop.AspNet.Parser/Regexes.cs: Utility class, unused right now. - * MonoDevelop.AspNet.Parser/LocatedParserException.cs: Allow flagging error - as a warning. - -2008-03-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser.Internal/ParseException.cs: Fix ILocation - capturing. - * MonoDevelop.AspNet.Parser.Dom/ParentNode.cs, - MonoDevelop.AspNet.Parser.Dom/Visitor.cs, - MonoDevelop.AspNet.Parser.Dom/TagNode.cs: Implement QuickExit so that - visitor can terminate early. - * MonoDevelop.AspNet.Parser.Dom/RootNode.cs: Add some support for implicit - tag closing like in HTML4, making parser more robust with sloppy input. - Implement QuickExit so that visitor can terminate early. - * MonoDevelop.AspNet.Parser/LocatedParserException.cs: Fix possible NREs. - Override ToString(). - * MonoDevelop.AspNet.Parser/PageInfoVisitor.cs: Capture doctype. Use quick - exit when desired information found. - -2008-02-27 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs, Makefile.am, - AspNetAddIn.mdp, MonoDevelop.AspNet.addin.xml: Add the beginnings of a - code completion system for ASP.NET. - * MonoDevelop.AspNet.Parser.Dom/ParentNode.cs, - MonoDevelop.AspNet.Parser.Dom/TagNode.cs, - MonoDevelop.AspNet.Parser.Dom/Node.cs, - MonoDevelop.AspNet.Parser.Dom/RootNode.cs, - MonoDevelop.AspNet.Parser/Document.cs: Improve error resilience. Improve - debug messages. Finish the node search system. - -2008-02-27 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.AspNet.Parser/Internal: - * MonoDevelop.AspNet.Parser/Tree: - * MonoDevelop.AspNet.Parser.Internal: - * MonoDevelop.AspNet.Parser.Dom: - * AspNetAddIn.mdp: - * Makefile.am: Finish restructuring directories to reflect namespaces. - - * MonoDevelop.AspNet.addin.xml: Clean up whitespace. - -2008-02-27 Michael Hutchinson <mhutchinson@novell.com> - - * Deployment, MonoDevelop.AspNet, Gui, Parser, - MonoDevelop.AspNet.Deployment, MonoDevelop.AspNet.Gui, Project, - AspNetAddIn.mdp, Makefile.am, MonoDevelop.AspNet.Parser: Restructure - directories to reflect namespaces. - -2008-02-26 Michael Hutchinson <mhutchinson@novell.com> - - * Deployment/WebDeployService.cs, Deployment/WebDeployCommands.cs, - Deployment/WebDeployLaunchDialog.cs, - Deployment/WebDeployOptionsPanel.cs, - Deployment/WebDeployOptionsPanelWidget.cs, - Gui/AspNetConfigurationPanel.cs, Gui/AspNetConfigurationPanelWidget.cs, - Gui/XspOptionsPanel.cs, Gui/XspOptionsPanelWidget.cs, - Project/AspNetDisplayBinding.cs, Project/AspNetCommands.cs, - Project/ProjectFolderNodeBuilderExtension.cs, - Project/AspNetAppProjectBinding.cs, - Project/AspNetMSBuildProjectExtension.cs, Project/XspParameters.cs, - Project/AspNetAppProject.cs, Project/CodeBehind.cs, - Project/VerifyCodeBehindBuildStep.cs, - Project/AspNetAppProjectConfiguration.cs, - Project/AspNetCodeBehindProvider.cs, - Project/AspNetFileDescriptionTemplate.cs, Project/WebTypeManager.cs, - gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs, - gtk-gui/AspNetAddIn.AspNetConfigurationPanelWidget.cs, - gtk-gui/AspNetAddIn.XspOptionsPanelWidget.cs, - gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs, - gtk-gui/gui.stetic, AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am, - Parser/Tree/ParentNode.cs, Parser/Tree/ServerCommentNode.cs, - Parser/Tree/Visitor.cs, Parser/Tree/ServerIncludeNode.cs, - Parser/Tree/ILocation.cs, Parser/Tree/TagNode.cs, - Parser/Tree/DirectiveNode.cs, Parser/Tree/Node.cs, - Parser/Tree/ExpressionNode.cs, Parser/Tree/RootNode.cs, - Parser/Tree/TextNode.cs, Parser/WebFormReferenceManager.cs, - Parser/DebugStringVisitor.cs, Parser/Document.cs, - Parser/MemberListVisitor.cs, Parser/LocatedParserException.cs, - Parser/Internal/TagType.cs, Parser/Internal/AspTokenizer.cs, - Parser/Internal/Directive.cs, Parser/Internal/AspParser.cs, - Parser/Internal/TagAttributes.cs, Parser/Internal/Location.cs, - Parser/Internal/ParseException.cs, Parser/Internal/StrUtils.cs, - Parser/DocumentReferenceManager.cs, Parser/PageInfoVisitor.cs, - MonoDevelop.AspNet.addin.xml: Finish renaming AspNetAddIn and its - corresponding namespaces to MonoDevelop.Aspnet. - -2008-02-26 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetFileDescriptionTemplate.cs: Fix string formatting call. - -2008-02-26 Michael Hutchinson <mhutchinson@novell.com> - - * AspNetAddIn.mdp, Makefile.am, Parser/Tree/ParentNode.cs, - Parser/Tree/ServerCommentNode.cs, Parser/Tree/Visitor.cs, - Parser/Tree/TagNode.cs, Parser/Tree/DirectiveNode.cs, - Parser/Tree/Node.cs, Parser/Tree/ExpressionNode.cs, - Parser/Tree/RootNode.cs, Parser/Tree/TextNode.cs, - Parser/DebugStringVisitor.cs, Parser/Document.cs, - Parser/Internal/Location.cs: Implement dumping a debug view of the parse - tree, and binary searching for the parse node at a given location in the - file. - -2008-02-23 Mike Krüger <mkrueger@novell.com> - - * AspNetAddIn.mdp, Makefile.am: Removed some unused glade and gnome-sharp - references (only the unused). But I'll continue to remove glade, we need - to lower the dependency tree a bit. - -2008-02-20 Marek Safar <marek.safar@gmail.com> - - * Project/VerifyCodeBehindBuildStep.cs: Fixed missing parenthesis. - -2008-02-20 Michael Hutchinson <mhutchinson@novell.com> - - * Project/IAspNetLanguageBinding.cs, - Project/AspNetFileDescriptionTemplate.cs, - Templates/WebService-CodeBehind.xft.xml, - Templates/WebForm-CodeBehind.xft.xml, - Templates/MasterPage-Empty.xft.xml, - Templates/WebControl-CodeBehindNonPartial.xft.xml, - Templates/WebService-Empty.xft.xml, - Templates/WebHandler-CodeBehind.xft.xml, - Templates/WebForm-Empty.xft.xml, - Templates/WebControl-CodeBehind.xft.xml, - Templates/MasterPage-CodeBehindNonPartial.xft.xml, - Templates/WebConfig-Application.xft.xml, - Templates/WebHandler-Empty.xft.xml, Templates/GlobalAsax-Empty.xft.xml, - Templates/WebControl-Empty.xft.xml, - Templates/MasterPage-CodeBehind.xft.xml, - Templates/WebForm-CodeBehindNonPartial.xft.xml: Add a mechanism for - having the ASP.NET language code be different from MD's internal - language codes, and use it to make VB.NET pages work OOTB. - * AspNetAddIn.mdp, Makefile.am: Updated. - * Parser/Tree/Visitor.cs, Parser/Tree/ExpressionNode.cs, - Parser/Tree/RootNode.cs: The way the parser's currently used, it doesn't - need to understand expressions, so rather than throwing a - NotImplementedException, just insert them into the AST and carry on. - Means that CodeBehind generation can be used for a much larger subset of - aspx pages. - -2008-02-09 Mike Krüger <mkrueger@novell.com> - - * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: Removed source editor - dependency. - -2008-02-05 Mike Krüger <mkrueger@novell.com> - - * AspNetAddIn.addin.xml: Structured main menu. - -2008-01-25 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml: Update MD version. - -2008-01-22 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml: Updated add-in category and description. - -2008-01-19 Ankit Jain <jankit@novell.com> - - * AspNetMSBuildProjectExtension.cs: Track changes in MSBuildProjectExtension. - -2008-01-15 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebService-CodeBehind.xft.xml, - Templates/WebForm-CodeBehind.xft.xml, - Templates/MasterPage-Empty.xft.xml, - Templates/WebControl-CodeBehindNonPartial.xft.xml, - Templates/WebConfig-SubDir.xft.xml, Templates/WebService-Empty.xft.xml, - Templates/WebHandler-CodeBehind.xft.xml, - Templates/WebForm-Empty.xft.xml, - Templates/GlobalAsax-CodeBehind.xft.xml, - Templates/WebControl-CodeBehind.xft.xml, - Templates/MasterPage-CodeBehindNonPartial.xft.xml, - Templates/WebConfig-Application.xft.xml, - Templates/WebApplication-Empty.xpt.xml, - Templates/WebHandler-Empty.xft.xml, Templates/GlobalAsax-Empty.xft.xml, - Templates/WebControl-Empty.xft.xml, - Templates/MasterPage-CodeBehind.xft.xml, - Templates/WebForm-CodeBehindNonPartial.xft.xml, - Templates/WebApplication.xpt.xml: Make template categories translatable. - -2008-01-03 Michael Hutchinson <mhutchinson@novell.com> - - * Project/VerifyCodeBehindBuildStep.cs: Only try to add members to - CodeBehind if the needed refactoring options are supported. - -2008-01-02 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebService-CodeBehind.xft.xml, - Templates/WebForm-CodeBehind.xft.xml, - Templates/WebControl-CodeBehindNonPartial.xft.xml, - Templates/WebService-Empty.xft.xml, - Templates/WebHandler-CodeBehind.xft.xml, - Templates/WebControl-CodeBehind.xft.xml, - Templates/MasterPage-CodeBehindNonPartial.xft.xml, - Templates/WebHandler-Empty.xft.xml, - Templates/MasterPage-CodeBehind.xft.xml, - Templates/WebForm-CodeBehindNonPartial.xft.xml: Use ${EscapedIdentifier} - instead of ${Name} so that files can be created with names like - "Default" and work correctly in VB.NET. - -2007-12-14 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.mdp: Updated project files. The order of extended properties - won't change anymore. - -2007-12-13 Lluis Sanchez Gual <lluis@novell.com> - - * Project/AspNetAppProject.cs: Moved PlatformService to MD.Core.Gui. Removed - old FileIconService class, which is now implemented in PlatformService. - -2007-12-13 Lluis Sanchez Gual <lluis@novell.com> - - * Deployment/WebDeployTargetEditor.cs: Track api changes. - * gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs, - gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs, - gtk-gui/gui.stetic: Updated. - -2007-12-13 Lluis Sanchez Gual <lluis@novell.com> - - * Project/AspNetAppProject.cs: API cleanup. - -2007-12-13 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/AspNetAddIn.XspOptionsPanelWidget.cs, - gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs, - gtk-gui/gui.stetic: Fix alignment of some labels. - -2007-12-12 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml: Bump add-in versions. - -2007-12-06 Geoff Norton <gnorton@novell.com> - - * Project/AspNetAppProject.cs: Use PlatformService to launch a browser - instead of Gnome.Url.Show. - -2007-12-04 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/objects.xml, AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: - Directory reorganization. - -2007-11-20 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs: Don't try to compile if no files are set to - compile, as compilers/bindings (e.g. CSharpBinding) will error out if no - files are set to compile. - -2007-11-09 Michael Hutchinson <mhutchinson@novell.com> - - * Deployment/WebDeployService.cs, Project/AspNetAppProject.cs, - Parser/Document.cs: Track LoggingService API changes. - -2007-11-02 Lluis Sanchez Gual <lluis@novell.com> - - * Project/VerifyCodeBehindBuildStep.cs: Use RootCombine instead of - CurrentOpenCombine when possible. - -2007-10-30 Michael Hutchinson <mhutchinson@novell.com> - - * Deployment/WebDeployService.cs, Deployment/WebDeployCommands.cs, - Deployment/WebDeployLaunchDialog.cs, - gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs, - gtk-gui/gui.stetic: Enable web deploy dialog even if no targets exist, - but add a button for editng/adding targets. Fixes "Bug 337804 - Web - Deployment should be easier to configure". - -2007-10-30 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProjectConfiguration.cs: Fix "Bug 337819 - Directory - change warning shown when creating a new Web Project.". Re-opens "Bug - 333419 - Output dir in ASP.NET project don't work", though it's now - possible to work around the latter by setting an XML attribute in the - project file. - -2007-10-30 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml: Use the html file icon for some known asp.net - files. - -2007-10-29 Michael Hutchinson <mhutchinson@novell.com> - - * AspNetAddIn.addin.xml: Use WebHandler-CodeBehind template. - -2007-10-29 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml: Bump MD version. - -2007-10-26 Michael Hutchinson <mhutchinson@novell.com> - - * Project/VerifyCodeBehindBuildStep.cs: Fix string formatting index in a - gettext call. - -2007-10-25 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs: No need to handle monitor's cancel request, - as AggregatedOperationMonitor does this for us. - -2007-10-24 Lluis Sanchez Gual <lluis@novell.com> - - * Templates/WebApplication-Empty.xpt.xml, Templates/WebApplication.xpt.xml: - Updated project icons. - -2007-10-17 Michael Hutchinson <mhutchinson@novell.com> - - * Project/WebTypeManager.cs: Don't do web.config control lookups for 1.1 - projects. - * Parser/WebFormReferenceManager.cs: Track API change. - * Parser/MemberListVisitor.cs, Parser/DocumentReferenceManager.cs: Handle - the "type" property of "input" HTML controls. - -2007-10-16 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs, Project/VerifyCodeBehindBuildStep.cs, - Parser/MemberListVisitor.cs, Parser/LocatedParserException.cs, - Parser/Internal/ParseException.cs: Rework error handling to include - location info for document parse errors. - * Project/WebTypeManager.cs, Parser/WebFormReferenceManager.cs, - Parser/DocumentReferenceManager.cs: Rework type lookups for registered - controls. Now handles custom controls and user controls, whether - registered in aspx file or web.config. - * AspNetAddIn.mdp, Makefile.am: Updated. - * Parser/Document.cs: Collect parse errors instead of dying in constructor. - -2007-10-15 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs: Copy refs to output path during compile. Not - sure it's necessary, as the Run/Deploy commands do the copy too, and - people shouldn't be running their site without executing one of these - commands first. However, we have had a few bug reports about this - behaviour, so it's better to do what people expect. - * Project/VerifyCodeBehindBuildStep.cs: Report ASP.NET parser and Codebehind - member generation errors as compile warnings, with file/line number - info. Use Gettext for i18n of warnings. - * AspNetAddIn.mdp: Updated. - -2007-10-12 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProjectConfiguration.cs: Allowing changing the output - directory to a directory other than "bin", but only after warning the - user that this may prevent the projct from running/deploying correctly. - Enables some unusual use cases, and doesn't affect other people. - -2007-10-12 Michael Hutchinson <mhutchinson@novell.com> - - * Project/VerifyCodeBehindBuildStep.cs: Change how partial classes are - handled during code generation to work around the fact that they don't - have all of the information that the 'full' class does. - -2007-10-08 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs: Use xsp2 if using 2.0 runtime (regression - introduced in previous commit). - -2007-10-03 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs: Launch xsp directly rather than via SH. Made - possible by changes to IExecutionHandler/ProcessService allowing setting - environment variables on new console processes. Fixes xsp shutdown (xsp - instances were not closes and were blocking ports). Hopefully fixes - #330327. - - Also, don't force copy output refs. - -2007-10-02 Michael Hutchinson <mhutchinson@novell.com> - - * Deployment/WebDeployService.cs: Build before deploying. - * Deployment/WebDeployTargetEditor.cs: Catch errors if file copy handler - can't be found. - -2007-10-02 Michael Hutchinson <mhutchinson@novell.com> - - * Project/VerifyCodeBehindBuildStep.cs: Make errors in Codebehind generation - into warnings rather than preventing build. - -2007-09-28 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs: Check for xsp before running it. - -2007-09-28 Michael Hutchinson <mhutchinson@novell.com> - - * Deployment/WebTargetEditor.cs, Deployment/WebDeployService.cs, - Deployment/WebDeployCommands.cs, Deployment/WebDeployResolver.cs, - Deployment/WebDeployTargetCollection.cs, Deployment/WebDeployTarget.cs, - Deployment/WebDeployWindow.cs, Deployment/WebDeployLaunchDialog.cs, - Deployment/WebDeployOptionsPanel.cs, - Deployment/WebDeployTargetEditor.cs, - Deployment/WebDeployOptionsPanelWidget.cs, AspNetAddIn.addin.xml, - gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs, - gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs, - gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs, - gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs: Add new web - deployment UI and services. - * Project/AspNetAppProject.cs: Add WebDeployTargets property. Use new web - targets when returning DeployFiles. Fix NRE when language binding not - recognised. - * gtk-gui/generated.cs, gtk-gui/AspNetAddIn.XspOptionsPanelWidget.cs, - gtk-gui/objects.xml, gtk-gui/gui.stetic, AspNetAddIn.mdp, Makefile.am, - Gui/XspOptionsPanel.cs: Updated. - -2007-09-27 Ankit Jain <jankit@novell.com> - - Add support for VS2005 WebApplication projects. - * Project/AspNetMSBuildProjectExtension.cs: New. - * AspNetAddIn.addin.xml: Add Extension. - * AspNetAddIn.mdp: Update. - * Makefile.am: Update. - -2007-09-21 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs: Make write-safe by using TextFile API rather - than direct save. - -2007-09-21 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml: Bump MD version. - -2007-09-20 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs: Added reference change handlers to update the - referenced assembly list in web.config. - -2007-09-12 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/XspOptionsPanelWidget.cs, - gtk-gui/AspNetAddIn.XspOptionsPanelWidget.cs, gtk-gui/gui.stetic: Fix - bugs from stetic conversion: panel status update handler and permissible - port range setting. - * Project/AspNetAppProject.cs: Restructure execution code to handle errors - better and make it possible to set MONO_OPTIONS="--debug" when calling - xsp. - -2007-09-11 Michael Hutchinson <mhutchinson@novell.com> - - * Gui/XspOptionsPanel.cs, Gui/XspOptionsPanelWidget.cs, AspNetAddIn.glade, - gtk-gui/generated.cs, - gtk-gui/AspNetAddIn.AspNetConfigurationPanelWidget.cs, - gtk-gui/AspNetAddIn.XspOptionsPanelWidget.cs, gtk-gui/gui.stetic, - AspNetAddIn.mdp, Makefile.am: Migrate XspOptionsPanel from glade to - stetic. - * Gui/AspNetConfigurationPanelWidget.cs, - Project/AspNetFileDescriptionTemplate.cs: Remove unused fields. - -2007-09-11 Michael Hutchinson <mhutchinson@novell.com> - - * Project/ProjectFolderNodeBuilderExtension.cs, Project/AspNetCommands.cs, - AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: Add a command/menu - for creating ASP.NET special directories. - * Project/AspNetAppProject.cs: Add more WebSubtypes. Use GettextCatalog for - MessageService call. Add method for discovering non-existent special - ASP.NET directories. - * Project/VerifyCodeBehindBuildStep.cs: Don't prevent compilation if - documents can't be parsed. - -2007-09-10 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs: Fire SetDefaultBuildAction only when adding - new files, not when deserialising the project. Add a "Code" WebSubtype. - * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am, - Templates/WebConfig-SubDir.xft.xml, - Templates/WebConfig-Application.xft.xml: Add Web.config templates. - * Templates/WebForm-CodeBehind.xft.xml, - Templates/GlobalAsax-CodeBehind.xft.xml, - Templates/WebControl-CodeBehind.xft.xml, - Templates/GlobalAsax-Empty.xft.xml, - Templates/MasterPage-CodeBehind.xft.xml: More tweaks to templates. - * Templates/WebApplication.xpt.xml: Add web.config to default project - template. - -2007-09-10 Michael Hutchinson <mhutchinson@novell.com> - - * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: Updated. - * Templates/WebService-CodeBehind.xft.xml, - Templates/WebForm-CodeBehind.xft.xml, - Templates/MasterPage-Empty.xft.xml, Templates/WebService-Empty.xft.xml, - Templates/WebForm-Empty.xft.xml, - Templates/WebHandler-CodeBehind.xft.xml, - Templates/WebControl-CodeBehind.xft.xml, - Templates/WebHandler-Empty.xft.xml, - Templates/MasterPage-CodeBehind.xft.xml, - Templates/WebControl-Empty.xft.xml, Templates/WebApplication.xpt.xml: - Remove deprecated FileOptions node. - * Templates/WebControl-CodeBehindNonPartial.xft.xml, - Templates/MasterPage-CodeBehindNonPartial.xft.xml, - Templates/WebForm-CodeBehindNonPartial.xft.xml: Add non-partial-type - templates. - * Templates/GlobalAsax-CodeBehind.xft.xml, - Templates/GlobalAsax-Empty.xft.xml: Add Global.asax templates. - * Templates/WebApplication-Empty.xpt.xml: Add empty project template. - -2007-09-06 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebService-CodeBehind.xft.xml, - Templates/WebHandler-Empty.xft.xml, Templates/WebService-Empty.xft.xml, - Templates/WebControl-Empty.xft.xml, Templates/WebForm-Empty.xft.xml, - Templates/WebHandler-CodeBehind.xft.xml: Limit to be shown for ASP.NET - projects. - * Templates/WebControl-CodeBehind.xft.xml, - Templates/WebForm-CodeBehind.xft.xml: Limit to be shown for ASP.NET - projects. Require partial class support. - * Templates/MasterPage-Empty.xft.xml: Limit to be shown for ASP.NET - projects. Require 2.0 runtime. - * Templates/MasterPage-CodeBehind.xft.xml: Limit to be shown for ASP.NET - projects. Require 2.0 runtime. Require partial class support. - -2007-09-05 Michael Hutchinson <mhutchinson@novell.com> - - * Project/AspNetAppProject.cs: Set correct BuildAction for added ASP.NET - files. Convert cachedDocuments to generic collection. - -2007-09-05 Michael Hutchinson <mhutchinson@novell.com> - - * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am, - Templates/CodeBehindWebControl.xft.xml, - Templates/CodeBehindWebForm.xft.xml, - Templates/CodeBehindWebHandler.xft.xml, - Templates/CodeBehindWebService.xft.xml, - Templates/EmptyWebControl.xft.xml, Templates/EmptyWebForm.xft.xml, - Templates/EmptyWebHandler.xft.xml, Templates/EmptyWebService.xft.xml, - Templates/MasterPage-CodeBehind.xft.xml, - Templates/MasterPage-Empty.xft.xml, - Templates/MasterPageWithCodeBehind.xft.xml, - Templates/MasterPageWithNoCodeBehind.xft.xml, - Templates/WebControl-CodeBehind.xft.xml, - Templates/WebControl-Empty.xft.xml, - Templates/WebForm-CodeBehind.xft.xml, Templates/WebForm-Empty.xft.xml, - Templates/WebHandler-CodeBehind.xft.xml, - Templates/WebHandler-Empty.xft.xml, - Templates/WebService-CodeBehind.xft.xml, - Templates/WebService-Empty.xft.xml, Templates/WebApplication.xpt.xml: - Rename template files. - -2007-09-05 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/CodeBehindWebControl.xft.xml, - Templates/CodeBehindWebForm.xft.xml, - Templates/MasterPageWithCodeBehind.xft.xml: Use SuppressAutoOpen to stop - designer CodeBehind files from opening automatically when created. - -2007-09-05 Michael Hutchinson <mhutchinson@novell.com> - - * Templates/WebApplication.xpt.xml: Use new FileReferenceTemplate to - reference CodeBehindWebForm instead of duplicating whole template. - -2007-09-05 Michael Hutchinson <mhutchinson@novell.com> - - * Project/XspParameters.cs: Fix some compile warnings. - * Templates/CodeBehindWebHandler.xft.xml, Templates/EmptyWebForm.xft.xml, - Templates/CodeBehindWebControl.xft.xml, - Templates/CodeBehindWebService.xft.xml, - Templates/CodeBehindWebForm.xft.xml, - Templates/MasterPageWithNoCodeBehind.xft.xml, - Templates/MasterPageWithCodeBehind.xft.xml, - Templates/EmptyWebHandler.xft.xml, Templates/WebApplication.xpt.xml, - Templates/EmptyWebControl.xft.xml, Templates/EmptyWebService.xft.xml: - Use partial classes where possible. Default to deploying ASP.NET files - rather than building them. Remove "Hello world" code. Default to 2.0 - runtime. - -2007-08-31 Mike Krüger <mkrueger@novell.com> - - * Gui/AspNetConfigurationPanel.cs, Gui/AspNetConfigurationPanelWidget.cs, - Gui/XspOptionsPanel.cs: Changes due to new property infrastructure. - -2007-08-31 Ankit Jain <jankit@novell.com> - - * Templates/WebApplication.xpt.xml: Set BuildAction for aspx file to - FileCopy. - -2007-08-09 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: Reorganized the - extension point hierarchy. Embedded all add-in manifests as resources. - -2007-08-01 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * AspNetAppProject.cs: Fix the IDeployable implementation. The target - directory names should be handled by an ASP.NET-specific - IDirectoryResolver, not the GetDeployFiles method. - -2007-07-25 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.mdp: Updated. - -2007-06-19 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Project/CodeBehind.cs: Oops, remove some development code in which - caused sharing violations. - -2007-06-19 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/AspNetAddIn.AspNetConfigurationPanelWidget.cs, - AspNetAddIn.mdp: Changed some old 2.4 dependencies to 2.8. Use - GettextCatalog for localizable strings. - -2007-06-18 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Gui/AspNetConfigurationPanel.cs, - Gui/AspNetConfigurationPanelWidget.cs, AspNetAddIn.glade, - gtk-gui/generated.cs, - gtk-gui/AspNetAddIn.AspNetConfigurationPanelWidget.cs, - gtk-gui/objects.xml, gtk-gui/gui.stetic: More Stetic! Convert - configuration panel widget from Glade to Stetic. - * Project/CodeBehind.cs: Some shared code for handling CodeBehind. - * Project/VerifyCodeBehindBuildStep.cs: Use partial classes if they're - present. - * Project/AspNetAppProjectConfiguration.cs: Silence the error when user - picks non-library target type. Rename AutoGenerateCodeBehindMembers - to GenerateNonPartialCodeBehindMembers. - * Project/AspNetCodeBehindProvider.cs: Use code from Codebehind class. - * AspNetAddIn.mdp, Makefile.am: Added files. - -2007-06-08 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Parser/Document.cs: Report parse errors on console, not in dialogue. - - * Parser/PageInfoVisitor.cs: Add CodeFile property. - -2007-05-31 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml: Fix typo. - -2007-05-11 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.mdp: Copy the .addins.xml file to the output dir. - -2007-05-11 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.mdp: Don't copy project references. - -2007-05-09 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.mdp, Makefile.am: Reference shared assemblies from the - correct location. - -2007-05-08 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml: Fix add-in dependency. - -2007-05-07 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Project/VerifyCodeBehindBuildStep.cs: Make updating files thread-safe. - -2007-05-04 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml, AspNetAddIn.mdp, Makefile.am: Migration to - Mono.Addins. - -2007-04-21 Lluis Sanchez Gual <lluis@novell.com> - - * Project/AspNetAppProject.cs: Track api changes. - -2007-04-19 Lluis Sanchez Gual <lluis@novell.com> - - * Project/AspNetAppProject.cs: Track api changes. - * AspNetAddIn.addin.xml, Makefile.am: Added dependency to - MonoDevelop.Deployment. - * AspNetAddIn.mdp: Don't copy referenced assemblies. - -2007-02-25 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Project/AspNetAppProject.cs: - Remove DoPreBuild override as it's a deprecated build extension point. - Now set AspNetAppProjectConfiguration.SourceDirectory via a FileName - override, which is more robust. - Implement GetDeployFiles to handle ASP.NET bin folder. - -2007-02-21 Ankit Jain <jankit@novell.com> - - * Project/VerifyCodeBehindBuildStep.cs: Warn the user if - AutoGenerateCodeBehindMembers is false. - -2007-02-16 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.addin.xml: Change add-in versions to 0.13. - -2007-02-15 Lluis Sanchez Gual <lluis@novell.com> - - * AspNetAddIn.mdp, Makefile.am: Synchronized the MD project and the - Makefile - -2007-02-07 Lluis Sanchez Gual <lluis@novell.com> - - * Project/VerifyCodeBehindBuildStep.cs, AspNetAddIn.addin.xml, - AspNetAddIn.mdp: Replace the IBuildStep implementation by a - ProjectServiceExtension subclass. IBuildStep is not available - anymore. - -2007-02-05 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Templates/MasterPageWithCodeBehind.xft.xml: - * Project/AspNetDisplayBinding.cs: - * Parser/PageInfoVisitor.cs: Fix errors in last commit that came from - my misunderstanding of how the CodeBehind model doesn't apply to - MasterPages. The CodeBehindService will need support for the - CodeBeside model at some point. - -2007-02-04 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Parser/Tree/DirectiveNode.cs: Workaround for parser bug, so that - Codebehind for MasterPages can be found. - - * Parser/Internal/*: Update from mcs class tree. - - * Parser/PageInfoVisitor.cs: - * Project/AspNetDisplayBinding.cs: Handle MasterPages. - -2007-02-04 John Anderson <sontek@gmail.com> - - * Templates/MasterPageWithNoCodeBehind.xft.xml: - * Templates/MasterPageWithCodeBehind.xft.xml: - * Makefile.am: - * AspNetAddIn.mdp: - * AspNetAddIn.addin.xml: Added templates for MasterPages. - -2007-02-01 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Project/AspNetAppProject.cs: More informative error messages. - - * Project/AspNetCodeBehindProvider.cs: Track API changes. - -2007-01-18 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Templates/CodeBehindWebControl.xft.xml: Use the proper filename - rather than "Default". - -2007-01-18 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * AspNetAddIn/Parser/Internal/TagType.cs: - * AspNetAddIn/Parser/Internal/AspParser.cs: - * AspNetAddIn/Parser/Internal/ParseException.cs: - Make classes and members public so that AspNetAddIn's parser can - consume them. Can revert this when AspNetEdit uses the whole parser - rather that just the tokeniser as it does ATM. - -2006-09-19 Jacob Ilsø Christensen <jacobilsoe@gmail.com> - - * AspNetAddIn.mdp: Updated. - -2006-09-16 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Gui/AspNetConfigurationPanel.cs: - * AspNetAddIn.glade: - * Project/AspNetAppProjectConfiguration.cs: - * AspNetAddIn.addin.xml: - * Project/VerifyCodeBehindBuildStep.cs: - Added a new option that can be used to disable compilation-time - CodeBehind verification for different configurations. - - * Makefile.am: - * AspNetAddIn.mdp: Add Gui/AspNetConfigurationPanel.cs to the build. - -2006-09-13 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Project/AspNetAppProject.cs: Fix parsed document caching. Check if file - can be parsed before parsing, instead of at cache lookup. - -2006-08-21 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Project/AspNetDisplayBinding.cs: - * Project/AspNetAppProject.cs: - * Parser/PageInfoVisitor.cs: Add support for Global.asax CodeBehind. - - * Project/AspNetCodeBehindProvider.cs: - * Project/AspNetAppProject.cs: Don't try to create Documents for files - that we can't parse. - - * Project/AspNetAppProject.cs: Improve web server launch checking code. - -2006-08-21 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Project/VerifyCodeBehindBuildStep.cs: Make sure modified files are - saved before compilation. - Update the parser database to make sure our parse information is - valid. - - * Project/AspNetAppProject.cs: Add an operation cancel handler. - - * Parser/Document.cs: trap file loading exceptions. - -2006-08-05 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Project/VerifyCodeBehindBuildStep.cs: - Track changes in BindingService. - * AspNetAddIn.mdp: Remove nonexistent file. - -2006-07-25 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Project/AspNetAppProject.cs: - Become aware of Project.DoPreBuild; let it create the correct output - directory for us. - * Project/VerifyCodeBehindBuildStep.cs: - Refactored some functionality into Monodevelop.DesignerSupport. - BindingService. - - -2006-07-21 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Project/AspNetAppProject.cs: - * Project/VerifyCodeBehindBuildStep.cs: - Move Codebehind verification into a separate build step. - - * Project/CodeBehindClassBuilder.cs: - * Project/AspNetCodeBehindProvider.cs: - Deleted. Functionality moved to MonoDevelop.DesignerSupport. - * Project/AspNetAppProject.cs: - * AspNetAddIn.addin.xml: - * Project/CodeBehindProjectFileExtension.cs: - Implement CodeBehindProvider architecture. - - * Parser/PageInfoVisitor.cs: - Find CodeBehind info for more filetypes. - - * Templates/CodeBehindWebHandler.xft.xml: - * Templates/CodeBehindWebControl.xft.xml: - * Templates/CodeBehindWebForm.xft.xml: - * Templates/WebApplication.xpt.xml: - Remove unnecessary underscores in CodeBehind class names. - - * Templates/CodeBehindWebService.xft.xml: - * Templates/EmptyWebService.xft.xml: - New templates. - - - * Project/AspNetDisplayBinding.cs: - New file. For now, makes it possible to open ASP.NET mime types. - - * AspNetAddIn.addin.xml: - * Makefile.am: - * AspNetAddIn.mdp: - Include new files, remove old ones. - -2006-07-04 Michael Hutchinson <m.j.hutchinson@gmail.com> - - * Templates/CodeBehindWebControl.xft.xml: - * Templates/CodeBehindWebForm.xft.xml: - - * Project/AspNetAppProject.cs: - * Project/CodeBehindProjectFileExtension.cs: - Don't always throw exceptions when CodeBehind not found. - - * AspNetAddIn.addin.xml: - * Project/CodeBehindProjectFileExtension.cs: - Change "HideCodeBehind" option to "ShowCodeBehindFiles" - - * Project/AspNetFileDescriptionTemplate.cs: - Move translation functionality to child CodeTranslationFileDescriptionTemplate. - Move name substitution functionality to SingleFileDescriptionTemplate. - - * Templates/CodeBehindWebHandler.xft.xml: - * Templates/EmptyWebForm.xft.xml: - * Templates/CodeBehindWebControl.xft.xml: - * Templates/CodeBehindWebForm.xft.xml: - * Templates/EmptyWebHandler.xft.xml: - * Templates/WebApplication.xpt.xml: - * Templates/EmptyWebControl.xft.xml: - Track AspNetFileDescriptionTemplate changes. diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs deleted file mode 100644 index 5675337d7c..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/AspNetDeployServiceExtension.cs +++ /dev/null @@ -1,70 +0,0 @@ -// -// AspNetDeployServiceExtension.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2008 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.IO; - -using MonoDevelop.Projects; -using MonoDevelop.Deployment; - -namespace MonoDevelop.AspNet.Deployment -{ - - - public class AspNetDeployServiceExtension : DeployServiceExtension - { - - public override DeployFileCollection GetProjectDeployFiles (DeployContext ctx, Project project, - ConfigurationSelector configuration) - { - DeployFileCollection files = base.GetProjectDeployFiles (ctx, project, configuration); - - AspNetAppProject aspProj = project as AspNetAppProject; - - //none of this needs to happen if it's just happening during solution build - if (aspProj == null || ctx.ProjectBuildOnly) - return files; - - //audit the DeployFiles to make sure they're allowed and laid out for ASP.NET - foreach (DeployFile df in files) { - //rewrite ProgramFiles target to ASP.NET's "bin" target - if (df.TargetDirectoryID == TargetDirectory.ProgramFiles) { - df.RelativeTargetPath = Path.Combine ("bin", df.RelativeTargetPath); - } - } - - //add all ASP.NET files marked as content. They go relative to the application root, which we assume to be ProgramFiles - foreach (ProjectFile pf in aspProj.Files) { - if (pf.BuildAction == BuildAction.Content) - files.Add (new DeployFile (aspProj, pf.FilePath, pf.ProjectVirtualPath, TargetDirectory.ProgramFiles)); - } - - return files; - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployCommands.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployCommands.cs deleted file mode 100644 index 0c6bfebe70..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployCommands.cs +++ /dev/null @@ -1,55 +0,0 @@ -// WebDeployCommands.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -using MonoDevelop.Components.Commands; -using MonoDevelop.AspNet; -using MonoDevelop.Ide; - -namespace MonoDevelop.AspNet.Deployment -{ - - public enum WebDeployCommands - { - DeployProject, - } - - class ProjectDeployHandler : CommandHandler - { - protected override void Run () - { - AspNetAppProject project = (AspNetAppProject) IdeApp.ProjectOperations.CurrentSelectedProject; - WebDeployService.DeployDialog (project); - } - - protected override void Update (CommandInfo info) - { - AspNetAppProject project = IdeApp.ProjectOperations.CurrentSelectedProject as AspNetAppProject; - info.Visible = (project != null); - info.Enabled = (project != null); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployLaunchDialog.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployLaunchDialog.cs deleted file mode 100644 index 7ea86210d2..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployLaunchDialog.cs +++ /dev/null @@ -1,130 +0,0 @@ -// WebDeployLaunchDialog.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using System; -using System.Collections.Generic; -using Gtk; - -using MonoDevelop.AspNet; -using MonoDevelop.Ide; - -namespace MonoDevelop.AspNet.Deployment -{ - - public partial class WebDeployLaunchDialog : Dialog - { - Gtk.ListStore targetStore = new Gtk.ListStore (typeof (string), typeof(WebDeployTarget), typeof (bool)); - const int LISTCOL_Text = 0; - const int LISTCOL_Target = 1; - const int LISTCOL_Checked = 2; - AspNetAppProject project; - - public WebDeployLaunchDialog (AspNetAppProject project) - { - this.Build(); - - this.project = project; - - //set up the sort order - targetStore.SetSortFunc (LISTCOL_Text, delegate (TreeModel m, TreeIter a, TreeIter b) { - return string.Compare ((string) m.GetValue (a, LISTCOL_Text), (string) m.GetValue (b, LISTCOL_Text)); - }); - targetStore.SetSortColumnId (LISTCOL_Text, SortType.Ascending); - - //set up the view - targetView.Model = targetStore; - targetView.HeadersVisible = false; - - CellRendererToggle toggleRenderer = new CellRendererToggle (); - toggleRenderer.Activatable = true; - toggleRenderer.Xpad = 6; - TreeViewColumn checkCol = new TreeViewColumn ("", toggleRenderer, "active", LISTCOL_Checked); - checkCol.Expand = false; - targetView.AppendColumn (checkCol); - toggleRenderer.Toggled += HandleToggle; - - CellRendererText textRenderer = new CellRendererText (); - textRenderer.WrapMode = Pango.WrapMode.WordChar; - targetView.AppendColumn ("", textRenderer, "markup", LISTCOL_Text); - - fillStore (); - } - - void fillStore () - { - int count = 0; - TreeIter lastIter = TreeIter.Zero; - foreach (WebDeployTarget target in project.WebDeployTargets) { - if (target.ValidForDeployment) { - lastIter = targetStore.AppendValues (target.GetMarkup (), target, false); - count++; - } - } - - //select some targets by default if appropriate - if (count == 1) { - targetStore.SetValue (lastIter, LISTCOL_Checked, true); - } - //FIXME: store/load other selections in .userprefs file - UpdateButtonState (); - } - - public ICollection<WebDeployTarget> GetSelectedTargets () - { - List<WebDeployTarget> targets = new List<WebDeployTarget> (); - foreach (object[] row in targetStore) - if (((bool)row [LISTCOL_Checked]) == true) - targets.Add ((WebDeployTarget) row [LISTCOL_Target]); - return targets; - } - - void HandleToggle (object sender, ToggledArgs e) - { - TreeIter iter; - if (targetStore.GetIter (out iter, new TreePath (e.Path))) { - bool currentVal = (bool) targetStore.GetValue (iter, LISTCOL_Checked); - targetStore.SetValue (iter, LISTCOL_Checked, !currentVal); - } - UpdateButtonState (); - } - - void UpdateButtonState () - { - bool targetSelected = false; - foreach (object[] row in targetStore) - if (((bool)row [LISTCOL_Checked]) == true) - targetSelected = true; - buttonDeploy.Sensitive = targetSelected; - } - - protected virtual void editTargetsClicked (object sender, System.EventArgs e) - { - IdeApp.ProjectOperations.ShowOptions (project, "MonoDevelop.AspNet.Deployment"); - targetStore.Clear (); - fillStore (); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployOptionsPanel.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployOptionsPanel.cs deleted file mode 100644 index 55dc29d769..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployOptionsPanel.cs +++ /dev/null @@ -1,54 +0,0 @@ -// WebDeployOptionsPanel.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using System; -using Gtk; - -using MonoDevelop.Ide.Projects; -using MonoDevelop.Core; -using MonoDevelop.AspNet; -using MonoDevelop.Ide.Gui.Dialogs; - -namespace MonoDevelop.AspNet.Deployment -{ - - public class WebDeployOptionsPanel : ItemOptionsPanel - { - WebDeployOptionsPanelWidget panel; - - public override Widget CreatePanelWidget () - { - AspNetAppProject project = (AspNetAppProject) ConfiguredProject; - return panel = new WebDeployOptionsPanelWidget (project); - } - - public override void ApplyChanges () - { - AspNetAppProject project = (AspNetAppProject) ConfiguredProject; - panel.Store (project); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployOptionsPanelWidget.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployOptionsPanelWidget.cs deleted file mode 100644 index c1fb4f5453..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployOptionsPanelWidget.cs +++ /dev/null @@ -1,135 +0,0 @@ -// WebDeployOptionsPanelWidget.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using System; -using Gtk; - -using MonoDevelop.Core; -using MonoDevelop.AspNet; - -namespace MonoDevelop.AspNet.Deployment -{ - - public partial class WebDeployOptionsPanelWidget : Gtk.Bin - { - Gtk.ListStore targetList = new Gtk.ListStore (typeof (string), typeof(WebDeployTarget)); - const int LISTCOL_TEXT = 0; - const int LISTCOL_TARGET = 1; - - //because MD doesn't use an instant-apply settings model, we have to make a local - //copy of the collection to amke sure that cancelling changes works - WebDeployTargetCollection localCollection; - - public WebDeployOptionsPanelWidget (AspNetAppProject project) - { - localCollection = project.WebDeployTargets.Clone (); - - //fill model and set it up - this.Build (); - foreach (WebDeployTarget target in localCollection) { - targetList.AppendValues (target.GetMarkup (), target); - } - targetView.HeadersVisible = false; - targetList.SetSortFunc (LISTCOL_TEXT, delegate (TreeModel m, TreeIter a, TreeIter b) { - return string.Compare ((string) m.GetValue (a, LISTCOL_TEXT), (string) m.GetValue (b, LISTCOL_TEXT)); - }); - targetList.SetSortColumnId (LISTCOL_TEXT, SortType.Ascending); - - //set up the view - targetView.Model = targetList; - targetView.AppendColumn ("", new Gtk.CellRendererText (), "markup", LISTCOL_TEXT); - targetView.Selection.Changed += delegate (object sender, EventArgs e) { - UpdateButtonState (); - }; - - UpdateButtonState (); - } - - public void Store (AspNetAppProject project) - { - project.WebDeployTargets.Clear (); - foreach (WebDeployTarget target in localCollection) - project.WebDeployTargets.Add ((WebDeployTarget) target.Clone ()); - } - - protected virtual void AddActivated (object sender, System.EventArgs e) - { - WebDeployTarget newTarget = new WebDeployTarget (); - localCollection.Add (newTarget); - TreeIter newIter = targetList.AppendValues (newTarget.GetMarkup(), newTarget); - targetView.Selection.SelectIter (newIter); - RunEditor (newTarget); - UpdateTextForIter (newIter); - } - - void UpdateTextForIter (TreeIter iter) - { - WebDeployTarget target = (WebDeployTarget) targetList.GetValue (iter, LISTCOL_TARGET); - targetList.SetValue (iter, LISTCOL_TEXT, target.GetMarkup ()); - } - - protected virtual void RemoveActivated (object sender, System.EventArgs e) - { - TreeIter iter; - if(targetView.Selection.GetSelected (out iter)) { - WebDeployTarget targetToRemove = (WebDeployTarget) targetList.GetValue (iter, LISTCOL_TARGET); - localCollection.Remove (targetToRemove); - targetList.Remove (ref iter); - } - - if (targetList.IterIsValid (iter) || (localCollection.Count > 0 && targetList.IterNthChild (out iter, localCollection.Count - 1))) - targetView.Selection.SelectIter (iter); - } - - protected virtual void EditActivated (object sender, System.EventArgs e) - { - TreeIter iter; - if (targetView.Selection.GetSelected (out iter)) { - WebDeployTarget target = (WebDeployTarget) targetList.GetValue (iter, LISTCOL_TARGET); - RunEditor (target); - UpdateTextForIter (iter); - } - } - - void UpdateButtonState () - { - TreeIter iter; - bool selected = targetView.Selection.GetSelected (out iter); - editButton.Sensitive = selected; - removeButton.Sensitive = selected; - } - - void RunEditor (WebDeployTarget target) - { - var targetEditor = new WebDeployTargetEditor (); - targetEditor.Load (target); - targetEditor.Show (); - - if (MonoDevelop.Ide.MessageService.ShowCustomDialog (targetEditor, (Gtk.Window) Toplevel) == (int) ResponseType.Ok) - targetEditor.Save (target); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployResolver.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployResolver.cs deleted file mode 100644 index aa9c5e7a4c..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployResolver.cs +++ /dev/null @@ -1,52 +0,0 @@ -// WebDeployResolver.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using System; -using System.IO; - -using MonoDevelop.Deployment; - -namespace MonoDevelop.AspNet.Deployment -{ - - public class WebDeployResolver : IDirectoryResolver - { - - public string GetDirectory (DeployContext context, string folderId) - { - if (folderId == TargetDirectory.ProgramFiles) - return string.Empty; - - // While this would seem to be what the deploy API expects, for a web deploy it could - // produces results the user wouldn't expect - //if (context.Prefix != null) - // directory = Path.Combine (context.Prefix, directory); - - return null; - } - } - -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployService.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployService.cs deleted file mode 100644 index 352048d0b1..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployService.cs +++ /dev/null @@ -1,148 +0,0 @@ -// WebDeployService.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using System; -using System.Threading; -using System.Collections.Generic; -using Gtk; - -using MonoDevelop.Core; -using MonoDevelop.Ide.ProgressMonitoring; -using MonoDevelop.Deployment; -using MonoDevelop.Deployment.Gui; -using MonoDevelop.AspNet; -using MonoDevelop.Projects; -using MonoDevelop.Ide; - -namespace MonoDevelop.AspNet.Deployment -{ - - public class WebDeployService - { - private WebDeployService () - { - } - - static public void Deploy (AspNetAppProject project, WebDeployTarget target, ConfigurationSelector configuration) - { - Deploy (project, new WebDeployTarget[] { target }, configuration); - } - - static public void Deploy (AspNetAppProject project, ICollection<WebDeployTarget> targets, ConfigurationSelector configuration) - { - //project needs to be built before it can be deployed - IdeApp.ProjectOperations.Build (project); - - //set up and launch a copying thread - DeployThreadParams threadParams = new DeployThreadParams (); - threadParams.Context = new DeployContext (new WebDeployResolver (), null, null); - threadParams.Files = MonoDevelop.Deployment.DeployService.GetDeployFiles (threadParams.Context, - project, configuration); - - Dictionary<string, string> taskAliases = new Dictionary<string,string> (); - foreach (WebDeployTarget target in targets) { - threadParams.Targets.Add ((WebDeployTarget) target.Clone ()); - taskAliases.Add (target.LocationName, target.GetMarkup ()); - } - - var monitor = new MultiTaskDialogProgressMonitor (true, true, true, taskAliases); - monitor.SetDialogTitle (MonoDevelop.Core.GettextCatalog.GetString ("Web Deployment Progress")); - monitor.SetOperationTitle (MonoDevelop.Core.GettextCatalog.GetString ("Deploying {0}...", project.Name)); - threadParams.Monitor = monitor; - - Thread deployThread = new Thread (new ParameterizedThreadStart (DoDeploy)); - deployThread.Name = "Web deploy"; - deployThread.Start (threadParams); - } - - - static void DoDeploy (object o) - { - var threadParams = (DeployThreadParams) o; - try { - IFileReplacePolicy replacePolicy = new DialogFileReplacePolicy (); - - foreach (WebDeployTarget target in threadParams.Targets) { - if (threadParams.Monitor.IsCancelRequested) - break; - try { - - target.FileCopier.CopyFiles (threadParams.Monitor, replacePolicy, - threadParams.Files, threadParams.Context); - } - catch (OperationCanceledException ex) { - threadParams.Monitor.ReportError (GettextCatalog.GetString ("Web deploy aborted."), ex); - break; - } - catch (InvalidOperationException ex) { - threadParams.Monitor.ReportError (GettextCatalog.GetString ("Web deploy aborted."), ex); - break; - } - } - } catch (Exception e) { - MonoDevelop.Core.LoggingService.LogError ("Unhandled exception in the web deploy thread", e); - MonoDevelop.Ide.MessageService.ShowException (e, "Web deploy failed due to unhandled exception"); - } finally { - try { - threadParams.Monitor.Dispose (); - } catch (Exception ex2) { - MonoDevelop.Core.LoggingService.LogError ("Unhandled exception disposing the web deploy thread", ex2); - } - } - } - - static public void DeployDialog (AspNetAppProject project) - { - var dialog = new WebDeployLaunchDialog (project) { - Modal = true, - }; - - ICollection<WebDeployTarget> targets = null; - - var response = ResponseType.None; - try { - do { - response = (ResponseType) MessageService.RunCustomDialog (dialog, MessageService.RootWindow); - } while (response != ResponseType.Ok && response != ResponseType.Cancel && response != ResponseType.DeleteEvent); - - if (response == Gtk.ResponseType.Ok) - targets = dialog.GetSelectedTargets (); - } finally { - dialog.Destroy (); - } - if (targets != null && targets.Count > 0) - Deploy (project, targets, IdeApp.Workspace.ActiveConfiguration); - } - - class DeployThreadParams - { - public List<WebDeployTarget> Targets = new List<WebDeployTarget> (); - public DeployFileCollection Files; - public IProgressMonitor Monitor; - public DeployContext Context; - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTarget.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTarget.cs deleted file mode 100644 index 6e6a9beb9e..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTarget.cs +++ /dev/null @@ -1,105 +0,0 @@ -// WebDeployTarget.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using System; - -using MonoDevelop.Core.Serialization; -using MonoDevelop.Deployment; - -namespace MonoDevelop.AspNet.Deployment -{ - - - public class WebDeployTarget - { - [ItemProperty ("Name")] - internal string name; - - [ItemProperty ("FileCopier")] - FileCopyConfiguration fileCopier; - - internal WebDeployTargetCollection parent; - - public WebDeployTarget () - { - } - - public object Clone () - { - return MemberwiseClone (); - } - - public string Name { - get { return name; } - set { - name = value; - //when bound to a parent, check to avoid name collisions - if (parent != null) - parent.EnforceUniqueName (this); - } - } - - //returns GTK markup for lists - public string GetMarkup () - { - string locationLabel = MonoDevelop.Core.GettextCatalog.GetString ("Location: {0}", LocationName); - return string.Format ("<b>{0}</b>\n{1}", Name, locationLabel); - } - - public string LocationName { - get { - return ValidForDeployment ? - fileCopier.FriendlyLocation : - MonoDevelop.Core.GettextCatalog.GetString ("Not set"); - } - } - - public bool ValidForDeployment { - get { - return (fileCopier != null && !string.IsNullOrEmpty (fileCopier.FriendlyLocation)); - } - } - - public FileCopyConfiguration FileCopier - { - get { return fileCopier; } - set { fileCopier = value; } - } - - public override bool Equals (object o) - { - WebDeployTarget other = o as WebDeployTarget; - if (other != null) - return fileCopier == other.fileCopier && name == other.name; - return false; - } - - public override int GetHashCode () - { - return fileCopier.GetHashCode () + name.GetHashCode (); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTargetCollection.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTargetCollection.cs deleted file mode 100644 index 5e4a9feca2..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTargetCollection.cs +++ /dev/null @@ -1,146 +0,0 @@ -// DeployTargets.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using System; -using System.Collections; - -namespace MonoDevelop.AspNet.Deployment -{ - - public class WebDeployTargetCollection : CollectionBase - { - - public int Add (WebDeployTarget target) - { - return List.Add (target); - } - - public WebDeployTarget this [int index] { - get { - return (WebDeployTarget) List [index]; - } - } - - public WebDeployTarget this [string name] { - get { - foreach (WebDeployTarget c in this) - if (c.Name == name) - return c; - return null; - } - } - - public void Remove (WebDeployTarget target) - { - List.Remove (target); - } - - public void Remove (string name) - { - int nameAt = ContainsName (name); - if (nameAt >= 0) - List.RemoveAt (nameAt); - } - - int ContainsName (string name) - { - for (int i = 0; i < Count; i++) - if (this [i].Name == name) - return i; - return -1; - } - - //this is used to ensure that each target has a unique name within the collection - bool settingName = false; - internal void EnforceUniqueName (WebDeployTarget target) - { - if (settingName) - return; - - bool foundSameName = false; - if (!string.IsNullOrEmpty (target.Name)) { - foreach (WebDeployTarget c in this) - if (c != target && c.Name == target.Name) - foundSameName = true; - } - if (!foundSameName) - return; - - int newIndex = 1; - do { - string newName = MonoDevelop.Core.GettextCatalog.GetString ("Web Deploy Target {0}", newIndex); - if (ContainsName (newName) < 0) { - settingName = true; - target.name = newName; - settingName = false; - return; - } - newIndex++; - } while (newIndex < int.MaxValue); - throw new InvalidOperationException ("Ran out of indices for default target names."); - } - - protected override void OnSet (int index, object oldValue, object newValue) - { - WebDeployTarget target = (WebDeployTarget) newValue; - target.parent = this; - EnforceUniqueName (target); - base.OnSet (index, oldValue, newValue); - } - - protected override void OnInsert (int index, object value) - { - WebDeployTarget target = (WebDeployTarget) value; - target.parent = this; - EnforceUniqueName (target); - base.OnInsert (index, value); - } - - protected override void OnRemove (int index, object value) - { - WebDeployTarget target = (WebDeployTarget) value; - target.parent = null; - base.OnRemove (index, value); - } - - - internal WebDeployTargetCollection Clone () - { - WebDeployTargetCollection clone = new WebDeployTargetCollection (); - foreach (WebDeployTarget target in this) - clone.Add ((WebDeployTarget) target.Clone ()); - return clone; - } - - public bool ContainsTargetValidForDeployment () - { - foreach (WebDeployTarget target in this) - if (target.ValidForDeployment) - return true; - return false; - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTargetEditor.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTargetEditor.cs deleted file mode 100644 index 1f474d2901..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployTargetEditor.cs +++ /dev/null @@ -1,64 +0,0 @@ -// WebDeployTargetEditor.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using System; - -using MonoDevelop.Deployment; -using MonoDevelop.Deployment.Targets; -using MonoDevelop.Deployment.Gui; - -namespace MonoDevelop.AspNet.Deployment -{ - - public partial class WebDeployTargetEditor : Gtk.Dialog - { - FileCopyConfigurationSelector selector; - public WebDeployTargetEditor() - { - this.Build(); - - selector = new FileCopyConfigurationSelector (); - fileCopyBox.PackStart (selector, true, true, 0); - } - - public void Load (WebDeployTarget target) - { - nameEntry.Text = target.Name; - FileCopyConfiguration fConfig = null; - try { - fConfig = target.FileCopier == null? null : target.FileCopier.Clone (); - } catch (InvalidOperationException) {// if the handler can't be found - } - selector.Configuration = fConfig; - } - - public void Save (WebDeployTarget target) - { - target.Name = nameEntry.Text; - target.FileCopier = selector.Configuration; - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployWindow.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployWindow.cs deleted file mode 100644 index a71d71e7a7..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebDeployWindow.cs +++ /dev/null @@ -1,167 +0,0 @@ -// WebDeployWindow.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using System; -using System.Collections.Generic; -using System.Threading; -using Gtk; - -using MonoDevelop.Ide.Gui; -using MonoDevelop.Deployment; -using MonoDevelop.Core; -using MonoDevelop.Core.ProgressMonitoring; -using AspNetAddIn; - -namespace MonoDevelop.AspNet.Deployment -{ - - public partial class WebDeployWindow : Gtk.Dialog//, IProgressMonitor, IAsyncOperation - { - IList<WebDeployTarget> targets; - AspNetAppProject project; - DeployFileCollection deployFiles; - - public WebDeployWindow (AspNetAppProject project, IList<WebDeployTarget> targets) - { - this.Build(); - this.targets = targets; - this.project = project; - deployFiles = project.GetDeployFiles (); - } - /* - protected override void OnRealized () - { - base.OnRealized (); - } - - void LaunchDeployThread () - { - Thread deployThread = new Thread (DeployThread); - deployThread.Start (); - } - - void DeployThread () - { - IFileReplacePolicy replacePolicy = new MonoDevelop.Deployment.Gui.DialogFileReplacePolicy (); - - foreach (WebDeployTarget target in targets) { - FileCopyHandler handler = target.FileCopier.Handler; - //handler.CopyFiles (this, replacePolicy, target.FileCopier, deployFiles); - } - -#region IProgressMonitor - - ProgressTracker progressTracker = new ProgressTracker (); - - public void IProgressMonitor.ReportError (string message, System.Exception exception) - { - } - - public void IProgressMonitor.ReportSuccess (string message) - { - } - - public void IProgressMonitor.ReportWarning (string message) - { - } - - public void IProgressMonitor.Step (int work) - { - progressTracker.Step (work); - } - - public void IProgressMonitor.EndTask () - { - progressTracker.EndTask (); - } - - public void IProgressMonitor.BeginStepTask (string name, int totalWork, int stepSize) - { - progressTracker.BeginStepTask (name, totalWork, stepSize); - } - - public void IProgressMonitor.BeginTask (string name, int totalWork) - { - progressTracker.BeginTask (name, totalWork); - } - - public System.IO.TextWriter IProgressMonitor.Log { - get { return null; } - } - - MonitorHandler IProgressMonitor_cancelRequested; - event MonitorHandler IProgressMonitor.CancelRequested { - add { - lock(privateLock) - IProgressMonitor_cancelRequested += value; - } - remove { - lock (privateLock) - IProgressMonitor_cancelRequested -= value; - } - } - - bool IProgressMonitor_cancelRequested = false; - bool IProgressMonitor.IsCancelRequested { - //FIXME - get { return false; } - } - - IAsyncOperation IProgressMonitor.AsyncOperation { - get { return (IAsyncOperation) this; } - } - - object privateLock = new object (); - object IProgressMonitor.SyncRoot { - get { return privateLock; } - } - -#endregion - -#region IAsyncOperation - void IAsyncOperation.WaitForCompleted () - { - } - - void IAsyncOperation.Cancel () - { - } - - event MonoDevelop.Core.OperationHandler IAsyncOperation.Completed; - - bool IAsyncOperation.IsCompleted { - get { - } - } - - bool IAsyncOperation.Success { - get { - } - } - -#endregion*/ - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetConfigurationPanel.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetConfigurationPanel.cs deleted file mode 100644 index 553c3b5a4e..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetConfigurationPanel.cs +++ /dev/null @@ -1,62 +0,0 @@ -// -// AspNetConfigurationPanel.cs: Edits complication configuration options -// of an AspNetAppProject -// -// Authors: -// Michael Hutchinson <m.j.hutchinson@gmail.com> -// -// Copyright (C) 2006 Michael Hutchinson -// -// -// This source code is licenced under The MIT License: -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using Gtk; -using MonoDevelop.Ide.Projects; -using MonoDevelop.Core; -using MonoDevelop.Ide.Gui.Dialogs; - -namespace MonoDevelop.AspNet.Gui -{ - - class AspNetConfigurationPanel : MultiConfigItemOptionsPanel - { - AspNetConfigurationPanelWidget panel; - - public override Widget CreatePanelWidget () - { - return panel = new AspNetConfigurationPanelWidget (); - } - - public override void LoadConfigData () - { - panel.Load ((AspNetAppProjectConfiguration) CurrentConfiguration); - } - - public override void ApplyChanges () - { - panel.Store ((AspNetAppProjectConfiguration) CurrentConfiguration); - } - } -} - diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetConfigurationPanelWidget.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetConfigurationPanelWidget.cs deleted file mode 100644 index 20d857f6e2..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetConfigurationPanelWidget.cs +++ /dev/null @@ -1,32 +0,0 @@ -// ------------------------------------------------------------------------------ -// <autogenerated> -// This code was generated by a tool. -// Mono Runtime Version: 2.0.50727.42 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// </autogenerated> -// ------------------------------------------------------------------------------ - -using MonoDevelop.Core; - -namespace MonoDevelop.AspNet.Gui -{ - partial class AspNetConfigurationPanelWidget : Gtk.Bin - { - public AspNetConfigurationPanelWidget () - { - this.Build(); - } - - public void Load (AspNetAppProjectConfiguration configuration) - { - disableCodeBehindGeneration.Active = configuration.DisableCodeBehindGeneration; - } - - public void Store (AspNetAppProjectConfiguration configuration) - { - configuration.DisableCodeBehindGeneration = disableCodeBehindGeneration.Active; - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspProjectDom.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspProjectDom.cs deleted file mode 100644 index 6b29cee292..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspProjectDom.cs +++ /dev/null @@ -1,84 +0,0 @@ -//// -//// AspProjectDom.cs -//// -//// Author: -//// Michael Hutchinson <mhutchinson@novell.com> -//// -//// Copyright (c) 2010 Novell, Inc. (http://www.novell.com) -//// -//// Permission is hereby granted, free of charge, to any person obtaining a copy -//// of this software and associated documentation files (the "Software"), to deal -//// in the Software without restriction, including without limitation the rights -//// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -//// copies of the Software, and to permit persons to whom the Software is -//// furnished to do so, subject to the following conditions: -//// -//// The above copyright notice and this permission notice shall be included in -//// all copies or substantial portions of the Software. -//// -//// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -//// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -//// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -//// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -//// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -//// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -//// THE SOFTWARE. -//using System; -//using System.Collections.Generic; -//using System.Linq; -//using ICSharpCode.NRefactory.TypeSystem; -//using ICSharpCode.NRefactory.TypeSystem.Implementation; -// -// -//namespace MonoDevelop.AspNet.Gui -//{ -// /// <summary> -// /// This wraps a project dom and adds the compilation information from the ASP.NET page to the DOM to lookup members -// /// on the page. -// /// </summary> -// class AspProjectDomWrapper : TypeResolveContextDecorator -// { -// DocumentInfo info; -// -// //FIXME: use all the doms -// //FIXME: merge the items from the members visitor too -// public AspProjectDomWrapper (DocumentInfo info) : base (info.References[0]) -// { -// this.info = info; -// } -// -// ITypeDefinition constructedType = null; -// ITypeDefinition CheckType (ITypeDefinition type) -// { -// if (type == null) -// return null; -// var cu = info.ParsedDocument; -// var firstType = cu.TopLevelTypeDefinitions.FirstOrDefault (); -// if (firstType != null && firstType.FullName == type.FullName) { -// if (constructedType != null) -// return constructedType; -// constructedType = CompoundTypeDefinition.Create (new [] { firstType, type, info.CodeBesideClass }); -//// constructedType.GetProjectContent () = this; -// return constructedType; -// } -// return type; -// } -// -// public override ITypeDefinition GetTypeDefinition (string nameSpace, string name, int typeParameterCount, StringComparer nameComparer) -// { -// return CheckType (base.GetTypeDefinition (nameSpace, name, typeParameterCount, nameComparer)); -// } -// -// public override IEnumerable<ITypeDefinition> GetTypes() -// { -// return base.GetTypes ().Select (t => CheckType (t)); -// } -// -// public override IEnumerable<ITypeDefinition> GetTypes(string nameSpace, StringComparer nameComparer) -// { -// return base.GetTypes (nameSpace, nameComparer).Select (t => CheckType (t)); -// } -// -// } -//} -// diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/XspOptionsPanelWidget.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/XspOptionsPanelWidget.cs deleted file mode 100644 index cabb69c96f..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/XspOptionsPanelWidget.cs +++ /dev/null @@ -1,119 +0,0 @@ -// XspOptionsPanelWidget.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using System; -using Gtk; - -using MonoDevelop.Core; - -namespace MonoDevelop.AspNet.Gui -{ - - - public partial class XspOptionsPanelWidget : Gtk.Bin - { - - public XspOptionsPanelWidget (AspNetAppProject project) - { - this.Build(); - - XspParameters xPar = project.XspParameters; - - //index should be equivalent to XspSslMode enum - ((ListStore) sslMode.Model).Clear (); - sslMode.AppendText (GettextCatalog.GetString ("None")); - sslMode.AppendText (GettextCatalog.GetString ("Enabled")); - sslMode.AppendText (GettextCatalog.GetString ("Accept Client Certificates")); - sslMode.AppendText (GettextCatalog.GetString ("Require Client Certificates")); - - //index should be equivalent to XspSslProtocol enum - ((ListStore) sslProtocol.Model).Clear (); - sslProtocol.AppendText (GettextCatalog.GetString ("Default")); - sslProtocol.AppendText ("TLS"); - sslProtocol.AppendText ("SSL 2"); - sslProtocol.AppendText ("SSL 3"); - - ((ListStore) keyType.Model).Clear (); - keyType.AppendText (GettextCatalog.GetString ("None")); - keyType.AppendText ("Pkcs12"); - keyType.AppendText ("PVK"); - - ((ListStore) passwordOptions.Model).Clear (); - passwordOptions.AppendText (GettextCatalog.GetString ("None")); - passwordOptions.AppendText (GettextCatalog.GetString ("Ask")); - passwordOptions.AppendText (GettextCatalog.GetString ("Store (insecure)")); - - //set to valid port range - portNumber.SetRange (0, UInt16.MaxValue); - - //load all options - ipAddress.Text = xPar.Address; - portNumber.Value = xPar.Port; - verboseCheck.Active = xPar.Verbose; - sslMode.Active = (int) xPar.SslMode; - sslProtocol.Active = (int) xPar.SslProtocol; - keyType.Active = (int) xPar.KeyType; - keyLocation.Path = xPar.PrivateKeyFile; - certLocation.Path = xPar.CertificateFile; - passwordOptions.Active = (int) xPar.PasswordOptions; - passwordEntry.Text = xPar.PrivateKeyPassword; - } - - public void Store (AspNetAppProject project) - { - XspParameters xPar = project.XspParameters; - - xPar.Address = ipAddress.Text; - xPar.Port = System.Convert.ToUInt16 (portNumber.Value); - xPar.Verbose = verboseCheck.Active; - xPar.SslMode = (XspSslMode) sslMode.Active; - xPar.SslProtocol = (XspSslProtocol) sslProtocol.Active; - xPar.KeyType = (XspKeyType) keyType.Active; - xPar.PrivateKeyFile = keyLocation.Path; - xPar.CertificateFile = certLocation.Path; - xPar.PasswordOptions = (XspPasswordOptions) passwordOptions.Active; - xPar.PrivateKeyPassword = passwordEntry.Text; - } - - void updateSensitivity (object sender, EventArgs e) - { - bool sslEnabled = ((XspSslMode) sslMode.Active) != XspSslMode.None; - sslProtocol.Sensitive = sslEnabled; - keyType.Sensitive = sslEnabled; - - bool keyEnabled = (sslEnabled)? (keyType.Active != 0) : false; - keyLocation.Sensitive = keyEnabled; - passwordOptions.Sensitive = keyEnabled; - - bool certEnabled = (keyEnabled)? (keyType.Active == 2) : false; - certLocation.Sensitive = certEnabled; - - passwordEntry.Sensitive = (keyEnabled)? (passwordOptions.Active == 2) : false; - if (!passwordEntry.Sensitive) - passwordEntry.Text = ""; - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs deleted file mode 100755 index 1ddfec16b4..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/DocumentReferenceManager.cs +++ /dev/null @@ -1,450 +0,0 @@ -// -// DocumentReferenceManager.cs: Handles web type lookups for ASP.NET documents. -// -// Authors: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// -// This source code is licenced under The MIT License: -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Collections.Generic; -using System.Globalization; - -using MonoDevelop.Core; -//using MonoDevelop.AspNet.Parser.Dom; -using MonoDevelop.Projects.Text; -using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.Ide.Gui; -using System.IO; -using System.Linq; -using Mono.TextEditor; -using ICSharpCode.NRefactory.TypeSystem; -using MonoDevelop.Ide.TypeSystem; -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.AspNet.StateEngine; - -namespace MonoDevelop.AspNet.Parser -{ - - - public class DocumentReferenceManager - { - public DocumentReferenceManager (AspNetAppProject project) - { - this.Project = project; - TypeCtx = new WebTypeContext (project); - } - - protected IEnumerable<RegisterDirective> RegisteredTags { - get { return Doc.Info.RegisteredTags; } - } - - public AspNetParsedDocument Doc { get; set; } - public AspNetAppProject Project { get; private set; } - public WebTypeContext TypeCtx { get; private set; } - - string DirectoryPath { get { return Path.GetDirectoryName (Doc.FileName); } } - - public string GetTypeName (string tagPrefix, string tagName)
- { - return GetTypeName (tagPrefix, tagName, null); - } - - public string GetTypeName (string tagPrefix, string tagName, string htmlTypeAttribute)
- { - if (tagPrefix == null || tagPrefix.Length < 1) - return WebTypeContext.HtmlControlLookup (tagName, htmlTypeAttribute); - - if (0 == string.Compare (tagPrefix, "asp", StringComparison.OrdinalIgnoreCase)) { - string systemType = TypeCtx.SystemTypeNameLookup (tagName); - if (!string.IsNullOrEmpty (systemType)) - return systemType; - } - - foreach (var rd in RegisteredTags) { - if (string.Compare (rd.TagPrefix, tagPrefix, StringComparison.OrdinalIgnoreCase) != 0) - continue; - - var ard = rd as AssemblyRegisterDirective; - if (ard != null) { - var dom = TypeCtx.ResolveAssembly (ard.Assembly); - if (dom == null) - continue; - - string fullName = WebTypeContext.AssemblyTypeNameLookup (dom, ard.Namespace, tagName); - if (fullName != null) - return fullName; - } - - var crd = rd as ControlRegisterDirective; - if (crd != null && string.Compare (crd.TagName, tagName, StringComparison.OrdinalIgnoreCase) == 0) { - string fullName = TypeCtx.GetUserControlTypeName (crd.Src, Doc.FileName); - if (fullName != null) - return fullName; - } - } - - //returns null if type not found - return TypeCtx.GetRegisteredTypeName (DirectoryPath, tagPrefix, tagName); - } - - public IType GetType (string tagPrefix, string tagName, string htmlTypeAttribute) - { - if (tagPrefix == null || tagPrefix.Length < 1) - return TypeCtx.HtmlControlTypeLookup (tagName, htmlTypeAttribute); - - if (0 == string.Compare (tagPrefix, "asp", StringComparison.OrdinalIgnoreCase)) { - var systemType = TypeCtx.SystemTypeLookup (tagName); - if (systemType != null) - return systemType; - } - - foreach (var rd in RegisteredTags) { - if (string.Compare (rd.TagPrefix, tagPrefix, StringComparison.OrdinalIgnoreCase) != 0) - continue; - - var ard = rd as AssemblyRegisterDirective; - if (ard != null) { - var dom = TypeCtx.ResolveAssembly (ard.Assembly); - if (dom != null) { - var type = WebTypeContext.AssemblyTypeLookup (dom, ard.Namespace, tagName); - if (type != null) - return type; - } - continue; - } - - var crd = rd as ControlRegisterDirective; - if (crd != null && string.Compare (crd.TagName, tagName, StringComparison.OrdinalIgnoreCase) == 0) { - var type = TypeCtx.GetUserControlType (crd.Src, Doc.FileName); - if (type != null) - return type; - } - } - - //returns null if type not found - return TypeCtx.GetRegisteredType (DirectoryPath, tagPrefix, tagName); - } - - public IEnumerable<CompletionData> GetControlCompletionData () - { - return GetControlCompletionData (ReflectionHelper.ParseReflectionName ("System.Web.UI.Control").Resolve (TypeSystemService.GetCompilation (Project))); - } - - public IEnumerable<CompletionData> GetControlCompletionData (IType baseType) - { - bool isSWC = baseType.FullName == "System.Web.UI.Control"; - - string aspPrefix = "asp:"; - foreach (IType cls in WebTypeContext.ListSystemControlClasses (baseType, Project)) - yield return new AspTagCompletionData (aspPrefix, cls); - - foreach (var rd in RegisteredTags) { - if (!rd.IsValid ()) - continue; - - var ard = rd as AssemblyRegisterDirective; - if (ard != null) { - var dom = TypeCtx.ResolveAssembly (ard.Assembly); - if (dom == null) - continue; - - string prefix = ard.TagPrefix + ":"; - foreach (IType cls in WebTypeContext.ListControlClasses (baseType, dom, ard.Namespace)) - yield return new AspTagCompletionData (prefix, cls); - continue; - } - - if (!isSWC) - continue; - - ControlRegisterDirective cd = rd as ControlRegisterDirective; - if (cd != null) { - yield return new CompletionData (string.Concat (cd.TagPrefix, ":", cd.TagName), - Gtk.Stock.GoForward); - } - } - - //return controls from web.config - foreach (var cd in TypeCtx.GetRegisteredTypeCompletionData (DirectoryPath, baseType)) - yield return cd; - } - - public IType GetControlType (string tagPrefix, string tagName) - { - if (String.IsNullOrEmpty (tagPrefix)) - return null; - - IType type = null; - if (0 == string.Compare (tagPrefix, "asp", StringComparison.OrdinalIgnoreCase)) { - type = TypeCtx.SystemTypeLookup (tagName); - if (type != null) - return type; - } - - foreach (var rd in RegisteredTags) { - if (string.Compare (rd.TagPrefix, tagPrefix, StringComparison.OrdinalIgnoreCase) != 0) - continue; - - AssemblyRegisterDirective ard = rd as AssemblyRegisterDirective; - if (ard != null) { - var dom = TypeCtx.ResolveAssembly (ard.Assembly); - if (dom == null) - continue; - type = WebTypeContext.AssemblyTypeLookup (dom, ard.Namespace, tagName); - if (type != null) - return type; - continue; - } - - var crd = rd as ControlRegisterDirective; - if (crd != null && string.Compare (crd.TagName, tagName, StringComparison.OrdinalIgnoreCase) == 0) { - return TypeCtx.GetUserControlType (crd.Src, Doc.FileName); - } - } - - //returns null if type not found - return TypeCtx.GetRegisteredType (DirectoryPath, tagPrefix, tagName); - } - - public string GetTagPrefix (IType control) - { - if (control.Namespace == "System.Web.UI.WebControls") - return "asp"; - else if (control.Namespace == "System.Web.UI.HtmlControls") - return string.Empty; - - foreach (var rd in RegisteredTags) { - var ard = rd as AssemblyRegisterDirective; - if (ard != null && ard.Namespace == control.Namespace) - return ard.TagPrefix; - } - - // returns null if no result found - return TypeCtx.GetControlPrefix (DirectoryPath, control); - } - - IEnumerable<RegisterDirective> GetDirectivesForPrefix (string prefix) - { - return RegisteredTags.Where (t => string.Equals (t.TagPrefix, prefix, StringComparison.OrdinalIgnoreCase)); - } - - /// <summary> - /// Gets a tag prefix, also returning the directive that would have to be added if necessary. - /// </summary> - public string GetTagPrefixWithNewDirective (IType control, string assemblyName, string desiredPrefix, - out RegisterDirective directiveNeededToAdd) - { - directiveNeededToAdd = null; - string existingPrefix = GetTagPrefix (control); - if (existingPrefix != null) - return existingPrefix; - - //TODO: detect control name conflicts - string prefix = desiredPrefix; - if (desiredPrefix == null) - prefix = GetPrefix (control); - - var an = MonoDevelop.Core.Assemblies.SystemAssemblyService.ParseAssemblyName (assemblyName); - - directiveNeededToAdd = new AssemblyRegisterDirective (prefix, control.Namespace, an.Name); - - return prefix; - } - - #region "Refactoring" operations -- things that modify the file - - public void AddAssemblyReferenceToProject (string assemblyName, string assemblyLocation) - { - //build an reference to the assembly - MonoDevelop.Projects.ProjectReference pr; - if (string.IsNullOrEmpty (assemblyLocation)) { - pr = new MonoDevelop.Projects.ProjectReference - (MonoDevelop.Projects.ReferenceType.Package, assemblyName); - } else { - pr = new MonoDevelop.Projects.ProjectReference - (MonoDevelop.Projects.ReferenceType.Assembly, assemblyLocation); - } - - //add the reference if it doesn't match an existing one - bool match = false; - foreach (var p in Project.References) - if (p.Equals (pr)) - match = true; - if (!match) - Project.References.Add (pr); - } - - string GetPrefix (IType control) - { - //FIXME: make this work - /* - foreach (IAttributeSection attSec in control.CompilationUnit.Attributes) { - foreach (IAttribute att in attSec.Attributes) { - if (att.PositionalArguments != null && att.PositionalArguments.Length == 2 - && ExprToStr (att.PositionalArguments[0]) == control.Namespace) { - string prefix = ExprToStr (att.PositionalArguments [1]); - if (prefix != null) - return prefix; - } - - if (att.Name == "System.Web.UI.TagPrefixAttribute") { - bool match = false; - foreach (NamedAttributeArgument arg in att.NamedArguments) { - if (arg.Name == "NamespaceName" - && ExprToStr (arg.Expression) == control.Namespace) { - match = true; - break; - } - } - foreach (NamedAttributeArgument arg in att.NamedArguments) { - if (arg.Name == "TagPrefix") { - string prefix = ExprToStr (arg.Expression); - if (prefix != null) - return prefix; - } - } - } - } - } - */ - //generate a new prefix base on initials of namespace - string[] namespaces = control.Namespace.Split ('.'); - char[] charr = new char[namespaces.Length]; - for (int i = 0; i < charr.Length; i++) - charr[i] = char.ToLower (namespaces[i][0]); - - //find a variant that doesn't match an existing prefix - string trialPrefix = new string (charr); - string trial = trialPrefix; - - for (int trialSuffix = 1; trialSuffix < int.MaxValue; trialSuffix++) { - using (IEnumerator<RegisterDirective> en = GetDirectivesForPrefix (trial).GetEnumerator()) - if (!en.MoveNext ()) - return trial; - trial = trialPrefix + trialSuffix; - } - throw new InvalidOperationException ("Ran out of integer suffixes for tag prefixes"); - } - - string ExprToStr (System.CodeDom.CodeExpression expr) - { - System.CodeDom.CodePrimitiveExpression p = expr as System.CodeDom.CodePrimitiveExpression; - return p != null? p.Value as string : null; - } - - public void AddRegisterDirective (RegisterDirective directive, TextEditorData editor, bool preserveCaretPosition) - { - var node = GetRegisterInsertionPointNode (); - if (node == null) - return; - - Doc.Info.RegisteredTags.Add (directive); - - var line = Math.Max (node.Region.EndLine, node.Region.BeginLine); - var pos = editor.Document.LocationToOffset (line, editor.Document.GetLine (line - 1).Length); - if (pos < 0) - return; - - using (var undo = editor.OpenUndoGroup ()) { - var oldCaret = editor.Caret.Offset; - - var inserted = editor.Insert (pos, editor.EolMarker + directive.ToString ()); - if (preserveCaretPosition) { - editor.Caret.Offset = (pos < oldCaret)? oldCaret + inserted : oldCaret; - } - } - } - - AspNetDirective GetRegisterInsertionPointNode () - { - foreach (XNode node in Doc.XDocument.AllDescendentNodes) { - if (node is AspNetDirective) { - AspNetDirective directive = node as AspNetDirective; - - switch (directive.Name.Name.ToLower ()) { - case "page": - case "control": - case "master": - case "register": - return directive; - } - } else if (node is XElement) { - return null; - } - } - return null; - } - - #endregion - - public IEnumerable<string> GetUsings () - { - var usings = new HashSet<string> (Project.RegistrationCache.GetNamespacesForPath (DirectoryPath)); - foreach (var s in Doc.Info.Imports) - usings.Add (s); - return usings; - } - - public IList<ICompilation> GetDoms () - { - var asms = new HashSet<string> (Project.RegistrationCache.GetAssembliesForPath (DirectoryPath)); - foreach (var s in Doc.Info.Assemblies) - asms.Add (s.Name); - - var doms = new List<ICompilation> (); - doms.Add (TypeCtx.Compilation); -/* - foreach (var asmName in asms) { - var dom = TypeCtx.ResolveAssembly (asmName); - if (dom != null) - doms.Add (dom); - }*/ - return doms; - } - } - - //lazily loads docs - class AspTagCompletionData : CompletionData - { - IType cls; - - public AspTagCompletionData (string prefix, IType cls) - : base (prefix + cls.Name, Gtk.Stock.GoForward) - { - this.cls = cls; - } - - public override string Description { - get { - if (base.Description == null && cls != null) - base.Description = AmbienceService.GetSummaryMarkup (cls.GetDefinition ()); - return base.Description; - } - set { base.Description = value; } - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/MemberListVisitor.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/MemberListVisitor.cs deleted file mode 100644 index c2819e6edc..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/MemberListVisitor.cs +++ /dev/null @@ -1,205 +0,0 @@ -// -// MemberListVisitor.cs: Collects members from ASP.NET document tree, -// for code completion and other services. -// -// Authors: -// Michael Hutchinson <m.j.hutchinson@gmail.com> -// -// Copyright (C) 2006 Michael Hutchinson -// -// -// This source code is licenced under The MIT License: -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Collections.Generic; - -using MonoDevelop.Core; -using MonoDevelop.AspNet.Parser.Dom; -using ICSharpCode.NRefactory.TypeSystem; -using ICSharpCode.NRefactory.CSharp; -using ICSharpCode.NRefactory; -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.AspNet.StateEngine; - -namespace MonoDevelop.AspNet.Parser -{ - //purpose is to find all named tags for code completion and compilation of base class - public class MemberListVisitor : Visitor - { - DocumentReferenceManager refMan; - - public MemberListVisitor (DocumentReferenceManager refMan) - { - this.refMan = refMan; - this.Errors = new List<Error> (); - this.Members = new Dictionary<string,CodeBehindMember> (); - } - - public override void Visit (TagNode node) - { - if (!node.Attributes.IsRunAtServer ()) - return; - - string id = node.Attributes ["id"] as string; - - if (id == null) - return; - - if (Members.ContainsKey (id)) { - AddError (ErrorType.Error, node.Location, GettextCatalog.GetString ("Tag ID must be unique within the document: '{0}'.", id)); - return; - } - - string [] s = node.TagName.Split (':'); - string prefix = (s.Length == 1)? "" : s[0]; - string name = (s.Length == 1)? s[0] : s[1]; - if (s.Length > 2) { - AddError (ErrorType.Error, node.Location, GettextCatalog.GetString ("Malformed tag name: '{0}'.", node.TagName)); - return; - } - - IType type = null; - try { - type = refMan.GetType (prefix, name, node.Attributes ["type"] as string); - } catch (Exception e) { - AddError (ErrorType.Error, node.Location, "Unknown parser error:" + e.ToString ()); - return; - } - - if (type == null) { - AddError (ErrorType.Error, node.Location, GettextCatalog.GetString ("The tag type '{0}{1}{2}' has not been registered.", prefix, string.IsNullOrEmpty(prefix)? string.Empty:":", name)); - return; - } - - Members [id] = new CodeBehindMember (id, type, new TextLocation (node.Location.BeginLine, node.Location.BeginColumn)); - } - - internal void AddError (ErrorType type, ILocation location, string message) - { - Errors.Add (new Error (type, message, location.BeginLine, location.BeginColumn)); - } - - public IDictionary<string,CodeBehindMember> Members { get; private set; } - public IList<Error> Errors { get; private set; } - } - - public class MemberListBuilder - { - DocumentReferenceManager docRefMan; - XDocument xDocument; - - public IDictionary<string,CodeBehindMember> Members { get; private set; } - public IList<Error> Errors { get; private set; } - - public MemberListBuilder (DocumentReferenceManager refMan, XDocument xDoc) - { - docRefMan = refMan; - xDocument = xDoc; - - Errors = new List<Error> (); - Members = new Dictionary<string,CodeBehindMember> (); - } - - public void Build () - { - try { - AddMember (xDocument.RootElement); - } catch (Exception ex) { - Errors.Add (new Error (ErrorType.Error, "Unknown parser error: " + ex.ToString ())); - } - } - - void AddMember (XElement element) - { - string id = GetAttributeValueCI (element.Attributes, "id"); - if (IsRunatServer (element) && (id != string.Empty)) { - - if (Members.ContainsKey (id)) { - Errors.Add (new Error ( - ErrorType.Error, - GettextCatalog.GetString ("Tag ID must be unique within the document: '{0}'.", id), - element.Region - ) - ); - } else { - string controlType = GetAttributeValueCI (element.Attributes, "type"); - IType type = docRefMan.GetType (element.Name.Prefix, element.Name.Name, controlType); - - if (type == null) { - Errors.Add ( - new Error ( - ErrorType.Error, - GettextCatalog.GetString ("The tag type '{0}{1}{2}' has not been registered.", - element.Name.Prefix, - element.Name.HasPrefix ? string.Empty : ":", - element.Name.Name), - element.Region - ) - ); - } else - Members [id] = new CodeBehindMember (id, type, element.Region.Begin); - } - - } - foreach (XNode node in element.Nodes) { - if (node is XElement) - AddMember (node as XElement); - } - } - - bool IsRunatServer (XElement el) - { - XName runat = new XName ("runat"); - foreach (XAttribute attr in el.Attributes) { - if ((attr.Name.ToLower () == runat) && (attr.Value.ToLower () == "server")) - return true; - } - return false; - } - - string GetAttributeValueCI (XAttributeCollection attributes, string key) - { - XName nameKey = new XName (key.ToLowerInvariant ()); - - foreach (XAttribute attr in attributes) { - if (attr.Name.ToLower () == nameKey) - return attr.Value; - } - return string.Empty; - } - } - - public class CodeBehindMember - { - public CodeBehindMember (string name, IType type, TextLocation location) - { - this.Name = name; - this.Type = type; - this.Location = location; - } - - public string Name { get; private set; } - public IType Type { get; private set; } - public TextLocation Location { get; private set; } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/Regexes.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/Regexes.cs deleted file mode 100644 index 255c0969bb..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/Regexes.cs +++ /dev/null @@ -1,63 +0,0 @@ -// -// QuickInfo.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2008 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Text.RegularExpressions; - -namespace MonoDevelop.AspNet.Parser -{ - - - public static class Regexes - { - public static Regex DocType { - get { - return new Regex (@"<!DOCTYPE\s+(\w+)\s+PUBLIC\s+""(.+)""\s+""(.+)""\s*>", - RegexOptions.Compiled | RegexOptions.Singleline); - } - } - - public static Regex Directive { - get { - return new Regex (@"<%@\s*(\w+)\s+(.*)%>", RegexOptions.Compiled | RegexOptions.Singleline); - } - } - - public static Regex Expression { - get { - return new Regex (@"<%\s*([=$#]?)(.*)%>", RegexOptions.Compiled | RegexOptions.Singleline); - } - } - - public static Regex ServerTag { - get { - return new Regex (@"<\s*(?<prefix>\w+:)?(?<name>\w+)(?<attributes>(?:[^"">']|""[^""]*""|'[^']*')*runat\s*=\s*""server""(?:[^"">']|""[^""]*""|'[^']*')*>)", RegexOptions.Compiled | RegexOptions.Singleline); - } - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs deleted file mode 100644 index 0488c53d2f..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/WebFormReferenceManager.cs +++ /dev/null @@ -1,181 +0,0 @@ -// -// WebFormReferenceManager.cs: Tracks references within an ASP.NET document, and -// resolves types from tag names -// -// Authors: -// Michael Hutchinson <m.j.hutchinson@gmail.com> -// -// Copyright (C) 2006 Michael Hutchinson -// -// -// This source code is licenced under The MIT License: -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Globalization; -using System.Collections.Generic; -using System.Web; -using System.Web.UI; -using System.Web.UI.Design; - -using MonoDevelop.Projects; -using MonoDevelop.Ide.Gui; - -namespace MonoDevelop.AspNet.Parser -{ - public class WebFormReferenceManager : DocumentReferenceManager, IWebFormReferenceManager - { - int prefixIndex = 0; - - public WebFormReferenceManager (AspNetAppProject project) : base (project) - { - } - - #region IWebFormReferenceManager Members
-
- public Type GetObjectType (string tagPrefix, string typeName)
- { - string fullName = GetTypeName (tagPrefix, typeName); - if (fullName == null) - throw new Exception (string.Format ("The tag type '{0}{1}{2}' has not been registered.", tagPrefix, string.IsNullOrEmpty(tagPrefix)? string.Empty:":", typeName)); - Type type = System.Type.GetType (fullName, false); - if (type != null) - return type; - throw new NotImplementedException ("Cannot yet load custom types out-of-process."); - }
-
- public string GetRegisterDirectives ()
- { - var sb = new System.Text.StringBuilder (); - - foreach (var directive in RegisteredTags) { - var ard = directive as AssemblyRegisterDirective; - - if (ard != null) - sb.AppendFormat ("<%@ Register {0}=\"{1}\" {2}=\"{3}\" {4}=\"{5}\" %>", "TagPrefix", ard.TagPrefix, "Namespace", ard.Namespace, "Assembly", ard.Assembly); - else { - ControlRegisterDirective crd = (ControlRegisterDirective) directive; - sb.AppendFormat ("<%@ Register {0}=\"{1}\" {2}=\"{3}\" {4}=\"{5}\" %>", "TagPrefix", crd.TagPrefix, "TagName", crd.TagName, "Src", crd.Src); - } - } - - return sb.ToString ();
- }
-
- public string GetTagPrefix (Type objectType)
- {
- if (objectType.Namespace.StartsWith ("System.Web.UI"))
- return "asp"; -
- foreach (var directive in RegisteredTags) { - AssemblyRegisterDirective ard = directive as AssemblyRegisterDirective; - - if (ard != null) - if (string.Compare (ard.Namespace, objectType.Namespace, StringComparison.OrdinalIgnoreCase) == 0) - return directive.TagPrefix; - } -
- throw new Exception ("A tag prefix has not been registered for " + objectType.ToString ());
- }
-
- #endregion - - #region Add/Remove references
-
- public void AddReference (Type type)
- {
- RegisterTagPrefix (type);
- }
-
- public void AddReference (Type type, string prefix)
- {
- if (type.Assembly == typeof(System.Web.UI.WebControls.WebControl).Assembly)
- return;
-
- //check namespace is not already registered
foreach (var directive in RegisteredTags) { - AssemblyRegisterDirective ard = directive as AssemblyRegisterDirective; - if (0 == string.Compare (ard.Namespace, type.Namespace, StringComparison.Ordinal))
- throw new Exception ("That namespace is already registered with another prefix"); -
- if (0 == string.Compare (directive.TagPrefix, prefix, StringComparison.OrdinalIgnoreCase)) { - //duplicate prefix; generate a new one.
- //FIXME: possibility of stack overflow with too many default prefixes in existing document
- AddReference (type);
- return;
- } - } - - Project.References.Add (new ProjectReference (ReferenceType.Assembly, type.Assembly.ToString ()));
- /* - TODO: insert the reference into the document tree - */
- }
-
- #endregion - - #region 2.0 WebFormsReferenceManager members - - public string RegisterTagPrefix (Type type) - { - if (type.Assembly == typeof(System.Web.UI.WebControls.WebControl).Assembly)
- return "asp";
-
- string prefix = null;
-
- //check if there's a prefix for this namespace in the assembly
- var atts = (TagPrefixAttribute[]) type.Assembly.GetCustomAttributes (typeof (TagPrefixAttribute), true);
- foreach (var tpa in atts)
- if (0 == string.Compare (tpa.NamespaceName, type.Namespace, StringComparison.Ordinal))
- prefix = tpa.TagPrefix;
-
- //generate default prefix
- if (prefix == null) {
- prefix = "cc" + prefixIndex.ToString ();
- prefixIndex++;
- }
-
- AddReference (type, prefix); - - return prefix; - } - - public string GetUserControlPath (string tagPrefix, string tagName) - { - foreach (var directive in RegisteredTags) { - var crd = directive as ControlRegisterDirective; - - if (crd != null && (string.Compare (crd.TagPrefix, tagPrefix, StringComparison.OrdinalIgnoreCase) == 0) - && (string.Compare (crd.TagName, tagName, StringComparison.OrdinalIgnoreCase) == 0)) - return crd.Src; - } - - throw new Exception ("That tag has not been registered"); - } - - public Type GetType (string tagPrefix, string tagName) - { - return GetObjectType (tagPrefix, tagName); - } - - #endregion 2.0 WebFormsReferenceManager members - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetDom.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetDom.cs deleted file mode 100644 index 091196955e..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetDom.cs +++ /dev/null @@ -1,271 +0,0 @@ -// -// AspNetDom.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2008 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Text; -using System.Diagnostics; -using System.Collections.Generic; - -using MonoDevelop.Xml.StateEngine; -using ICSharpCode.NRefactory.CSharp; -using ICSharpCode.NRefactory.TypeSystem; -using ICSharpCode.NRefactory; -using System.Linq; - -namespace MonoDevelop.AspNet.StateEngine -{ - - public class AspNetDirective : XNode, IAttributedXObject - { - XName name; - XAttributeCollection attributes; - - public AspNetDirective (TextLocation start) : base (start) - { - attributes = new XAttributeCollection (this); - } - - public AspNetDirective (TextLocation start, XName name) : this (start) - { - this.name = name; - } - - protected AspNetDirective () - { - attributes = new XAttributeCollection (this); - } - - public XAttributeCollection Attributes { - get { return attributes; } - } - - public XName Name { - get { return name; } - set { - Debug.Assert (!IsNamed, "Should not name node more than once."); - name = value; - } - } - - public override bool IsComplete { get { return base.IsComplete && IsNamed; } } - public bool IsNamed { get { return name.IsValid; } } - - protected override XObject NewInstance () - { - return new AspNetDirective (); - } - - protected override void ShallowCopyFrom (XObject copyFrom) - { - base.ShallowCopyFrom (copyFrom); - AspNetDirective copyFromEl = (AspNetDirective) copyFrom; - name = copyFromEl.name; //XName is immutable value type - } - - public override string ToString () - { - return string.Format ("[AspNetDirective Name='{0}' Location='{1}'", name.FullName, this.Region); - } - - public override void BuildTreeString (StringBuilder builder, int indentLevel) - { - builder.Append (' ', indentLevel * 2); - builder.AppendFormat ("[AspNetDirective Name='{0}' Location='{1}' Children=", name.FullName, this.Region); - builder.AppendLine (); - - builder.Append (' ', indentLevel * 2); - builder.Append ("Attributes="); - builder.AppendLine (); - - foreach (XAttribute att in Attributes) - att.BuildTreeString (builder, indentLevel + 1); - - builder.Append (' ', indentLevel * 2); - builder.AppendLine ("]"); - } - - public override string FriendlyPathRepresentation { - get { return "<%@ " + name.FullName + " %>"; } - } - - } - - public abstract class AspNetExpression : XNode - { - public AspNetExpression (DomRegion region) : base (region) {} - public AspNetExpression (TextLocation start) : base (start) {} - protected AspNetExpression () {} - } - - - public class AspNetRenderExpression : AspNetExpression - { - public AspNetRenderExpression (DomRegion region) : base (region) {} - public AspNetRenderExpression (TextLocation start) : base (start) {} - protected AspNetRenderExpression () {} - - protected override XObject NewInstance () { return new AspNetRenderExpression (); } - - public override string ToString () - { - return string.Format ("[AspNetRenderExpression Location='{0}'", this.Region); - } - - public override string FriendlyPathRepresentation { - get { return "<%= %>"; } - } - } - - public class AspNetHtmlEncodedExpression : AspNetExpression - { - public AspNetHtmlEncodedExpression (DomRegion region) : base (region) {} - public AspNetHtmlEncodedExpression (TextLocation start) : base (start) {} - protected AspNetHtmlEncodedExpression () {} - - protected override XObject NewInstance () { return new AspNetHtmlEncodedExpression (); } - - public override string ToString () - { - return string.Format ("[AspNetHtmlEncodedExpression Location='{0}'", this.Region); - } - - public override string FriendlyPathRepresentation { - get { return "<%: %>"; } - } - } - - public class AspNetDataBindingExpression : AspNetExpression - { - public AspNetDataBindingExpression (DomRegion region) : base (region) {} - public AspNetDataBindingExpression (TextLocation start) : base (start) {} - protected AspNetDataBindingExpression () {} - - protected override XObject NewInstance () { return new AspNetDataBindingExpression (); } - - public override string ToString () - { - return string.Format ("[AspNetDataBindingExpression Location='{0}'", this.Region); - } - - public override string FriendlyPathRepresentation { - get { return "<%# %>"; } - } - } - - public class AspNetResourceExpression : AspNetExpression - { - public AspNetResourceExpression (DomRegion region) : base (region) {} - public AspNetResourceExpression (TextLocation start) : base (start) {} - protected AspNetResourceExpression () {} - - protected override XObject NewInstance () { return new AspNetResourceExpression (); } - - public override string ToString () - { - return string.Format ("[AspNetResourceExpression Location='{0}'", this.Region); - } - - public override string FriendlyPathRepresentation { - get { return "<%$ %>"; } - } - } - - public class AspNetServerComment : XNode - { - public AspNetServerComment (DomRegion region) : base (region) {} - public AspNetServerComment (TextLocation start) : base (start) {} - protected AspNetServerComment () {} - - protected override XObject NewInstance () { return new AspNetServerComment (); } - - public override string ToString () - { - return string.Format ("[AspNetServerComment Location='{0}'", this.Region); - } - - public override string FriendlyPathRepresentation { - get { return "<%-- --%>"; } - } - } - - public class AspNetRenderBlock : XNode - { - public AspNetRenderBlock (DomRegion region) : base (region) {} - public AspNetRenderBlock (TextLocation start) : base (start) {} - protected AspNetRenderBlock () {} - - protected override XObject NewInstance () { return new AspNetRenderBlock (); } - - public override string ToString () - { - return string.Format ("[AspNetRenderBlock Location='{0}'", this.Region); - } - - - public override string FriendlyPathRepresentation { - get { return "<% %>"; } - } - } - - public static class AspNetDomExtensions - { - static XName scriptName = new XName ("script"); - static XName runatName = new XName ("runat"); - static XName idName = new XName ("id"); - - public static bool IsRunatServer (this XElement el) - { - var val = el.Attributes.GetValue (runatName, true); - return string.Equals (val, "server", StringComparison.OrdinalIgnoreCase); - } - - public static string GetId (this IAttributedXObject el) - { - return el.Attributes.GetValue (idName, true); - } - - public static bool IsServerScriptTag (this XElement el) - { - return XName.Equals (el.Name, scriptName, true) && IsRunatServer (el); - } - - public static IEnumerable<T> WithName<T> (this IEnumerable<XNode> nodes, XName name, bool ignoreCase) where T : XNode, INamedXObject - { - return nodes.OfType<T> ().Where (el => XName.Equals (el.Name, name, ignoreCase)); - } - - public static IEnumerable<string> GetAllPlaceholderIds (this XDocument doc) - { - return doc.AllDescendentNodes - .WithName<XElement> (new XName ("asp", "ContentPlaceHolder"), true) - .Where (x => x.IsRunatServer ()) - .Select (x => x.GetId ()) - .Where (id => !string.IsNullOrEmpty (id)); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.addin.xml b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.addin.xml deleted file mode 100644 index 4ca499a0b9..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.addin.xml +++ /dev/null @@ -1,263 +0,0 @@ -<ExtensionModel>
-
- <Runtime>
- <Import file="Schemas/xhtml1-strict.xsd" />
- <Import file="Schemas/xhtml1-transitional.xsd" />
- <Import file="Schemas/xhtml1-frameset.xsd" />
- </Runtime>
-
- <Extension path = "/MonoDevelop/ProjectModel/MSBuildItemTypes">
- <DotNetProjectSubtype
- id="MonoDevelop.AspNet.AspNetAppProject"
- guid="{349c5851-65df-11da-9384-00065b846f21}"
- type="MonoDevelop.AspNet.AspNetAppProject"
- />
- </Extension>
-
- <ExtensionPoint path = "/MonoDevelop/Html/DocTypes">
- <ExtensionNode name = "DocType" type = "MonoDevelop.Html.DocTypeExtensionNode" />
- </ExtensionPoint>
-
- <ExtensionPoint path = "/MonoDevelop/Asp/CompletionBuilders">
- <ExtensionNode name="Class" />
- </ExtensionPoint>
-
- <Extension path = "/MonoDevelop/Ide/FileTemplates">
- <FileTemplate id = "WebForm-Empty"
- resource = "WebForm-Empty.xft.xml"/>
- <FileTemplate id = "WebForm-CodeBehind"
- resource = "WebForm-CodeBehind.xft.xml"/>
- <FileTemplate id = "WebForm-CodeBehindNonPartial"
- resource = "WebForm-CodeBehindNonPartial.xft.xml"/>
-
- <FileTemplate id = "WebHandler-Empty"
- resource = "WebHandler-Empty.xft.xml"/>
- <FileTemplate id = "WebHandler-CodeBehind"
- resource = "WebHandler-CodeBehind.xft.xml"/>
-
- <FileTemplate id = "WebControl-Empty"
- resource = "WebControl-Empty.xft.xml"/>
- <FileTemplate id = "WebControl-CodeBehind"
- resource = "WebControl-CodeBehind.xft.xml"/>
- <FileTemplate id = "WebControl-CodeBehindNonPartial"
- resource = "WebControl-CodeBehindNonPartial.xft.xml"/>
-
- <FileTemplate id = "WebService-Empty"
- resource = "WebService-Empty.xft.xml"/>
- <FileTemplate id = "WebService-CodeBehind"
- resource = "WebService-CodeBehind.xft.xml"/>
-
- <FileTemplate id = "MasterPage-Empty"
- resource = "MasterPage-Empty.xft.xml" />
- <FileTemplate id = "MasterPage-CodeBehind"
- resource = "MasterPage-CodeBehind.xft.xml" />
- <FileTemplate id = "MasterPage-CodeBehindNonPartial"
- resource = "MasterPage-CodeBehindNonPartial.xft.xml" />
-
- <FileTemplate id = "NestedMasterPage"
- resource = "NestedMasterPage.xft.xml" />
- <FileTemplate id = "NestedMasterPage-CodeBehind"
- resource = "NestedMasterPage-CodeBehind.xft.xml" />
-
- <FileTemplate id = "GlobalAsax-Empty"
- resource = "GlobalAsax-Empty.xft.xml" />
- <FileTemplate id = "GlobalAsax-CodeBehind"
- resource = "GlobalAsax-CodeBehind.xft.xml" />
-
- <FileTemplate id = "WebConfig-Application"
- resource = "WebConfig-Application.xft.xml" />
- <FileTemplate id = "WebConfig-SubDir"
- resource = "WebConfig-SubDir.xft.xml" />
-
- <FileTemplate id = "WebContentForm-CodeBehind"
- resource = "WebContentForm-CodeBehind.xft.xml" />
- <FileTemplate id = "WebContentForm"
- resource = "WebContentForm.xft.xml" />
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/FileTemplateTypes">
- <FileTemplateType name = "AspNetFile" class = "MonoDevelop.AspNet.AspNetFileDescriptionTemplate"/>
- <FileTemplateType name = "AspNetMasterContentFile" class = "MonoDevelop.AspNet.MasterContentFileDescriptionTemplate"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/ProjectTemplates">
- <ProjectTemplate id = "WebApplication" resource = "WebApplication.xpt.xml"/>
- <ProjectTemplate id = "WebApplication-Empty" resource = "WebApplication-Empty.xpt.xml"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/FileFilters">
- <FileFilter id = "AspNetWebFiles"
- insertafter = "Xml"
- _label = "ASP.NET Files"
- extensions = "*.aspx,*.ashx,*.asmx,*.ascx,*.master,*.asax" />
- <FileFilter id = "Html"
- _label = "HTML Files"
- extensions = "*.htm,*.html"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/ProjectModel/ProjectBindings">
- <ProjectBinding id = "AspNetApplication" class = "MonoDevelop.AspNet.AspNetAppProjectBinding" />
- </Extension>
-
- <Extension path = "/MonoDevelop/TypeSystem/Parser">
- <Parser class = "MonoDevelop.AspNet.Parser.AspNetParser" mimeType="application/x-aspx, application/x-ascx, application/x-master-page" />
- <Parser class = "MonoDevelop.Html.HtmlParser" mimeType="text/html, application/x-spark" /> - </Extension>
-
- <Extension path = "/MonoDevelop/ProjectModel/SerializableClasses">
- <DataType class = "MonoDevelop.AspNet.AspNetAppProject" />
- <DataType class = "MonoDevelop.AspNet.AspNetAppProjectConfiguration" />
- <DataType class = "MonoDevelop.AspNet.AspNetToolboxNode" />
- </Extension>
-
- <Extension path = "/MonoDevelop/ProjectModel/Gui/ItemOptionPanels/Run">
- <Condition id="ItemType" value="MonoDevelop.AspNet.AspNetAppProject">
- <Section id = "XspOptions"
- _label = "XSP Web Server"
- class = "MonoDevelop.AspNet.Gui.XspOptionsPanel"/>
- </Condition>
- </Extension>
-
- <Extension path = "/MonoDevelop/ProjectModel/Gui/ItemOptionPanels/Build">
- <Condition id="ItemType" value="MonoDevelop.AspNet.AspNetAppProject">
- <Section id = "AspNetConfiguration"
- _label = "ASP.NET Options"
- class = "MonoDevelop.AspNet.Gui.AspNetConfigurationPanel"/>
- </Condition>
- </Extension>
-
- <Extension path = "/MonoDevelop/ProjectModel/Gui/ItemOptionPanels/Deployment">
- <Condition id="ItemType" value="MonoDevelop.AspNet.AspNetAppProject">
- <Section id = "MonoDevelop.AspNet.Deployment"
- _label = "Web Deployment Targets"
- class = "MonoDevelop.AspNet.Deployment.WebDeployOptionsPanel"
- fill = "true" />
- </Condition>
- </Extension>
-
- <Extension path = "/MonoDevelop/ProjectModel/ProjectServiceExtensions">
- <Condition id="ItemType" value="MonoDevelop.AspNet.AspNetAppProject">
- <Class class = "MonoDevelop.AspNet.VerifyCodeBehindBuildStep" insertafter="MidStep" />
- </Condition>
- </Extension>
-
- <Extension path = "/MonoDevelop/DesignerSupport/ToolboxLoaders">
- <Class id="AspNetToolboxLoader" class="MonoDevelop.AspNet.AspNetToolboxLoader"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/DesignerSupport/ToolboxProviders">
- <Class id="AspNetDefaultControlToolboxProvider" class="MonoDevelop.AspNet.AspNetToolboxProvider"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/Commands">
- <Category _name = "ASP.NET" id = "AspNet">
- <Command id = "MonoDevelop.AspNet.AspNetCommands.AddAspNetDirectory"
- _label = "ASP.NET Directory"
- type="array" />
- <Command id = "MonoDevelop.AspNet.Deployment.WebDeployCommands.DeployProject"
- defaultHandler = "MonoDevelop.AspNet.Deployment.ProjectDeployHandler"
- _label = "Deploy to Web..." />
- </Category>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/ContextMenu/ProjectPad/Add">
- <Condition id="ItemType" value="MonoDevelop.AspNet.AspNetAppProject">
- <ItemSet id = "AspNetDirectories" _label = "ASP.NET Directory" insertafter = "MonoDevelop.Ide.Commands.ProjectCommands.NewFolder" autohide = "true">
- <CommandItem id = "MonoDevelop.AspNet.AspNetCommands.AddAspNetDirectory" />
- </ItemSet>
- </Condition>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/Pads/ProjectPad">
- <NodeBuilder id="MonoDevelop.AspNet.ProjectFolderNodeBuilderExtension" class = "MonoDevelop.AspNet.ProjectFolderNodeBuilderExtension"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/ContextMenu/ProjectPad/Tools">
- <Condition id="ItemType" value="MonoDevelop.AspNet.AspNetAppProject">
- <CommandItem id = "MonoDevelop.AspNet.Deployment.WebDeployCommands.DeployProject" insertafter="MonoDevelop.Ide.Commands.ProjectCommands.ExportSolution"/>
- </Condition>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/MainMenu/Project">
- <CommandItem id = "MonoDevelop.AspNet.Deployment.WebDeployCommands.DeployProject" insertafter="MonoDevelop.Ide.Commands.ProjectCommands.ExportSolution"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/SourceEditor2/CustomModes">
- <SyntaxMode mimeTypes="application/x-aspx" class="MonoDevelop.AspNet.AspNetSyntaxMode"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Core/MimeTypes">
- <MimeType id="application/x-aspx" _description="ASP.NET page" icon="md-html-file-icon" isText="true">
- <File pattern="*.aspx" />
- </MimeType>
- <MimeType id="application/x-ascx" _description="ASP.NET user control" icon="md-html-file-icon" isText="true">
- <File pattern="*.ascx" />
- </MimeType>
- <MimeType id="application/x-asax" _description="ASP.NET global application class" icon="md-html-file-icon" isText="true">
- <File pattern="*.asax" />
- </MimeType>
- <MimeType id="application/x-ashx" _description="ASP.NET handler" icon="md-html-file-icon" isText="true">
- <File pattern="*.ashx" />
- </MimeType>
- <MimeType id="application/x-asmx" _description="ASP.NET web service" icon="md-html-file-icon" isText="true">
- <File pattern="*.asmx" />
- </MimeType>
- <MimeType id="application/x-asix" _description="ASP.NET image generator" icon="md-html-file-icon" isText="true">
- <File pattern="*.asix" />
- </MimeType>
- <MimeType id="application/x-master-page" _description="ASP.NET master page" icon="md-html-file-icon" isText="true">
- <File pattern="*.master|*.Master" />
- </MimeType>
- <MimeType id="application/javascript" _description="Javascript source code" icon="md-html-file-icon" isText="true">
- <File pattern="*.js" />
- </MimeType>
- <MimeType id="text/css" _description="CSS document" icon="md-html-file-icon" isText="true">
- <File pattern="*.css" />
- </MimeType>
- <MimeType id="text/x-less" _description="LESS, CSS document" icon="md-html-file-icon" isText="true">
- <File pattern="*.less" />
- </MimeType>
- <MimeType id="text/html" _description="HTML document" icon="md-html-file-icon" isText="true">
- <File pattern="*.html|*.htm" />
- </MimeType>
- <MimeType id="application/x-spark" _description="Spark View template" icon="md-html-file-icon" isText="true"
- baseType="text/html">
- <File pattern="*.spark" />
- </MimeType>
- <MimeType id="application/typescript" _description="Typescript source code" icon="md-html-file-icon" isText="true">
- <File pattern="*.ts" />
- </MimeType>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/TextEditorExtensions">
- <Class fileExtensions=".aspx, .ascx, .master" class = "MonoDevelop.AspNet.Gui.AspNetEditorExtension" />
- <Class fileExtensions=".html, .htm, .spark" class = "MonoDevelop.AspNet.Gui.HtmlEditorExtension" />
- </Extension>
-
- <Extension path = "/MonoDevelop/Html/DocTypes">
- <DocType name = "XHTML 1.0 Strict"
- fullName = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">"
- xsdFile = "xhtml1-strict.xsd" />
- <DocType name = "XHTML 1.0 Transitional"
- fullName = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"
- xsdFile = "xhtml1-transitional.xsd" />
- <DocType name = "XHTML 1.0 Frameset"
- fullName = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
-"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">"
- xsdFile = "xhtml1-frameset.xsd" />
- </Extension>
-
- <Extension path = "/MonoDevelop/Deployment/DeployServiceExtensions">
- <Class id="AspNetDeploy" insertbefore="PrepareDeploy" class = "MonoDevelop.AspNet.Deployment.AspNetDeployServiceExtension" />
- </Extension>
-
- <Extension path = "/MonoDevelop/Core/ExecutionHandlers">
- <ExecutionHandler id="AspNet" class = "MonoDevelop.AspNet.AspNetExecutionHandler"/>
- </Extension>
-
- <Extension path = "/MonoDevelop/Ide/CompletionCharacters">
- <Complete language="Html" commitOnSpace="True" commitChars="{}[]().,:;+-*/%&|^!~=<>?@#'"\" />
- </Extension>
-</ExtensionModel>
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.csproj b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.csproj deleted file mode 100644 index b1151bf720..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.csproj +++ /dev/null @@ -1,322 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProductVersion>8.0.30703</ProductVersion> - <SchemaVersion>2.0</SchemaVersion> - <ProjectGuid>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</ProjectGuid> - <OutputType>Library</OutputType> - <AssemblyName>MonoDevelop.AspNet</AssemblyName> - <RootNamespace>MonoDevelop.AspNet</RootNamespace> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugSymbols>True</DebugSymbols> - <DebugType>full</DebugType> - <Optimize>false</Optimize> - <OutputPath>..\..\..\..\build\AddIns\MonoDevelop.AspNet</OutputPath> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - <Execution> - <Execution clr-version="Net_2_0" /> - </Execution> - <DefineConstants>DEBUG</DefineConstants> - <NoWarn>1591;1573</NoWarn> - <DocumentationFile>..\..\..\..\build\AddIns\MonoDevelop.AspNet\MonoDevelop.AspNet.xml</DocumentationFile> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>True</Optimize> - <OutputPath>..\..\..\..\build\AddIns\MonoDevelop.AspNet</OutputPath> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - <Execution> - <Execution clr-version="Net_2_0" /> - </Execution> - <DebugSymbols>true</DebugSymbols> - <NoWarn>1591;1573</NoWarn> - <DocumentationFile>..\..\..\..\build\AddIns\MonoDevelop.AspNet\MonoDevelop.AspNet.xml</DocumentationFile> - </PropertyGroup> - <ItemGroup> - <ProjectReference Include="..\..\..\core\MonoDevelop.Ide\MonoDevelop.Ide.csproj"> - <Project>{27096E7F-C91C-4AC6-B289-6897A701DF21}</Project> - <Name>MonoDevelop.Ide</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\core\MonoDevelop.Core\MonoDevelop.Core.csproj"> - <Project>{7525BB88-6142-4A26-93B9-A30C6983390A}</Project> - <Name>MonoDevelop.Core</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\MonoDevelop.DesignerSupport\MonoDevelop.DesignerSupport.csproj"> - <Project>{2C24D515-4A2C-445C-8419-C09231913CFA}</Project> - <Name>MonoDevelop.DesignerSupport</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\Deployment\MonoDevelop.Deployment\MonoDevelop.Deployment.csproj"> - <Project>{9BC670A8-1851-40EC-9685-279F4C98433D}</Project> - <Name>MonoDevelop.Deployment</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\Deployment\MonoDevelop.Deployment.Linux\MonoDevelop.Deployment.Linux.csproj"> - <Project>{BA9020AD-A2D1-47C8-9A7C-756162C38296}</Project> - <Name>MonoDevelop.Deployment.Linux</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\MonoDevelop.XmlEditor\MonoDevelop.XmlEditor.csproj"> - <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> - <Name>MonoDevelop.XmlEditor</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\core\Mono.Texteditor\Mono.TextEditor.csproj"> - <Project>{A2329308-3751-4DBD-9A75-5F7B8B024625}</Project> - <Name>Mono.TextEditor</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\MonoDevelop.Refactoring\MonoDevelop.Refactoring.csproj"> - <Project>{100568FC-F4E8-439B-94AD-41D11724E45B}</Project> - <Name>MonoDevelop.Refactoring</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\MonoDevelop.SourceEditor2\MonoDevelop.SourceEditor.csproj"> - <Project>{F8F92AA4-A376-4679-A9D4-60E7B7FBF477}</Project> - <Name>MonoDevelop.SourceEditor</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\..\external\nrefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj"> - <Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project> - <Name>ICSharpCode.NRefactory</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\..\external\nrefactory\ICSharpCode.NRefactory.CSharp\ICSharpCode.NRefactory.CSharp.csproj"> - <Project>{53DCA265-3C3C-42F9-B647-F72BA678122B}</Project> - <Name>ICSharpCode.NRefactory.CSharp</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\MonoDevelop.Debugger\MonoDevelop.Debugger.csproj"> - <Project>{2357AABD-08C7-4808-A495-8FF2D3CDFDB0}</Project> - <Name>MonoDevelop.Debugger</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\..\external\mono-addins\Mono.Addins\Mono.Addins.csproj"> - <Project>{91DD5A2D-9FE3-4C3C-9253-876141874DAD}</Project> - <Name>Mono.Addins</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\..\external\debugger-libs\Mono.Debugging\Mono.Debugging.csproj"> - <Project>{90C99ADB-7D4B-4EB4-98C2-40BD1B14C7D2}</Project> - <Name>Mono.Debugging</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\..\..\external\xwt\Xwt\Xwt.csproj"> - <Project>{92494904-35FA-4DC9-BDE9-3A3E87AC49D3}</Project> - <Name>Xwt</Name> - <Private>False</Private> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <Reference Include="System" /> - <Reference Include="System.Xml" /> - <Reference Include="System.Web" /> - <Reference Include="System.Drawing.Design" /> - <Reference Include="System.Design" /> - <Reference Include="System.Drawing" /> - <Reference Include="System.Configuration" /> - <Reference Include="System.Core" /> - <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> - <SpecificVersion>False</SpecificVersion> - </Reference> - <Reference Include="pango-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> - <SpecificVersion>False</SpecificVersion> - </Reference> - <Reference Include="atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> - <SpecificVersion>False</SpecificVersion> - </Reference> - <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> - <SpecificVersion>False</SpecificVersion> - </Reference> - <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f"> - <SpecificVersion>False</SpecificVersion> - </Reference> - <Reference Include="System.Xml.Linq" /> - <Reference Include="Mono.Posix" /> - </ItemGroup> - <ItemGroup> - <EmbeddedResource Include="MonoDevelop.AspNet.addin.xml"> - <LogicalName>MonoDevelop.AspNet.addin.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebForm-Empty.xft.xml"> - <LogicalName>WebForm-Empty.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebHandler-Empty.xft.xml"> - <LogicalName>WebHandler-Empty.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebControl-Empty.xft.xml"> - <LogicalName>WebControl-Empty.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebControl-CodeBehind.xft.xml"> - <LogicalName>WebControl-CodeBehind.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebForm-CodeBehind.xft.xml"> - <LogicalName>WebForm-CodeBehind.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebHandler-CodeBehind.xft.xml"> - <LogicalName>WebHandler-CodeBehind.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebApplication.xpt.xml"> - <LogicalName>WebApplication.xpt.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebService-Empty.xft.xml"> - <LogicalName>WebService-Empty.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebService-CodeBehind.xft.xml"> - <LogicalName>WebService-CodeBehind.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\MasterPage-CodeBehind.xft.xml"> - <LogicalName>MasterPage-CodeBehind.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\MasterPage-Empty.xft.xml"> - <LogicalName>MasterPage-Empty.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="gtk-gui\gui.stetic"> - <LogicalName>gui.stetic</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\GlobalAsax-CodeBehind.xft.xml"> - <LogicalName>GlobalAsax-CodeBehind.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\GlobalAsax-Empty.xft.xml"> - <LogicalName>GlobalAsax-Empty.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\MasterPage-CodeBehindNonPartial.xft.xml"> - <LogicalName>MasterPage-CodeBehindNonPartial.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebControl-CodeBehindNonPartial.xft.xml"> - <LogicalName>WebControl-CodeBehindNonPartial.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebForm-CodeBehindNonPartial.xft.xml"> - <LogicalName>WebForm-CodeBehindNonPartial.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebApplication-Empty.xpt.xml"> - <LogicalName>WebApplication-Empty.xpt.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebConfig-Application.xft.xml"> - <LogicalName>WebConfig-Application.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebConfig-SubDir.xft.xml"> - <LogicalName>WebConfig-SubDir.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebContentForm-CodeBehind.xft.xml"> - <LogicalName>WebContentForm-CodeBehind.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\NestedMasterPage.xft.xml"> - <LogicalName>NestedMasterPage.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\NestedMasterPage-CodeBehind.xft.xml"> - <LogicalName>NestedMasterPage-CodeBehind.xft.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="Templates\WebContentForm.xft.xml"> - <LogicalName>WebContentForm.xft.xml</LogicalName> - </EmbeddedResource> - </ItemGroup> - <ItemGroup> - <Compile Include="MonoDevelop.AspNet\AspNetAppProject.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetAppProjectBinding.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetAppProjectConfiguration.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetFileDescriptionTemplate.cs" /> - <Compile Include="MonoDevelop.AspNet.Parser\WebFormReferenceManager.cs" /> - <Compile Include="MonoDevelop.AspNet\XspParameters.cs" /> - <Compile Include="MonoDevelop.AspNet.Gui\XspOptionsPanel.cs" /> - <Compile Include="MonoDevelop.AspNet\VerifyCodeBehindBuildStep.cs" /> - <Compile Include="MonoDevelop.AspNet.Gui\AspNetConfigurationPanel.cs" /> - <Compile Include="gtk-gui\generated.cs" /> - <Compile Include="MonoDevelop.AspNet\CodeBehind.cs" /> - <Compile Include="MonoDevelop.AspNet.Gui\AspNetConfigurationPanelWidget.cs" /> - <Compile Include="MonoDevelop.AspNet\ProjectFolderNodeBuilderExtension.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetCommands.cs" /> - <Compile Include="MonoDevelop.AspNet.Gui\XspOptionsPanelWidget.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\WebDeployOptionsPanelWidget.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\WebDeployOptionsPanel.cs" /> - <Compile Include="gtk-gui\MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\WebDeployTargetCollection.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\WebDeployTarget.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\WebTargetEditor.cs" /> - <Compile Include="gtk-gui\MonoDevelop.AspNet.Deployment.WebTargetEditor.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\WebDeployTargetEditor.cs" /> - <Compile Include="gtk-gui\MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\WebDeployLaunchDialog.cs" /> - <Compile Include="gtk-gui\MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\WebDeployService.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\WebDeployCommands.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\WebDeployResolver.cs" /> - <Compile Include="MonoDevelop.AspNet\WebTypeManager.cs" /> - <Compile Include="MonoDevelop.AspNet.Parser\DocumentReferenceManager.cs" /> - <Compile Include="MonoDevelop.AspNet\IAspNetLanguageBinding.cs" /> - <Compile Include="gtk-gui\MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs" /> - <Compile Include="gtk-gui\MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs" /> - <Compile Include="MonoDevelop.AspNet.Gui\AspNetEditorExtension.cs" /> - <Compile Include="MonoDevelop.Html\HtmlSchemaService.cs" /> - <Compile Include="MonoDevelop.Html\HtmlSchema.cs" /> - <Compile Include="MonoDevelop.AspNet.Parser\Regexes.cs" /> - <Compile Include="MonoDevelop.AspNet.Gui\BrowserLauncher.cs" /> - <Compile Include="MonoDevelop.Html\DocTypeExtensionNode.cs" /> - <Compile Include="MonoDevelop.Html\DocTypeCompletionData.cs" /> - <Compile Include="MonoDevelop.AspNet.Parser\SuggestedHandlerCompletionData.cs" /> - <Compile Include="MonoDevelop.AspNet.StateEngine\AspNetFreeState.cs" /> - <Compile Include="MonoDevelop.Html\HtmlCompletionDataProvider.cs" /> - <Compile Include="MonoDevelop.AspNet.Parser\AspNetParser.cs" /> - <Compile Include="MonoDevelop.AspNet.Parser\AspNetParsedDocument.cs" /> - <Compile Include="MonoDevelop.AspNet.Parser\PageInfo.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetToolboxLoader.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetToolboxNode.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetToolboxProvider.cs" /> - <Compile Include="MonoDevelop.AspNet.StateEngine\AspNetExpressionState.cs" /> - <Compile Include="MonoDevelop.AspNet.StateEngine\AspNetDom.cs" /> - <Compile Include="MonoDevelop.AspNet.StateEngine\AspNetDirectiveState.cs" /> - <Compile Include="MonoDevelop.AspNet.StateEngine\AspNetServerCommentState.cs" /> - <Compile Include="MonoDevelop.AspNet.Deployment\AspNetDeployServiceExtension.cs" /> - <Compile Include="MonoDevelop.AspNet.Parser\Directive.cs" /> - <Compile Include="MonoDevelop.AspNet.Completion\SimpleLists.cs" /> - <Compile Include="MonoDevelop.AspNet.Gui\BaseHtmlEditorExtension.cs" /> - <Compile Include="MonoDevelop.AspNet.Gui\HtmlEditorExtension.cs" /> - <Compile Include="MonoDevelop.Html\HtmlParser.cs" /> - <Compile Include="MonoDevelop.Html\ElementTypes.cs" /> - <Compile Include="MonoDevelop.AspNet.StateEngine\HtmlTagState.cs" /> - <Compile Include="MonoDevelop.AspNet.StateEngine\HtmlClosingTagState.cs" /> - <Compile Include="AssemblyInfo.cs" /> - <Compile Include="MonoDevelop.AspNet\MasterContentFileDescriptionTemplate.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetExecutionCommand.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetExecutionHandler.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetSyntaxMode.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetMSBuildImportProvider.cs" /> - <Compile Include="MonoDevelop.Html\PathCompletion.cs" /> - <Compile Include="MonoDevelop.AspNet.Gui\ILanguageCompletionBuilder.cs" /> - <Compile Include="MonoDevelop.AspNet\LineInterceptingTextWriter.cs" /> - <Compile Include="MonoDevelop.AspNet.Gui\AspProjectDom.cs" /> - <Compile Include="MonoDevelop.AspNet\RegistrationCache.cs" /> - <Compile Include="MonoDevelop.AspNet.StateEngine\HtmlScriptBodyState.cs" /> - <Compile Include="MonoDevelop.AspNet.Parser\MemberListBuilder.cs" /> - <Compile Include="MonoDevelop.AspNet.StateEngine\AspNetAttributeValueState.cs" /> - <Compile Include="AddinInfo.cs" /> - </ItemGroup> - <ItemGroup> - <None Include="Makefile.am" /> - </ItemGroup> - <ItemGroup> - <Content Include="Schemas\xhtml1-frameset.xsd"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </Content> - <Content Include="Schemas\xhtml1-strict.xsd"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </Content> - <Content Include="Schemas\xhtml1-transitional.xsd"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </Content> - <Content Include="Schemas\readme.txt"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </Content> - <Content Include="Schemas\W3C-License.html"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </Content> - </ItemGroup> - <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> -</Project> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs deleted file mode 100644 index 6d86d58b67..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetFileDescriptionTemplate.cs +++ /dev/null @@ -1,145 +0,0 @@ -// -// AspNetFileDescriptionTemplate.cs: Template that translates regions of C# -// into the current .NET language, and substitutes them into the template. -// -// Authors: -// Michael Hutchinson <m.j.hutchinson@gmail.com> -// -// Copyright (C) 2006 Michael Hutchinson -// -// -// This source code is licenced under The MIT License: -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Collections; -using System.Collections.Generic; -using System.CodeDom; -using System.CodeDom.Compiler; -using System.Xml; -using System.IO; - -using MonoDevelop.Core; -using MonoDevelop.Ide.Templates; -using MonoDevelop.Projects; - -namespace MonoDevelop.AspNet -{ - - public class AspNetFileDescriptionTemplate : SingleFileDescriptionTemplate - { - string content; - Hashtable codeAreas = new Hashtable (); - - public override void Load (XmlElement filenode, FilePath baseDirectory) - { - //pull out the main area - XmlElement fileText = filenode ["FileText"]; - if (fileText == null) - throw new InvalidOperationException ("Invalid ASP.NET template: FileText element not found."); - content = fileText.InnerText; - - //collect all of the code substitution areas - foreach (XmlNode xn in filenode.GetElementsByTagName ("CodeTranslationFile")) { - XmlElement xe = xn as XmlElement; - if (xe == null) - continue; - - string name = xe.GetAttribute ("TagName"); - - if ((name == null) || (name.Length == 0)) - throw new InvalidOperationException ("Invalid ASP.NET template: CodeTranslationFile must have valid TagName."); - - //This is overzealous, but better safe than sorry - char [] forbiddenChars = "`-=[];'#,./\\¬!\"£$%^&*()_+{}:@~|<>?".ToCharArray (); - if (name.IndexOfAny (forbiddenChars) > -1) - throw new InvalidOperationException ("Invalid ASP.NET template: TagName must be alphanumeric."); - - if (codeAreas.ContainsKey (name)) - throw new InvalidOperationException ("Invalid ASP.NET template: all TagNames must be unique within the AspNetFile."); - - var templ = FileDescriptionTemplate.CreateTemplate (xe, baseDirectory) as CodeTranslationFileDescriptionTemplate; - - if (templ == null) - throw new InvalidOperationException ("Invalid ASP.NET template: invalid CodeTranslationFile."); - - codeAreas [name] = templ; - } - - base.Load (filenode, baseDirectory); - } - - public override string CreateContent (string language) - { - return content; - } - - public override void ModifyTags (SolutionItem policyParent, Project project, string language, string identifier, string fileName, ref Dictionary<string,string> tags) - { - tags ["Doctype"] = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">"; - - //get a language binding - IDotNetLanguageBinding langbinding = null; - if (project == null) { - langbinding = (IDotNetLanguageBinding) LanguageBindingService.GetBindingPerLanguageName (language); - } else { - DotNetProject dnp = (DotNetProject) project; - langbinding = dnp.LanguageBinding; - } - - // work out the ASP.NET language code. Although it's originally a hack around MD's VBNet language name - // not corresponding to any of the valid ASP.NET codes, we also provide an interface that - // non-core language bindings can implement to advertise that they support ASP.NET - string languageCode = language; - if (langbinding is IAspNetLanguageBinding) { - languageCode = ((IAspNetLanguageBinding) langbinding).AspNetLanguageCode; - } else if (language == "VBNet") { - languageCode = "VB"; - } else if (language != "C#") { - LoggingService.LogWarning ("The language binding '{0}' does not have explicit support for ASP.NET", language); - } - tags ["AspNetLanguage"] = languageCode; - - base.ModifyTags (policyParent, project, language, identifier, fileName, ref tags); - - //nothing after this point is relevant to tag substitution for filenames, - //and some will even crash, so drop out now - if (fileName == null) - return; - - // Build tags for ${CodeRegion:#} substitutions - foreach (string regionName in codeAreas.Keys) { - var templ = (CodeTranslationFileDescriptionTemplate) codeAreas [regionName]; - - //makes CodeTranslationFile's internal name substitition easier - var name = (string) tags ["Name"]; - templ.GetFileName (policyParent, project, language, project == null? null :project.BaseDirectory, name); - - Stream stream = templ.CreateFileContent (policyParent, project, language, fileName, identifier); - StreamReader reader = new StreamReader (stream); - tags ["CodeRegion:"+regionName] = reader.ReadToEnd (); - reader.Close (); - stream.Close (); - } - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs deleted file mode 100644 index 31bac16e8b..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/VerifyCodeBehindBuildStep.cs +++ /dev/null @@ -1,99 +0,0 @@ -// -// VerifyCodeBehindBuildStep.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2006-2007 Michael Hutchinson -// Copyright (C) 2007-2008 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - - -using System; -using System.IO; -using System.Collections.Generic; - -using MonoDevelop.Projects; -using MonoDevelop.Core.ProgressMonitoring; -using MonoDevelop.Core; -using MonoDevelop.DesignerSupport; -using MonoDevelop.AspNet.Parser; -using MonoDevelop.Ide.TypeSystem; - -namespace MonoDevelop.AspNet -{ - - public class VerifyCodeBehindBuildStep : ProjectServiceExtension - { - public override bool SupportsItem (IBuildTarget item) - { - var aspProject = item as AspNetAppProject; - return aspProject != null && aspProject.LanguageBinding != null; - } - - protected override BuildResult Build (IProgressMonitor monitor, SolutionEntityItem project, ConfigurationSelector configuration) - { - var aspProject = project as AspNetAppProject; - - //get the config object and validate - AspNetAppProjectConfiguration config = (AspNetAppProjectConfiguration)aspProject.GetConfiguration (configuration); - if (config == null || config.DisableCodeBehindGeneration) { - return base.Build (monitor, project, configuration); - } - - var writer = CodeBehindWriter.CreateForProject (monitor, aspProject); - if (!writer.SupportsPartialTypes) { - return base.Build (monitor, project, configuration); - } - - var result = new BuildResult (); - - monitor.BeginTask ("Updating CodeBehind designer files", 0); - - foreach (var file in aspProject.Files) { - ProjectFile designerFile = CodeBehind.GetDesignerFile (file); - if (designerFile == null) - continue; - - if (File.GetLastWriteTimeUtc (designerFile.FilePath) > File.GetLastWriteTimeUtc (file.FilePath)) - continue; - - monitor.Log.WriteLine ("Updating CodeBehind for file '{0}'", file); - result.Append (CodeBehind.UpdateDesignerFile (writer, aspProject, file, designerFile)); - } - - writer.WriteOpenFiles (); - - monitor.EndTask (); - - if (writer.WrittenCount > 0) - monitor.Log.WriteLine ("{0} CodeBehind designer classes updated.", writer.WrittenCount); - else - monitor.Log.WriteLine ("No changes made to CodeBehind classes."); - - if (result.Failed) - return result; - - return result.Append (base.Build (monitor, project, configuration)); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/WebTypeManager.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/WebTypeManager.cs deleted file mode 100755 index 631c07312d..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/WebTypeManager.cs +++ /dev/null @@ -1,449 +0,0 @@ -// -// WebTypeManager.cs: Handles ASP.NET type lookups for web projects. -// -// Authors: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// -// This source code is licenced under The MIT License: -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Collections.Generic; -using System.Xml; -using System.IO; -using System.Linq; -using System.Configuration; -using System.Web.Configuration; - -using MonoDevelop.Core; -using MonoDevelop.Projects.Text; -using MonoDevelop.Ide.Gui; -using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.Core.Assemblies; -using ICSharpCode.NRefactory.TypeSystem; -using MonoDevelop.Ide.TypeSystem; -using ICSharpCode.NRefactory.TypeSystem.Implementation; - -namespace MonoDevelop.AspNet -{ - public class WebTypeContext - { - const string sysWebAssemblyName = "System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"; - - public WebTypeContext (AspNetAppProject project) - { - if (project == null) - throw new ArgumentException ("project"); - Project = project; - SystemWebDom = GetSystemWebDom (project); - if (Compilation == null) - throw new InvalidOperationException ("Could not load parse database for project"); - } - - public AspNetAppProject Project { get; private set; } - public ICompilation SystemWebDom { get; private set; } - public ICompilation Compilation { get { return TypeSystemService.GetCompilation (Project);} } - - public TargetFramework TargetFramework { - get { return Project.TargetFramework; } - } - - //FIXME: this shouldn't be public - public static ICompilation GetSystemWebDom (AspNetAppProject project) - { - return GetSystemWebDom (project.TargetRuntime, project.TargetFramework); - } - - static ICompilation GetSystemWebDom (TargetRuntime runtime, TargetFramework targetFramework) - { - string file = runtime.AssemblyContext.GetAssemblyNameForVersion (sysWebAssemblyName, targetFramework); - if (string.IsNullOrEmpty (file)) - throw new Exception ("System.Web assembly name not found for framework " + targetFramework.Id); - file = runtime.AssemblyContext.GetAssemblyLocation (file, targetFramework); - if (string.IsNullOrEmpty (file)) - throw new Exception ("System.Web assembly file not found for framework " + targetFramework.Id); - var dom = new SimpleCompilation (TypeSystemService.LoadAssemblyContext (runtime, targetFramework, file), new IAssemblyReference[] { - TypeSystemService.LoadAssemblyContext (runtime, targetFramework, typeof (object).Assembly.Location) - }); - if (dom == null) - throw new Exception ("System.Web parse database not found for framework " + targetFramework.Id + " file '" + file + "'"); - return dom; - } - - #region Assembly resolution - - Dictionary<string,ICompilation> cachedDoms = new Dictionary<string, ICompilation> (); - - public ICompilation ResolveAssembly (string assemblyName) - { - ICompilation dom; - if (!cachedDoms.TryGetValue (assemblyName, out dom)) { - cachedDoms [assemblyName] = dom = Project.ResolveAssemblyDom (assemblyName); - if (dom == null) - LoggingService.LogWarning ("Failed to obtain completion database for '{0}'", assemblyName); - } - return dom; - } - - #endregion - - public IType GetRegisteredType (string webDirectory, string tagPrefix, string tagName) - { - //global control registration not possible in ASP.NET 1.1 - if (TargetFramework.ClrVersion == MonoDevelop.Core.ClrVersion.Net_1_1) - return null; - - //read the web.config files at each level - //look up a level if a result not found until we hit the project root - foreach (var info in Project.RegistrationCache.GetControlsForPath (webDirectory)) { - if (!info.PrefixMatches (tagPrefix)) - continue; - if (info.IsAssembly) { - var dom = ResolveAssembly (info.Assembly); - if (dom == null) - continue; - - var type = AssemblyTypeLookup (dom, info.Namespace, tagName); - if (type != null) - return type; - } - if (info.IsUserControl && info.NameMatches (tagName)) { - var type = GetUserControlType (info.Source, info.ConfigFile); - if (type != null) - return type; - } - } - - return GetMachineRegisteredType (tagPrefix, tagName); - } - - public string GetRegisteredTypeName (string webDirectory, string tagPrefix, string tagName) - { - IType t = GetRegisteredType (webDirectory, tagPrefix, tagName); - if (t != null) - return t.FullName; - - //NOTE: we can't just fall through to GetRegisteredType, as we may be able to determine usercontrols - return null; - } - - public IEnumerable<CompletionData> GetRegisteredTypeCompletionData (string webDirectory, IType baseType) - { - //global control registration not possible in ASP.NET 1.1 - if (TargetFramework.ClrVersion == MonoDevelop.Core.ClrVersion.Net_1_1) - yield break; - - //read the web.config files at each level - //look up a level if a result not found until we hit the project root - foreach (var info in Project.RegistrationCache.GetControlsForPath (webDirectory)) { - if (info.IsAssembly) { - var dom = ResolveAssembly (info.Assembly); - if (dom == null) - continue; - foreach (var t in ListControlClasses (baseType, dom, info.Namespace)) - yield return new MonoDevelop.AspNet.Parser.AspTagCompletionData (info.TagPrefix + ":", t); - } - else if (info.IsUserControl) { - //TODO: resolve docs - //IType t = GetUserControlType (project, info.Source, info.ConfigFile); - //if (t != null) - yield return new CompletionData (info.TagPrefix + ":" + info.TagName, Gtk.Stock.GoForward); - } - } - - foreach (CompletionData cd in GetMachineRegisteredTypeCompletionData (baseType)) - yield return cd; - } - - public string GetMachineRegisteredTypeName (string tagPrefix, string tagName) - { - var t = GetMachineRegisteredType (tagPrefix, tagName); - if (t != null) - return t.FullName; - return null; - } - - public IType GetMachineRegisteredType (string tagPrefix, string tagName) - { - //check in machine.config - var config = ConfigurationManager.OpenMachineConfiguration (); - var pages = (PagesSection) config.GetSection ("system.web/pages"); - - foreach (TagPrefixInfo tpxInfo in pages.Controls) { - if (tpxInfo.TagPrefix != tagPrefix) - continue; - var dom = ResolveAssembly (tpxInfo.Assembly); - if (dom == null) - continue; - IType type = AssemblyTypeLookup (dom, tpxInfo.Namespace, tagName); - if (type != null) - return type; - //user controls don't make sense in machine.config; ignore them - } - return null; - } - - public IEnumerable<MonoDevelop.Ide.CodeCompletion.CompletionData> GetMachineRegisteredTypeCompletionData (IType baseType) - { - var config = ConfigurationManager.OpenMachineConfiguration (); - var pages = (PagesSection) config.GetSection ("system.web/pages"); - - foreach (TagPrefixInfo tpxInfo in pages.Controls) { - if (!string.IsNullOrEmpty (tpxInfo.Namespace) && !string.IsNullOrEmpty (tpxInfo.Assembly) && !string.IsNullOrEmpty (tpxInfo.TagPrefix)) { - var dom = ResolveAssembly (tpxInfo.Assembly); - if (dom != null) - foreach (var type in ListControlClasses (baseType, dom, tpxInfo.Namespace)) - yield return new MonoDevelop.AspNet.Parser.AspTagCompletionData (tpxInfo.TagPrefix, type); - } - } - } - - #region HTML type lookups - - public static string HtmlControlLookup (string tagName) - { - return HtmlControlLookup (tagName, null); - } - - public static string HtmlControlLookup (string tagName, string typeAttribute) - { - string htmc = "System.Web.UI.HtmlControls."; - switch (tagName.ToLower ()) { - case "a": - return htmc + "HtmlAnchor"; - case "button": - return htmc + "HtmlButton"; - case "form": - return htmc + "HtmlForm"; - case "head": - return htmc + "HtmlHead"; - case "img": - return htmc + "HtmlImage"; - case "input": - string val = lookupHtmlInput (typeAttribute); - return val != null? htmc + val : null; - case "link": - return htmc + "HtmlLink"; - case "meta": - return htmc + "HtmlMeta"; - case "select": - return htmc + "HtmlSelect"; - case "table": - return htmc + "HtmlTable"; - case "th": - case "td": - return htmc + "HtmlTableCell"; - case "tr": - return htmc + "HtmlTableRow"; - case "textarea": - return htmc + "HtmlTextArea"; - case "title": - return htmc + "HtmlTitle"; - default: - return htmc + "HtmlGenericControl"; - } - } - - static string lookupHtmlInput (string type) - { - switch (type != null? type.ToLower () : null) - { - case "button": - case "reset": - case "submit": - return "HtmlInputButton"; - case "checkbox": - return "HtmlInputCheckBox"; - case "file": - return "HtmlInputFile"; - case "hidden": - return "HtmlInputHidden"; - case "image": - return "HtmlInputImage"; - case "password": - return "HtmlInputText"; - case "radio": - return "HtmlInputRadioButton"; - case "text": - return "HtmlInputText"; - default: - return "HtmlInputControl"; - } - } - - public IType HtmlControlTypeLookup (string tagName, string typeAttribute) - { - var str = HtmlControlLookup (tagName, typeAttribute); - if (str != null) { - return ReflectionHelper.ParseReflectionName (str).Resolve (SystemWebDom); - } - return null; - } - - #endregion - - #region System type listings - - public static IEnumerable<IType> ListSystemControlClasses (IType baseType, AspNetAppProject project) - { - return ListControlClasses (baseType, GetSystemWebDom (project), "System.Web.UI.WebControls"); - } - - public static IEnumerable<IType> ListControlClasses (IType baseType, ICompilation database, string namespac) - { - if (database == null) - yield break; - var baseTypeDefinition = baseType.GetDefinition (); - if (baseTypeDefinition == null) - yield break; - //return classes if they derive from system.web.ui.control - foreach (var type in baseTypeDefinition.GetSubTypeDefinitions ().Where (t => t.Namespace == namespac)) - if (!type.IsAbstract && type.IsPublic) - yield return type; - - if (!baseTypeDefinition.IsAbstract && baseTypeDefinition.IsPublic && baseTypeDefinition.Namespace == namespac) { - yield return baseType; - } - } - - #endregion - - #region Control type lookups - - public string SystemTypeNameLookup (string tagName) - { - IType cls = SystemTypeLookup (tagName); - return cls != null? cls.FullName : null; - } - - public IType SystemTypeLookup (string tagName) - { - return AssemblyTypeLookup (SystemWebDom, "System.Web.UI.WebControls", tagName); - } - - public static string AssemblyTypeNameLookup (ICompilation assemblyDatabase, string namespac, string tagName) - { - var cls = AssemblyTypeLookup (assemblyDatabase, namespac, tagName); - return cls != null? cls.FullName : null; - } - - public static IType AssemblyTypeLookup (ICompilation assemblyDatabase, string namespac, string tagName) - { - return (assemblyDatabase == null) - ? null - : assemblyDatabase.MainAssembly.GetTypeDefinition (namespac, tagName, 0); - } - - #endregion - - public string GetControlPrefix (string webDirectory, IType control) - { - if (control.Namespace == "System.Web.UI.WebControls") - return "asp"; - else if (control.Namespace == "System.Web.UI.HtmlControls") - return string.Empty; - - //todo: handle user controls - foreach (var info in Project.RegistrationCache.GetControlsForPath (webDirectory)) { - if (info.IsAssembly && info.Namespace == control.Namespace) { - var dom = ResolveAssembly (info.Assembly); - if (dom != null && AssemblyTypeLookup (dom, info.Namespace, control.Name) != null) - return info.TagPrefix; - } - } - - //machine.config - var config = ConfigurationManager.OpenMachineConfiguration (); - var pages = (PagesSection) config.GetSection ("system.web/pages"); - foreach (TagPrefixInfo tpxInfo in pages.Controls) - if (!string.IsNullOrEmpty (tpxInfo.Namespace) && !string.IsNullOrEmpty (tpxInfo.TagPrefix) - && control.Namespace == tpxInfo.Namespace) - return tpxInfo.TagPrefix; - - return null; - } - - public string GetUserControlTypeName (string virtualPath, string relativeToFile) - { - string absolute = Project.VirtualToLocalPath (virtualPath, relativeToFile); - var typeName = Project.GetCodebehindTypeName (absolute); - return typeName ?? "System.Web.UI.UserControl"; - } - - public IType GetUserControlType ( string virtualPath, string relativeToFile) - { - string absolute = Project.VirtualToLocalPath (virtualPath, relativeToFile); - var type = Project.GetCodebehindType (absolute); - return type ?? AssemblyTypeLookup (SystemWebDom, "System.Web.UI", "UserControl"); - } - - #region Global control registration tracking - - static XmlTextReader GetConfigReader (string configFile) - { - IEditableTextFile textFile = - MonoDevelop.Ide.TextFileProvider.Instance.GetEditableTextFile (configFile); - if (textFile != null) - return new XmlTextReader (textFile.Text, XmlNodeType.Document, null); - else - return new XmlTextReader (configFile); - } - - static IEnumerable<TagPrefixInfo> GetRegistrationTags (XmlTextReader reader) - { - reader.WhitespaceHandling = WhitespaceHandling.None; - reader.MoveToContent(); - - if (reader.Name == "configuration" - && reader.ReadToDescendant ("system.web") && reader.NodeType == XmlNodeType.Element - && reader.ReadToDescendant ("pages") && reader.NodeType == XmlNodeType.Element - && reader.ReadToDescendant ("controls") && reader.NodeType == XmlNodeType.Element - && reader.ReadToDescendant ("add") && reader.NodeType == XmlNodeType.Element) - { - do { - if (reader.MoveToAttribute ("tagPrefix")) { - string prefix = reader.Value; - - //assemblies - if (reader.MoveToAttribute ("namespace")) { - string _namespace = reader.Value; - string _assembly = reader.MoveToAttribute ("assembly")? reader.Value : null; - yield return new TagPrefixInfo (prefix, _namespace, _assembly, null, null); - } - - //user controls - if (reader.MoveToAttribute ("tagName")) { - string tagName = reader.Value; - string src = reader.MoveToAttribute ("src")? reader.Value : null; - yield return new TagPrefixInfo (prefix, null, null, tagName, src); - } - } - } while (reader.ReadToNextSibling ("add")); - }; - } - - #endregion - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlCompletionDataProvider.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlCompletionDataProvider.cs deleted file mode 100644 index c05fb6add1..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.Html/HtmlCompletionDataProvider.cs +++ /dev/null @@ -1,76 +0,0 @@ -// -// HtmlCompletionDataProvider.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2008 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Collections.Generic; -using MonoDevelop.Ide.CodeCompletion; - -namespace MonoDevelop.Html -{ - /* - - public class HtmlTagCompletionDataProvider : IMutableCompletionDataProvider - { - string parentElement; - HtmlSchema schema; - - public string DefaultCompletionString { - get { return null; } - } - - public bool IsChanging { - get { return false; } - } - - public HtmlTagCompletionDataProvider (HtmlSchema schema, string parentElement) - { - this.parentElement = parentElement; - this.schema = schema; - } - - public void Dispose () - { - } - - public ICompletionData[] GenerateCompletionData (ICompletionWidget widget, char charTyped) - { - if (parentElement != null) - return schema.CompletionProvider.GetChildElementCompletionData (parentElement); - else - return schema.CompletionProvider.GetElementCompletionData (); - } - - public event EventHandler CompletionDataChanging; - - public event EventHandler CompletionDataChanged; - - public bool AutoCompleteUniqueMatch { - get { return false; } - } - }*/ -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/MasterPage-CodeBehindNonPartial.xft.xml b/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/MasterPage-CodeBehindNonPartial.xft.xml deleted file mode 100644 index 4ebcee4f9d..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/MasterPage-CodeBehindNonPartial.xft.xml +++ /dev/null @@ -1,54 +0,0 @@ -<?xml version="1.0"?> -<Template Originator="John Anderson" - Created="2007/02/03" - LastModified="2007/02/03"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>Master Page with CodeBehind</_Name> - <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> - <_Description>Creates an ASP.NET Master Page with a CodeBehind class.</_Description> - <ProjectType>AspNetApp</ProjectType> - </TemplateConfiguration> - - <Conditions> - <ClrVersion Condition="GreaterThanOrEqual" ClrVersion="Net_2_0" /> - <PartialTypeSupport Requirement="Disabled" /> - </Conditions> - - <!-- Template Content --> - <TemplateFiles> - <AspNetFile name="${Name}.master"> - <FileText> - <![CDATA[<%@ Master Language="${AspNetLanguage}" Inherits="${Namespace}.${Name}" %> -${Doctype} -<html> -<head runat="server"> - <title>${Name}</title> -</head> -<body> -<div id="container"> -<form runat="server"> - <asp:contentplaceholder id="contentPlaceHolder" runat="server" /> -</form> -</div> -</body> -</html>]]> - </FileText> - </AspNetFile> - - <CodeTranslationFile name="${Name}.master.${LanguageExtension}" DependsOn="${Name}.master" > -<![CDATA[using System; -using System.Web; -using System.Web.UI; -namespace ${Namespace} { - public class ${EscapedIdentifier} : System.Web.UI.MasterPage - { - } -} -]]> - </CodeTranslationFile> - </TemplateFiles> -</Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebControl-CodeBehindNonPartial.xft.xml b/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebControl-CodeBehindNonPartial.xft.xml deleted file mode 100644 index 2cfebf91ff..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebControl-CodeBehindNonPartial.xft.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0"?> -<Template Originator="Michael Hutchinson" - Created="2006/06/06" - LastModified="2006/06/18"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>User Control with CodeBehind</_Name> - <_Category>ASP.NET</_Category> - <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> - <ProjectType>AspNetApp</ProjectType> - <_Description>Creates an ASP.NET user control with a CodeBehind class.</_Description> - </TemplateConfiguration> - - <Conditions> - <PartialTypeSupport Requirement="Disabled" /> - </Conditions> - - <!-- Template Content --> - <TemplateFiles> - <AspNetFile DefaultExtension=".ascx" name="${Name}.ascx"> - <FileText> -<![CDATA[<%@ Control Language="${AspNetLanguage}" Inherits="${Namespace}.${Name}" %>]]> - </FileText> - </AspNetFile> - - <CodeTranslationFile name="${Name}.ascx.${LanguageExtension}" DependsOn="${Name}.ascx" > -<![CDATA[using System; -using System.Web; -using System.Web.UI; - -namespace ${Namespace} { - - public partial class ${EscapedIdentifier} : System.Web.UI.UserControl - { - } -}]]> - </CodeTranslationFile> - </TemplateFiles> -</Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebForm-CodeBehindNonPartial.xft.xml b/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebForm-CodeBehindNonPartial.xft.xml deleted file mode 100644 index f9576b6e5d..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebForm-CodeBehindNonPartial.xft.xml +++ /dev/null @@ -1,52 +0,0 @@ -<?xml version="1.0"?> -<Template Originator="Michael Hutchinson" - Created="2006/06/09" - LastModified="2007/09/05"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>Web Form with CodeBehind</_Name> - <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> - <ProjectType>AspNetApp</ProjectType> - <_Description>Creates an ASP.NET Web Form with a CodeBehind class.</_Description> - </TemplateConfiguration> - - <Conditions> - <PartialTypeSupport Requirement="Disabled" /> - </Conditions> - - <!-- Template Content --> - <TemplateFiles> - <AspNetFile name="${Name}.aspx" DefaultExtension=".aspx"> - <FileText> - <![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="${Namespace}.${Name}" %> -${Doctype} -<html> -<head runat="server"> - <title>${Name}</title> -</head> -<body> - <form id="form1" runat="server"> - </form> -</body> -</html>]]> - </FileText> - </AspNetFile> - - <CodeTranslationFile name="${Name}.aspx.${LanguageExtension}" DependsOn="${Name}.aspx" > -<![CDATA[using System; -using System.Web; -using System.Web.UI; - -namespace ${Namespace} { - - public class ${EscapedIdentifier} : System.Web.UI.Page - { - - } -}]]> - </CodeTranslationFile> - </TemplateFiles> -</Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs deleted file mode 100644 index ddd94aeafd..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.cs +++ /dev/null @@ -1,120 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace MonoDevelop.AspNet.Deployment -{ - public partial class WebDeployLaunchDialog - { - private global::Gtk.Label titleLabel; - private global::Gtk.Label label1; - private global::Gtk.ScrolledWindow scrolledwindow4; - private global::Gtk.TreeView targetView; - private global::Gtk.Button button6; - private global::Gtk.Button buttonCancel; - private global::Gtk.Button buttonDeploy; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog - this.Name = "MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog"; - this.Title = global::Mono.Unix.Catalog.GetString ("Deploy to Web"); - this.WindowPosition = ((global::Gtk.WindowPosition)(4)); - this.Modal = true; - this.BorderWidth = ((uint)(9)); - // Internal child MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.VBox - global::Gtk.VBox w1 = this.VBox; - w1.Name = "dialog1_VBox"; - w1.Spacing = 6; - w1.BorderWidth = ((uint)(2)); - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.titleLabel = new global::Gtk.Label (); - this.titleLabel.Name = "titleLabel"; - this.titleLabel.Xalign = 0F; - this.titleLabel.LabelProp = global::Mono.Unix.Catalog.GetString ("<big><b>Deploying Web Project...</b></big>"); - this.titleLabel.UseMarkup = true; - w1.Add (this.titleLabel); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(w1 [this.titleLabel])); - w2.Position = 0; - w2.Expand = false; - w2.Fill = false; - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.label1 = new global::Gtk.Label (); - this.label1.Name = "label1"; - this.label1.Xalign = 0F; - this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("Targets to which the project should be deployed:"); - w1.Add (this.label1); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(w1 [this.label1])); - w3.Position = 1; - w3.Expand = false; - w3.Fill = false; - w3.Padding = ((uint)(4)); - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.scrolledwindow4 = new global::Gtk.ScrolledWindow (); - this.scrolledwindow4.CanFocus = true; - this.scrolledwindow4.Name = "scrolledwindow4"; - this.scrolledwindow4.ShadowType = ((global::Gtk.ShadowType)(1)); - // Container child scrolledwindow4.Gtk.Container+ContainerChild - this.targetView = new global::Gtk.TreeView (); - this.targetView.CanFocus = true; - this.targetView.Name = "targetView"; - this.scrolledwindow4.Add (this.targetView); - w1.Add (this.scrolledwindow4); - global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(w1 [this.scrolledwindow4])); - w5.Position = 2; - // Internal child MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog.ActionArea - global::Gtk.HButtonBox w6 = this.ActionArea; - w6.Name = "dialog1_ActionArea"; - w6.Spacing = 6; - w6.BorderWidth = ((uint)(5)); - w6.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.button6 = new global::Gtk.Button (); - this.button6.CanFocus = true; - this.button6.Name = "button6"; - this.button6.UseUnderline = true; - this.button6.Label = global::Mono.Unix.Catalog.GetString ("_Edit targets"); - global::Gtk.Image w7 = new global::Gtk.Image (); - w7.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-edit", global::Gtk.IconSize.Menu); - this.button6.Image = w7; - this.AddActionWidget (this.button6, -11); - global::Gtk.ButtonBox.ButtonBoxChild w8 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w6 [this.button6])); - w8.Expand = false; - w8.Fill = false; - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonCancel = new global::Gtk.Button (); - this.buttonCancel.CanDefault = true; - this.buttonCancel.CanFocus = true; - this.buttonCancel.Name = "buttonCancel"; - this.buttonCancel.UseStock = true; - this.buttonCancel.UseUnderline = true; - this.buttonCancel.Label = "gtk-cancel"; - this.AddActionWidget (this.buttonCancel, -6); - global::Gtk.ButtonBox.ButtonBoxChild w9 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w6 [this.buttonCancel])); - w9.Position = 1; - w9.Expand = false; - w9.Fill = false; - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonDeploy = new global::Gtk.Button (); - this.buttonDeploy.CanDefault = true; - this.buttonDeploy.CanFocus = true; - this.buttonDeploy.Name = "buttonDeploy"; - this.buttonDeploy.UseUnderline = true; - this.buttonDeploy.Label = global::Mono.Unix.Catalog.GetString ("_Deploy"); - global::Gtk.Image w10 = new global::Gtk.Image (); - w10.Pixbuf = global::Stetic.IconLoader.LoadIcon (this, "gtk-ok", global::Gtk.IconSize.Menu); - this.buttonDeploy.Image = w10; - this.AddActionWidget (this.buttonDeploy, -5); - global::Gtk.ButtonBox.ButtonBoxChild w11 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w6 [this.buttonDeploy])); - w11.Position = 2; - w11.Expand = false; - w11.Fill = false; - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.DefaultWidth = 511; - this.DefaultHeight = 353; - this.Hide (); - this.button6.Clicked += new global::System.EventHandler (this.editTargetsClicked); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs deleted file mode 100644 index 61033baa13..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.cs +++ /dev/null @@ -1,96 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace MonoDevelop.AspNet.Deployment -{ - public partial class WebDeployOptionsPanelWidget - { - private global::Gtk.HBox hbox1; - private global::Gtk.ScrolledWindow scrolledwindow1; - private global::Gtk.TreeView targetView; - private global::Gtk.VBox vbox2; - private global::Gtk.Button addButton; - private global::Gtk.Button editButton; - private global::Gtk.Button removeButton; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget - global::Stetic.BinContainer.Attach (this); - this.Name = "MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget"; - // Container child MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget.Gtk.Container+ContainerChild - this.hbox1 = new global::Gtk.HBox (); - this.hbox1.Name = "hbox1"; - this.hbox1.Spacing = 6; - // Container child hbox1.Gtk.Box+BoxChild - this.scrolledwindow1 = new global::Gtk.ScrolledWindow (); - this.scrolledwindow1.CanFocus = true; - this.scrolledwindow1.Name = "scrolledwindow1"; - this.scrolledwindow1.ShadowType = ((global::Gtk.ShadowType)(1)); - // Container child scrolledwindow1.Gtk.Container+ContainerChild - this.targetView = new global::Gtk.TreeView (); - this.targetView.CanFocus = true; - this.targetView.Name = "targetView"; - this.scrolledwindow1.Add (this.targetView); - this.hbox1.Add (this.scrolledwindow1); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.scrolledwindow1])); - w2.Position = 0; - // Container child hbox1.Gtk.Box+BoxChild - this.vbox2 = new global::Gtk.VBox (); - this.vbox2.Name = "vbox2"; - this.vbox2.Spacing = 6; - // Container child vbox2.Gtk.Box+BoxChild - this.addButton = new global::Gtk.Button (); - this.addButton.CanFocus = true; - this.addButton.Name = "addButton"; - this.addButton.UseStock = true; - this.addButton.UseUnderline = true; - this.addButton.Label = "gtk-add"; - this.vbox2.Add (this.addButton); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.addButton])); - w3.Position = 0; - w3.Expand = false; - w3.Fill = false; - // Container child vbox2.Gtk.Box+BoxChild - this.editButton = new global::Gtk.Button (); - this.editButton.CanFocus = true; - this.editButton.Name = "editButton"; - this.editButton.UseStock = true; - this.editButton.UseUnderline = true; - this.editButton.Label = "gtk-edit"; - this.vbox2.Add (this.editButton); - global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.editButton])); - w4.Position = 1; - w4.Expand = false; - w4.Fill = false; - // Container child vbox2.Gtk.Box+BoxChild - this.removeButton = new global::Gtk.Button (); - this.removeButton.CanFocus = true; - this.removeButton.Name = "removeButton"; - this.removeButton.UseStock = true; - this.removeButton.UseUnderline = true; - this.removeButton.Label = "gtk-remove"; - this.vbox2.Add (this.removeButton); - global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.removeButton])); - w5.Position = 2; - w5.Expand = false; - w5.Fill = false; - this.hbox1.Add (this.vbox2); - global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox2])); - w6.Position = 1; - w6.Expand = false; - w6.Fill = false; - this.Add (this.hbox1); - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.Show (); - this.addButton.Activated += new global::System.EventHandler (this.AddActivated); - this.addButton.Clicked += new global::System.EventHandler (this.AddActivated); - this.editButton.Activated += new global::System.EventHandler (this.EditActivated); - this.editButton.Clicked += new global::System.EventHandler (this.EditActivated); - this.removeButton.Activated += new global::System.EventHandler (this.RemoveActivated); - this.removeButton.Clicked += new global::System.EventHandler (this.RemoveActivated); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs deleted file mode 100644 index 86f4a1a292..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.cs +++ /dev/null @@ -1,180 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace MonoDevelop.AspNet.Deployment -{ - public partial class WebDeployTargetEditor - { - private global::Gtk.Label label1; - private global::Gtk.HBox hbox2; - private global::Gtk.Label label4; - private global::Gtk.VBox vbox2; - private global::Gtk.Table table2; - private global::Gtk.Label label8; - private global::Gtk.Entry nameEntry; - private global::Gtk.Label label2; - private global::Gtk.HBox fileCopyHbox; - private global::Gtk.Label label5; - private global::Gtk.VBox vbox3; - private global::Gtk.HBox fileCopyBox; - private global::Gtk.Button buttonCancel; - private global::Gtk.Button buttonOk; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget MonoDevelop.AspNet.Deployment.WebDeployTargetEditor - this.Name = "MonoDevelop.AspNet.Deployment.WebDeployTargetEditor"; - this.Title = global::Mono.Unix.Catalog.GetString ("Edit Web Deployment Target"); - this.TypeHint = ((global::Gdk.WindowTypeHint)(1)); - this.WindowPosition = ((global::Gtk.WindowPosition)(4)); - this.Modal = true; - this.BorderWidth = ((uint)(9)); - // Internal child MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.VBox - global::Gtk.VBox w1 = this.VBox; - w1.Name = "dialog1_VBox"; - w1.Spacing = 7; - w1.BorderWidth = ((uint)(2)); - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.label1 = new global::Gtk.Label (); - this.label1.Name = "label1"; - this.label1.Xalign = 0F; - this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>General Options</b>"); - this.label1.UseMarkup = true; - w1.Add (this.label1); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(w1 [this.label1])); - w2.Position = 0; - w2.Expand = false; - w2.Fill = false; - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.hbox2 = new global::Gtk.HBox (); - this.hbox2.Name = "hbox2"; - // Container child hbox2.Gtk.Box+BoxChild - this.label4 = new global::Gtk.Label (); - this.label4.WidthRequest = 18; - this.label4.Name = "label4"; - this.hbox2.Add (this.label4); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.label4])); - w3.Position = 0; - w3.Expand = false; - w3.Fill = false; - // Container child hbox2.Gtk.Box+BoxChild - this.vbox2 = new global::Gtk.VBox (); - this.vbox2.Name = "vbox2"; - this.vbox2.Spacing = 6; - // Container child vbox2.Gtk.Box+BoxChild - this.table2 = new global::Gtk.Table (((uint)(2)), ((uint)(2)), false); - this.table2.Name = "table2"; - this.table2.RowSpacing = ((uint)(6)); - this.table2.ColumnSpacing = ((uint)(6)); - // Container child table2.Gtk.Table+TableChild - this.label8 = new global::Gtk.Label (); - this.label8.Name = "label8"; - this.label8.Xalign = 0F; - this.label8.LabelProp = global::Mono.Unix.Catalog.GetString ("Name:"); - this.table2.Add (this.label8); - global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table2 [this.label8])); - w4.XOptions = ((global::Gtk.AttachOptions)(4)); - w4.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table2.Gtk.Table+TableChild - this.nameEntry = new global::Gtk.Entry (); - this.nameEntry.CanFocus = true; - this.nameEntry.Name = "nameEntry"; - this.nameEntry.IsEditable = true; - this.nameEntry.InvisibleChar = '●'; - this.table2.Add (this.nameEntry); - global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table2 [this.nameEntry])); - w5.LeftAttach = ((uint)(1)); - w5.RightAttach = ((uint)(2)); - w5.YOptions = ((global::Gtk.AttachOptions)(4)); - this.vbox2.Add (this.table2); - global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.table2])); - w6.Position = 0; - this.hbox2.Add (this.vbox2); - global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.vbox2])); - w7.Position = 1; - w1.Add (this.hbox2); - global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(w1 [this.hbox2])); - w8.Position = 1; - w8.Expand = false; - w8.Fill = false; - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.label2 = new global::Gtk.Label (); - this.label2.Name = "label2"; - this.label2.Xalign = 0F; - this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>File Copying</b>"); - this.label2.UseMarkup = true; - w1.Add (this.label2); - global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(w1 [this.label2])); - w9.Position = 2; - w9.Expand = false; - w9.Fill = false; - // Container child dialog1_VBox.Gtk.Box+BoxChild - this.fileCopyHbox = new global::Gtk.HBox (); - this.fileCopyHbox.Name = "fileCopyHbox"; - // Container child fileCopyHbox.Gtk.Box+BoxChild - this.label5 = new global::Gtk.Label (); - this.label5.WidthRequest = 18; - this.label5.Name = "label5"; - this.fileCopyHbox.Add (this.label5); - global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.fileCopyHbox [this.label5])); - w10.Position = 0; - w10.Expand = false; - w10.Fill = false; - // Container child fileCopyHbox.Gtk.Box+BoxChild - this.vbox3 = new global::Gtk.VBox (); - this.vbox3.Name = "vbox3"; - this.vbox3.Spacing = 6; - // Container child vbox3.Gtk.Box+BoxChild - this.fileCopyBox = new global::Gtk.HBox (); - this.fileCopyBox.Name = "fileCopyBox"; - this.fileCopyBox.Spacing = 6; - this.vbox3.Add (this.fileCopyBox); - global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.fileCopyBox])); - w11.Position = 0; - this.fileCopyHbox.Add (this.vbox3); - global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.fileCopyHbox [this.vbox3])); - w12.Position = 1; - w1.Add (this.fileCopyHbox); - global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(w1 [this.fileCopyHbox])); - w13.Position = 3; - // Internal child MonoDevelop.AspNet.Deployment.WebDeployTargetEditor.ActionArea - global::Gtk.HButtonBox w14 = this.ActionArea; - w14.Name = "dialog1_ActionArea"; - w14.Spacing = 10; - w14.BorderWidth = ((uint)(5)); - w14.LayoutStyle = ((global::Gtk.ButtonBoxStyle)(4)); - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonCancel = new global::Gtk.Button (); - this.buttonCancel.CanDefault = true; - this.buttonCancel.CanFocus = true; - this.buttonCancel.Name = "buttonCancel"; - this.buttonCancel.UseStock = true; - this.buttonCancel.UseUnderline = true; - this.buttonCancel.Label = "gtk-cancel"; - this.AddActionWidget (this.buttonCancel, -6); - global::Gtk.ButtonBox.ButtonBoxChild w15 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w14 [this.buttonCancel])); - w15.Expand = false; - w15.Fill = false; - // Container child dialog1_ActionArea.Gtk.ButtonBox+ButtonBoxChild - this.buttonOk = new global::Gtk.Button (); - this.buttonOk.CanDefault = true; - this.buttonOk.CanFocus = true; - this.buttonOk.Name = "buttonOk"; - this.buttonOk.UseStock = true; - this.buttonOk.UseUnderline = true; - this.buttonOk.Label = "gtk-ok"; - this.AddActionWidget (this.buttonOk, -5); - global::Gtk.ButtonBox.ButtonBoxChild w16 = ((global::Gtk.ButtonBox.ButtonBoxChild)(w14 [this.buttonOk])); - w16.Position = 1; - w16.Expand = false; - w16.Fill = false; - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.DefaultWidth = 400; - this.DefaultHeight = 300; - this.buttonOk.HasDefault = true; - this.Hide (); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs deleted file mode 100644 index 2ab1dd683e..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Deployment.WebTargetEditor.cs +++ /dev/null @@ -1,22 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace MonoDevelop.AspNet.Deployment -{ - public partial class WebTargetEditor - { - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget MonoDevelop.AspNet.Deployment.WebTargetEditor - this.Name = "MonoDevelop.AspNet.Deployment.WebTargetEditor"; - this.Title = "WebTargetEditor"; - this.WindowPosition = ((global::Gtk.WindowPosition)(4)); - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.DefaultWidth = 400; - this.DefaultHeight = 300; - this.Hide (); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs deleted file mode 100644 index 4df25876bd..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.cs +++ /dev/null @@ -1,78 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace MonoDevelop.AspNet.Gui -{ - internal partial class AspNetConfigurationPanelWidget - { - private global::Gtk.VBox vbox1; - private global::Gtk.Label label1; - private global::Gtk.HBox hbox1; - private global::Gtk.Label label2; - private global::Gtk.VBox vbox2; - private global::Gtk.CheckButton disableCodeBehindGeneration; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget - global::Stetic.BinContainer.Attach (this); - this.Name = "MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget"; - // Container child MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget.Gtk.Container+ContainerChild - this.vbox1 = new global::Gtk.VBox (); - this.vbox1.Name = "vbox1"; - this.vbox1.Spacing = 6; - // Container child vbox1.Gtk.Box+BoxChild - this.label1 = new global::Gtk.Label (); - this.label1.Name = "label1"; - this.label1.Xalign = 0F; - this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("Code Generation"); - this.vbox1.Add (this.label1); - global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.label1])); - w1.Position = 0; - w1.Expand = false; - w1.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.hbox1 = new global::Gtk.HBox (); - this.hbox1.Name = "hbox1"; - this.hbox1.Spacing = 6; - // Container child hbox1.Gtk.Box+BoxChild - this.label2 = new global::Gtk.Label (); - this.label2.WidthRequest = 18; - this.label2.Name = "label2"; - this.hbox1.Add (this.label2); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.label2])); - w2.Position = 0; - w2.Expand = false; - w2.Fill = false; - // Container child hbox1.Gtk.Box+BoxChild - this.vbox2 = new global::Gtk.VBox (); - this.vbox2.Name = "vbox2"; - this.vbox2.Spacing = 6; - // Container child vbox2.Gtk.Box+BoxChild - this.disableCodeBehindGeneration = new global::Gtk.CheckButton (); - this.disableCodeBehindGeneration.CanFocus = true; - this.disableCodeBehindGeneration.Name = "disableCodeBehindGeneration"; - this.disableCodeBehindGeneration.Label = global::Mono.Unix.Catalog.GetString ("Disable automatic updating of CodeBehind partial classes"); - this.disableCodeBehindGeneration.DrawIndicator = true; - this.disableCodeBehindGeneration.UseUnderline = true; - this.vbox2.Add (this.disableCodeBehindGeneration); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.disableCodeBehindGeneration])); - w3.Position = 0; - w3.Expand = false; - w3.Fill = false; - this.hbox1.Add (this.vbox2); - global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox2])); - w4.Position = 1; - this.vbox1.Add (this.hbox1); - global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hbox1])); - w5.Position = 1; - w5.Expand = false; - w5.Fill = false; - this.Add (this.vbox1); - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.Show (); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs deleted file mode 100644 index a089a05cf4..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.cs +++ /dev/null @@ -1,406 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace MonoDevelop.AspNet.Gui -{ - public partial class XspOptionsPanelWidget - { - private global::Gtk.VBox vbox1; - private global::Gtk.Label label1; - private global::Gtk.HBox hbox2; - private global::Gtk.Label label4; - private global::Gtk.VBox vbox2; - private global::Gtk.Table table2; - private global::Gtk.Entry ipAddress; - private global::Gtk.Label label15; - private global::Gtk.Label label7; - private global::Gtk.Label label8; - private global::Gtk.SpinButton portNumber; - private global::Gtk.CheckButton verboseCheck; - private global::Gtk.Label label2; - private global::Gtk.HBox hbox3; - private global::Gtk.Label label5; - private global::Gtk.Table table3; - private global::Gtk.Label label10; - private global::Gtk.Label label9; - private global::Gtk.ComboBox sslMode; - private global::Gtk.ComboBox sslProtocol; - private global::Gtk.Label label3; - private global::Gtk.HBox hbox4; - private global::Gtk.Label label6; - private global::Gtk.Table table4; - private global::MonoDevelop.Components.FileEntry certLocation; - private global::Gtk.HBox hbox5; - private global::Gtk.ComboBox keyType; - private global::Gtk.HBox hbox6; - private global::Gtk.ComboBox passwordOptions; - private global::Gtk.Entry passwordEntry; - private global::MonoDevelop.Components.FileEntry keyLocation; - private global::Gtk.Label label11; - private global::Gtk.Label label12; - private global::Gtk.Label label13; - private global::Gtk.Label label14; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget MonoDevelop.AspNet.Gui.XspOptionsPanelWidget - global::Stetic.BinContainer.Attach (this); - this.Name = "MonoDevelop.AspNet.Gui.XspOptionsPanelWidget"; - // Container child MonoDevelop.AspNet.Gui.XspOptionsPanelWidget.Gtk.Container+ContainerChild - this.vbox1 = new global::Gtk.VBox (); - this.vbox1.Name = "vbox1"; - this.vbox1.Spacing = 12; - // Container child vbox1.Gtk.Box+BoxChild - this.label1 = new global::Gtk.Label (); - this.label1.Name = "label1"; - this.label1.Xalign = 0F; - this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>General Options</b>"); - this.label1.UseMarkup = true; - this.vbox1.Add (this.label1); - global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.label1])); - w1.Position = 0; - w1.Expand = false; - w1.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.hbox2 = new global::Gtk.HBox (); - this.hbox2.Name = "hbox2"; - // Container child hbox2.Gtk.Box+BoxChild - this.label4 = new global::Gtk.Label (); - this.label4.WidthRequest = 18; - this.label4.Name = "label4"; - this.hbox2.Add (this.label4); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.label4])); - w2.Position = 0; - w2.Expand = false; - w2.Fill = false; - // Container child hbox2.Gtk.Box+BoxChild - this.vbox2 = new global::Gtk.VBox (); - this.vbox2.Name = "vbox2"; - this.vbox2.Spacing = 6; - // Container child vbox2.Gtk.Box+BoxChild - this.table2 = new global::Gtk.Table (((uint)(2)), ((uint)(3)), false); - this.table2.Name = "table2"; - this.table2.RowSpacing = ((uint)(6)); - this.table2.ColumnSpacing = ((uint)(6)); - // Container child table2.Gtk.Table+TableChild - this.ipAddress = new global::Gtk.Entry (); - this.ipAddress.CanFocus = true; - this.ipAddress.Name = "ipAddress"; - this.ipAddress.IsEditable = true; - this.ipAddress.InvisibleChar = '●'; - this.table2.Add (this.ipAddress); - global::Gtk.Table.TableChild w3 = ((global::Gtk.Table.TableChild)(this.table2 [this.ipAddress])); - w3.LeftAttach = ((uint)(1)); - w3.RightAttach = ((uint)(2)); - w3.XOptions = ((global::Gtk.AttachOptions)(4)); - w3.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table2.Gtk.Table+TableChild - this.label15 = new global::Gtk.Label (); - this.label15.Name = "label15"; - this.label15.LabelProp = global::Mono.Unix.Catalog.GetString ("0 = Random Port"); - this.table2.Add (this.label15); - global::Gtk.Table.TableChild w4 = ((global::Gtk.Table.TableChild)(this.table2 [this.label15])); - w4.TopAttach = ((uint)(1)); - w4.BottomAttach = ((uint)(2)); - w4.LeftAttach = ((uint)(2)); - w4.RightAttach = ((uint)(3)); - w4.XOptions = ((global::Gtk.AttachOptions)(4)); - w4.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table2.Gtk.Table+TableChild - this.label7 = new global::Gtk.Label (); - this.label7.Name = "label7"; - this.label7.Xalign = 0F; - this.label7.LabelProp = global::Mono.Unix.Catalog.GetString ("Port number:"); - this.table2.Add (this.label7); - global::Gtk.Table.TableChild w5 = ((global::Gtk.Table.TableChild)(this.table2 [this.label7])); - w5.TopAttach = ((uint)(1)); - w5.BottomAttach = ((uint)(2)); - w5.XOptions = ((global::Gtk.AttachOptions)(4)); - w5.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table2.Gtk.Table+TableChild - this.label8 = new global::Gtk.Label (); - this.label8.Name = "label8"; - this.label8.Xalign = 0F; - this.label8.LabelProp = global::Mono.Unix.Catalog.GetString ("IP address:"); - this.table2.Add (this.label8); - global::Gtk.Table.TableChild w6 = ((global::Gtk.Table.TableChild)(this.table2 [this.label8])); - w6.XOptions = ((global::Gtk.AttachOptions)(4)); - w6.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table2.Gtk.Table+TableChild - this.portNumber = new global::Gtk.SpinButton (0, 32767, 1); - this.portNumber.CanFocus = true; - this.portNumber.Name = "portNumber"; - this.portNumber.Adjustment.PageIncrement = 10; - this.portNumber.ClimbRate = 1; - this.portNumber.Numeric = true; - this.table2.Add (this.portNumber); - global::Gtk.Table.TableChild w7 = ((global::Gtk.Table.TableChild)(this.table2 [this.portNumber])); - w7.TopAttach = ((uint)(1)); - w7.BottomAttach = ((uint)(2)); - w7.LeftAttach = ((uint)(1)); - w7.RightAttach = ((uint)(2)); - w7.XOptions = ((global::Gtk.AttachOptions)(4)); - w7.YOptions = ((global::Gtk.AttachOptions)(4)); - this.vbox2.Add (this.table2); - global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.table2])); - w8.Position = 0; - w8.Expand = false; - w8.Fill = false; - // Container child vbox2.Gtk.Box+BoxChild - this.verboseCheck = new global::Gtk.CheckButton (); - this.verboseCheck.CanFocus = true; - this.verboseCheck.Name = "verboseCheck"; - this.verboseCheck.Label = global::Mono.Unix.Catalog.GetString ("Verbose console output"); - this.verboseCheck.DrawIndicator = true; - this.verboseCheck.UseUnderline = true; - this.vbox2.Add (this.verboseCheck); - global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.verboseCheck])); - w9.Position = 1; - w9.Expand = false; - w9.Fill = false; - this.hbox2.Add (this.vbox2); - global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.vbox2])); - w10.Position = 1; - w10.Expand = false; - w10.Fill = false; - this.vbox1.Add (this.hbox2); - global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hbox2])); - w11.Position = 1; - w11.Expand = false; - w11.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.label2 = new global::Gtk.Label (); - this.label2.Name = "label2"; - this.label2.Xalign = 0F; - this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Security</b>"); - this.label2.UseMarkup = true; - this.vbox1.Add (this.label2); - global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.label2])); - w12.Position = 2; - w12.Expand = false; - w12.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.hbox3 = new global::Gtk.HBox (); - this.hbox3.Name = "hbox3"; - // Container child hbox3.Gtk.Box+BoxChild - this.label5 = new global::Gtk.Label (); - this.label5.WidthRequest = 18; - this.label5.Name = "label5"; - this.hbox3.Add (this.label5); - global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.label5])); - w13.Position = 0; - w13.Expand = false; - w13.Fill = false; - // Container child hbox3.Gtk.Box+BoxChild - this.table3 = new global::Gtk.Table (((uint)(2)), ((uint)(2)), false); - this.table3.Name = "table3"; - this.table3.RowSpacing = ((uint)(6)); - this.table3.ColumnSpacing = ((uint)(6)); - // Container child table3.Gtk.Table+TableChild - this.label10 = new global::Gtk.Label (); - this.label10.Name = "label10"; - this.label10.Xalign = 0F; - this.label10.LabelProp = global::Mono.Unix.Catalog.GetString ("SSL mode:"); - this.table3.Add (this.label10); - global::Gtk.Table.TableChild w14 = ((global::Gtk.Table.TableChild)(this.table3 [this.label10])); - w14.XOptions = ((global::Gtk.AttachOptions)(4)); - w14.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table3.Gtk.Table+TableChild - this.label9 = new global::Gtk.Label (); - this.label9.Name = "label9"; - this.label9.Xalign = 0F; - this.label9.LabelProp = global::Mono.Unix.Catalog.GetString ("SSL protocol:"); - this.table3.Add (this.label9); - global::Gtk.Table.TableChild w15 = ((global::Gtk.Table.TableChild)(this.table3 [this.label9])); - w15.TopAttach = ((uint)(1)); - w15.BottomAttach = ((uint)(2)); - w15.XOptions = ((global::Gtk.AttachOptions)(4)); - w15.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table3.Gtk.Table+TableChild - this.sslMode = global::Gtk.ComboBox.NewText (); - this.sslMode.Name = "sslMode"; - this.table3.Add (this.sslMode); - global::Gtk.Table.TableChild w16 = ((global::Gtk.Table.TableChild)(this.table3 [this.sslMode])); - w16.LeftAttach = ((uint)(1)); - w16.RightAttach = ((uint)(2)); - w16.XOptions = ((global::Gtk.AttachOptions)(4)); - w16.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table3.Gtk.Table+TableChild - this.sslProtocol = global::Gtk.ComboBox.NewText (); - this.sslProtocol.Name = "sslProtocol"; - this.table3.Add (this.sslProtocol); - global::Gtk.Table.TableChild w17 = ((global::Gtk.Table.TableChild)(this.table3 [this.sslProtocol])); - w17.TopAttach = ((uint)(1)); - w17.BottomAttach = ((uint)(2)); - w17.LeftAttach = ((uint)(1)); - w17.RightAttach = ((uint)(2)); - w17.XOptions = ((global::Gtk.AttachOptions)(4)); - w17.YOptions = ((global::Gtk.AttachOptions)(4)); - this.hbox3.Add (this.table3); - global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.table3])); - w18.Position = 1; - w18.Expand = false; - w18.Fill = false; - this.vbox1.Add (this.hbox3); - global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hbox3])); - w19.Position = 3; - w19.Expand = false; - w19.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.label3 = new global::Gtk.Label (); - this.label3.Name = "label3"; - this.label3.Xalign = 0F; - this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>SSL Key</b>"); - this.label3.UseMarkup = true; - this.vbox1.Add (this.label3); - global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.label3])); - w20.Position = 4; - w20.Expand = false; - w20.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.hbox4 = new global::Gtk.HBox (); - this.hbox4.Name = "hbox4"; - // Container child hbox4.Gtk.Box+BoxChild - this.label6 = new global::Gtk.Label (); - this.label6.WidthRequest = 18; - this.label6.Name = "label6"; - this.hbox4.Add (this.label6); - global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.label6])); - w21.Position = 0; - w21.Expand = false; - w21.Fill = false; - // Container child hbox4.Gtk.Box+BoxChild - this.table4 = new global::Gtk.Table (((uint)(4)), ((uint)(2)), false); - this.table4.Name = "table4"; - this.table4.RowSpacing = ((uint)(6)); - this.table4.ColumnSpacing = ((uint)(6)); - // Container child table4.Gtk.Table+TableChild - this.certLocation = new global::MonoDevelop.Components.FileEntry (); - this.certLocation.Name = "certLocation"; - this.table4.Add (this.certLocation); - global::Gtk.Table.TableChild w22 = ((global::Gtk.Table.TableChild)(this.table4 [this.certLocation])); - w22.TopAttach = ((uint)(2)); - w22.BottomAttach = ((uint)(3)); - w22.LeftAttach = ((uint)(1)); - w22.RightAttach = ((uint)(2)); - w22.XOptions = ((global::Gtk.AttachOptions)(4)); - w22.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table4.Gtk.Table+TableChild - this.hbox5 = new global::Gtk.HBox (); - this.hbox5.Name = "hbox5"; - this.hbox5.Spacing = 6; - // Container child hbox5.Gtk.Box+BoxChild - this.keyType = global::Gtk.ComboBox.NewText (); - this.keyType.Name = "keyType"; - this.hbox5.Add (this.keyType); - global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.hbox5 [this.keyType])); - w23.Position = 0; - w23.Expand = false; - w23.Fill = false; - this.table4.Add (this.hbox5); - global::Gtk.Table.TableChild w24 = ((global::Gtk.Table.TableChild)(this.table4 [this.hbox5])); - w24.LeftAttach = ((uint)(1)); - w24.RightAttach = ((uint)(2)); - w24.XOptions = ((global::Gtk.AttachOptions)(4)); - w24.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table4.Gtk.Table+TableChild - this.hbox6 = new global::Gtk.HBox (); - this.hbox6.Name = "hbox6"; - this.hbox6.Spacing = 6; - // Container child hbox6.Gtk.Box+BoxChild - this.passwordOptions = global::Gtk.ComboBox.NewText (); - this.passwordOptions.Name = "passwordOptions"; - this.hbox6.Add (this.passwordOptions); - global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.hbox6 [this.passwordOptions])); - w25.Position = 0; - w25.Expand = false; - w25.Fill = false; - // Container child hbox6.Gtk.Box+BoxChild - this.passwordEntry = new global::Gtk.Entry (); - this.passwordEntry.CanFocus = true; - this.passwordEntry.Name = "passwordEntry"; - this.passwordEntry.IsEditable = true; - this.passwordEntry.InvisibleChar = '●'; - this.hbox6.Add (this.passwordEntry); - global::Gtk.Box.BoxChild w26 = ((global::Gtk.Box.BoxChild)(this.hbox6 [this.passwordEntry])); - w26.Position = 1; - this.table4.Add (this.hbox6); - global::Gtk.Table.TableChild w27 = ((global::Gtk.Table.TableChild)(this.table4 [this.hbox6])); - w27.TopAttach = ((uint)(3)); - w27.BottomAttach = ((uint)(4)); - w27.LeftAttach = ((uint)(1)); - w27.RightAttach = ((uint)(2)); - w27.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table4.Gtk.Table+TableChild - this.keyLocation = new global::MonoDevelop.Components.FileEntry (); - this.keyLocation.Name = "keyLocation"; - this.table4.Add (this.keyLocation); - global::Gtk.Table.TableChild w28 = ((global::Gtk.Table.TableChild)(this.table4 [this.keyLocation])); - w28.TopAttach = ((uint)(1)); - w28.BottomAttach = ((uint)(2)); - w28.LeftAttach = ((uint)(1)); - w28.RightAttach = ((uint)(2)); - w28.XOptions = ((global::Gtk.AttachOptions)(4)); - w28.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table4.Gtk.Table+TableChild - this.label11 = new global::Gtk.Label (); - this.label11.Name = "label11"; - this.label11.Xalign = 0F; - this.label11.LabelProp = global::Mono.Unix.Catalog.GetString ("Key type:"); - this.table4.Add (this.label11); - global::Gtk.Table.TableChild w29 = ((global::Gtk.Table.TableChild)(this.table4 [this.label11])); - w29.XOptions = ((global::Gtk.AttachOptions)(4)); - w29.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table4.Gtk.Table+TableChild - this.label12 = new global::Gtk.Label (); - this.label12.Name = "label12"; - this.label12.Xalign = 0F; - this.label12.LabelProp = global::Mono.Unix.Catalog.GetString ("Key location:"); - this.table4.Add (this.label12); - global::Gtk.Table.TableChild w30 = ((global::Gtk.Table.TableChild)(this.table4 [this.label12])); - w30.TopAttach = ((uint)(1)); - w30.BottomAttach = ((uint)(2)); - w30.XOptions = ((global::Gtk.AttachOptions)(4)); - w30.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table4.Gtk.Table+TableChild - this.label13 = new global::Gtk.Label (); - this.label13.Name = "label13"; - this.label13.Xalign = 0F; - this.label13.LabelProp = global::Mono.Unix.Catalog.GetString ("Certificate location:"); - this.table4.Add (this.label13); - global::Gtk.Table.TableChild w31 = ((global::Gtk.Table.TableChild)(this.table4 [this.label13])); - w31.TopAttach = ((uint)(2)); - w31.BottomAttach = ((uint)(3)); - w31.XOptions = ((global::Gtk.AttachOptions)(4)); - w31.YOptions = ((global::Gtk.AttachOptions)(4)); - // Container child table4.Gtk.Table+TableChild - this.label14 = new global::Gtk.Label (); - this.label14.Name = "label14"; - this.label14.Xalign = 0F; - this.label14.LabelProp = global::Mono.Unix.Catalog.GetString ("Password:"); - this.table4.Add (this.label14); - global::Gtk.Table.TableChild w32 = ((global::Gtk.Table.TableChild)(this.table4 [this.label14])); - w32.TopAttach = ((uint)(3)); - w32.BottomAttach = ((uint)(4)); - w32.XOptions = ((global::Gtk.AttachOptions)(4)); - w32.YOptions = ((global::Gtk.AttachOptions)(4)); - this.hbox4.Add (this.table4); - global::Gtk.Box.BoxChild w33 = ((global::Gtk.Box.BoxChild)(this.hbox4 [this.table4])); - w33.Position = 1; - this.vbox1.Add (this.hbox4); - global::Gtk.Box.BoxChild w34 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hbox4])); - w34.Position = 5; - w34.Expand = false; - w34.Fill = false; - this.Add (this.vbox1); - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.Show (); - this.sslProtocol.Changed += new global::System.EventHandler (this.updateSensitivity); - this.sslMode.Changed += new global::System.EventHandler (this.updateSensitivity); - this.passwordOptions.Changed += new global::System.EventHandler (this.updateSensitivity); - this.keyType.Changed += new global::System.EventHandler (this.updateSensitivity); - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/generated.cs b/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/generated.cs deleted file mode 100644 index 5cdc11900b..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/generated.cs +++ /dev/null @@ -1,116 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace Stetic -{ - internal class Gui - { - private static bool initialized; - - internal static void Initialize (Gtk.Widget iconRenderer) - { - if ((Stetic.Gui.initialized == false)) { - Stetic.Gui.initialized = true; - } - } - } - - internal class BinContainer - { - private Gtk.Widget child; - - private Gtk.UIManager uimanager; - - public static BinContainer Attach (Gtk.Bin bin) - { - BinContainer bc = new BinContainer (); - bin.SizeRequested += new Gtk.SizeRequestedHandler (bc.OnSizeRequested); - bin.SizeAllocated += new Gtk.SizeAllocatedHandler (bc.OnSizeAllocated); - bin.Added += new Gtk.AddedHandler (bc.OnAdded); - return bc; - } - - private void OnSizeRequested (object sender, Gtk.SizeRequestedArgs args) - { - if ((this.child != null)) { - args.Requisition = this.child.SizeRequest (); - } - } - - private void OnSizeAllocated (object sender, Gtk.SizeAllocatedArgs args) - { - if ((this.child != null)) { - this.child.Allocation = args.Allocation; - } - } - - private void OnAdded (object sender, Gtk.AddedArgs args) - { - this.child = args.Widget; - } - - public void SetUiManager (Gtk.UIManager uim) - { - this.uimanager = uim; - this.child.Realized += new System.EventHandler (this.OnRealized); - } - - private void OnRealized (object sender, System.EventArgs args) - { - if ((this.uimanager != null)) { - Gtk.Widget w; - w = this.child.Toplevel; - if (((w != null) && typeof(Gtk.Window).IsInstanceOfType (w))) { - ((Gtk.Window)(w)).AddAccelGroup (this.uimanager.AccelGroup); - this.uimanager = null; - } - } - } - } - - internal class IconLoader - { - public static Gdk.Pixbuf LoadIcon (Gtk.Widget widget, string name, Gtk.IconSize size) - { - Gdk.Pixbuf res = widget.RenderIcon (name, size, null); - if ((res != null)) { - return res; - } else { - int sz; - int sy; - global::Gtk.Icon.SizeLookup (size, out sz, out sy); - try { - return Gtk.IconTheme.Default.LoadIcon (name, sz, 0); - } catch (System.Exception) { - if ((name != "gtk-missing-image")) { - return Stetic.IconLoader.LoadIcon (widget, "gtk-missing-image", size); - } else { - Gdk.Pixmap pmap = new Gdk.Pixmap (Gdk.Screen.Default.RootWindow, sz, sz); - Gdk.GC gc = new Gdk.GC (pmap); - gc.RgbFgColor = new Gdk.Color (255, 255, 255); - pmap.DrawRectangle (gc, true, 0, 0, sz, sz); - gc.RgbFgColor = new Gdk.Color (0, 0, 0); - pmap.DrawRectangle (gc, false, 0, 0, (sz - 1), (sz - 1)); - gc.SetLineAttributes (3, Gdk.LineStyle.Solid, Gdk.CapStyle.Round, Gdk.JoinStyle.Round); - gc.RgbFgColor = new Gdk.Color (255, 0, 0); - pmap.DrawLine (gc, (sz / 4), (sz / 4), ((sz - 1) - (sz / 4)), ((sz - 1) - (sz / 4))); - pmap.DrawLine (gc, ((sz - 1) - (sz / 4)), (sz / 4), (sz / 4), ((sz - 1) - (sz / 4))); - return Gdk.Pixbuf.FromDrawable (pmap, pmap.Colormap, 0, 0, 0, 0, sz, sz); - } - } - } - } - } - - internal class ActionGroups - { - public static Gtk.ActionGroup GetActionGroup (System.Type type) - { - return Stetic.ActionGroups.GetActionGroup (type.FullName); - } - - public static Gtk.ActionGroup GetActionGroup (string name) - { - return null; - } - } -} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/gui.stetic b/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/gui.stetic deleted file mode 100644 index 499747ec0d..0000000000 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/gtk-gui/gui.stetic +++ /dev/null @@ -1,1137 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<stetic-interface> - <configuration> - <images-root-path>..</images-root-path> - <target-gtk-version>2.12</target-gtk-version> - </configuration> - <import> - <widget-library name="../../../../../build/bin/MonoDevelop.Ide.dll" /> - <widget-library name="../../../../../build/AddIns/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.dll" /> - <widget-library name="../../../../../build/AddIns/MonoDevelop.Deployment/MonoDevelop.Deployment.Linux.dll" /> - <widget-library name="../../../../../build/bin/Mono.TextEditor.dll" /> - <widget-library name="../../../../../build/AddIns/MonoDevelop.Refactoring/MonoDevelop.Refactoring.dll" /> - <widget-library name="../../../../../build/AddIns/DisplayBindings/SourceEditor/MonoDevelop.SourceEditor2.dll" /> - <widget-library name="../../../../../build/AddIns/MonoDevelop.AspNet/MonoDevelop.AspNet.dll" internal="true" /> - </import> - <widget class="Gtk.Bin" id="MonoDevelop.AspNet.Gui.AspNetConfigurationPanelWidget" design-size="496 300"> - <property name="MemberName" /> - <property name="GeneratePublic">False</property> - <child> - <widget class="Gtk.VBox" id="vbox1"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Label" id="label1"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Code Generation</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox1"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Label" id="label2"> - <property name="MemberName" /> - <property name="WidthRequest">18</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.VBox" id="vbox2"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.CheckButton" id="disableCodeBehindGeneration"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Label" translatable="yes">Disable automatic updating of CodeBehind partial classes</property> - <property name="DrawIndicator">True</property> - <property name="HasLabel">True</property> - <property name="UseUnderline">True</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - </child> - </widget> - <widget class="Gtk.Bin" id="MonoDevelop.AspNet.Gui.XspOptionsPanelWidget" design-size="358 387"> - <property name="MemberName" /> - <child> - <widget class="Gtk.VBox" id="vbox1"> - <property name="MemberName" /> - <property name="Spacing">12</property> - <child> - <widget class="Gtk.Label" id="label1"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes"><b>General Options</b></property> - <property name="UseMarkup">True</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox2"> - <property name="MemberName" /> - <child> - <widget class="Gtk.Label" id="label4"> - <property name="MemberName" /> - <property name="WidthRequest">18</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.VBox" id="vbox2"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Table" id="table2"> - <property name="MemberName" /> - <property name="NRows">2</property> - <property name="NColumns">3</property> - <property name="RowSpacing">6</property> - <property name="ColumnSpacing">6</property> - <child> - <placeholder /> - </child> - <child> - <widget class="Gtk.Entry" id="ipAddress"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="IsEditable">True</property> - <property name="InvisibleChar">●</property> - </widget> - <packing> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">False</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label15"> - <property name="MemberName" /> - <property name="LabelProp" translatable="yes">0 = Random Port</property> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="LeftAttach">2</property> - <property name="RightAttach">3</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label7"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Port number:</property> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label8"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">IP address:</property> - </widget> - <packing> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.SpinButton" id="portNumber"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Upper">32767</property> - <property name="PageIncrement">10</property> - <property name="StepIncrement">1</property> - <property name="ClimbRate">1</property> - <property name="Numeric">True</property> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">False</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.CheckButton" id="verboseCheck"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Label" translatable="yes">Verbose console output</property> - <property name="DrawIndicator">True</property> - <property name="HasLabel">True</property> - <property name="UseUnderline">True</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label2"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes"><b>Security</b></property> - <property name="UseMarkup">True</property> - </widget> - <packing> - <property name="Position">2</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox3"> - <property name="MemberName" /> - <child> - <widget class="Gtk.Label" id="label5"> - <property name="MemberName" /> - <property name="WidthRequest">18</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Table" id="table3"> - <property name="MemberName" /> - <property name="NRows">2</property> - <property name="NColumns">2</property> - <property name="RowSpacing">6</property> - <property name="ColumnSpacing">6</property> - <child> - <widget class="Gtk.Label" id="label10"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">SSL mode:</property> - </widget> - <packing> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label9"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">SSL protocol:</property> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.ComboBox" id="sslMode"> - <property name="MemberName" /> - <property name="IsTextCombo">True</property> - <property name="Items" translatable="yes" /> - <signal name="Changed" handler="updateSensitivity" /> - </widget> - <packing> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.ComboBox" id="sslProtocol"> - <property name="MemberName" /> - <property name="IsTextCombo">True</property> - <property name="Items" translatable="yes" /> - <signal name="Changed" handler="updateSensitivity" /> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">3</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label3"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes"><b>SSL Key</b></property> - <property name="UseMarkup">True</property> - </widget> - <packing> - <property name="Position">4</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox4"> - <property name="MemberName" /> - <child> - <widget class="Gtk.Label" id="label6"> - <property name="MemberName" /> - <property name="WidthRequest">18</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Table" id="table4"> - <property name="MemberName" /> - <property name="NRows">4</property> - <property name="NColumns">2</property> - <property name="RowSpacing">6</property> - <property name="ColumnSpacing">6</property> - <child> - <widget class="MonoDevelop.Components.FileEntry" id="certLocation"> - <property name="MemberName" /> - </widget> - <packing> - <property name="TopAttach">2</property> - <property name="BottomAttach">3</property> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox5"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.ComboBox" id="keyType"> - <property name="MemberName" /> - <property name="IsTextCombo">True</property> - <property name="Items" translatable="yes" /> - <signal name="Changed" handler="updateSensitivity" /> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox6"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.ComboBox" id="passwordOptions"> - <property name="MemberName" /> - <property name="IsTextCombo">True</property> - <property name="Items" translatable="yes" /> - <signal name="Changed" handler="updateSensitivity" /> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Entry" id="passwordEntry"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="IsEditable">True</property> - <property name="InvisibleChar">●</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - </packing> - </child> - </widget> - <packing> - <property name="TopAttach">3</property> - <property name="BottomAttach">4</property> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">False</property> - <property name="YOptions">Fill</property> - <property name="XExpand">True</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="MonoDevelop.Components.FileEntry" id="keyLocation"> - <property name="MemberName" /> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label11"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Key type:</property> - </widget> - <packing> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label12"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Key location:</property> - </widget> - <packing> - <property name="TopAttach">1</property> - <property name="BottomAttach">2</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label13"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Certificate location:</property> - </widget> - <packing> - <property name="TopAttach">2</property> - <property name="BottomAttach">3</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label14"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Password:</property> - </widget> - <packing> - <property name="TopAttach">3</property> - <property name="BottomAttach">4</property> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">5</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="Gtk.Bin" id="MonoDevelop.AspNet.Deployment.WebDeployOptionsPanelWidget" design-size="300 300"> - <property name="MemberName" /> - <child> - <widget class="Gtk.HBox" id="hbox1"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.ScrolledWindow" id="scrolledwindow1"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="ShadowType">In</property> - <child> - <widget class="Gtk.TreeView" id="targetView"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - </widget> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - </packing> - </child> - <child> - <widget class="Gtk.VBox" id="vbox2"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Button" id="addButton"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-add</property> - <signal name="Activated" handler="AddActivated" /> - <signal name="Clicked" handler="AddActivated" /> - <property name="label">gtk-add</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="editButton"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-edit</property> - <signal name="Activated" handler="EditActivated" /> - <signal name="Clicked" handler="EditActivated" /> - <property name="label">gtk-edit</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="removeButton"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-remove</property> - <signal name="Activated" handler="RemoveActivated" /> - <signal name="Clicked" handler="RemoveActivated" /> - <property name="label">gtk-remove</property> - </widget> - <packing> - <property name="Position">2</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="Gtk.Window" id="MonoDevelop.AspNet.Deployment.WebTargetEditor" design-size="400 300"> - <property name="MemberName" /> - <property name="Visible">False</property> - <property name="Title">WebTargetEditor</property> - <property name="WindowPosition">CenterOnParent</property> - <child> - <placeholder /> - </child> - </widget> - <widget class="Gtk.Dialog" id="MonoDevelop.AspNet.Deployment.WebDeployTargetEditor" design-size="400 300"> - <property name="MemberName" /> - <property name="Visible">False</property> - <property name="Title" translatable="yes">Edit Web Deployment Target</property> - <property name="TypeHint">Dialog</property> - <property name="WindowPosition">CenterOnParent</property> - <property name="Modal">True</property> - <property name="BorderWidth">9</property> - <property name="Buttons">2</property> - <property name="HelpButton">False</property> - <child internal-child="VBox"> - <widget class="Gtk.VBox" id="dialog1_VBox"> - <property name="MemberName" /> - <property name="Spacing">7</property> - <property name="BorderWidth">2</property> - <child> - <widget class="Gtk.Label" id="label1"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes"><b>General Options</b></property> - <property name="UseMarkup">True</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">False</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox2"> - <property name="MemberName" /> - <child> - <widget class="Gtk.Label" id="label4"> - <property name="MemberName" /> - <property name="WidthRequest">18</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.VBox" id="vbox2"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Table" id="table2"> - <property name="MemberName" /> - <property name="NRows">2</property> - <property name="NColumns">2</property> - <property name="RowSpacing">6</property> - <property name="ColumnSpacing">6</property> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - <child> - <widget class="Gtk.Label" id="label8"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Name:</property> - </widget> - <packing> - <property name="AutoSize">True</property> - <property name="XOptions">Fill</property> - <property name="YOptions">Fill</property> - <property name="XExpand">False</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Entry" id="nameEntry"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="IsEditable">True</property> - <property name="InvisibleChar">●</property> - </widget> - <packing> - <property name="LeftAttach">1</property> - <property name="RightAttach">2</property> - <property name="AutoSize">False</property> - <property name="YOptions">Fill</property> - <property name="XExpand">True</property> - <property name="XFill">True</property> - <property name="XShrink">False</property> - <property name="YExpand">False</property> - <property name="YFill">True</property> - <property name="YShrink">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">False</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label2"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes"><b>File Copying</b></property> - <property name="UseMarkup">True</property> - </widget> - <packing> - <property name="Position">2</property> - <property name="AutoSize">False</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="fileCopyHbox"> - <property name="MemberName" /> - <child> - <widget class="Gtk.Label" id="label5"> - <property name="MemberName" /> - <property name="WidthRequest">18</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">False</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.VBox" id="vbox3"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.HBox" id="fileCopyBox"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">3</property> - <property name="AutoSize">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - </child> - <child internal-child="ActionArea"> - <widget class="Gtk.HButtonBox" id="dialog1_ActionArea"> - <property name="MemberName" /> - <property name="Spacing">10</property> - <property name="BorderWidth">5</property> - <property name="Size">2</property> - <property name="LayoutStyle">End</property> - <child> - <widget class="Gtk.Button" id="buttonCancel"> - <property name="MemberName" /> - <property name="CanDefault">True</property> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-cancel</property> - <property name="ResponseId">-6</property> - <property name="label">gtk-cancel</property> - </widget> - <packing> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="buttonOk"> - <property name="MemberName" /> - <property name="CanDefault">True</property> - <property name="HasDefault">True</property> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-ok</property> - <property name="ResponseId">-5</property> - <property name="label">gtk-ok</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> - <widget class="Gtk.Dialog" id="MonoDevelop.AspNet.Deployment.WebDeployLaunchDialog" design-size="511 353"> - <property name="MemberName" /> - <property name="Visible">False</property> - <property name="Title" translatable="yes">Deploy to Web</property> - <property name="WindowPosition">CenterOnParent</property> - <property name="Modal">True</property> - <property name="BorderWidth">9</property> - <property name="Buttons">3</property> - <property name="HelpButton">False</property> - <child internal-child="VBox"> - <widget class="Gtk.VBox" id="dialog1_VBox"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <property name="BorderWidth">2</property> - <child> - <widget class="Gtk.Label" id="titleLabel"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes"><big><b>Deploying Web Project...</b></big></property> - <property name="UseMarkup">True</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">False</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label1"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Targets to which the project should be deployed:</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">False</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - <property name="Padding">4</property> - </packing> - </child> - <child> - <widget class="Gtk.ScrolledWindow" id="scrolledwindow4"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="ShadowType">In</property> - <child> - <widget class="Gtk.TreeView" id="targetView"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - </widget> - </child> - </widget> - <packing> - <property name="Position">2</property> - <property name="AutoSize">True</property> - </packing> - </child> - </widget> - </child> - <child internal-child="ActionArea"> - <widget class="Gtk.HButtonBox" id="dialog1_ActionArea"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <property name="BorderWidth">5</property> - <property name="Size">3</property> - <property name="LayoutStyle">End</property> - <child> - <widget class="Gtk.Button" id="button6"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Type">TextAndIcon</property> - <property name="Icon">stock:gtk-edit Menu</property> - <property name="Label" translatable="yes">_Edit targets</property> - <property name="UseUnderline">True</property> - <property name="ResponseId">-11</property> - <signal name="Clicked" handler="editTargetsClicked" /> - </widget> - <packing> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="buttonCancel"> - <property name="MemberName" /> - <property name="CanDefault">True</property> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-cancel</property> - <property name="ResponseId">-6</property> - <property name="label">gtk-cancel</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="buttonDeploy"> - <property name="MemberName" /> - <property name="CanDefault">True</property> - <property name="CanFocus">True</property> - <property name="Type">TextAndIcon</property> - <property name="Icon">stock:gtk-ok Menu</property> - <property name="Label" translatable="yes">_Deploy</property> - <property name="UseUnderline">True</property> - <property name="ResponseId">-5</property> - </widget> - <packing> - <property name="Position">2</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> -</stetic-interface>
\ No newline at end of file diff --git a/main/src/addins/AspNet/ProjectPad/AspNetFolderNodeBuilderExtension.cs b/main/src/addins/AspNet/ProjectPad/AspNetFolderNodeBuilderExtension.cs new file mode 100644 index 0000000000..1792b6da63 --- /dev/null +++ b/main/src/addins/AspNet/ProjectPad/AspNetFolderNodeBuilderExtension.cs @@ -0,0 +1,44 @@ +// +// AspNetFolderNodeBuilderExtension.cs +// +// Author: +// Michael Hutchinson <mhutchinson@novell.com> +// +// Copyright (c) 2009 Novell, Inc. (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +using System; +using MonoDevelop.Ide.Gui.Components; +using MonoDevelop.Ide.Gui.Pads.ProjectPad; + +namespace MonoDevelop.AspNet.ProjectPad +{ + class AspNetFolderNodeBuilderExtension : NodeBuilderExtension + { + public override bool CanBuildNode (Type dataType) + { + return typeof (ProjectFolder).IsAssignableFrom (dataType); + } + + public override Type CommandHandlerType { + get { return typeof (AspNetFolderNodeCommandHandler); } + } + } +} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/FolderNodeBuilderExtension.cs b/main/src/addins/AspNet/ProjectPad/AspNetFolderNodeCommandHandler.cs index 26a046ac03..30e870fccc 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/FolderNodeBuilderExtension.cs +++ b/main/src/addins/AspNet/ProjectPad/AspNetFolderNodeCommandHandler.cs @@ -1,58 +1,47 @@ -// -// FolderNodeBuilderExtension.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (c) 2009 Novell, Inc. (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. +//
+// AspNetFolderNodeCommandHandler.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (c) 2009 Novell, Inc. (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
using System; using MonoDevelop.Components.Commands; using MonoDevelop.Core; using MonoDevelop.Ide.Gui.Components; using MonoDevelop.Ide.Gui.Pads.ProjectPad; -using MonoDevelop.AspNet.Mvc.TextTemplating; using MonoDevelop.Ide; +using MonoDevelop.AspNet.Projects;
+using MonoDevelop.AspNet.Commands; -namespace MonoDevelop.AspNet.Mvc.Gui +namespace MonoDevelop.AspNet.ProjectPad { - class FolderNodeBuilderExtension : NodeBuilderExtension + class AspNetFolderNodeCommandHandler : NodeCommandHandler { - public override bool CanBuildNode (Type dataType) - { - return typeof (ProjectFolder).IsAssignableFrom (dataType); - } - - public override Type CommandHandlerType { - get { return typeof (FolderCommandHandler); } - } - } - - class FolderCommandHandler : NodeCommandHandler - { - [CommandUpdateHandler (AspMvcCommands.AddController)] + [CommandUpdateHandler (AspNetCommands.AddController)] public void AddControllerUpdate (CommandInfo info) { - var project = CurrentNode.GetParentDataItem (typeof (AspMvcProject), true) as AspMvcProject; - if (project == null) { + var project = CurrentNode.GetParentDataItem (typeof (AspNetAppProject), true) as AspNetAppProject; + if (project == null || !project.IsAspMvcProject) { info.Enabled = info.Visible = false; return; } @@ -62,10 +51,10 @@ namespace MonoDevelop.AspNet.Mvc.Gui info.Enabled = info.Visible = (pf.Path == rootName || pf.Path.IsChildPathOf (rootName)); } - [CommandHandler (AspMvcCommands.AddController)] + [CommandHandler (AspNetCommands.AddController)] public void AddController () { - var project = (AspMvcProject) CurrentNode.GetParentDataItem (typeof (AspMvcProject), true); + var project = (AspNetAppProject) CurrentNode.GetParentDataItem (typeof (AspNetAppProject), true); object currentItem = CurrentNode.DataItem;
@@ -79,7 +68,7 @@ namespace MonoDevelop.AspNet.Mvc.Gui nav.Expanded = true; } - public static void AddController (AspMvcProject project, string path, string name) + public static void AddController (AspNetAppProject project, string path, string name) {
var provider = project.LanguageBinding.GetCodeDomProvider ();
if (provider == null)
@@ -134,11 +123,11 @@ namespace MonoDevelop.AspNet.Mvc.Gui } } - [CommandUpdateHandler (AspMvcCommands.AddView)] + [CommandUpdateHandler (AspNetCommands.AddView)] public void AddViewUpdate (CommandInfo info) { - var project = CurrentNode.GetParentDataItem (typeof (AspMvcProject), true) as AspMvcProject; - if (project == null) { + var project = CurrentNode.GetParentDataItem (typeof (AspNetAppProject), true) as AspNetAppProject; + if (project == null || !project.IsAspMvcProject) { info.Enabled = info.Visible = false; return; } @@ -148,96 +137,21 @@ namespace MonoDevelop.AspNet.Mvc.Gui info.Enabled = info.Visible = (pf.Path == rootName || pf.Path.IsChildPathOf (rootName)); } - [CommandHandler (AspMvcCommands.AddView)] + [CommandHandler (AspNetCommands.AddView)] public void AddView () { - var project = (AspMvcProject) CurrentNode.GetParentDataItem (typeof (AspMvcProject), true); + var project = (AspNetAppProject) CurrentNode.GetParentDataItem (typeof (AspNetAppProject), true); object currentItem = CurrentNode.DataItem; var folder = CurrentNode.GetParentDataItem (typeof(ProjectFolder), true) as ProjectFolder; string path = folder != null? folder.Path : project.BaseDirectory; - AddView (project, path, null); + AddViewFromControllerCommandHandler.AddView (project, path, null); ITreeNavigator nav = Tree.GetNodeAtObject (currentItem); if (nav != null) nav.Expanded = true; } - - public static void AddView (AspMvcProject project, string path, string name) - { - var provider = project.LanguageBinding.GetCodeDomProvider (); - if (provider == null) - throw new InvalidOperationException ("Project language has null CodeDOM provider"); - - string outputFile = null; - MvcTextTemplateHost host = null; - AddViewDialog dialog = null; - - try { - dialog = new AddViewDialog (project); - dialog.ViewName = name; - - bool fileGood = false; - while (!fileGood) { - var resp = (Gtk.ResponseType) MessageService.RunCustomDialog (dialog); - dialog.Hide (); - if (resp != Gtk.ResponseType.Ok || ! dialog.IsValid ()) - return;
-
- string ext = ".cshtml";
- if (dialog.ActiveViewEngine == "Aspx")
- ext = dialog.IsPartialView ? ".ascx" : ".aspx";
-
- if (!System.IO.Directory.Exists (path))
- System.IO.Directory.CreateDirectory (path);
-
- outputFile = System.IO.Path.Combine (path, dialog.ViewName) + ext;
-
- if (System.IO.File.Exists (outputFile)) {
- fileGood = MessageService.AskQuestion ("Overwrite file?",
- String.Format ("The file '{0}' already exists.\n", dialog.ViewName) +
- "Would you like to overwrite it?", AlertButton.OverwriteFile, AlertButton.Cancel)
- != AlertButton.Cancel;
- } else
- break; - } - - host = new MvcTextTemplateHost { - LanguageExtension = provider.FileExtension, - ItemName = dialog.ViewName, - ViewDataTypeString = "" - }; - - if (dialog.HasMaster) { - host.IsViewContentPage = true; - host.ContentPlaceholder = dialog.PrimaryPlaceHolder; - host.MasterPage = dialog.MasterFile; - host.ContentPlaceHolders = dialog.ContentPlaceHolders; - } - else if (dialog.IsPartialView) - host.IsViewUserControl = true; - else - host.IsViewPage = true; - - if (dialog.IsStronglyTyped)
- host.ViewDataTypeString = dialog.ViewDataTypeString; - - host.ProcessTemplate (dialog.TemplateFile, outputFile); - MonoDevelop.TextTemplating.TextTemplatingService.ShowTemplateHostErrors (host.Errors); - - } finally { - if (host != null) - host.Dispose (); - if (dialog != null) - dialog.Destroy (); - } - - if (System.IO.File.Exists (outputFile)) { - project.AddFile (outputFile); - IdeApp.ProjectOperations.Save (project); - } - } } } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebTargetEditor.cs b/main/src/addins/AspNet/ProjectPad/AspNetProjectNodeBuilderExtension.cs index 8ff3f73827..da125b8376 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Deployment/WebTargetEditor.cs +++ b/main/src/addins/AspNet/ProjectPad/AspNetProjectNodeBuilderExtension.cs @@ -1,8 +1,9 @@ -// WebTargetEditor.cs -// +// +// ProjectFolderNodeBuilderExtension.cs +// // Author: // Michael Hutchinson <mhutchinson@novell.com> -// +// // Copyright (C) 2007 Novell, Inc (http://www.novell.com) // // Permission is hereby granted, free of charge, to any person obtaining @@ -26,17 +27,20 @@ using System; -namespace MonoDevelop.AspNet.Deployment +using MonoDevelop.Ide.Gui.Components; +using MonoDevelop.AspNet.Projects; + +namespace MonoDevelop.AspNet.ProjectPad { - - - public partial class WebTargetEditor : Gtk.Window + class AspNetProjectNodeBuilderExtension: NodeBuilderExtension { - - public WebTargetEditor() : - base(Gtk.WindowType.Toplevel) + public override bool CanBuildNode (Type dataType) { - this.Build(); + return typeof(AspNetAppProject).IsAssignableFrom (dataType); + } + + public override Type CommandHandlerType { + get { return typeof (AspNetProjectNodeCommandHandler); } } } } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs b/main/src/addins/AspNet/ProjectPad/AspNetProjectNodeCommandHandler.cs index faeb2c6ff2..3bf027f7c8 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/ProjectFolderNodeBuilderExtension.cs +++ b/main/src/addins/AspNet/ProjectPad/AspNetProjectNodeCommandHandler.cs @@ -1,55 +1,42 @@ -// ProjectFolderNodeBuilderExtension.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2007 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +//
+// AspNetProjectNodeCommandHandler.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2007 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
-using System; using System.Collections.Generic; -using MonoDevelop.Projects; -using MonoDevelop.Core; -using MonoDevelop.Ide.Gui.Pads.ProjectPad; using MonoDevelop.Components.Commands; -using MonoDevelop.Ide.Gui.Components; +using MonoDevelop.Core; using MonoDevelop.Ide; +using MonoDevelop.Ide.Gui.Components; +using MonoDevelop.Projects; +using MonoDevelop.AspNet.Commands; +using MonoDevelop.AspNet.Projects; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.ProjectPad { - - public class ProjectFolderNodeBuilderExtension: NodeBuilderExtension - { - public override bool CanBuildNode (Type dataType) - { - return typeof(AspNetAppProject).IsAssignableFrom (dataType); - } - - public override Type CommandHandlerType { - get { return typeof (ProjectFolderCommandHandler); } - } - } - - class ProjectFolderCommandHandler: NodeCommandHandler + class AspNetProjectNodeCommandHandler: NodeCommandHandler { [CommandHandler (AspNetCommands.AddAspNetDirectory)] @@ -82,8 +69,7 @@ namespace MonoDevelop.AspNet foreach (string dir in dirs) { if (!fullPaths.Contains (proj.BaseDirectory.Combine (dir))) continue; - - CommandInfo cmd = info.Add (dir.Replace("_", "__"), dir); + info.Add (dir.Replace("_", "__"), dir); } }
@@ -105,5 +91,4 @@ namespace MonoDevelop.AspNet } } - } diff --git a/main/src/addins/AspNet/Projects/AspMvcProject.cs b/main/src/addins/AspNet/Projects/AspMvcProject.cs new file mode 100644 index 0000000000..8161c25ee2 --- /dev/null +++ b/main/src/addins/AspNet/Projects/AspMvcProject.cs @@ -0,0 +1,173 @@ +// +// AspMvcProject.cs +// +// Author: +// Michael Hutchinson <mhutchinson@novell.com> +// +// Copyright (c) 2009 Novell, Inc. (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +using System; +using System.Collections.Generic; +using System.Xml; +using MonoDevelop.Projects; + +namespace MonoDevelop.AspNet.Projects +{ + abstract class AspMvcProject : AspNetAppProject + { + protected AspMvcProject () + { + } + + protected AspMvcProject (string languageName) + : base (languageName) + { + } + + protected AspMvcProject (string languageName, ProjectCreateInformation info, XmlElement projectOptions) + : base (languageName, info, projectOptions) + { + } + + public override SolutionItemConfiguration CreateConfiguration (string name) + { + var conf = new AspMvcProjectConfiguration (name); + conf.CopyFrom (base.CreateConfiguration (name)); + return conf; + } + + public override IEnumerable<string> GetProjectTypes () + { + yield return "AspNetMvc"; + foreach (var t in base.GetProjectTypes ()) + yield return t; + } + + public override bool SupportsFramework (MonoDevelop.Core.Assemblies.TargetFramework framework) + { + return framework.CanReferenceAssembliesTargetingFramework (MonoDevelop.Core.Assemblies.TargetFrameworkMoniker.NET_3_5); + } + + public override bool IsAspMvcProject { + get { + return true; + } + } + }
+
+ class AspMvc1Project : AspMvcProject
+ {
+ public AspMvc1Project ()
+ {
+ }
+
+ public AspMvc1Project (string languageName)
+ : base (languageName)
+ {
+ }
+
+ public AspMvc1Project (string languageName, ProjectCreateInformation info, XmlElement projectOptions)
+ : base (languageName, info, projectOptions)
+ {
+ } + + protected override string GetDefaultAspNetMvcVersion () + { + return "1.0.0.0"; + }
+ }
+
+ class AspMvc2Project : AspMvcProject
+ {
+ public AspMvc2Project ()
+ {
+ }
+
+ public AspMvc2Project (string languageName)
+ : base (languageName)
+ {
+ }
+
+ public AspMvc2Project (string languageName, ProjectCreateInformation info, XmlElement projectOptions)
+ : base (languageName, info, projectOptions)
+ {
+ } + + protected override string GetDefaultAspNetMvcVersion () + { + return "2.0.0.0"; + }
+ }
+
+ class AspMvc3Project : AspMvcProject
+ {
+ public AspMvc3Project ()
+ {
+ }
+
+ public AspMvc3Project (string languageName)
+ : base (languageName)
+ {
+ }
+
+ public AspMvc3Project (string languageName, ProjectCreateInformation info, XmlElement projectOptions)
+ : base (languageName, info, projectOptions)
+ {
+ }
+
+ public override bool SupportsFramework (MonoDevelop.Core.Assemblies.TargetFramework framework)
+ {
+ return framework.CanReferenceAssembliesTargetingFramework (MonoDevelop.Core.Assemblies.TargetFrameworkMoniker.NET_4_0);
+ } + + protected override string GetDefaultAspNetMvcVersion () + { + return "3.0.0.0"; + }
+ } + + class AspMvc4Project : AspMvcProject + { + public AspMvc4Project () + { + } + + public AspMvc4Project (string languageName) + : base (languageName) + { + } + + public AspMvc4Project (string languageName, ProjectCreateInformation info, XmlElement projectOptions) + : base (languageName, info, projectOptions) + { + } + + public override bool SupportsFramework (MonoDevelop.Core.Assemblies.TargetFramework framework) + { + return framework.CanReferenceAssembliesTargetingFramework (MonoDevelop.Core.Assemblies.TargetFrameworkMoniker.NET_4_0); + } + + protected override string GetDefaultAspNetMvcVersion () + { + return "4.0.0.0"; + } + } +} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProjectConfiguration.cs b/main/src/addins/AspNet/Projects/AspMvcProjectConfiguration.cs index ebd9499bfc..743a6109fc 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcProjectConfiguration.cs +++ b/main/src/addins/AspNet/Projects/AspMvcProjectConfiguration.cs @@ -26,7 +26,7 @@ using System; -namespace MonoDevelop.AspNet.Mvc +namespace MonoDevelop.AspNet.Projects { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetAppProject.cs b/main/src/addins/AspNet/Projects/AspNetAppProject.cs index 53de5999e2..8fcf1b4a59 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetAppProject.cs +++ b/main/src/addins/AspNet/Projects/AspNetAppProject.cs @@ -30,44 +30,36 @@ // using System; +using System.Collections.Generic; using System.IO; +using System.Linq; +using System.Reflection; using System.Xml; -using System.Collections.Generic; + +using ICSharpCode.NRefactory.TypeSystem; + using MonoDevelop.Core; +using MonoDevelop.Core.Assemblies; using MonoDevelop.Core.Execution; using MonoDevelop.Core.ProgressMonitoring; -using MonoDevelop.Projects; using MonoDevelop.Core.Serialization; -using MonoDevelop.Deployment; -using MonoDevelop.Core.Assemblies; - -using MonoDevelop.AspNet.Parser; -using MonoDevelop.AspNet.Deployment; -using MonoDevelop.AspNet.Gui; -using ICSharpCode.NRefactory.TypeSystem; -using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Ide.Desktop; using MonoDevelop.Ide; +using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Projects; +using MonoDevelop.AspNet.Execution; +using MonoDevelop.AspNet.WebForms; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.Projects { [DataInclude (typeof(AspNetAppProjectConfiguration))] public class AspNetAppProject : DotNetAssemblyProject { [ItemProperty("XspParameters", IsExternal=true)] - protected XspParameters xspParameters = new XspParameters (); - - [ItemProperty ("VerifyCodeBehindFields", IsExternal=true)] - protected bool verifyCodeBehindFields = true; - - [ItemProperty ("VerifyCodeBehindEvents", IsExternal=true)] - protected bool verifyCodeBehindEvents = true; - - [ItemProperty("WebDeployTargets", IsExternal=true)] - [ItemProperty ("Target", ValueType=typeof(WebDeployTarget), Scope="*")] - protected WebDeployTargetCollection webDeployTargets = new WebDeployTargetCollection (); - - RegistrationCache registrationCache; - CodeBehindTypeNameCache codebehindTypeNameCache; + XspParameters xspParameters = new XspParameters (); + + WebFormsRegistrationCache registrationCache; + WebFormsCodeBehindTypeNameCache codebehindTypeNameCache; #region properties @@ -82,40 +74,14 @@ namespace MonoDevelop.AspNet get { return true; } } - protected override void OnEndLoad () - { - base.OnEndLoad (); - - //FIX: old version of MD didn't set CompileTarget to Library for ASP.NET projects, - // but implicitly assumed they were always libraries. This is not compatible with VS/MSBuild, - // so we automatically "upgrade" this value. - if (CompileTarget != CompileTarget.Library) - CompileTarget = CompileTarget.Library; - } - public XspParameters XspParameters { get { return xspParameters; } } - public bool VerifyCodeBehindFields { - get { return verifyCodeBehindFields; } - set { verifyCodeBehindFields = value; } - } - - //TODO: make this do something - public bool VerifyCodeBehindEvents { - get { return verifyCodeBehindEvents; } - set { verifyCodeBehindEvents = value; } - } - - public WebDeployTargetCollection WebDeployTargets { - get { return webDeployTargets; } - } - - internal RegistrationCache RegistrationCache { + internal WebFormsRegistrationCache RegistrationCache { get { if (registrationCache == null) - registrationCache = new RegistrationCache (this); + registrationCache = new WebFormsRegistrationCache (this); return registrationCache; } } @@ -141,7 +107,7 @@ namespace MonoDevelop.AspNet Init (); var binPath = info == null? (FilePath)"bin" : info.BinPath; - foreach (AspNetAppProjectConfiguration cfg in Configurations) + foreach (var cfg in Configurations.Cast<AspNetAppProjectConfiguration> ()) cfg.OutputDirectory = binPath; } @@ -149,13 +115,18 @@ namespace MonoDevelop.AspNet { var conf = new AspNetAppProjectConfiguration (name); conf.CopyFrom (base.CreateConfiguration (name)); - conf.OutputDirectory = BaseDirectory.IsNullOrEmpty? "bin" : (string)BaseDirectory.Combine ("bin"); + conf.OutputDirectory = BaseDirectory.IsNullOrEmpty? "bin" : (string)BaseDirectory.Combine ("bin"); return conf; } void Init () { - codebehindTypeNameCache = new CodeBehindTypeNameCache (this); + codebehindTypeNameCache = new WebFormsCodeBehindTypeNameCache (this); + } + + public new AspNetAppProjectConfiguration GetConfiguration (ConfigurationSelector configuration) + { + return (AspNetAppProjectConfiguration) base.GetConfiguration (configuration); } #endregion @@ -184,38 +155,37 @@ namespace MonoDevelop.AspNet if (needsCompile) return base.DoBuild (monitor, configuration); - else - return new BuildResult (); + return new BuildResult (); } ExecutionCommand CreateExecutionCommand (ConfigurationSelector config, AspNetAppProjectConfiguration configuration) { - return new AspNetExecutionCommand () { + return new AspNetExecutionCommand { ClrVersion = configuration.ClrVersion, DebugMode = configuration.DebugMode, XspParameters = XspParameters, BaseDirectory = BaseDirectory, TargetRuntime = TargetRuntime, TargetFramework = TargetFramework, - UserAssemblyPaths = this.GetUserAssemblyPaths (config), + UserAssemblyPaths = GetUserAssemblyPaths (config), EnvironmentVariables = configuration.EnvironmentVariables, }; } - protected override bool OnGetCanExecute (MonoDevelop.Projects.ExecutionContext context, ConfigurationSelector config) + protected override bool OnGetCanExecute (ExecutionContext context, ConfigurationSelector configuration) { - var configuration = (AspNetAppProjectConfiguration) GetConfiguration (config); - var cmd = CreateExecutionCommand (config, configuration); + var cmd = CreateExecutionCommand (configuration, GetConfiguration (configuration)); return context.ExecutionHandler.CanExecute (cmd); } - protected override void DoExecute (IProgressMonitor monitor, ExecutionContext context, ConfigurationSelector config) + protected override void DoExecute (IProgressMonitor monitor, ExecutionContext context, ConfigurationSelector configuration) { //check XSP is available - var configuration = (AspNetAppProjectConfiguration) GetConfiguration (config); - var cmd = CreateExecutionCommand (config, configuration); - + var cfg = GetConfiguration (configuration); + var cmd = CreateExecutionCommand (configuration, cfg); + var browserExcTarget = (BrowserExecutionTarget) context.ExecutionTarget; + IConsole console = null; var operationMonitor = new AggregatedOperationMonitor (monitor); @@ -234,18 +204,21 @@ namespace MonoDevelop.AspNet } } - if (configuration.ExternalConsole) - console = context.ExternalConsoleFactory.CreateConsole (!configuration.PauseConsoleOutput); + if (cfg.ExternalConsole) + console = context.ExternalConsoleFactory.CreateConsole (!cfg.PauseConsoleOutput); else - console = context.ConsoleFactory.CreateConsole (!configuration.PauseConsoleOutput); + console = context.ConsoleFactory.CreateConsole (!cfg.PauseConsoleOutput); // The running Port value is now captured in the XspBrowserLauncherConsole object - string url = String.Format ("http://{0}", this.XspParameters.Address); + string url = String.Format ("http://{0}", XspParameters.Address); if (isXsp) { console = new XspBrowserLauncherConsole (console, delegate (string port) { - BrowserLauncher.LaunchDefaultBrowser (String.Format("{0}:{1}", url, port)); + if (browserExcTarget != null) + browserExcTarget.DesktopApp.Launch (String.Format("{0}:{1}", url, port)); + else + BrowserLauncher.LaunchDefaultBrowser (String.Format("{0}:{1}", url, port)); }); } @@ -254,8 +227,12 @@ namespace MonoDevelop.AspNet var op = context.ExecutionHandler.Execute (cmd, console); operationMonitor.AddOperation (op); //handles cancellation - if (!isXsp) - BrowserLauncher.LaunchDefaultBrowser (url); + if (!isXsp) { + if (browserExcTarget != null) + browserExcTarget.DesktopApp.Launch (url); + else + BrowserLauncher.LaunchDefaultBrowser (url); + } op.WaitForCompleted (); @@ -286,7 +263,7 @@ namespace MonoDevelop.AspNet public static WebSubtype DetermineWebSubtype (string fileName) { - string extension = System.IO.Path.GetExtension (fileName); + string extension = Path.GetExtension (fileName); if (extension == null) return WebSubtype.None; extension = extension.ToUpperInvariant ().TrimStart ('.'); @@ -342,6 +319,8 @@ namespace MonoDevelop.AspNet return WebSubtype.Svg; case "STYL": return WebSubtype.Stylus; + case "CSHTML": + return WebSubtype.Razor; default: return WebSubtype.None; } @@ -353,54 +332,6 @@ namespace MonoDevelop.AspNet #endregion - public ICompilation ResolveAssemblyDom (string assemblyName) - { - var parsed = SystemAssemblyService.ParseAssemblyName (assemblyName); - if (string.IsNullOrEmpty (parsed.Name)) - return null; - - var dllName = parsed.Name + ".dll"; - - foreach (var reference in References) { - if (reference.ReferenceType == ReferenceType.Package || reference.ReferenceType == ReferenceType.Assembly) { - foreach (string refPath in reference.GetReferencedFileNames (null)) - if (Path.GetFileName (refPath) == dllName) - return new ICSharpCode.NRefactory.TypeSystem.Implementation.SimpleCompilation (TypeSystemService.LoadAssemblyContext (TargetRuntime, TargetFramework, refPath)); - } else if (reference.ReferenceType == ReferenceType.Project && parsed.Name == reference.Reference) { - var p = ParentSolution.FindProjectByName (reference.Reference) as DotNetProject; - if (p == null) { - LoggingService.LogWarning ("Project '{0}' referenced from '{1}' could not be found", reference.Reference, this.Name); - continue; - } - return TypeSystemService.GetCompilation (p); - } - } - - string path = GetAssemblyPath (assemblyName); - if (path != null) - return new ICSharpCode.NRefactory.TypeSystem.Implementation.SimpleCompilation (TypeSystemService.LoadAssemblyContext (TargetRuntime, TargetFramework, path)); - return null; - } - - string GetAssemblyPath (string assemblyName) - { - var parsed = SystemAssemblyService.ParseAssemblyName (assemblyName); - if (string.IsNullOrEmpty (parsed.Name)) - return null; - - string localName = Path.Combine (Path.Combine (BaseDirectory, "bin"), parsed.Name + ".dll"); - if (File.Exists (localName)) - return localName; - - assemblyName = AssemblyContext.GetAssemblyFullName (assemblyName, TargetFramework); - if (assemblyName == null) - return null; - assemblyName = AssemblyContext.GetAssemblyNameForVersion (assemblyName, TargetFramework); - if (assemblyName == null) - return null; - return AssemblyContext.GetAssemblyLocation (assemblyName, TargetFramework); - } - public ProjectFile ResolveVirtualPath (string virtualPath, string relativeToFile) { string name = VirtualToLocalPath (virtualPath, relativeToFile); @@ -411,8 +342,7 @@ namespace MonoDevelop.AspNet public string VirtualToLocalPath (string virtualPath, string relativeToFile) { - if (virtualPath == null || virtualPath.Length == 0 || virtualPath[0] == '/' - || virtualPath.IndexOf (':') > -1) + if (string.IsNullOrEmpty (virtualPath) || virtualPath [0] == '/' || virtualPath.IndexOf (':') > -1) return null; FilePath relativeToDir; @@ -421,7 +351,7 @@ namespace MonoDevelop.AspNet virtualPath = virtualPath.Substring (2); else virtualPath = virtualPath.Substring (1); - relativeToDir = this.BaseDirectory; + relativeToDir = BaseDirectory; } else { relativeToDir = String.IsNullOrEmpty (relativeToFile) ? BaseDirectory @@ -481,7 +411,7 @@ namespace MonoDevelop.AspNet if (string.IsNullOrEmpty (reference.Reference)) continue; //these assemblies are referenced automatically by ASP.NET - if (IsSystemReference (reference.Reference)) + if (WebFormsRegistrationCache.IsDefaultReference (reference.Reference)) continue; //bypass non dotnet projects if ((reference.ReferenceType == ReferenceType.Project) && @@ -494,7 +424,7 @@ namespace MonoDevelop.AspNet if (webConfig == null || !File.Exists (webConfig.FilePath)) return; - var textFile = MonoDevelop.Ide.TextFileProvider.Instance.GetEditableTextFile (webConfig.FilePath); + var textFile = TextFileProvider.Instance.GetEditableTextFile (webConfig.FilePath); //use textfile API because it's write safe (writes out to another file then moves) if (textFile == null) textFile = MonoDevelop.Projects.Text.TextFile.ReadFile (webConfig.FilePath); @@ -502,7 +432,7 @@ namespace MonoDevelop.AspNet //can't use System.Web.Configuration.WebConfigurationManager, as it can only access virtual paths within an app //so need full manual handling try { - System.Xml.XmlDocument doc = new XmlDocument (); + var doc = new XmlDocument (); //FIXME: PreserveWhitespace doesn't handle whitespace in attribute lists //doc.PreserveWhitespace = true; @@ -527,8 +457,8 @@ namespace MonoDevelop.AspNet int index = 0; bool found = false; while (index < existingAdds.Count) { - XmlNode node = existingAdds[index]; - XmlAttribute att = (XmlAttribute) node.Attributes.GetNamedItem ("assembly"); + XmlNode node = existingAdds [index]; + XmlAttribute att = (XmlAttribute)node.Attributes.GetNamedItem ("assembly"); if (att == null) continue; string refAtt = att.Value; @@ -536,9 +466,8 @@ namespace MonoDevelop.AspNet existingAdds.RemoveAt (index); found = true; break; - } else { - index++; } + index++; } if (!found) { XmlElement newAdd = doc.CreateElement ("add"); @@ -564,7 +493,7 @@ namespace MonoDevelop.AspNet if (tf != null) tf.Save (); } catch (Exception e) { - LoggingService.LogWarning ("Could not modify application web.config in project " + this.Name, e); + LoggingService.LogWarning ("Could not modify application web.config in project " + Name, e); } } @@ -587,8 +516,8 @@ namespace MonoDevelop.AspNet ProjectFile GetWebConfig () { - var webConf = this.BaseDirectory.Combine ("web.config"); - foreach (var file in this.Files) + var webConf = BaseDirectory.Combine ("web.config"); + foreach (var file in Files) if (string.Compare (file.FilePath.ToString (), webConf, StringComparison.OrdinalIgnoreCase) == 0) return file; return null; @@ -596,43 +525,14 @@ namespace MonoDevelop.AspNet bool IsWebConfig (FilePath file) { - var webConf = this.BaseDirectory.Combine ("web.config"); + var webConf = BaseDirectory.Combine ("web.config"); return (string.Compare (file, webConf, StringComparison.OrdinalIgnoreCase) == 0); } - bool IsSystemReference (string reference) - { - foreach (string defaultPrefix in defaultAssemblyRefPrefixes) - if (reference.StartsWith (defaultPrefix)) - return true; - return false; - } - - static string[] defaultAssemblyRefPrefixes = new string[] { - "mscorlib", - "System,", - "System.Configuration,", - "System.Web,", - "System.Data,", - "System.Web.Services,", - "System.Xml,", - "System.Drawing,", - "System.EnterpriseServices,", - "System.Web.Mobile,", - }; - #endregion #region File event handlers - protected override void OnFileChangedInProject (MonoDevelop.Projects.ProjectFileEventArgs e) - { - //if (!DisableCodeBehindGeneration) { - //FIXME implement codebehind updates - - base.OnFileChangedInProject (e); - } - protected override void OnFileAddedToProject (ProjectFileEventArgs e) { //short-circuit if the project is being deserialised @@ -671,12 +571,14 @@ namespace MonoDevelop.AspNet { WebSubtype type = DetermineWebSubtype (fileName); - if (type == WebSubtype.Code) + switch (type) { + case WebSubtype.Code: return BuildAction.Compile; - if (type != WebSubtype.None) - return BuildAction.Content; - else + case WebSubtype.None: return base.GetDefaultBuildAction (fileName); + default: + return BuildAction.Content; + } } static string[] groupedExtensions = { ".aspx", ".master", ".ashx", ".ascx", ".asmx", ".asax" }; @@ -685,13 +587,17 @@ namespace MonoDevelop.AspNet public virtual IEnumerable<string> GetSpecialDirectories () { - if (TargetFramework.ClrVersion != MonoDevelop.Core.ClrVersion.Net_2_0) - yield break; yield return "App_Browsers"; yield return "App_Data"; yield return "App_GlobalResources"; yield return "App_LocalResources"; yield return "Theme"; + + if (IsAspMvcProject) { + yield return "Views"; + yield return "Models"; + yield return "Controllers"; + } // For "web site" projects // "App_WebReferences", "App_Resources","App_Themes", "App_Code", @@ -699,7 +605,7 @@ namespace MonoDevelop.AspNet protected override IList<string> GetCommonBuildActions () { - return new string[] { + return new [] { BuildAction.None, BuildAction.Compile, BuildAction.Content, @@ -707,130 +613,130 @@ namespace MonoDevelop.AspNet }; } - public IType GetCodebehindType (string fileName) - { - string typeName = GetCodebehindTypeName (fileName); - if (typeName != null) { - var dom = TypeSystemService.GetCompilation (this); - if (dom != null) - return ReflectionHelper.ParseReflectionName (typeName).Resolve (dom); - } - return null; - } - public string GetCodebehindTypeName (string fileName) { lock (codebehindTypeNameCache) return codebehindTypeNameCache.GetCodeBehindTypeName (fileName); } - - class CodeBehindTypeNameCache : ProjectFileCache<AspNetAppProject,string> + + public IList<string> GetCodeTemplates (string type, string subtype = null) { - public CodeBehindTypeNameCache (AspNetAppProject proj) : base (proj) - { - } - - protected override string GenerateInfo (string filename) - { - try { - var doc = TypeSystemService.ParseFile (filename, DesktopService.GetMimeTypeForUri (filename), File.ReadAllText (filename)) as AspNetParsedDocument; - if (doc != null && !string.IsNullOrEmpty (doc.Info.InheritedClass)) - return doc.Info.InheritedClass; - } catch (Exception ex) { - LoggingService.LogError ("Error reading codebehind name for file '" + filename + "'", ex); - } - return null; + var files = new List<string> (); + var names = new HashSet<string> (); + + string asmDir = Path.GetDirectoryName (typeof (AspNetAppProject).Assembly.Location); + string lang = LanguageName; + if (lang == "C#") { + lang = "CSharp"; } - - public string GetCodeBehindTypeName (string fileName) - { - return Get (fileName); + + if (subtype != null) { + type = Path.Combine (type, subtype); } + + var dirs = new [] { + Path.Combine (BaseDirectory, "CodeTemplates", type), + Path.Combine (BaseDirectory, "CodeTemplates", lang, type), + Path.Combine (asmDir, "CodeTemplates", type), + Path.Combine (asmDir, "CodeTemplates", lang, type), + }; + + foreach (string directory in dirs) + if (Directory.Exists (directory)) + foreach (string file in Directory.GetFiles (directory, "*.tt", SearchOption.TopDirectoryOnly)) + if (names.Add (Path.GetFileName (file))) + files.Add (file); + + return files; } - } - - public enum WebSubtype - { - None = 0, - Code, - WebForm, - WebService, - WebControl, - MasterPage, - WebHandler, - WebSkin, - WebImage, - BrowserDefinition, - Sitemap, - Global, - Config, - Axd, - Css, - Html, - JavaScript, - Less, - Font, - Svg, - Sass, - Stylus - } - - - class XspBrowserLauncherConsole : IConsole - { - IConsole real; - LineInterceptingTextWriter outWriter; - Action <string> launchBrowser; - - const int MAX_WATCHED_LINES = 30; - - public XspBrowserLauncherConsole (IConsole real, Action <string> launchBrowser) + + protected override void PopulateSupportFileList (FileCopySet list, ConfigurationSelector configuration) { - this.real = real; - this.launchBrowser = launchBrowser; + base.PopulateSupportFileList (list, configuration); + + //HACK: workaround for MD not local-copying package references + foreach (MonoDevelop.Projects.ProjectReference projectReference in References) { + if (projectReference.Package != null && projectReference.Package.Name == "system.web.mvc") { + if (projectReference.ReferenceType == ReferenceType.Package) + foreach (SystemAssembly assem in projectReference.Package.Assemblies) + list.Add (assem.Location); + break; + } + } } - - public void Dispose () + + public string GetAspNetMvcVersion () { - real.Dispose (); + foreach (var pref in References) { + if (pref.Reference.IndexOf ("System.Web.Mvc", StringComparison.OrdinalIgnoreCase) < 0) + continue; + switch (pref.ReferenceType) { + case ReferenceType.Assembly: + case ReferenceType.Package: + foreach (var f in pref.GetReferencedFileNames (null)) { + if (Path.GetFileNameWithoutExtension (f) != "System.Web.Mvc" || !File.Exists (f)) + continue; + return AssemblyName.GetAssemblyName (f).Version.ToString (); + } + break; + default: + continue; + } + } + + if (IsAspMvcProject) + return GetDefaultAspNetMvcVersion (); + + return null; } - - public event EventHandler CancelRequested { - add { real.CancelRequested += value; } - remove { real.CancelRequested -= value; } + + public bool SupportsRazorViewEngine { + get { + return References.Any (r => r.Reference.StartsWith ("System.Web.WebPages.Razor", StringComparison.Ordinal)); + } } - - public TextReader In { - get { return real.In; } + + protected virtual string GetDefaultAspNetMvcVersion () + { + return "5.1.2"; } - - public TextWriter Out { + + public virtual bool IsAspMvcProject { get { - if (outWriter == null) - outWriter = new LineInterceptingTextWriter (real.Out, delegate { - string line = outWriter.GetLine(); - if (line.Contains ("Listening on port: ")) { - string port = System.Text.RegularExpressions.Regex.Match (line, "(?<=port: )[0-9]*(?= )").Value; - launchBrowser (port); - outWriter.FinishedIntercepting = true; - } else if (outWriter.LineCount > MAX_WATCHED_LINES) { - outWriter.FinishedIntercepting = true; - } - }); - return outWriter; + return References.Any (r => r.Reference.StartsWith ("System.Web.Mvc", StringComparison.Ordinal)); } } - - public TextWriter Error { - get { return real.Error; } - } - - public TextWriter Log { - get { return real.Log; } + + class BrowserExecutionTarget : ExecutionTarget + { + string name, id; + public BrowserExecutionTarget (string id, string displayName, DesktopApplication app){ + this.name = displayName; + this.id = id; + this.DesktopApp = app; + } + + public override string Name { + get { return name; } + } + + public override string Id { + get { return id; } + } + + public DesktopApplication DesktopApp { get; private set; } } - - public bool CloseOnDispose { - get { return real.CloseOnDispose; } + + protected override IEnumerable<ExecutionTarget> OnGetExecutionTargets (ConfigurationSelector configuration) + { + var apps = new List<ExecutionTarget> (); + foreach (var browser in MonoDevelop.Ide.DesktopService.GetApplications ("test.html")) { + if (browser.IsDefault) + apps.Insert (0, new BrowserExecutionTarget (browser.Id,browser.DisplayName,browser)); + else + apps.Add (new BrowserExecutionTarget (browser.Id,browser.DisplayName,browser)); + } + return apps; } } } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetAppProjectBinding.cs b/main/src/addins/AspNet/Projects/AspNetAppProjectBinding.cs index 7393ada07c..3a89feac81 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetAppProjectBinding.cs +++ b/main/src/addins/AspNet/Projects/AspNetAppProjectBinding.cs @@ -36,7 +36,7 @@ using MonoDevelop.Projects; using MonoDevelop.Core.Serialization; using System.Xml; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.Projects { //based heavily on DotNetProjectBinding public class AspNetAppProjectBinding : IProjectBinding diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs b/main/src/addins/AspNet/Projects/AspNetAppProjectConfiguration.cs index 07a8e6e268..cc20b7151b 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetAppProjectConfiguration.cs +++ b/main/src/addins/AspNet/Projects/AspNetAppProjectConfiguration.cs @@ -30,13 +30,10 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; -using MonoDevelop.Core; using MonoDevelop.Projects; -using MonoDevelop.Core.Serialization; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.Projects { public class AspNetAppProjectConfiguration : DotNetProjectConfiguration { @@ -44,25 +41,16 @@ namespace MonoDevelop.AspNet { } - public AspNetAppProjectConfiguration () : base () + public AspNetAppProjectConfiguration () { } - [ItemProperty ("AspNet/DisableCodeBehindGeneration", DefaultValue = false)] - bool disableCodeBehindGeneration = false; - - public bool DisableCodeBehindGeneration { - get { return disableCodeBehindGeneration; } - set { disableCodeBehindGeneration = value; } - } - public override void CopyFrom (ItemConfiguration configuration) { base.CopyFrom (configuration); var cfg = configuration as AspNetAppProjectConfiguration; if (cfg == null) return; - disableCodeBehindGeneration = cfg.disableCodeBehindGeneration; } } } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetMSBuildImportProvider.cs b/main/src/addins/AspNet/Projects/AspNetMSBuildImportProvider.cs index 0d6ba65c72..40deaca04d 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetMSBuildImportProvider.cs +++ b/main/src/addins/AspNet/Projects/AspNetMSBuildImportProvider.cs @@ -29,9 +29,11 @@ using System.Collections.Generic; using MonoDevelop.Projects; using MonoDevelop.Projects.Formats.MSBuild; using Mono.Addins; +using MonoDevelop.AspNet.Projects; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.Projects { + /* [Extension] public class AspNetMSBuildImportProvider: IMSBuildImportProvider { @@ -45,7 +47,7 @@ namespace MonoDevelop.AspNet imports.Remove (target08); imports.Remove (target10); - AspNetAppProject project = item as AspNetAppProject; + var project = item as AspNetAppProject; if (project != null) { if (project.FileFormat.Id == "MSBuild05") imports.Add (target05); @@ -56,5 +58,6 @@ namespace MonoDevelop.AspNet } } } + */ } diff --git a/main/src/addins/AspNet/Projects/AspNetMvcFileTemplateCondition.cs b/main/src/addins/AspNet/Projects/AspNetMvcFileTemplateCondition.cs new file mode 100644 index 0000000000..0a4f581ad1 --- /dev/null +++ b/main/src/addins/AspNet/Projects/AspNetMvcFileTemplateCondition.cs @@ -0,0 +1,72 @@ +//
+// AspNetMvcFileTemplateCondition.cs
+//
+// Author:
+// Michael Hutchinson <mhutch@xamarin.com>
+//
+// Copyright (c) 2014 Xamarin Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System;
+using System.Xml;
+using MonoDevelop.Ide.Templates;
+using MonoDevelop.Projects;
+
+namespace MonoDevelop.AspNet.Projects
+{
+ class AspNetMvcFileTemplateCondition : FileTemplateCondition
+ {
+ Version minVersion;
+ bool razor;
+
+ public override void Load (XmlElement element)
+ {
+ if (element.HasAttribute ("minVersion"))
+ minVersion = Version.Parse (element.GetAttribute ("minVersion"));
+
+ if (element.HasAttribute ("razor"))
+ razor = bool.Parse (element.GetAttribute ("razor"));
+ }
+
+ public override bool ShouldEnableFor (Project proj, string projectPath)
+ {
+ if (proj == null)
+ return true;
+
+ var aspProj = proj as AspNetAppProject;
+ if (aspProj == null)
+ return false;
+
+ var versionStr = aspProj.GetAspNetMvcVersion ();
+ if (versionStr == null)
+ return false;
+
+ Version version;
+ if (minVersion != null && Version.TryParse (versionStr, out version) && version < minVersion)
+ return false;
+
+ if (razor)
+ return aspProj.SupportsRazorViewEngine;
+
+ return true;
+ }
+ }
+}
+
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/TextTemplating/MvcTextTemplateHost.cs b/main/src/addins/AspNet/Projects/MvcTextTemplateHost.cs index 437c029a69..6e0af3934f 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/TextTemplating/MvcTextTemplateHost.cs +++ b/main/src/addins/AspNet/Projects/MvcTextTemplateHost.cs @@ -28,14 +28,14 @@ using System; using System.Collections.Generic; using MonoDevelop.TextTemplating; -namespace MonoDevelop.AspNet.Mvc.TextTemplating +namespace MonoDevelop.AspNet.Projects { public class MvcTextTemplateHost : MonoDevelopTemplatingHost { public MvcTextTemplateHost () { AddMonoDevelopHostImport (); - Imports.Add ("MonoDevelop.AspNet.Mvc.TextTemplating"); + Imports.Add (typeof (MvcTextTemplateHost).Namespace); Refs.Add (typeof (MvcTextTemplateHost).Assembly.Location); } @@ -61,7 +61,7 @@ namespace MonoDevelop.AspNet.Mvc.TextTemplating public string ContentPlaceholder { get; set; } - public List<System.String> ContentPlaceHolders { get; set; } + public List<string> ContentPlaceHolders { get; set; } public string LanguageExtension { get; set; } diff --git a/main/src/addins/AspNet/Projects/WebSubtype.cs b/main/src/addins/AspNet/Projects/WebSubtype.cs new file mode 100644 index 0000000000..24bd85dbb4 --- /dev/null +++ b/main/src/addins/AspNet/Projects/WebSubtype.cs @@ -0,0 +1,59 @@ +//
+// WebSubtype.cs
+//
+// Author:
+// Michael Hutchinson <mhutch@xamarin.com>
+//
+// Copyright (c) 2014 Xamarin Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ + + +namespace MonoDevelop.AspNet.Projects +{ + + public enum WebSubtype + { + None = 0, + Code, + WebForm, + WebService, + WebControl, + MasterPage, + WebHandler, + WebSkin, + WebImage, + BrowserDefinition, + Sitemap, + Global, + Config, + Axd, + Css, + Html, + JavaScript, + Less, + Font, + Svg, + Sass, + Stylus,
+ Razor + } + +} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/AddinInfo.cs b/main/src/addins/AspNet/Properties/AddinInfo.cs index 96022feac1..aa431c1eb8 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/AddinInfo.cs +++ b/main/src/addins/AspNet/Properties/AddinInfo.cs @@ -1,19 +1,16 @@ -using System; using Mono.Addins; -using Mono.Addins.Description; [assembly:Addin ("AspNet", Namespace = "MonoDevelop", Version = MonoDevelop.BuildInfo.Version, Category = "Web Development")] -[assembly:AddinName ("ASP.NET Project Support")] -[assembly:AddinDescription ("Support for ASP.NET projects, including editing, compiling, previewing and deploying to remote servers")] +[assembly:AddinName ("Web Project Support")] +[assembly:AddinDescription ("Support for ASP.NET projects, including editing, compiling and previewing")] [assembly:AddinDependency ("Core", MonoDevelop.BuildInfo.Version)] [assembly:AddinDependency ("Ide", MonoDevelop.BuildInfo.Version)] [assembly:AddinDependency ("DesignerSupport", MonoDevelop.BuildInfo.Version)] -[assembly:AddinDependency ("Deployment", MonoDevelop.BuildInfo.Version)] -[assembly:AddinDependency ("XmlEditor", MonoDevelop.BuildInfo.Version)] +[assembly:AddinDependency ("Xml", MonoDevelop.BuildInfo.Version)] [assembly:AddinDependency ("SourceEditor2", MonoDevelop.BuildInfo.Version)] diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/AssemblyInfo.cs b/main/src/addins/AspNet/Properties/AssemblyInfo.cs index 6508a7210d..6508a7210d 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/AssemblyInfo.cs +++ b/main/src/addins/AspNet/Properties/AssemblyInfo.cs diff --git a/main/src/addins/AspNet/Properties/MonoDevelop.AspNet.addin.xml b/main/src/addins/AspNet/Properties/MonoDevelop.AspNet.addin.xml new file mode 100644 index 0000000000..17406e444f --- /dev/null +++ b/main/src/addins/AspNet/Properties/MonoDevelop.AspNet.addin.xml @@ -0,0 +1,394 @@ +<ExtensionModel>
+
+ <Runtime>
+ <Import file = "Html/Schemas/xhtml1-strict.xsd" />
+ <Import file = "Html/Schemas/xhtml1-transitional.xsd" />
+ <Import file = "Html/Schemas/xhtml1-frameset.xsd" />
+
+ <Import file = "Templates/WebForms/GlobalAsax-Empty.xft.xml"/>
+ <Import file = "Templates/WebForms/GlobalAsax-CodeBehind.xft.xml"/>
+ <Import file = "Templates/WebForms/MasterPage-CodeBehind.xft.xml"/>
+ <Import file = "Templates/WebForms/MasterPage-Empty.xft.xml"/>
+ <Import file = "Templates/WebForms/NestedMasterPage.xft.xml"/>
+ <Import file = "Templates/WebForms/WebContentForm.xft.xml"/>
+ <Import file = "Templates/WebForms/WebControl-Empty.xft.xml"/>
+ <Import file = "Templates/WebForms/WebForm-CodeBehind.xft.xml"/>
+ <Import file = "Templates/WebForms/NestedMasterPage-CodeBehind.xft.xml"/>
+ <Import file = "Templates/WebForms/WebControl-CodeBehind.xft.xml"/>
+ <Import file = "Templates/WebForms/WebForm-Empty.xft.xml"/>
+ <Import file = "Templates/WebForms/WebHandler-CodeBehind.xft.xml"/>
+ <Import file = "Templates/WebForms/WebService-Empty.xft.xml"/>
+ <Import file = "Templates/WebForms/WebService-CodeBehind.xft.xml"/>
+ <Import file = "Templates/WebForms/WebHandler-Empty.xft.xml"/>
+ <Import file = "Templates/WebForms/WebContentForm-CodeBehind.xft.xml"/>
+
+ <Import file = "Templates/Mvc/Controller.xft.xml"/>
+ <Import file = "Templates/Mvc/ViewPage.xft.xml"/>
+ <Import file = "Templates/Mvc/ViewContentPage.xft.xml"/>
+ <Import file = "Templates/Mvc/UserControl.xft.xml"/>
+ <Import file = "Templates/Mvc/ViewMasterPage.xft.xml" />
+ <Import file = "Templates/Mvc/GlobalAsax.xft.xml"/>
+ <Import file = "Templates/Mvc/WebConfigApp.xft.xml"/>
+ <Import file = "Templates/Mvc/WebConfigViews.xft.xml"/>
+ <Import file = "Templates/Mvc/LayoutPage.xft.xml" />
+ <Import file = "Templates/Mvc/ViewPageRazor.xft.xml" />
+ <Import file = "Templates/Mvc/PartialViewPageRazor.xft.xml" />
+
+ <Import file = "Templates/Projects/EmptyMvcProject.xpt.xml" />
+ <Import file = "Templates/Projects/EmptyProject.xpt.xml" />
+ <Import file = "Templates/Projects/MvcProject.xpt.xml" />
+ <Import file = "Templates/Projects/MvcProjectWithUnitTest.xpt.xml" />
+ <Import file = "Templates/Projects/MvcRazorProject.xpt.xml" />
+ <Import file = "Templates/Projects/MvcRazorProjectWithUnitTest.xpt.xml"/>
+ <Import file = "Templates/Projects/WebApplication.xpt.xml"/>
+
+ <Import file = "Templates/MvcCommon/_Layout.cshtml"/>
+ <Import file = "Templates/MvcCommon/_ViewStart.cshtml"/>
+ <Import file = "Templates/MvcCommon/Error.cshtml"/>
+ <Import file = "Templates/MvcCommon/HomeController.cs"/>
+ <Import file = "Templates/MvcCommon/HomeControllerTest.cs"/>
+ <Import file = "Templates/MvcCommon/Index.cshtml"/>
+ <Import file = "Templates/MvcCommon/ViewPageRazor.cshtml"/>
+
+ <Import file = "Templates/WebConfig-Application.xft.xml"/>
+ <Import file = "Templates/WebConfig-SubDir.xft.xml"/>
+
+ <Import file = "Templates/PreprocessedRazorTemplate.xft.xml" />
+
+ <Import file = "CodeTemplates/CSharp/AddView/Aspx/Empty.tt" />
+ <Import file = "CodeTemplates/CSharp/AddView/Razor/Empty.tt" />
+ <Import file = "CodeTemplates/CSharp/AddController/Empty.tt" />
+ <Import file = "CodeTemplates/CSharp/AddController/ControllerWithEmptyReadAndWriteActions.tt" />
+
+ <Import file = "Razor/Razor-templates.xml" />
+ </Runtime>
+
+ <ExtensionPoint path = "/MonoDevelop/Html/DocTypes">
+ <ExtensionNode name = "DocType" type = "MonoDevelop.AspNet.Html.DocTypeExtensionNode" />
+ </ExtensionPoint>
+
+ <ExtensionPoint path = "/MonoDevelop/Asp/CompletionBuilders">
+ <ExtensionNode name="Class" />
+ </ExtensionPoint>
+
+ <ExtensionPoint path = "/MonoDevelop/Razor/CompletionBuilders">
+ <ExtensionNode name="Class" />
+ </ExtensionPoint>
+
+ <Extension path = "/MonoDevelop/Ide/ProjectTemplates">
+ <ProjectTemplate id = "AspNet-EmptyMvcProject"
+ file = "Templates/Projects/EmptyMvcProject.xpt.xml" />
+ <ProjectTemplate id = "AspNet-EmptyProject"
+ file = "Templates/Projects/EmptyProject.xpt.xml" />
+ <ProjectTemplate id = "AspNet-MvcProject"
+ file = "Templates/Projects/MvcProject.xpt.xml" />
+ <ProjectTemplate id = "AspNet-MvcProjectWithUnitTest"
+ file = "Templates/Projects/MvcProjectWithUnitTest.xpt.xml" />
+ <ProjectTemplate id = "AspNet-MvcRazorProject"
+ file = "Templates/Projects/MvcRazorProject.xpt.xml" />
+ <ProjectTemplate id = "AspNet-MvcRazorProjectWithUnitTest"
+ file = "Templates/Projects/MvcRazorProjectWithUnitTest.xpt.xml"/>
+ <ProjectTemplate id = "AspNet-WebApplication"
+ file = "Templates/Projects/WebApplication.xpt.xml"/>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/FileTemplates">
+ <FileTemplate id = "WebForm-Empty"
+ file = "Templates/WebForms/WebForm-Empty.xft.xml"/>
+ <FileTemplate id = "WebForm-CodeBehind"
+ file = "Templates/WebForms/WebForm-CodeBehind.xft.xml"/>
+
+ <FileTemplate id = "WebHandler-Empty"
+ file = "Templates/WebForms/WebHandler-Empty.xft.xml"/>
+ <FileTemplate id = "WebHandler-CodeBehind"
+ file = "Templates/WebForms/WebHandler-CodeBehind.xft.xml"/>
+
+ <FileTemplate id = "WebControl-Empty"
+ file = "Templates/WebForms/WebControl-Empty.xft.xml"/>
+ <FileTemplate id = "WebControl-CodeBehind"
+ file = "Templates/WebForms/WebControl-CodeBehind.xft.xml"/>
+
+ <FileTemplate id = "WebService-Empty"
+ file = "Templates/WebForms/WebService-Empty.xft.xml"/>
+ <FileTemplate id = "WebService-CodeBehind"
+ file = "Templates/WebForms/WebService-CodeBehind.xft.xml"/>
+
+ <FileTemplate id = "MasterPage-Empty"
+ file = "Templates/WebForms/MasterPage-Empty.xft.xml" />
+ <FileTemplate id = "MasterPage-CodeBehind"
+ file = "Templates/WebForms/MasterPage-CodeBehind.xft.xml" />
+
+ <FileTemplate id = "NestedMasterPage"
+ file = "Templates/WebForms/NestedMasterPage.xft.xml" />
+ <FileTemplate id = "NestedMasterPage-CodeBehind"
+ file = "Templates/WebForms/NestedMasterPage-CodeBehind.xft.xml" />
+
+ <FileTemplate id = "GlobalAsax-Empty"
+ file = "Templates/WebForms/GlobalAsax-Empty.xft.xml" />
+ <FileTemplate id = "GlobalAsax-CodeBehind"
+ file = "Templates/WebForms/GlobalAsax-CodeBehind.xft.xml" />
+
+ <FileTemplate id = "WebConfig-Application"
+ file = "Templates/WebConfig-Application.xft.xml" />
+ <FileTemplate id = "WebConfig-SubDir"
+ file = "Templates/WebConfig-SubDir.xft.xml" />
+
+ <FileTemplate id = "WebContentForm-CodeBehind"
+ file = "Templates/WebForms/WebContentForm-CodeBehind.xft.xml" />
+ <FileTemplate id = "WebContentForm"
+ file = "Templates/WebForms/WebContentForm.xft.xml" />
+
+ <FileTemplate id = "AspMvcController"
+ file = "Templates/Mvc/Controller.xft.xml"/>
+ <FileTemplate id = "AspMvcViewPage"
+ file = "Templates/Mvc/ViewPage.xft.xml"/>
+ <FileTemplate id = "AspMvcViewContentPage"
+ file = "Templates/Mvc/ViewContentPage.xft.xml"/>
+ <FileTemplate id = "AspMvcUserControl"
+ file = "Templates/Mvc/UserControl.xft.xml"/>
+ <FileTemplate id = "AspMvcViewMasterPage"
+ file = "Templates/Mvc/ViewMasterPage.xft.xml" />
+ <FileTemplate id = "AspMvcGlobalAsax"
+ file = "Templates/Mvc/GlobalAsax.xft.xml" />
+ <FileTemplate id = "AspMvcWebConfigApp"
+ file = "Templates/Mvc/WebConfigApp.xft.xml" />
+ <FileTemplate id = "AspMvcWebConfigViews"
+ file = "Templates/Mvc/WebConfigViews.xft.xml" />
+ <FileTemplate id = "AspMvcViewPageRazor"
+ file = "Templates/Mvc/ViewPageRazor.xft.xml" />
+ <FileTemplate id = "AspMvcLayoutPage"
+ file = "Templates/Mvc/LayoutPage.xft.xml" />
+ <FileTemplate id = "AspMvcPartialViewPageRazor"
+ file = "Templates/Mvc/PartialViewPageRazor.xft.xml" />
+ <FileTemplate id = "PreprocessedRazorTemplate"
+ file = "Templates/PreprocessedRazorTemplate.xft.xml" />
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/FileTemplateTypes">
+ <FileTemplateType name = "AspNetMasterContentFile" class = "MonoDevelop.AspNet.WebForms.MasterContentFileDescriptionTemplate"/>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/FileFilters">
+ <FileFilter id = "AspNetWebFiles"
+ insertafter = "Xml"
+ _label = "ASP.NET Files"
+ extensions = "*.aspx,*.ashx,*.asmx,*.ascx,*.master,*.asax,*.cshtml" />
+ <FileFilter id = "Html"
+ _label = "HTML Files"
+ extensions = "*.htm,*.html"/>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/ProjectModel/ProjectBindings">
+ <ProjectBinding id = "AspNetApp" class = "MonoDevelop.AspNet.Projects.AspNetAppProjectBinding" />
+ </Extension>
+
+ <Extension path = "/MonoDevelop/ProjectModel/MSBuildItemTypes">
+ <DotNetProjectSubtype
+ guid="{603C0E0B-DB56-11DC-BE95-000D561079B0}"
+ type="MonoDevelop.AspNet.Projects.AspMvc1Project"
+ useXBuild="true" />
+ <DotNetProjectSubtype
+ guid="{F85E285D-A4E0-4152-9332-AB1D724D3325}"
+ type="MonoDevelop.AspNet.Projects.AspMvc2Project"
+ useXBuild="true" />
+ <DotNetProjectSubtype
+ guid="{E53F8FEA-EAE0-44A6-8774-FFD645390401}"
+ type="MonoDevelop.AspNet.Projects.AspMvc3Project"
+ useXBuild="true" />
+ <DotNetProjectSubtype
+ guid="{E3E379DF-F4C6-4180-9B81-6769533ABE47}"
+ type="MonoDevelop.AspNet.Projects.AspMvc4Project"
+ useXBuild="true" />
+ <DotNetProjectSubtype
+ id="MonoDevelop.AspNet.Projects.AspNetAppProject"
+ guid="{349C5851-65DF-11DA-9384-00065B846F21}"
+ type="MonoDevelop.AspNet.Projects.AspNetAppProject"
+ useXBuild="true" />
+ </Extension>
+
+ <Extension path = "/MonoDevelop/TypeSystem/Parser">
+ <Parser class = "MonoDevelop.AspNet.WebForms.WebFormsParser" mimeType="application/x-aspx, application/x-ascx, application/x-master-page" />
+ <Parser class = "MonoDevelop.AspNet.Html.HtmlParser" mimeType="text/html, application/x-spark" />
+ <Parser class = "MonoDevelop.AspNet.Razor.RazorCSharpParser" mimeType="text/x-cshtml" /> + </Extension>
+
+ <Extension path = "/MonoDevelop/ProjectModel/SerializableClasses">
+ <DataType class = "MonoDevelop.AspNet.WebForms.WebFormsToolboxNode" />
+ </Extension>
+
+ <Extension path = "/MonoDevelop/ProjectModel/Gui/ItemOptionPanels/Run">
+ <Condition id="ItemType" value="MonoDevelop.AspNet.Projects.AspNetAppProject">
+ <Section id = "XspOptions"
+ _label = "XSP Web Server"
+ class = "MonoDevelop.AspNet.Execution.XspOptionsPanel"/>
+ </Condition>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/DesignerSupport/ToolboxLoaders">
+ <Class id="AspNetWebFormsToolboxLoader" class="MonoDevelop.AspNet.WebForms.WebFormsToolboxLoader"/>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/DesignerSupport/ToolboxProviders">
+ <Class id="AspNetWebFormsToolboxProvider" class="MonoDevelop.AspNet.WebForms.WebFormsToolboxProvider"/>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/Commands">
+ <Category _name = "ASP.NET" id = "AspNet">
+ <Command id = "MonoDevelop.AspNet.Commands.AspNetCommands.AddAspNetDirectory"
+ _label = "ASP.NET Directory"
+ type="array" />
+ <Command id = "MonoDevelop.AspNet.Commands.AspNetCommands.AddController"
+ _label = "Controller..."
+ _description = "Add an ASP.NET MVC controller" />
+ <Command id = "MonoDevelop.AspNet.Commands.AspNetCommands.AddView"
+ _label = "View..."
+ _description = "Add an ASP.NET MVC view" />
+ </Category>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/Commands/TextEditor">
+ <Command id = "MonoDevelop.AspNet.Commands.AspNetCommands.GoToView"
+ _label = "Go To View"
+ defaultHandler = "MonoDevelop.AspNet.Commands.GoToViewCommandHandler"
+ description = "Go to the corresponding view file" />
+ <Command id = "MonoDevelop.AspNet.Commands.AspNetCommands.AddViewFromController"
+ _label = "Add View..."
+ defaultHandler = "MonoDevelop.AspNet.Commands.AddViewFromControllerCommandHandler"
+ description = "Add an ASP.NET MVC view" />
+ <Command id = "MonoDevelop.AspNet.Commands.AspNetCommands.GoToController"
+ _label = "Go To Controller"
+ defaultHandler = "MonoDevelop.AspNet.Commands.GoToControllerCommandHandler"
+ description = "Go to the corresponding controller file" />
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/ContextMenu/ProjectPad/Add">
+ <Condition id="ItemType" value="MonoDevelop.AspNet.Projects.AspNetAppProject">
+ <ItemSet id = "AspNetDirectories" _label = "ASP.NET Directory" insertafter = "MonoDevelop.Ide.Commands.ProjectCommands.NewFolder" autohide = "true">
+ <CommandItem id = "MonoDevelop.AspNet.Commands.AspNetCommands.AddAspNetDirectory" />
+ </ItemSet>
+ </Condition>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/ContextMenu/ProjectPad/Add">
+ <CommandItem id = "MonoDevelop.AspNet.Commands.AspNetCommands.AddController" insertbefore="MonoDevelop.Ide.Commands.ProjectCommands.AddNewFiles" disabledVisible="false"/>
+ <CommandItem id = "MonoDevelop.AspNet.Commands.AspNetCommands.AddView" disabledVisible="false" />
+ <SeparatorItem id = "MvcAddSeparator" />
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/Pads/ProjectPad">
+ <NodeBuilder id="AspNetProjectNodeBuilderExtension" class = "MonoDevelop.AspNet.ProjectPad.AspNetProjectNodeBuilderExtension"/>
+ <NodeBuilder id="AspNetFolderNodeBuilderExtension" class = "MonoDevelop.AspNet.ProjectPad.AspNetFolderNodeBuilderExtension"/>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/SourceEditor2/CustomModes">
+ <SyntaxMode mimeTypes="application/x-aspx" class="MonoDevelop.AspNet.WebForms.WebFormsSyntaxMode"/>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Core/MimeTypes">
+ <MimeType id="application/x-aspx" _description="ASP.NET page" icon="md-html-file-icon" isText="true">
+ <File pattern="*.aspx" />
+ </MimeType>
+ <MimeType id="application/x-ascx" _description="ASP.NET user control" icon="md-html-file-icon" isText="true">
+ <File pattern="*.ascx" />
+ </MimeType>
+ <MimeType id="application/x-asax" _description="ASP.NET global application class" icon="md-html-file-icon" isText="true">
+ <File pattern="*.asax" />
+ </MimeType>
+ <MimeType id="application/x-ashx" _description="ASP.NET handler" icon="md-html-file-icon" isText="true">
+ <File pattern="*.ashx" />
+ </MimeType>
+ <MimeType id="application/x-asmx" _description="ASP.NET web service" icon="md-html-file-icon" isText="true">
+ <File pattern="*.asmx" />
+ </MimeType>
+ <MimeType id="application/x-asix" _description="ASP.NET image generator" icon="md-html-file-icon" isText="true">
+ <File pattern="*.asix" />
+ </MimeType>
+ <MimeType id="application/x-master-page" _description="ASP.NET master page" icon="md-html-file-icon" isText="true">
+ <File pattern="*.master|*.Master" />
+ </MimeType>
+ <MimeType id="application/javascript" _description="Javascript source code" icon="md-html-file-icon" isText="true">
+ <File pattern="*.js" />
+ </MimeType>
+ <MimeType id="text/css" _description="CSS document" icon="md-html-file-icon" isText="true">
+ <File pattern="*.css" />
+ </MimeType>
+ <MimeType id="text/x-less" _description="LESS, CSS document" icon="md-html-file-icon" isText="true">
+ <File pattern="*.less" />
+ </MimeType>
+ <MimeType id="text/html" _description="HTML document" icon="md-html-file-icon" isText="true">
+ <File pattern="*.html|*.htm" />
+ </MimeType>
+ <MimeType id="application/x-spark" _description="Spark View template" icon="md-html-file-icon" isText="true"
+ baseType="text/html">
+ <File pattern="*.spark" />
+ </MimeType>
+ <MimeType id="application/typescript" _description="Typescript source code" icon="md-html-file-icon" isText="true">
+ <File pattern="*.ts" />
+ </MimeType>
+ <MimeType id="text/x-cshtml" _description="Razor template" icon="md-html-file-icon" isText="true">
+ <File pattern="*.cshtml" />
+ </MimeType>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/TextEditorExtensions">
+ <Class fileExtensions=".aspx, .ascx, .master" class = "MonoDevelop.AspNet.WebForms.WebFormsEditorExtension" />
+ <Class fileExtensions=".html, .htm, .spark" class = "MonoDevelop.AspNet.Html.HtmlEditorExtension" />
+ <Class fileExtensions=".cshtml" class = "MonoDevelop.AspNet.Razor.RazorCSharpEditorExtension" />
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Html/DocTypes">
+ <DocType name = "HTML 5.0"
+ fullName = "<!DOCTYPE html>"
+ xsdFile = "Html/Schemas/xhtml1-transitional.xsd" />;
+ <DocType name = "XHTML 1.0 Strict"
+ fullName = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">"
+ xsdFile = "Html/Schemas/xhtml1-strict.xsd" />
+ <DocType name = "XHTML 1.0 Transitional"
+ fullName = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">"
+ xsdFile = "Html/Schemas/xhtml1-transitional.xsd" />
+ <DocType name = "XHTML 1.0 Frameset"
+ fullName = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">"
+ xsdFile = "Html/Schemas/xhtml1-frameset.xsd" />
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Core/ExecutionHandlers">
+ <ExecutionHandler id="AspNet" class = "MonoDevelop.AspNet.Execution.AspNetExecutionHandler"/>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/CompletionCharacters">
+ <Complete language="Html" commitOnSpace="True" commitChars="{}[]().,:;+-*/%&|^!~=<>?@#'"\" />
+ <Complete language="Razor" commitOnSpace="True" commitChars="{}[]().,:;+-*/%&|^!~=<>?@#'"\"/>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/SourceEditor2/ContextMenu/Editor">
+ <Condition id="FileType" fileExtensions=".cs">
+ <CommandItem id = "MonoDevelop.AspNet.Commands.AspNetCommands.GoToView" insertbefore="MonoDevelop.Ide.Commands.EditCommands.Cut" />
+ <CommandItem id = "MonoDevelop.AspNet.Commands.AspNetCommands.AddViewFromController" />
+ <SeparatorItem id = "MvcSeparator1" />
+ </Condition>
+ <Condition id="FileType" fileExtensions=".cshtml,.aspx">
+ <CommandItem id = "MonoDevelop.AspNet.Commands.AspNetCommands.GoToController" insertbefore="MonoDevelop.Ide.Commands.EditCommands.Cut" />
+ <SeparatorItem id = "MvcSeparator2" />
+ </Condition>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/CodeTemplates">
+ <CodeTemplate file="Razor/Razor-templates.xml" />
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/CodeFormatters">
+ <Formatter mimeType="text/x-cshtml" class="MonoDevelop.AspNet.Razor.RazorCSharpFormatter" />
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/CustomTools">
+ <!-- NOTE: we explicitly do no call this "RazorGenerator" to avoid conflicts with http://razorgenerator.codeplex.com/ -->
+ <Tool name="RazorTemplatePreprocessor" type="MonoDevelop.AspNet.Razor.Generator.RazorTemplatePreprocessor"/>
+ </Extension>
+
+ <Extension path = "/MonoDevelop/Ide/FileTemplateConditionTypes">
+ <FileTemplateConditionType name = "AspNetMvc" class = "MonoDevelop.AspNet.Projects.AspNetMvcFileTemplateCondition"/>
+ </Extension>
+</ExtensionModel>
diff --git a/main/src/addins/AspNet/Razor/Dom/RazorCodeBlock.cs b/main/src/addins/AspNet/Razor/Dom/RazorCodeBlock.cs new file mode 100644 index 0000000000..c6928acbfd --- /dev/null +++ b/main/src/addins/AspNet/Razor/Dom/RazorCodeBlock.cs @@ -0,0 +1,57 @@ +//
+// RazorCodeBlock.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using MonoDevelop.Xml.Parser;
+using ICSharpCode.NRefactory;
+using MonoDevelop.Xml.Dom;
+
+namespace MonoDevelop.AspNet.Razor.Dom
+{
+ public class RazorCodeBlock : RazorCodeFragment
+ {
+ public RazorCodeBlock (TextLocation start) : base (start)
+ {
+ }
+
+ protected RazorCodeBlock ()
+ {
+ }
+
+ protected override XObject NewInstance ()
+ {
+ return new RazorCodeBlock ();
+ }
+
+ public override string ToString ()
+ {
+ return string.Format ("[RazorCodeBlock Location='{0}'", this.Region);
+ }
+
+ public override string FriendlyPathRepresentation {
+ get { return "@{ }"; }
+ }
+ }
+}
diff --git a/main/src/addins/AspNet/Razor/Dom/RazorCodeFragment.cs b/main/src/addins/AspNet/Razor/Dom/RazorCodeFragment.cs new file mode 100644 index 0000000000..19ff98708b --- /dev/null +++ b/main/src/addins/AspNet/Razor/Dom/RazorCodeFragment.cs @@ -0,0 +1,86 @@ +//
+// RazorCodeFragment.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using System.Linq;
+using ICSharpCode.NRefactory;
+using Mono.TextEditor;
+using MonoDevelop.Ide;
+using MonoDevelop.Xml.Dom;
+
+namespace MonoDevelop.AspNet.Razor.Dom
+{
+ public abstract class RazorCodeFragment : XContainer
+ {
+ protected RazorCodeFragment (TextLocation start) : base (start)
+ {
+ }
+
+ protected RazorCodeFragment ()
+ {
+ }
+
+ public string Name { get; set; }
+
+ public TextLocation? FirstBracket { get; set; }
+
+ public TextDocument Document {
+ get {
+ if (IdeApp.Workbench.ActiveDocument != null && IdeApp.Workbench.ActiveDocument.Editor != null)
+ return IdeApp.Workbench.ActiveDocument.Editor.Document;
+ return null;
+ }
+ }
+
+ public bool IsEndingBracket (TextLocation bracketLocation)
+ {
+ // If document isn't entirely loaded
+ if (Document == null || Document.Lines.Count () < Region.BeginLine)
+ return false;
+
+ if (!FirstBracket.HasValue && !FindFirstBracket (bracketLocation))
+ return false;
+
+ int firstBracketOffset = Document.GetOffset (FirstBracket.Value);
+ int currentBracketOffset = Document.GetOffset (bracketLocation);
+
+ return Document.GetMatchingBracketOffset (firstBracketOffset) == currentBracketOffset;
+ }
+
+ public bool FindFirstBracket (TextLocation currentLocation)
+ {
+ if (Document.Lines.Count () < Region.BeginLine)
+ return false;
+
+ int firstBracketPosition = Document.GetTextBetween (Region.Begin, currentLocation).IndexOf ('{');
+ if (firstBracketPosition == -1)
+ return false;
+
+ int beginOffset = Document.LocationToOffset (Region.Begin);
+ FirstBracket = Document.OffsetToLocation (beginOffset + firstBracketPosition);
+ return true;
+ }
+ }
+}
diff --git a/main/src/addins/AspNet/Razor/Dom/RazorComment.cs b/main/src/addins/AspNet/Razor/Dom/RazorComment.cs new file mode 100644 index 0000000000..1cb572a9d6 --- /dev/null +++ b/main/src/addins/AspNet/Razor/Dom/RazorComment.cs @@ -0,0 +1,62 @@ +//
+// RazorComment.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using ICSharpCode.NRefactory;
+using ICSharpCode.NRefactory.TypeSystem;
+using MonoDevelop.Xml.Dom;
+
+namespace MonoDevelop.AspNet.Razor.Dom
+{
+ public class RazorComment : XNode
+ {
+ public RazorComment (DomRegion region) : base (region)
+ {
+ }
+
+ public RazorComment (TextLocation start) : base (start)
+ {
+ }
+
+ protected RazorComment ()
+ {
+ }
+
+ protected override XObject NewInstance ()
+ {
+ return new RazorComment ();
+ }
+
+ public override string ToString ()
+ {
+ return string.Format ("[RazorComment Location='{0}'", this.Region);
+ }
+
+ public override string FriendlyPathRepresentation {
+ get { return "@* *@"; }
+ }
+ }
+
+}
diff --git a/main/src/addins/AspNet/Razor/Dom/RazorDirective.cs b/main/src/addins/AspNet/Razor/Dom/RazorDirective.cs new file mode 100644 index 0000000000..7b1755d9a9 --- /dev/null +++ b/main/src/addins/AspNet/Razor/Dom/RazorDirective.cs @@ -0,0 +1,58 @@ +//
+// RazorDirective.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using ICSharpCode.NRefactory;
+using MonoDevelop.Xml.Dom;
+
+namespace MonoDevelop.AspNet.Razor.Dom
+{
+ public class RazorDirective : RazorCodeFragment
+ {
+ public RazorDirective (TextLocation start) : base (start)
+ {
+ }
+
+ protected RazorDirective ()
+ {
+ }
+
+ protected override XObject NewInstance ()
+ {
+ return new RazorDirective ();
+ }
+
+ public bool IsSimpleDirective { get; set; }
+
+ public override string ToString ()
+ {
+ return string.Format ("[RazorDirective Location='{0}'", this.Region);
+ }
+
+ public override string FriendlyPathRepresentation {
+ get { return "@" + Name; }
+ }
+ }
+}
diff --git a/main/src/addins/AspNet/Razor/Dom/RazorExplicitExpression.cs b/main/src/addins/AspNet/Razor/Dom/RazorExplicitExpression.cs new file mode 100644 index 0000000000..15cbfc6637 --- /dev/null +++ b/main/src/addins/AspNet/Razor/Dom/RazorExplicitExpression.cs @@ -0,0 +1,61 @@ +//
+// RazorExplicitExpression.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using ICSharpCode.NRefactory;
+using ICSharpCode.NRefactory.TypeSystem;
+using MonoDevelop.Xml.Dom;
+
+namespace MonoDevelop.AspNet.Razor.Dom
+{
+ public class RazorExplicitExpression : RazorExpression
+ {
+ public RazorExplicitExpression (DomRegion region) : base (region)
+ {
+ }
+
+ public RazorExplicitExpression (TextLocation start) : base (start)
+ {
+ }
+
+ protected RazorExplicitExpression ()
+ {
+ }
+
+ protected override XObject NewInstance ()
+ {
+ return new RazorExplicitExpression ();
+ }
+
+ public override string ToString ()
+ {
+ return string.Format ("[RazorExplicitExpression Location='{0}'", Region);
+ }
+
+ public override string FriendlyPathRepresentation {
+ get { return "@( )"; }
+ }
+ }
+}
diff --git a/main/src/addins/AspNet/Razor/Dom/RazorExpression.cs b/main/src/addins/AspNet/Razor/Dom/RazorExpression.cs new file mode 100644 index 0000000000..ef1ef4af95 --- /dev/null +++ b/main/src/addins/AspNet/Razor/Dom/RazorExpression.cs @@ -0,0 +1,47 @@ +//
+// RazorDom.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using ICSharpCode.NRefactory.TypeSystem;
+using ICSharpCode.NRefactory;
+using MonoDevelop.Xml.Dom;
+
+namespace MonoDevelop.AspNet.Razor.Dom
+{
+ public abstract class RazorExpression : XNode
+ {
+ protected RazorExpression (DomRegion region) : base (region)
+ {
+ }
+
+ protected RazorExpression (TextLocation start) : base (start)
+ {
+ }
+
+ protected RazorExpression ()
+ {
+ }
+ }
+}
diff --git a/main/src/addins/AspNet/Razor/Dom/RazorImplicitExpression.cs b/main/src/addins/AspNet/Razor/Dom/RazorImplicitExpression.cs new file mode 100644 index 0000000000..f87a500d74 --- /dev/null +++ b/main/src/addins/AspNet/Razor/Dom/RazorImplicitExpression.cs @@ -0,0 +1,61 @@ +//
+// RazorImplicitExpression.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using ICSharpCode.NRefactory;
+using ICSharpCode.NRefactory.TypeSystem;
+using MonoDevelop.Xml.Dom;
+
+namespace MonoDevelop.AspNet.Razor.Dom
+{
+ public class RazorImplicitExpression : RazorExpression
+ {
+ public RazorImplicitExpression (DomRegion region) : base (region)
+ {
+ }
+
+ public RazorImplicitExpression (TextLocation start) : base (start)
+ {
+ }
+
+ protected RazorImplicitExpression ()
+ {
+ }
+
+ protected override XObject NewInstance ()
+ {
+ return new RazorImplicitExpression ();
+ }
+
+ public override string ToString ()
+ {
+ return string.Format ("[RazorImplicitExpression Location='{0}'", this.Region);
+ }
+
+ public override string FriendlyPathRepresentation {
+ get { return "@"; }
+ }
+ }
+}
diff --git a/main/src/addins/AspNet/Razor/Dom/RazorStatement.cs b/main/src/addins/AspNet/Razor/Dom/RazorStatement.cs new file mode 100644 index 0000000000..7af1bbfccf --- /dev/null +++ b/main/src/addins/AspNet/Razor/Dom/RazorStatement.cs @@ -0,0 +1,57 @@ +//
+// RazorStatement.cs
+//
+// Author:
+// Piotr Dowgiallo <sparekd@gmail.com>
+//
+// Copyright (c) 2012 Piotr Dowgiallo
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using ICSharpCode.NRefactory;
+using MonoDevelop.Xml.Dom;
+
+namespace MonoDevelop.AspNet.Razor.Dom
+{
+
+ public class RazorStatement : RazorCodeFragment
+ {
+ public RazorStatement (TextLocation start) : base (start)
+ {
+ }
+
+ protected RazorStatement ()
+ {
+ }
+
+ protected override XObject NewInstance ()
+ {
+ return new RazorStatement ();
+ }
+
+ public override string ToString ()
+ {
+ return string.Format ("[RazorStatement Location='{0}'", Region);
+ }
+
+ public override string FriendlyPathRepresentation {
+ get { return "@" + Name; }
+ }
+ }
+}
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/BackgroundParser.cs b/main/src/addins/AspNet/Razor/EditorParserFixed/BackgroundParser.cs index ffaecc1d2c..368931efe7 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/BackgroundParser.cs +++ b/main/src/addins/AspNet/Razor/EditorParserFixed/BackgroundParser.cs @@ -17,7 +17,7 @@ using System.Web.Razor.Utils; using System.Web.Razor; using System.Web.Razor.Editor; -namespace RazorEditorParserFixed +namespace MonoDevelop.Web.Razor.EditorParserFixed { internal class BackgroundParser : IDisposable { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/CommonResources.Designer.cs b/main/src/addins/AspNet/Razor/EditorParserFixed/CommonResources.Designer.cs index 27534d7ab1..1527fef53c 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/CommonResources.Designer.cs +++ b/main/src/addins/AspNet/Razor/EditorParserFixed/CommonResources.Designer.cs @@ -8,7 +8,7 @@ // </auto-generated> //------------------------------------------------------------------------------ -namespace RazorEditorParserFixed { +namespace MonoDevelop.Web.Razor.EditorParserFixed { using System; using System.Linq; diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/DisposableAction.cs b/main/src/addins/AspNet/Razor/EditorParserFixed/DisposableAction.cs index 8c8fa7b2f8..231fc3bd43 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/DisposableAction.cs +++ b/main/src/addins/AspNet/Razor/EditorParserFixed/DisposableAction.cs @@ -3,7 +3,7 @@ using System; -namespace RazorEditorParserFixed +namespace MonoDevelop.Web.Razor.EditorParserFixed { internal class DisposableAction : IDisposable { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/RazorEditorParser.cs b/main/src/addins/AspNet/Razor/EditorParserFixed/RazorEditorParser.cs index c264379ef2..bdc3002b95 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/RazorEditorParser.cs +++ b/main/src/addins/AspNet/Razor/EditorParserFixed/RazorEditorParser.cs @@ -17,7 +17,7 @@ using Microsoft.Internal.Web.Utils; using System; using System.Web.Razor; -namespace RazorEditorParserFixed +namespace MonoDevelop.Web.Razor.EditorParserFixed { /// <summary> /// Parser used by editors to avoid reparsing the entire document on each text change diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/RazorEditorTrace.cs b/main/src/addins/AspNet/Razor/EditorParserFixed/RazorEditorTrace.cs index 629ac6e005..ac95e87226 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/RazorEditorTrace.cs +++ b/main/src/addins/AspNet/Razor/EditorParserFixed/RazorEditorTrace.cs @@ -12,7 +12,7 @@ using System.Threading.Tasks; using System.Web.Razor.Resources; using System.Web.Razor.Text; -namespace RazorEditorParserFixed +namespace MonoDevelop.Web.Razor.EditorParserFixed { internal static class RazorEditorTrace { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/RazorResources.Designer.cs b/main/src/addins/AspNet/Razor/EditorParserFixed/RazorResources.Designer.cs index a3edc5e771..69ff4f38c0 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorEditorParserFixed/RazorResources.Designer.cs +++ b/main/src/addins/AspNet/Razor/EditorParserFixed/RazorResources.Designer.cs @@ -8,7 +8,7 @@ // </auto-generated> //------------------------------------------------------------------------------ -namespace RazorEditorParserFixed { +namespace MonoDevelop.Web.Razor.EditorParserFixed { using System; diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/FileUtil.cs b/main/src/addins/AspNet/Razor/Generator/FileUtil.cs index f98ee378a5..cd90db11f7 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/FileUtil.cs +++ b/main/src/addins/AspNet/Razor/Generator/FileUtil.cs @@ -26,7 +26,7 @@ using System; using System.IO; -namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { static class FileUtil { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/MarkupRewriter.cs b/main/src/addins/AspNet/Razor/Generator/MarkupRewriter.cs index b21652cd2e..4afe676141 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/MarkupRewriter.cs +++ b/main/src/addins/AspNet/Razor/Generator/MarkupRewriter.cs @@ -6,7 +6,7 @@ using System.Web.Razor.Parser.SyntaxTree; using System.Web.Razor.Parser;
using System;
-namespace MonoDevelop.RazorGenerator
+namespace MonoDevelop.AspNet.Razor.Generator
{
// based on System.Web.Razor.Parser.MarkupRewriter
// Copyright (c) Microsoft Open Technologies, Inc.
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedAttributeBlockCodeGenerator.cs b/main/src/addins/AspNet/Razor/Generator/PreprocessedAttributeBlockCodeGenerator.cs index 85505faa42..7589cf278f 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedAttributeBlockCodeGenerator.cs +++ b/main/src/addins/AspNet/Razor/Generator/PreprocessedAttributeBlockCodeGenerator.cs @@ -28,7 +28,7 @@ using System.Web.Razor.Parser.SyntaxTree; using System.Web.Razor.Generator; using System.Text; -namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { // based on base implementation // Copyright (c) Microsoft Open Technologies, Inc. diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedAttributeRewriter.cs b/main/src/addins/AspNet/Razor/Generator/PreprocessedAttributeRewriter.cs index 63cc7c7dc7..0828885e63 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedAttributeRewriter.cs +++ b/main/src/addins/AspNet/Razor/Generator/PreprocessedAttributeRewriter.cs @@ -27,7 +27,7 @@ using System.Web.Razor.Parser.SyntaxTree; using System.Web.Razor.Generator; -namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { class PreprocessedAttributeRewriter : MarkupRewriter { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedCSharpRazorCodeParser.cs b/main/src/addins/AspNet/Razor/Generator/PreprocessedCSharpRazorCodeParser.cs index b5d1a239a0..b82323703d 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedCSharpRazorCodeParser.cs +++ b/main/src/addins/AspNet/Razor/Generator/PreprocessedCSharpRazorCodeParser.cs @@ -17,7 +17,7 @@ using System.Web.Razor.Parser; using System.Web.Razor.Parser.SyntaxTree; using System.Web.Razor.Text; -namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { class PreprocessedCSharpRazorCodeParser : CSharpCodeParser { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedDynamicAttributeBlockCodeGenerator.cs b/main/src/addins/AspNet/Razor/Generator/PreprocessedDynamicAttributeBlockCodeGenerator.cs index 78ec3c5a95..28c3e99179 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedDynamicAttributeBlockCodeGenerator.cs +++ b/main/src/addins/AspNet/Razor/Generator/PreprocessedDynamicAttributeBlockCodeGenerator.cs @@ -29,7 +29,7 @@ using System.Web.Razor.Generator; using System.Text; using System.Linq; -namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { // based on base implementation // Copyright (c) Microsoft Open Technologies, Inc. diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedLiteralAttributeCodeGenerator.cs b/main/src/addins/AspNet/Razor/Generator/PreprocessedLiteralAttributeCodeGenerator.cs index 22310dbc43..34c9849604 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedLiteralAttributeCodeGenerator.cs +++ b/main/src/addins/AspNet/Razor/Generator/PreprocessedLiteralAttributeCodeGenerator.cs @@ -29,7 +29,7 @@ using System.Web.Razor.Text; using System.Web.Razor.Generator; using System.Text; -namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { // based on base implementation // Copyright (c) Microsoft Open Technologies, Inc. diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedRazorHost.cs b/main/src/addins/AspNet/Razor/Generator/PreprocessedRazorHost.cs index ba7a8165f3..d636cf94a4 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedRazorHost.cs +++ b/main/src/addins/AspNet/Razor/Generator/PreprocessedRazorHost.cs @@ -8,7 +8,7 @@ using System.Web.Razor.Parser; using System.Web.Razor.Parser.SyntaxTree; using System.Collections.Generic; -namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { class PreprocessedRazorHost : RazorEngineHost { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedTemplateCodeTransformer.cs b/main/src/addins/AspNet/Razor/Generator/PreprocessedTemplateCodeTransformer.cs index 252a827adf..4d85f4947e 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/PreprocessedTemplateCodeTransformer.cs +++ b/main/src/addins/AspNet/Razor/Generator/PreprocessedTemplateCodeTransformer.cs @@ -12,7 +12,7 @@ using System.CodeDom; using System.Linq; using System; -namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { static class PreprocessedTemplateCodeTransformers { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/RazorTemplatePreprocessor.cs b/main/src/addins/AspNet/Razor/Generator/RazorTemplatePreprocessor.cs index 04529cf869..32a8a31ff2 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/RazorTemplatePreprocessor.cs +++ b/main/src/addins/AspNet/Razor/Generator/RazorTemplatePreprocessor.cs @@ -31,7 +31,7 @@ using MonoDevelop.Projects; using MonoDevelop.Core; using MonoDevelop.TextTemplating; -namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { class RazorTemplatePreprocessor : ISingleFileCustomTool { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/RazorWriterHelper.cs b/main/src/addins/AspNet/Razor/Generator/RazorWriterHelper.cs index 5f37c5eb18..117f2696ac 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/RazorWriterHelper.cs +++ b/main/src/addins/AspNet/Razor/Generator/RazorWriterHelper.cs @@ -30,7 +30,7 @@ using System.Globalization; using System.Web.Razor.Generator; using System.Reflection; -namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { static class RazorWriterHelper { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/RewritingRazorTemplateEngine.cs b/main/src/addins/AspNet/Razor/Generator/RewritingRazorTemplateEngine.cs index 3d50d5d244..99d80a402f 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorGenerator/RewritingRazorTemplateEngine.cs +++ b/main/src/addins/AspNet/Razor/Generator/RewritingRazorTemplateEngine.cs @@ -32,7 +32,7 @@ using System.Web.Razor.Text; using System.Web.Razor.Generator;
using System.Web.Razor.Parser;
-namespace MonoDevelop.RazorGenerator +namespace MonoDevelop.AspNet.Razor.Generator { class RewritingRazorTemplateEngine : RazorTemplateEngine { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Completion/IRazorCompletionBuilder.cs b/main/src/addins/AspNet/Razor/IRazorCompletionBuilder.cs index d62a790399..242408e9bc 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Completion/IRazorCompletionBuilder.cs +++ b/main/src/addins/AspNet/Razor/IRazorCompletionBuilder.cs @@ -24,17 +24,13 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using MonoDevelop.Ide.CodeCompletion;
-using ICSharpCode.NRefactory.Completion;
using MonoDevelop.Ide.TypeSystem;
using MonoDevelop.Ide.Gui;
using ICSharpCode.NRefactory.TypeSystem;
-namespace MonoDevelop.AspNet.Mvc.Completion
+namespace MonoDevelop.AspNet.Razor
{
// Based on MonoDevelop.AspNet.Gui.ILanguageCompletionBuilder
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorCodeBlockState.cs b/main/src/addins/AspNet/Razor/Parser/RazorCodeBlockState.cs index 774f88e044..24536720d2 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorCodeBlockState.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorCodeBlockState.cs @@ -25,13 +25,14 @@ // THE SOFTWARE.
using System.Linq;
-using MonoDevelop.Xml.StateEngine;
+using MonoDevelop.Xml.Parser;
+using MonoDevelop.AspNet.Razor.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Razor.Parser
{
public class RazorCodeBlockState : RazorCodeFragmentState
{
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{
if (context.CurrentStateLength == 1) {
bracketsBuilder.Clear ();
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorCodeFragmentState.cs b/main/src/addins/AspNet/Razor/Parser/RazorCodeFragmentState.cs index 1819f02b38..0130ce9037 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorCodeFragmentState.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorCodeFragmentState.cs @@ -26,11 +26,12 @@ using System;
using System.Text;
-using MonoDevelop.Xml.StateEngine;
-using MonoDevelop.AspNet.StateEngine;
-using MonoDevelop.AspNet.Mvc.Parser;
+using MonoDevelop.Xml.Parser;
+using MonoDevelop.AspNet.Html.Parser;
+using MonoDevelop.AspNet.Razor.Dom;
+using MonoDevelop.Xml.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Razor.Parser
{
public abstract class RazorCodeFragmentState : RazorState
{
@@ -79,7 +80,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine bracketsBuilder = new StringBuilder ();
}
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{
switch (context.StateTag) {
case SOLIDUS:
@@ -176,9 +177,9 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine // The simplified version is used mostly for testing. In real environment finding matching brackets
// precisely is necessary for code completion.
- public virtual State ParseOpeningBracket (char c, IParseContext context)
+ public virtual XmlParserState ParseOpeningBracket (char c, IXmlParserContext context)
{
- var rootState = RootState as RazorFreeState;
+ var rootState = RootState as RazorRootState;
if (!rootState.UseSimplifiedBracketTracker && !CorrespondingBlock.FirstBracket.HasValue)
CorrespondingBlock.FindFirstBracket (context.Location);
else if (rootState.UseSimplifiedBracketTracker)
@@ -186,10 +187,10 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine return null;
}
- public virtual State ParseClosingBracket<T> (char c, IParseContext context, State stateToReturn) where T : XNode
+ public virtual XmlParserState ParseClosingBracket<T> (char c, IXmlParserContext context, XmlParserState stateToReturn) where T : XNode
{
bool isEnding = false;
- var rootState = RootState as RazorFreeState;
+ var rootState = RootState as RazorRootState;
if (rootState.UseSimplifiedBracketTracker) {
if (bracketsBuilder.Length > 0)
bracketsBuilder.Remove (0, 1);
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorCommentState.cs b/main/src/addins/AspNet/Razor/Parser/RazorCommentState.cs index a6f7908293..291f253f9e 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorCommentState.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorCommentState.cs @@ -24,16 +24,17 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.Xml.StateEngine;
+using MonoDevelop.Xml.Parser;
+using MonoDevelop.AspNet.Razor.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Razor.Parser
{
public class RazorCommentState : XmlCommentState
{
protected const int NOMATCH = 0;
protected const int STAR = 1;
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{
if (context.CurrentStateLength == 1) {
context.Nodes.Push (new RazorComment (context.LocationMinus (2)));
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorDirectiveState.cs b/main/src/addins/AspNet/Razor/Parser/RazorDirectiveState.cs index 0eef762742..e8447ef0b7 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorDirectiveState.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorDirectiveState.cs @@ -26,10 +26,11 @@ using System;
using System.Linq;
-using MonoDevelop.Xml.StateEngine;
+using MonoDevelop.Xml.Parser;
using System.Diagnostics;
+using MonoDevelop.AspNet.Razor.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Razor.Parser
{
public class RazorDirectiveState : RazorCodeFragmentState
{
@@ -37,7 +38,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine get { return CorrespondingBlock as RazorDirective; }
}
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{
if (context.CurrentStateLength == 1) {
bracketsBuilder.Clear ();
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorExpressionState.cs b/main/src/addins/AspNet/Razor/Parser/RazorExpressionState.cs index a9cc09414e..956bdbda62 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorExpressionState.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorExpressionState.cs @@ -26,9 +26,10 @@ using System;
using System.Linq;
-using MonoDevelop.Xml.StateEngine;
+using MonoDevelop.Xml.Parser;
+using MonoDevelop.AspNet.Razor.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Razor.Parser
{
public class RazorExpressionState : RazorState
{
@@ -39,7 +40,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine static char[] allowedChars = { '.', '_', '[', ']', '"' };
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{
if (context.CurrentStateLength == 1) {
switch (c) {
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/OutlineNode.cs b/main/src/addins/AspNet/Razor/Parser/RazorOutlineNode.cs index 2d24bbf67e..2028da9383 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/OutlineNode.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorOutlineNode.cs @@ -24,23 +24,19 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using ICSharpCode.NRefactory.TypeSystem;
using System.Web.Razor.Parser.SyntaxTree;
-using MonoDevelop.Xml.StateEngine;
-using MonoDevelop.AspNet.StateEngine;
+using ICSharpCode.NRefactory.TypeSystem;
+using MonoDevelop.Xml.Dom;
+using MonoDevelop.AspNet.WebForms.Dom;
-namespace MonoDevelop.AspNet.Mvc.Parser
+namespace MonoDevelop.AspNet.Razor.Parser
{
- public class OutlineNode
+ class RazorOutlineNode
{
public string Name { get; set; }
public DomRegion Location { get; set; }
- public OutlineNode (XElement el)
+ public RazorOutlineNode (XElement el)
{
Name = el.Name.FullName;
string id = el.GetId ();
@@ -52,7 +48,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser Location = el.Region;
}
- public OutlineNode (Block block)
+ public RazorOutlineNode (Block block)
{
Name = RazorUtils.GetShortName (block);
}
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorFreeState.cs b/main/src/addins/AspNet/Razor/Parser/RazorRootState.cs index 98f2acdab0..c29274826e 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorFreeState.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorRootState.cs @@ -25,12 +25,12 @@ // THE SOFTWARE.
using System;
-using MonoDevelop.Xml.StateEngine;
-using MonoDevelop.AspNet.StateEngine;
+using MonoDevelop.Xml.Parser;
+using MonoDevelop.AspNet.Html.Parser;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Razor.Parser
{
- public class RazorFreeState : XmlFreeState
+ public class RazorRootState : XmlRootState
{
protected const int TRANSITION = MAXCONST + 1;
@@ -42,7 +42,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine public bool UseSimplifiedBracketTracker { get; set; }
char previousChar;
- public RazorFreeState ()
+ public RazorRootState ()
: this (
new HtmlTagState (), new HtmlClosingTagState (true),
@@ -56,7 +56,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine new RazorSpeculativeState ()
) { }
- public RazorFreeState (
+ public RazorRootState (
HtmlTagState tagState,
HtmlClosingTagState closingTagState,
XmlCommentState commentState,
@@ -83,7 +83,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine UseSimplifiedBracketTracker = false;
}
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{
if (c == '@' && context.StateTag == FREE) {
context.StateTag = TRANSITION;
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorSpeculativeState.cs b/main/src/addins/AspNet/Razor/Parser/RazorSpeculativeState.cs index 729369fc4f..1af502cfbd 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorSpeculativeState.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorSpeculativeState.cs @@ -25,10 +25,11 @@ // THE SOFTWARE.
using System;
-using MonoDevelop.Xml.StateEngine;
-using MonoDevelop.AspNet.Mvc.Parser;
+using MonoDevelop.Xml.Parser;
+using MonoDevelop.AspNet.Razor.Parser;
+using MonoDevelop.AspNet.Razor.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Razor.Parser
{
public class RazorSpeculativeState : RazorState
{
@@ -41,7 +42,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine RazorDirectiveState directiveState;
RazorStatementState statementState;
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{
string key;
@@ -93,7 +94,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine return null;
}
- State SwitchToDirective (IParseContext context, ref string rollback)
+ XmlParserState SwitchToDirective (IXmlParserContext context, ref string rollback)
{
string key = context.KeywordBuilder.ToString ();
string name = key.Trim ();
@@ -106,7 +107,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine return EnsureSetAndAdopted<RazorDirectiveState> (ref directiveState);
}
- State SwitchToStatement (IParseContext context, ref string rollback)
+ XmlParserState SwitchToStatement (IXmlParserContext context, ref string rollback)
{
string key = context.KeywordBuilder.ToString ();
var stm = new RazorStatement (context.LocationMinus (key.Length + 2)) { Name = key.Trim () };
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorState.cs b/main/src/addins/AspNet/Razor/Parser/RazorState.cs index a37792c636..8e6c9c0ef0 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorState.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorState.cs @@ -24,18 +24,18 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.Xml.StateEngine;
+using MonoDevelop.Xml.Parser;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Razor.Parser
{
- public class RazorState : State
+ public class RazorState : XmlParserState
{
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{
return null;
}
- public virtual State EnsureSetAndAdopted<T> (ref T state) where T : State, new ()
+ public virtual XmlParserState EnsureSetAndAdopted<T> (ref T state) where T : XmlParserState, new ()
{
if (state == null) {
state = new T ();
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorStatementState.cs b/main/src/addins/AspNet/Razor/Parser/RazorStatementState.cs index 7b346a4549..5d705d71d5 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/RazorStatementState.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorStatementState.cs @@ -27,11 +27,12 @@ using System;
using System.Collections.Generic;
using System.Linq;
-using MonoDevelop.Xml.StateEngine;
+using MonoDevelop.Xml.Parser;
using System.Diagnostics;
-using MonoDevelop.AspNet.Mvc.Parser;
+using MonoDevelop.AspNet.Razor.Parser;
+using MonoDevelop.AspNet.Razor.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Razor.Parser
{
public class RazorStatementState : RazorCodeFragmentState
{
@@ -45,7 +46,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine get { return CorrespondingBlock as RazorStatement; }
}
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{
if (context.CurrentStateLength == 1) {
bracketsBuilder.Clear ();
@@ -110,7 +111,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine return base.PushChar (c, context, ref rollback);
}
- State SwitchToContinuationStatement (IParseContext context, string key)
+ XmlParserState SwitchToContinuationStatement (IXmlParserContext context, string key)
{
string name = key.Trim ();
int length = key.Length;
@@ -123,7 +124,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine return EnsureSetAndAdopted<RazorStatementState> (ref statementState);
}
- public override State ParseClosingBracket<T> (char c, IParseContext context, State stateToReturn)
+ public override XmlParserState ParseClosingBracket<T> (char c, IXmlParserContext context, XmlParserState stateToReturn)
{
if (base.ParseClosingBracket<T> (c, context, stateToReturn) != null) {
if (RazorSymbols.CanBeContinued (CorrespondingBlock.Name)) {
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorSymbols.cs b/main/src/addins/AspNet/Razor/Parser/RazorSymbols.cs index a825801f32..815c3bc394 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorSymbols.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorSymbols.cs @@ -29,12 +29,12 @@ using System.Collections.Generic; using System.Linq;
using System.Text;
-namespace MonoDevelop.AspNet.Mvc.Parser
+namespace MonoDevelop.AspNet.Razor.Parser
{
- public class RazorSymbols
+ public static class RazorSymbols
{
// Single line directives
- static string[] simpleDirectives = new string[] {
+ static string[] simpleDirectives = {
"inherits",
"sessionstate",
"model",
@@ -47,7 +47,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser };
// Block directives
- static string[] complexDirectives = new string[] {
+ static string[] complexDirectives = {
"functions",
"section",
"helper",
@@ -55,7 +55,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser static IEnumerable<string> directives = complexDirectives.Concat (simpleDirectives);
- static string[] statements = new string[] {
+ static string[] statements = {
"for",
"foreach",
"while",
@@ -88,13 +88,12 @@ namespace MonoDevelop.AspNet.Mvc.Parser public static bool CanBeStatementOrDirective(string name)
{
- if (statements.Any (s => s.StartsWith (name)))
+ if (statements.Any (s => s.StartsWith (name, StringComparison.Ordinal)))
return true;
- else
- return directives.Any (d => d.StartsWith (name));
+ return directives.Any (d => d.StartsWith (name, StringComparison.Ordinal));
}
- public static string[] continuedKeywords = new string[] {
+ static string[] continuedKeywords = {
"if", "else", "else if", "try", "catch"
};
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorUtils.cs b/main/src/addins/AspNet/Razor/Parser/RazorUtils.cs index 86e39909b8..310051afd3 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorUtils.cs +++ b/main/src/addins/AspNet/Razor/Parser/RazorUtils.cs @@ -27,7 +27,7 @@ using System.Linq;
using System.Web.Razor.Parser.SyntaxTree;
-namespace MonoDevelop.AspNet.Mvc.Parser
+namespace MonoDevelop.AspNet.Razor.Parser
{
public static class RazorUtils
{
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/StateEngineService.cs b/main/src/addins/AspNet/Razor/Parser/StateEngineService.cs index a8ec7b5e7b..92f0e8f315 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/StateEngine/StateEngineService.cs +++ b/main/src/addins/AspNet/Razor/Parser/StateEngineService.cs @@ -24,21 +24,22 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.Xml.StateEngine;
-using ICSharpCode.NRefactory;
using System.Diagnostics;
+using ICSharpCode.NRefactory;
using MonoDevelop.Core;
+using MonoDevelop.Xml.Dom;
+using MonoDevelop.Xml.Parser;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Razor.Parser
{
public static class StateEngineService
{
- public static void EndCodeFragment<T> (IParseContext context, int minus = 0) where T : XNode
+ public static void EndCodeFragment<T> (IXmlParserContext context, int minus = 0) where T : XNode
{
EndCodeFragment<T> (context, context.LocationMinus (minus));
}
- public static void EndCodeFragment<T> (IParseContext context, TextLocation loc) where T : XNode
+ public static void EndCodeFragment<T> (IXmlParserContext context, TextLocation loc) where T : XNode
{
var top = context.Nodes.Pop ();
var node = top as T;
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Razor-templates.xml b/main/src/addins/AspNet/Razor/Razor-templates.xml index e7b2a4e42b..e7b2a4e42b 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Razor-templates.xml +++ b/main/src/addins/AspNet/Razor/Razor-templates.xml diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/RazorCSharpEditorExtension.cs b/main/src/addins/AspNet/Razor/RazorCSharpEditorExtension.cs index f2d6b553ab..841e383edd 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Gui/RazorCSharpEditorExtension.cs +++ b/main/src/addins/AspNet/Razor/RazorCSharpEditorExtension.cs @@ -27,24 +27,24 @@ using System;
using System.Collections.Generic;
using System.Linq;
-using MonoDevelop.AspNet.Gui;
-using MonoDevelop.Ide.TypeSystem;
-using MonoDevelop.AspNet.Mvc.Parser;
-using ICSharpCode.NRefactory.TypeSystem;
-using Mono.TextEditor;
+using System.Text.RegularExpressions;
+using System.Web.Razor.Generator;
using System.Web.Razor.Parser.SyntaxTree;
using ICSharpCode.NRefactory;
-using MonoDevelop.Xml.StateEngine;
-using MonoDevelop.AspNet.Mvc.StateEngine;
-using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.AspNet.Mvc.Completion;
using ICSharpCode.NRefactory.Completion;
-using MonoDevelop.Ide.Gui;
-using System.Web.Razor.Generator;
-using System.Text.RegularExpressions;
+using ICSharpCode.NRefactory.TypeSystem;
+using Mono.TextEditor;
using MonoDevelop.Core;
+using MonoDevelop.Ide.CodeCompletion;
+using MonoDevelop.Ide.Gui;
+using MonoDevelop.Ide.TypeSystem;
+using MonoDevelop.Xml.Dom;
+using MonoDevelop.Xml.Parser;
+using MonoDevelop.AspNet.Html;
+using MonoDevelop.AspNet.Razor.Dom;
+using MonoDevelop.AspNet.Razor.Parser;
-namespace MonoDevelop.AspNet.Mvc.Gui
+namespace MonoDevelop.AspNet.Razor
{
public class RazorCSharpEditorExtension : BaseHtmlEditorExtension
{
@@ -68,9 +68,9 @@ namespace MonoDevelop.AspNet.Mvc.Gui get { return razorDocument.PageInfo; }
}
- protected override RootState CreateRootState ()
+ protected override XmlRootState CreateRootState ()
{
- return new RazorFreeState ();
+ return new RazorRootState ();
}
public override string CompletionLanguage {
@@ -163,7 +163,7 @@ namespace MonoDevelop.AspNet.Mvc.Gui void CreateDocType ()
{
- DocType = new MonoDevelop.Xml.StateEngine.XDocType (TextLocation.Empty);
+ DocType = new XDocType (TextLocation.Empty);
var matches = DocTypeRegex.Match (razorDocument.PageInfo.DocType);
if (matches.Success) {
DocType.PublicFpi = matches.Groups ["fpi"].Value;
@@ -583,7 +583,7 @@ namespace MonoDevelop.AspNet.Mvc.Gui protected override void OutlineSelectionChanged (object selection)
{
- SelectNode ((OutlineNode)selection);
+ SelectNode ((RazorOutlineNode)selection);
}
void BuildTreeChildren (Gtk.TreeStore store, Gtk.TreeIter parent, XContainer p, IList<Block> blocks)
@@ -599,7 +599,7 @@ namespace MonoDevelop.AspNet.Mvc.Gui && n.Start.AbsoluteIndex <= doc.GetOffset (endLoc));
foreach (var block in blocksBetween) {
- var outlineNode = new OutlineNode (block) {
+ var outlineNode = new RazorOutlineNode (block) {
Location = new DomRegion (doc.OffsetToLocation (block.Start.AbsoluteIndex),
doc.OffsetToLocation (block.Start.AbsoluteIndex + block.Length))
};
@@ -613,9 +613,9 @@ namespace MonoDevelop.AspNet.Mvc.Gui Gtk.TreeIter childIter;
if (!parent.Equals (Gtk.TreeIter.Zero))
- childIter = store.AppendValues (parent, new OutlineNode(el));
+ childIter = store.AppendValues (parent, new RazorOutlineNode(el));
else
- childIter = store.AppendValues (new OutlineNode(el));
+ childIter = store.AppendValues (new RazorOutlineNode(el));
BuildTreeChildren (store, childIter, el, blocks);
}
@@ -624,11 +624,11 @@ namespace MonoDevelop.AspNet.Mvc.Gui void OutlineTreeDataFunc (Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter)
{
Gtk.CellRendererText txtRenderer = (Gtk.CellRendererText)cell;
- OutlineNode n = (OutlineNode)model.GetValue (iter, 0);
+ RazorOutlineNode n = (RazorOutlineNode)model.GetValue (iter, 0);
txtRenderer.Text = n.Name;
}
- void SelectNode (OutlineNode n)
+ void SelectNode (RazorOutlineNode n)
{
EditorSelect (n.Location);
}
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Formatting/RazorCSharpFormatter.cs b/main/src/addins/AspNet/Razor/RazorCSharpFormatter.cs index 7154e82a7d..560408db69 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Formatting/RazorCSharpFormatter.cs +++ b/main/src/addins/AspNet/Razor/RazorCSharpFormatter.cs @@ -24,25 +24,23 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using MonoDevelop.Ide.CodeFormatting;
+using MonoDevelop.Projects.Policies;
-namespace MonoDevelop.AspNet.Mvc.Formatting
+namespace MonoDevelop.AspNet.Razor
{
public class RazorCSharpFormatter : AbstractAdvancedFormatter
{
public override bool SupportsOnTheFlyFormatting { get { return true; } }
public override bool SupportsCorrectingIndent { get { return true; } }
- public override void CorrectIndenting (Projects.Policies.PolicyContainer policyParent,
+ public override void CorrectIndenting (PolicyContainer policyParent,
IEnumerable<string> mimeTypeChain, Mono.TextEditor.TextEditorData data, int line)
{
}
- public override string FormatText (Projects.Policies.PolicyContainer policyParent,
+ public override string FormatText (PolicyContainer policyParent,
IEnumerable<string> mimeTypeChain, string input, int startOffset, int endOffset)
{
return null;
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorCSharpParsedDocument.cs b/main/src/addins/AspNet/Razor/RazorCSharpParsedDocument.cs index 6ae0a7c9a2..3cac236d41 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorCSharpParsedDocument.cs +++ b/main/src/addins/AspNet/Razor/RazorCSharpParsedDocument.cs @@ -24,13 +24,10 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using System;
using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using MonoDevelop.Ide.TypeSystem;
-namespace MonoDevelop.AspNet.Mvc.Parser
+namespace MonoDevelop.AspNet.Razor
{
public class RazorCSharpParsedDocument : DefaultParsedDocument
{
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorCSharpParser.cs b/main/src/addins/AspNet/Razor/RazorCSharpParser.cs index c0bb8449b0..43998cd918 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorCSharpParser.cs +++ b/main/src/addins/AspNet/Razor/RazorCSharpParser.cs @@ -26,41 +26,45 @@ using System; using System.Collections.Generic; +using System.Configuration; +using System.IO; using System.Linq; using System.Text; -using MonoDevelop.Ide.TypeSystem; -using System.Web.Razor; -using System.Web.Mvc.Razor; using System.Threading; -using System.Web.Razor.Text; -using MonoDevelop.Ide; -using Mono.TextEditor; -using MonoDevelop.Ide.Gui; -using ICSharpCode.NRefactory.TypeSystem; +using System.Web.Configuration; +using System.Web.Mvc.Razor; +using System.Web.Razor; using System.Web.Razor.Parser; using System.Web.Razor.Parser.SyntaxTree; -using System.IO; -using MonoDevelop.Core; -using MonoDevelop.AspNet.Parser; -using System.Web.Configuration; -using System.Web.WebPages.Razor.Configuration; +using System.Web.Razor.Text; using System.Web.WebPages.Razor; -using System.Configuration; -using MonoDevelop.Projects; -using MonoDevelop.AspNet.StateEngine; +using System.Web.WebPages.Razor.Configuration; + +using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.NRefactory.TypeSystem.Implementation; -namespace MonoDevelop.AspNet.Mvc.Parser +using Mono.TextEditor; + +using MonoDevelop.Core; +using MonoDevelop.Ide; +using MonoDevelop.Ide.Gui; +using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Projects; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms.Parser; +using MonoDevelop.AspNet.Razor.Parser; + +namespace MonoDevelop.AspNet.Razor { public class RazorCSharpParser : TypeSystemParser { - RazorEditorParserFixed.RazorEditorParser editorParser; + MonoDevelop.Web.Razor.EditorParserFixed.RazorEditorParser editorParser; DocumentParseCompleteEventArgs capturedArgs; AutoResetEvent parseComplete; ChangeInfo lastChange; string lastParsedFile; TextDocument currentDocument; - AspMvcProject aspProject; + AspNetAppProject aspProject; DotNetProject project; IList<TextDocument> openDocuments; @@ -78,7 +82,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser }; } - public override ParsedDocument Parse (bool storeAst, string fileName, System.IO.TextReader content, Projects.Project project = null) + public override ParsedDocument Parse (bool storeAst, string fileName, System.IO.TextReader content, Project project = null) { currentDocument = openDocuments.FirstOrDefault (d => d != null && d.FileName == fileName); // We need document and project to be loaded to correctly initialize Razor Host. @@ -86,7 +90,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser if (currentDocument == null && !TryAddDocument (fileName)) return new RazorCSharpParsedDocument (fileName, new RazorCSharpPageInfo ()); - this.aspProject = project as AspMvcProject; + this.aspProject = project as AspNetAppProject; EnsureParserInitializedFor (fileName); @@ -109,7 +113,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser RazorHostKind kind = RazorHostKind.WebPage; if (editorParser.Host is WebCodeRazorHost) { kind = RazorHostKind.WebCode; - } else if (editorParser.Host is MonoDevelop.RazorGenerator.PreprocessedRazorHost) { + } else if (editorParser.Host is MonoDevelop.AspNet.Razor.Generator.PreprocessedRazorHost) { kind = RazorHostKind.Template; } @@ -171,7 +175,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser void CreateParserFor (string fileName) { - editorParser = new RazorEditorParserFixed.RazorEditorParser (CreateRazorHost (fileName), fileName); + editorParser = new MonoDevelop.Web.Razor.EditorParserFixed.RazorEditorParser (CreateRazorHost (fileName), fileName); parseComplete = new AutoResetEvent (false); editorParser.DocumentParseComplete += (sender, args) => @@ -188,7 +192,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser if (project != null) { var projectFile = project.GetProjectFile (fileName); if (projectFile != null && projectFile.Generator == "RazorTemplatePreprocessor") { - return new MonoDevelop.RazorGenerator.PreprocessedRazorHost (fileName) { + return new MonoDevelop.AspNet.Razor.Generator.PreprocessedRazorHost (fileName) { DesignTimeMode = true, EnableLinePragmas = false, }; @@ -268,7 +272,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser } } - Xml.StateEngine.XDocument htmlParsedDocument; + MonoDevelop.Xml.Dom.XDocument htmlParsedDocument; IList<Comment> comments; void ParseHtmlDocument (List<Error> errors) @@ -307,7 +311,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser editorParser.CurrentParseTree.Accept (new CallbackVisitor (action)); - var parser = new Xml.StateEngine.Parser (new AspNetFreeState (), true); + var parser = new MonoDevelop.Xml.Parser.XmlParser (new WebFormsRootState (), true); try { parser.Parse (new StringReader (sb.ToString ())); @@ -330,7 +334,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser void GetHtmlFoldingRegions (List<FoldingRegion> foldingRegions) { if (htmlParsedDocument != null) { - var d = new AspNetParsedDocument (null, WebSubtype.Html, null, htmlParsedDocument); + var d = new MonoDevelop.AspNet.WebForms.WebFormsParsedDocument (null, WebSubtype.Html, null, htmlParsedDocument); foldingRegions.AddRange (d.Foldings); } } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Completion/RazorCompletion.cs b/main/src/addins/AspNet/Razor/RazorCompletion.cs index 24cf74a958..0fc246cb4c 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Completion/RazorCompletion.cs +++ b/main/src/addins/AspNet/Razor/RazorCompletion.cs @@ -24,15 +24,10 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using MonoDevelop.Ide.CodeCompletion;
using MonoDevelop.Core;
-using MonoDevelop.AspNet.Mvc.Parser;
-namespace MonoDevelop.AspNet.Mvc.Completion
+namespace MonoDevelop.AspNet.Razor
{
// Directives and statements present in C# are left out to avoid duplication
static class RazorCompletion
@@ -68,7 +63,7 @@ namespace MonoDevelop.AspNet.Mvc.Completion }
}
- private static void AddRazorTemplates (CompletionDataList list, RazorHostKind kind)
+ static void AddRazorTemplates (CompletionDataList list, RazorHostKind kind)
{
string icon = "md-template";
list.Add ("inherits", icon, "Template for inherits directive");
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorPageInfo.cs b/main/src/addins/AspNet/Razor/RazorPageInfo.cs index 73086429be..53f1c80d2e 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Parser/RazorPageInfo.cs +++ b/main/src/addins/AspNet/Razor/RazorPageInfo.cs @@ -25,12 +25,13 @@ // THE SOFTWARE.
using System.Collections.Generic;
+using System.Web.Razor;
+using System.Web.Razor.Parser.SyntaxTree;
using ICSharpCode.NRefactory.TypeSystem;
using MonoDevelop.Ide.TypeSystem;
-using System.Web.Razor.Parser.SyntaxTree;
-using System.Web.Razor;
+using MonoDevelop.Xml.Dom;
-namespace MonoDevelop.AspNet.Mvc.Parser
+namespace MonoDevelop.AspNet.Razor
{
public class RazorPageInfo
{
@@ -39,7 +40,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser public IEnumerable<Comment> Comments { get; set; }
public GeneratorResults GeneratorResults { get; set; }
public Block RazorRoot { get { return GeneratorResults.Document; } }
- public MonoDevelop.Xml.StateEngine.XDocument HtmlRoot { get; set; }
+ public XDocument HtmlRoot { get; set; }
public IEnumerable<Span> Spans { get; set; }
public string DocType { get; set; }
public RazorHostKind HostKind { get; set; }
@@ -47,7 +48,7 @@ namespace MonoDevelop.AspNet.Mvc.Parser public RazorPageInfo ()
{
// TODO: extract doctype from view or layout page
- DocType = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
+ DocType = "<!DOCTYPE html>";
}
}
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorSyntaxMode.cs b/main/src/addins/AspNet/Razor/RazorSyntaxMode.cs index 6301cc3e32..1a07191a9e 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/RazorSyntaxMode.cs +++ b/main/src/addins/AspNet/Razor/RazorSyntaxMode.cs @@ -36,12 +36,12 @@ using System.Web.Razor.Tokenizer; using System.Web.Razor.Tokenizer.Symbols; using System.Web.Razor.Parser; using System.Web.Mvc.Razor; -using MonoDevelop.AspNet.Mvc.Parser; +using MonoDevelop.AspNet.Razor.Parser; using MonoDevelop.Ide; using RazorSpan = System.Web.Razor.Parser.SyntaxTree.Span; using MonoDevelop.Ide.Gui; -namespace MonoDevelop.AspNet.Mvc +namespace MonoDevelop.AspNet.Razor { public class RazorSyntaxMode : SyntaxMode, IDisposable { diff --git a/main/src/addins/AspNet/Templates/Mvc/Controller.xft.xml b/main/src/addins/AspNet/Templates/Mvc/Controller.xft.xml new file mode 100644 index 0000000000..0b86a9e795 --- /dev/null +++ b/main/src/addins/AspNet/Templates/Mvc/Controller.xft.xml @@ -0,0 +1,39 @@ +<?xml version="1.0"?> +<Template originator="Michael Hutchinson" + created="2009/02/17" + lastModified="2009/02/17"> + + <!-- Template Header --> + <TemplateConfiguration> + <_Name>ASP.NET MVC Controller</_Name> + <Icon>md-html-file-icon</Icon> + <_Category>ASP.NET MVC</_Category> + <LanguageName>C#</LanguageName> + <ProjectType>AspNetApp</ProjectType> + <_Description>Creates an ASP.NET MVC Controller.</_Description> + </TemplateConfiguration> + + <Conditions> + <AspNetMvc /> + </Conditions> + + <!-- Template Content --> + <TemplateFiles> + <File name="${Name}.cshtml"> +<![CDATA[using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Mvc.Ajax; + +namespace ${Namespace}.Controllers +{ + public class ${EscapedIdentifier} : Controller + { + } +} +]]> + </File> + </TemplateFiles> +</Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/GlobalAsaxMvc3.xft.xml b/main/src/addins/AspNet/Templates/Mvc/GlobalAsax.xft.xml index 72cc6be92f..666cbdd11b 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/GlobalAsaxMvc3.xft.xml +++ b/main/src/addins/AspNet/Templates/Mvc/GlobalAsax.xft.xml @@ -1,68 +1,68 @@ -<?xml version="1.0"?> -<Template Originator="Piotr Dowgiallo" - Created="2012/05/16" - LastModified="2012/05/16"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC 3 Global.asax</_Name> - <_Category>ASP.NET MVC</_Category> - <Icon>md-html-file-icon</Icon> - <LanguageName>C#</LanguageName> - <ProjectType>AspNetMvc</ProjectType> - <DefaultFilename IsFixed="True">Global.asax</DefaultFilename> - <_Description>Creates an ASP.NET MVC 3 Global.asax file.</_Description> - </TemplateConfiguration> - - <Conditions> - <ParentProject PermittedCreationPaths="" ExcludedFiles="/Global.asax" /> - </Conditions> - - <!-- Template Content --> - <TemplateFiles> - <AspNetFile name="Global.asax"> - <FileText> -<![CDATA[<%@ Application Inherits="${Namespace}.MvcApplication" %>]]> - </FileText> - </AspNetFile> - <File name="Global.asax.cs" DependsOn="Global.asax" > -<![CDATA[ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Mvc; -using System.Web.Routing; - -namespace ${Namespace} -{ - public class MvcApplication : System.Web.HttpApplication - { - public static void RegisterRoutes(RouteCollection routes) - { - routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); - - routes.MapRoute( - "Default", - "{controller}/{action}/{id}", - new { controller = "Home", action = "Index", id = "" } - ); - - } - - public static void RegisterGlobalFilters(GlobalFilterCollection filters) - { - filters.Add(new HandleErrorAttribute()); - } - - protected void Application_Start() - { - AreaRegistration.RegisterAllAreas(); - RegisterGlobalFilters(GlobalFilters.Filters); - RegisterRoutes(RouteTable.Routes); - } - } -}]]> - </File> - </TemplateFiles> -</Template> +<?xml version="1.0"?>
+<Template Originator="Piotr Dowgiallo"
+ Created="2012/05/16"
+ LastModified="2012/05/16">
+
+ <!-- Template Header -->
+ <TemplateConfiguration>
+ <_Name>ASP.NET MVC Global.asax</_Name>
+ <_Category>ASP.NET MVC</_Category>
+ <Icon>md-html-file-icon</Icon>
+ <LanguageName>C#</LanguageName>
+ <ProjectType>AspNetApp</ProjectType>
+ <DefaultFilename IsFixed="True">Global.asax</DefaultFilename>
+ <_Description>Creates an ASP.NET MVC Global.asax file.</_Description>
+ </TemplateConfiguration>
+
+ <Conditions>
+ <ParentProject PermittedCreationPaths="" ExcludedFiles="/Global.asax" />
+ <AspNetMvc />
+ </Conditions>
+
+ <!-- Template Content -->
+ <TemplateFiles>
+ <File name="Global.asax">
+<![CDATA[<%@ Application Inherits="${Namespace}.MvcApplication" %>
+]]>
+ </File>
+ <File name="Global.asax.cs" DependsOn="Global.asax" >
+<![CDATA[
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.Mvc;
+using System.Web.Routing;
+
+namespace ${Namespace}
+{
+ public class MvcApplication : System.Web.HttpApplication
+ {
+ public static void RegisterRoutes(RouteCollection routes)
+ {
+ routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
+
+ routes.MapRoute(
+ "Default",
+ "{controller}/{action}/{id}",
+ new { controller = "Home", action = "Index", id = "" }
+ );
+
+ }
+
+ public static void RegisterGlobalFilters(GlobalFilterCollection filters)
+ {
+ filters.Add(new HandleErrorAttribute());
+ }
+
+ protected void Application_Start()
+ {
+ AreaRegistration.RegisterAllAreas();
+ RegisterGlobalFilters(GlobalFilters.Filters);
+ RegisterRoutes(RouteTable.Routes);
+ }
+ }
+}]]>
+ </File>
+ </TemplateFiles>
+</Template>
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/LayoutPage.xft.xml b/main/src/addins/AspNet/Templates/Mvc/LayoutPage.xft.xml index af2531c42f..e1f9de4447 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/LayoutPage.xft.xml +++ b/main/src/addins/AspNet/Templates/Mvc/LayoutPage.xft.xml @@ -8,13 +8,17 @@ <_Name>ASP.NET MVC Layout Page (Razor)</_Name> <Icon>md-html-file-icon</Icon> <_Category>ASP.NET MVC</_Category> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> + <LanguageName>C#</LanguageName> + <ProjectType>AspNetApp</ProjectType> <_Description>Creates an MVC Razor Layout page.</_Description> </TemplateConfiguration> + <Conditions> + <AspNetMvc razor = "true" /> + </Conditions> + <!-- Template Content --> <TemplateFiles> - <File name="${Name}.cshtml" src="Common/_Layout.cshtml" /> + <File name="${Name}.cshtml" src="../MvcCommon/_Layout.cshtml" /> </TemplateFiles> </Template>
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/PartialViewPageRazor.xft.xml b/main/src/addins/AspNet/Templates/Mvc/PartialViewPageRazor.xft.xml index 2e13b3448b..53a45900c6 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/PartialViewPageRazor.xft.xml +++ b/main/src/addins/AspNet/Templates/Mvc/PartialViewPageRazor.xft.xml @@ -8,11 +8,15 @@ <_Name>ASP.NET MVC Partial View Page (Razor)</_Name> <Icon>md-html-file-icon</Icon> <_Category>ASP.NET MVC</_Category> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> + <LanguageName>C#</LanguageName> + <ProjectType>AspNetApp</ProjectType> <_Description>Creates an MVC Razor Partial View page.</_Description> </TemplateConfiguration> + <Conditions> + <AspNetMvc razor = "true" /> + </Conditions> + <!-- Template Content --> <TemplateFiles> <File name="${Name}.cshtml" /> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/UserControl.xft.xml b/main/src/addins/AspNet/Templates/Mvc/UserControl.xft.xml index 500f7fd97e..aa83a81f14 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/UserControl.xft.xml +++ b/main/src/addins/AspNet/Templates/Mvc/UserControl.xft.xml @@ -8,19 +8,21 @@ <_Name>ASP.NET MVC View User Control</_Name> <Icon>md-html-file-icon</Icon> <_Category>ASP.NET MVC</_Category> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> + <LanguageName>C#</LanguageName> + <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET MVC User Control.</_Description> </TemplateConfiguration> + + <Conditions> + <AspNetMvc /> + </Conditions> <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.ascx"> - <FileText> - <![CDATA[<%@ Control Language="${AspNetLanguage}" Inherits="System.Web.Mvc.ViewUserControl" %> - - ]]> - </FileText> - </AspNetFile> + <File name="${Name}.ascx"> +<![CDATA[<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> + +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewContentPage.xft.xml b/main/src/addins/AspNet/Templates/Mvc/ViewContentPage.xft.xml index ede305cf8a..4240c01a8c 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewContentPage.xft.xml +++ b/main/src/addins/AspNet/Templates/Mvc/ViewContentPage.xft.xml @@ -8,16 +8,20 @@ <_Name>ASP.NET MVC View Content</_Name> <Icon>md-html-file-icon</Icon> <_Category>ASP.NET MVC</_Category> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> + <LanguageName>C#</LanguageName> + <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET MVC View Content page.</_Description> </TemplateConfiguration> + + <Conditions> + <AspNetMvc /> + </Conditions> <!-- Template Content --> <TemplateFiles> <AspNetMasterContentFile name="${Name}.aspx" DefaultExtension=".aspx"> <FileText> - <![CDATA[<%@ Page Title="" Language="${AspNetLanguage}" Inherits="System.Web.Mvc.ViewPage" MasterPageFile="${AspNetMaster}" %> + <![CDATA[<%@ Page Title="" Language="C#" Inherits="System.Web.Mvc.ViewPage" MasterPageFile="${AspNetMaster}" %> ${AspNetMasterContent} ]]> </FileText> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewMasterPage.xft.xml b/main/src/addins/AspNet/Templates/Mvc/ViewMasterPage.xft.xml index f7d32398c9..6b37db3e46 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewMasterPage.xft.xml +++ b/main/src/addins/AspNet/Templates/Mvc/ViewMasterPage.xft.xml @@ -8,18 +8,21 @@ <_Name>ASP.NET MVC Master Page</_Name> <Icon>md-html-file-icon</Icon> <_Category>ASP.NET MVC</_Category> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> + <LanguageName>C#</LanguageName> + <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET MVC Master Page.</_Description> </TemplateConfiguration> + + <Conditions> + <AspNetMvc /> + </Conditions> <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.master"> - <FileText> - <![CDATA[<%@ Master Language="${AspNetLanguage}" Inherits="System.Web.Mvc.ViewMasterPage" %> -${Doctype} -<html xmlns="http://www.w3.org/1999/xhtml"> + <File name="${Name}.master"> + <![CDATA[<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %> +<!DOCTYPE html> +<html> <head runat="server"> <asp:ContentPlaceHolder ID="head" runat="server"> <title></title> @@ -32,7 +35,6 @@ ${Doctype} </body> </html> ]]> - </FileText> - </AspNetFile> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewPage.xft.xml b/main/src/addins/AspNet/Templates/Mvc/ViewPage.xft.xml index 3dd1ebca4f..2426bc8b4c 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewPage.xft.xml +++ b/main/src/addins/AspNet/Templates/Mvc/ViewPage.xft.xml @@ -8,18 +8,21 @@ <_Name>ASP.NET MVC View Page</_Name> <Icon>md-html-file-icon</Icon> <_Category>ASP.NET MVC</_Category> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> + <LanguageName>C#</LanguageName> + <ProjectType>AspNetApp</ProjectType> <_Description>Creates an MVC View page.</_Description> </TemplateConfiguration> + + <Conditions> + <AspNetMvc /> + </Conditions> <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.aspx"> - <FileText> - <![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="System.Web.Mvc.ViewPage" %> -${Doctype} -<html xmlns="http://www.w3.org/1999/xhtml"> + <File name="${Name}.aspx"> + <![CDATA[<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %> +<!DOCTYPE html> +<html> <head runat="server"> <title></title> </head> @@ -28,8 +31,8 @@ ${Doctype} </div> </body> -</html>]]> - </FileText> - </AspNetFile> +</html> +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewPageRazor.xft.xml b/main/src/addins/AspNet/Templates/Mvc/ViewPageRazor.xft.xml index 3ccd83652f..7d347c26b1 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ViewPageRazor.xft.xml +++ b/main/src/addins/AspNet/Templates/Mvc/ViewPageRazor.xft.xml @@ -8,14 +8,18 @@ <_Name>ASP.NET MVC View Page (Razor)</_Name> <Icon>md-html-file-icon</Icon> <_Category>ASP.NET MVC</_Category> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> + <LanguageName>C#</LanguageName> + <ProjectType>AspNetApp</ProjectType> <_Description>Creates an MVC Razor View page.</_Description> </TemplateConfiguration> + <Conditions> + <AspNetMvc razor = "true" /> + </Conditions> + <!-- Template Content --> <TemplateFiles> - <File name="${Name}.cshtml" src="Common/ViewPageRazor.cshtml" /> + <File name="${Name}.cshtml" src="../MvcCommon/ViewPageRazor.cshtml" /> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigAppMvc3.xft.xml b/main/src/addins/AspNet/Templates/Mvc/WebConfigApp.xft.xml index 9af8e817bc..6b3ab82bfa 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigAppMvc3.xft.xml +++ b/main/src/addins/AspNet/Templates/Mvc/WebConfigApp.xft.xml @@ -1,151 +1,151 @@ -<?xml version="1.0"?> -<Template - Originator="Piotr Dowgiallo" - Created="2012/05/16" - LastModified="2012/05/16"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC 3 Application Configuration</_Name> - <_Category>ASP.NET MVC</_Category> - <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> - <DefaultFilename IsFixed="True">Web.config</DefaultFilename> - <_Description>Creates an ASP.NET MVC 3 Web.config file for an application.</_Description> - </TemplateConfiguration> - - <Conditions> - <ParentProject PermittedCreationPaths="" ExcludedFiles="Web.config" RequireProject="True"/> - </Conditions> - - <!-- Template Content --> - <TemplateFiles> - <AspNetFile name="Web.config"> - <FileText> -<![CDATA[<?xml version="1.0" ?> -<!-- -Web.config file for ${ProjectName}. - -The settings that can be used in this file are documented at -http://www.mono-project.com/Config_system.web and -http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx ---> -<configuration> - <configSections> - <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> - <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> - <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/> - <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> - <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" /> - <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> - <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> - <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> - </sectionGroup> - </sectionGroup> - </sectionGroup> - </configSections> - <system.web> - <!-- - Set compilation debug="true" to insert debugging - symbols into the compiled page. Because this - affects performance, set this value to true only - during development. - --> - <compilation defaultLanguage="${AspNetLanguage}" debug="false"> - <assemblies> - <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> - <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> - <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> - <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> - <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> - <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> - <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - </assemblies> - </compilation> - - <customErrors mode="RemoteOnly"> - </customErrors> - <pages> - <controls> - <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - </controls> - - <namespaces> - <add namespace="System.Web.Mvc"/> - <add namespace="System.Web.Mvc.Ajax"/> - <add namespace="System.Web.Mvc.Html"/> - <add namespace="System.Web.Routing"/> - <add namespace="System.Web.Helpers" /> - <add namespace="System.Web.WebPages"/> - <add namespace="System.Linq"/> - <add namespace="System.Collections.Generic"/> - </namespaces> - </pages> - - <authorization> - <allow users="*" /> - </authorization> - - <httpHandlers> - <remove verb="*" path="*.asmx"/> - <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> - <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - </httpHandlers> - - <httpModules> - <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> - <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> - </httpModules> - - <trace - enabled="false" - localOnly="true" - pageOutput="false" - requestLimit="10" - traceMode="SortByTime" - /> - - <globalization - requestEncoding="utf-8" - responseEncoding="utf-8" - /> - - </system.web> - - <system.codedom> - <compilers> - <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" - type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <providerOption name="CompilerVersion" value="v4.0"/> - <providerOption name="WarnAsError" value="false"/> - </compiler> - <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" - type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> - <providerOption name="CompilerVersion" value="v4.0"/> - <providerOption name="OptionInfer" value="true"/> - <providerOption name="WarnAsError" value="false"/> - </compiler> - </compilers> - </system.codedom> - - <system.web.extensions/> - - <appSettings> - <add key="webpages:Version" value="1.0.0.0"/> - <add key="ClientValidationEnabled" value="true"/> - <add key="UnobtrusiveJavaScriptEnabled" value="true"/> - </appSettings> -</configuration>]]> - </FileText> - </AspNetFile> - </TemplateFiles> -</Template> - +<?xml version="1.0"?>
+<Template
+ Originator="Piotr Dowgiallo"
+ Created="2012/05/16"
+ LastModified="2012/05/16">
+
+ <!-- Template Header -->
+ <TemplateConfiguration>
+ <_Name>ASP.NET MVC Application Configuration</_Name>
+ <_Category>ASP.NET MVC</_Category>
+ <Icon>md-html-file-icon</Icon>
+ <LanguageName>C#</LanguageName>
+ <ProjectType>AspNetApp</ProjectType>
+ <DefaultFilename IsFixed="True">Web.config</DefaultFilename>
+ <_Description>Creates an ASP.NET MVC Web.config file for an application.</_Description>
+ </TemplateConfiguration>
+
+ <Conditions>
+ <ParentProject PermittedCreationPaths="" ExcludedFiles="Web.config" RequireProject="True"/>
+ <AspNetMvc />
+ </Conditions>
+
+ <!-- Template Content -->
+ <TemplateFiles>
+ <File name="Web.config">
+<![CDATA[<?xml version="1.0" ?>
+<!--
+Web.config file for ${ProjectName}.
+
+The settings that can be used in this file are documented at
+http://www.mono-project.com/Config_system.web and
+http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
+-->
+<configuration>
+ <configSections>
+ <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
+ <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" />
+ <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
+ <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
+ <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" />
+ </sectionGroup>
+ </sectionGroup>
+ </sectionGroup>
+ </configSections>
+ <system.web>
+ <!--
+ Set compilation debug="true" to insert debugging
+ symbols into the compiled page. Because this
+ affects performance, set this value to true only
+ during development.
+ -->
+ <compilation defaultLanguage="C#" debug="false">
+ <assemblies>
+ <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <add assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add assembly="System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
+ <add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
+ <add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
+ <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
+ <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </assemblies>
+ </compilation>
+
+ <customErrors mode="RemoteOnly">
+ </customErrors>
+ <pages>
+ <controls>
+ <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ </controls>
+
+ <namespaces>
+ <add namespace="System.Web.Mvc"/>
+ <add namespace="System.Web.Mvc.Ajax"/>
+ <add namespace="System.Web.Mvc.Html"/>
+ <add namespace="System.Web.Routing"/>
+ <add namespace="System.Web.Helpers" />
+ <add namespace="System.Web.WebPages"/>
+ <add namespace="System.Linq"/>
+ <add namespace="System.Collections.Generic"/>
+ </namespaces>
+ </pages>
+
+ <authorization>
+ <allow users="*" />
+ </authorization>
+
+ <httpHandlers>
+ <remove verb="*" path="*.asmx"/>
+ <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
+ <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ </httpHandlers>
+
+ <httpModules>
+ <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
+ <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
+ </httpModules>
+
+ <trace
+ enabled="false"
+ localOnly="true"
+ pageOutput="false"
+ requestLimit="10"
+ traceMode="SortByTime"
+ />
+
+ <globalization
+ requestEncoding="utf-8"
+ responseEncoding="utf-8"
+ />
+
+ </system.web>
+
+ <system.codedom>
+ <compilers>
+ <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
+ type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <providerOption name="CompilerVersion" value="v4.0"/>
+ <providerOption name="WarnAsError" value="false"/>
+ </compiler>
+ <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4"
+ type="Microsoft.VisualBasic.VBCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <providerOption name="CompilerVersion" value="v4.0"/>
+ <providerOption name="OptionInfer" value="true"/>
+ <providerOption name="WarnAsError" value="false"/>
+ </compiler>
+ </compilers>
+ </system.codedom>
+
+ <system.web.extensions/>
+
+ <appSettings>
+ <add key="webpages:Version" value="3.0.0.0"/>
+ <add key="ClientValidationEnabled" value="true"/>
+ <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
+ </appSettings>
+</configuration>
+]]>
+ </File>
+ </TemplateFiles>
+</Template>
+
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigViewsMvc3.xft.xml b/main/src/addins/AspNet/Templates/Mvc/WebConfigViews.xft.xml index 70b96b5795..0c9c3df724 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/WebConfigViewsMvc3.xft.xml +++ b/main/src/addins/AspNet/Templates/Mvc/WebConfigViews.xft.xml @@ -1,79 +1,80 @@ -<?xml version="1.0"?> -<Template - Originator="Piotr Dowgiallo" - Created="2012/05/16" - LastModified="2012/05/16"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC 3 Views Configuration</_Name> - <_Category>ASP.NET MVC</_Category> - <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> - <ProjectType>AspNetMvc</ProjectType> - <DefaultFilename IsFixed="True">Web.config</DefaultFilename> - <_Description>Creates an ASP.NET MVC 3 Web.config file for the Views directory.</_Description> - </TemplateConfiguration> - - <Conditions> - <ParentProject PermittedCreationPaths="/Views" ExcludedFiles="Web.config" /> - </Conditions> - - <!-- Template Content --> - <TemplateFiles> - <File name="Web.config"> -<![CDATA[<?xml version="1.0"?> -<configuration> - <configSections> - <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> - <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> - <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> - </sectionGroup> - </configSections> - - <system.web> - <httpHandlers> - <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> - </httpHandlers> - - <!-- - Enabling request validation in view pages would cause validation to occur - after the input has already been processed by the controller. By default - MVC performs request validation before a controller processes the input. - To change this behavior apply the ValidateInputAttribute to a - controller or action. - --> - <pages validateRequest="false" - pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" - pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" - userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> - <controls> - <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> - </controls> - </pages> - </system.web> - - <system.webServer> - <validation validateIntegratedModeConfiguration="false"/> - <handlers> - <remove name="BlockViewHandler"/> - <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/> - </handlers> - </system.webServer> - - <system.web.webPages.razor> - <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> - <pages pageBaseType="System.Web.Mvc.WebViewPage"> - <namespaces> - <add namespace="System.Web.Mvc" /> - <add namespace="System.Web.Mvc.Ajax" /> - <add namespace="System.Web.Mvc.Html" /> - <add namespace="System.Web.Routing" /> - </namespaces> - </pages> - </system.web.webPages.razor> - -</configuration>]]> - </File> - </TemplateFiles> +<?xml version="1.0"?>
+<Template
+ Originator="Piotr Dowgiallo"
+ Created="2012/05/16"
+ LastModified="2012/05/16">
+
+ <!-- Template Header -->
+ <TemplateConfiguration>
+ <_Name>ASP.NET MVC Views Configuration</_Name>
+ <_Category>ASP.NET MVC</_Category>
+ <Icon>md-html-file-icon</Icon>
+ <LanguageName>C#</LanguageName>
+ <ProjectType>AspNetApp</ProjectType>
+ <DefaultFilename IsFixed="True">Web.config</DefaultFilename>
+ <_Description>Creates an ASP.NET MVC Web.config file for the Views directory.</_Description>
+ </TemplateConfiguration>
+
+ <Conditions>
+ <ParentProject PermittedCreationPaths="/Views" ExcludedFiles="Web.config" />
+ <AspNetMvc razor = "true" />
+ </Conditions>
+
+ <!-- Template Content -->
+ <TemplateFiles>
+ <File name="Web.config">
+<![CDATA[<?xml version="1.0"?>
+<configuration>
+ <configSections>
+ <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+ <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
+ </sectionGroup>
+ </configSections>
+
+ <system.web>
+ <httpHandlers>
+ <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
+ </httpHandlers>
+
+ <!--
+ Enabling request validation in view pages would cause validation to occur
+ after the input has already been processed by the controller. By default
+ MVC performs request validation before a controller processes the input.
+ To change this behavior apply the ValidateInputAttribute to a
+ controller or action.
+ -->
+ <pages validateRequest="false"
+ pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
+ pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
+ userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
+ <controls>
+ <add assembly="System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
+ </controls>
+ </pages>
+ </system.web>
+
+ <system.webServer>
+ <validation validateIntegratedModeConfiguration="false"/>
+ <handlers>
+ <remove name="BlockViewHandler"/>
+ <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler"/>
+ </handlers>
+ </system.webServer>
+
+ <system.web.webPages.razor>
+ <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
+ <pages pageBaseType="System.Web.Mvc.WebViewPage">
+ <namespaces>
+ <add namespace="System.Web.Mvc" />
+ <add namespace="System.Web.Mvc.Ajax" />
+ <add namespace="System.Web.Mvc.Html" />
+ <add namespace="System.Web.Routing" />
+ </namespaces>
+ </pages>
+ </system.web.webPages.razor>
+
+</configuration>]]>
+ </File>
+ </TemplateFiles>
</Template>
\ No newline at end of file diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/Error.cshtml b/main/src/addins/AspNet/Templates/MvcCommon/Error.cshtml index c02f534fac..c02f534fac 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/Error.cshtml +++ b/main/src/addins/AspNet/Templates/MvcCommon/Error.cshtml diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/HomeController.cs b/main/src/addins/AspNet/Templates/MvcCommon/HomeController.cs index 0d4e1a6b35..b49dd751d3 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/HomeController.cs +++ b/main/src/addins/AspNet/Templates/MvcCommon/HomeController.cs @@ -11,7 +11,12 @@ namespace ${Namespace}.Controllers {
public ActionResult Index ()
{
- ViewData["Message"] = "Welcome to ASP.NET MVC on Mono!";
+ var mvcName = typeof(Controller).Assembly.GetName ();
+ var isMono = Type.GetType ("Mono.Runtime") != null;
+
+ ViewData ["Version"] = mvcName.Version.Major;
+ ViewData ["Runtime"] = isMono? "Mono" : ".NET";
+
return View ();
}
}
diff --git a/main/src/addins/AspNet/Templates/MvcCommon/HomeControllerTest.cs b/main/src/addins/AspNet/Templates/MvcCommon/HomeControllerTest.cs new file mode 100644 index 0000000000..e23e7486e1 --- /dev/null +++ b/main/src/addins/AspNet/Templates/MvcCommon/HomeControllerTest.cs @@ -0,0 +1,35 @@ +using NUnit.Framework;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Web.Mvc;
+using ${SolutionName};
+using ${SolutionName}.Controllers;
+
+namespace ${Namespace}
+{
+ [TestFixture]
+ public class ${Name}
+ {
+ [Test]
+ public void Index ()
+ {
+ // Arrange
+ var controller = new HomeController ();
+
+ // Act
+ var result = (ViewResult) controller.Index ();
+
+ var mvcName = typeof(Controller).Assembly.GetName ();
+ var isMono = Type.GetType ("Mono.Runtime") != null;
+
+ var expectedVersion = mvcName.Version.Major;
+ var expectedRuntime = isMono? "Mono" : ".NET";
+
+ // Assert
+ Assert.AreEqual (expectedVersion, result.ViewData ["Version"]);
+ Assert.AreEqual (expectedRuntime, result.ViewData ["Runtime"]);
+ }
+ }
+}
\ No newline at end of file diff --git a/main/src/addins/AspNet/Templates/MvcCommon/Index.cshtml b/main/src/addins/AspNet/Templates/MvcCommon/Index.cshtml new file mode 100644 index 0000000000..815b8986dc --- /dev/null +++ b/main/src/addins/AspNet/Templates/MvcCommon/Index.cshtml @@ -0,0 +1 @@ +<h2>Welcome to ASP.NET MVC @ViewData["Version"] on @ViewData["Runtime"]!</h2>
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/ViewPageRazor.cshtml b/main/src/addins/AspNet/Templates/MvcCommon/ViewPageRazor.cshtml index 3b3e97a009..3b3e97a009 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/ViewPageRazor.cshtml +++ b/main/src/addins/AspNet/Templates/MvcCommon/ViewPageRazor.cshtml diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/_Layout.cshtml b/main/src/addins/AspNet/Templates/MvcCommon/_Layout.cshtml index 547f680145..547f680145 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/_Layout.cshtml +++ b/main/src/addins/AspNet/Templates/MvcCommon/_Layout.cshtml diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/_ViewStart.cshtml b/main/src/addins/AspNet/Templates/MvcCommon/_ViewStart.cshtml index 9c30ccf2ac..9c30ccf2ac 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Common/_ViewStart.cshtml +++ b/main/src/addins/AspNet/Templates/MvcCommon/_ViewStart.cshtml diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/PreprocessedRazorTemplate.xft.xml b/main/src/addins/AspNet/Templates/PreprocessedRazorTemplate.xft.xml index f52b6f085a..f52b6f085a 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/PreprocessedRazorTemplate.xft.xml +++ b/main/src/addins/AspNet/Templates/PreprocessedRazorTemplate.xft.xml diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/EmptyProject.xpt.xml b/main/src/addins/AspNet/Templates/Projects/EmptyMvcProject.xpt.xml index ac686d8723..7d31cf26f0 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/EmptyProject.xpt.xml +++ b/main/src/addins/AspNet/Templates/Projects/EmptyMvcProject.xpt.xml @@ -5,11 +5,11 @@ <!-- Template Header --> <TemplateConfiguration> - <_Name>Empty ASP.NET MVC 2 Project</_Name> + <_Name>Empty ASP.NET MVC Project</_Name> <_Category>C#/ASP.NET</_Category> <Icon>md-project-web</Icon> <LanguageName>C#</LanguageName> - <_Description>Creates an empty ASP.NET MVC 2 Web Project.</_Description> + <_Description>Creates an empty ASP.NET MVC Web Project.</_Description> </TemplateConfiguration> <!-- Actions --> @@ -22,8 +22,8 @@ <StartupProject>${ProjectName}</StartupProject> </Options> - <Project name = "${ProjectName}" directory = "." type = "AspNetMvc2"> - <Options TargetFrameworkVersion = "4.0" /> + <Project name = "${ProjectName}" directory = "." type = "AspNetApp"> + <Options TargetFrameworkVersion = "4.5" /> <References> <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> @@ -33,11 +33,15 @@ <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Xml.Linq" /> + <Reference type="Package" refto="System.Core" /> + <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </References> + <Packages> + <Package Id="Microsoft.AspNet.Mvc" Version="5.1.2"/> + </Packages> <Files> <Directory name="Content" /> <Directory name="Controllers" /> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebApplication-Empty.xpt.xml b/main/src/addins/AspNet/Templates/Projects/EmptyProject.xpt.xml index f1befb17f6..3112571b5f 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebApplication-Empty.xpt.xml +++ b/main/src/addins/AspNet/Templates/Projects/EmptyProject.xpt.xml @@ -5,10 +5,10 @@ <!-- Template Header --> <TemplateConfiguration> - <_Name>Empty Web Application</_Name> - <_Category>ASP.NET</_Category> + <_Name>Empty ASP.NET Project</_Name> + <_Category>C#/ASP.NET</_Category> <Icon>md-project-web</Icon> - <LanguageName>C#,VBNet</LanguageName> + <LanguageName>C#</LanguageName> <_Description>Creates an empty ASP.NET Web Application project.</_Description> </TemplateConfiguration> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3Razor.xpt.xml b/main/src/addins/AspNet/Templates/Projects/MvcProject.xpt.xml index b4da04a76a..2d922b5fa3 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3Razor.xpt.xml +++ b/main/src/addins/AspNet/Templates/Projects/MvcProject.xpt.xml @@ -1,69 +1,91 @@ -<?xml version="1.0"?> -<Template originator="Piotr Dowgiallo" - created="2012/06/04" - lastModified="2012/06/04"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC 3 Project (Razor)</_Name> - <_Category>C#/ASP.NET</_Category> - <Icon>md-project-web</Icon> - <LanguageName>C#</LanguageName> - <_Description>Creates an ASP.NET MVC 3 Web Project with Razor Views.</_Description> - </TemplateConfiguration> - - - <!-- Actions --> - <Actions> - <Open filename = "Controllers/HomeController.cs"/> - </Actions> - - <!-- Template Content --> - <Combine name = "${ProjectName}" directory = "."> - <Options> - <StartupProject>${ProjectName}</StartupProject> - </Options> - - <Project name = "${ProjectName}" directory = "." type = "AspNetMvc3"> - <Options TargetFrameworkVersion = "4.0" /> - <References> - <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Core" /> - <Reference type="Package" refto="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Xml.Linq" /> - <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - </References> - <Files> - <Directory name="Content" /> - <Directory name="Controllers"> - <File name="HomeController.cs" src="Common/HomeController.cs" /> - </Directory> - <Directory name="Models" /> - <Directory name="Scripts" /> - <Directory name="Views"> - <FileTemplateReference TemplateID="AspMvc3WebConfigViews" name="Web.config" SuppressAutoOpen="true" /> - <Directory name="Home"> - <File name="Index.cshtml" src="Common/Index.cshtml" /> - </Directory> - <Directory name="Shared"> - <File name="_Layout.cshtml" src="Common/_Layout.cshtml" /> - <File name="Error.cshtml" src="Common/Error.cshtml" /> - </Directory> - <File name="_ViewStart.cshtml" src="Common/_ViewStart.cshtml" /> - </Directory> - <FileTemplateReference TemplateID="AspMvc3WebConfigApp" name="Web.config" SuppressAutoOpen="true" /> - <FileTemplateReference TemplateID="AspMvc3GlobalAsax" name="Global.asax" SuppressAutoOpen="true" /> - </Files> - </Project> - </Combine> -</Template> +<?xml version="1.0"?>
+<Template originator="Piotr Dowgiallo"
+ created="2012/05/16"
+ lastModified="2012/05/16">
+
+ <!-- Template Header -->
+ <TemplateConfiguration>
+ <_Name>ASP.NET MVC Project</_Name>
+ <_Category>C#/ASP.NET</_Category>
+ <Icon>md-project-web</Icon>
+ <LanguageName>C#</LanguageName>
+ <_Description>Creates an ASP.NET MVC Web Project.</_Description>
+ </TemplateConfiguration>
+
+
+ <!-- Actions -->
+ <Actions>
+ <Open filename = "Controllers/HomeController.cs"/>
+ </Actions>
+
+ <!-- Template Content -->
+ <Combine name = "${ProjectName}" directory = ".">
+ <Options>
+ <StartupProject>${ProjectName}</StartupProject>
+ </Options>
+
+ <Project name = "${ProjectName}" directory = "." type = "AspNetApp">
+ <Options TargetFrameworkVersion = "4.5" />
+ <References>
+ <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <Reference type="Package" refto="System.Core" />
+ <Reference type="Package" refto="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" />
+ <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" />
+ <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" />
+ <Reference type="Package" refto="System.Xml.Linq" />
+ <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </References>
+ <Packages>
+ <Package ID="Microsoft.AspNet.Mvc" Version="5.1.2" />
+ </Packages>
+ <Files>
+ <Directory name="Content" />
+ <Directory name="Controllers">
+ <File name="HomeController.cs" src="../MvcCommon/HomeController.cs" />
+ </Directory>
+ <Directory name="Models" />
+ <Directory name="Scripts" />
+ <Directory name="Views">
+ <FileTemplateReference TemplateID="AspMvcWebConfigViews" name="Web.config" SuppressAutoOpen="true" />
+ <Directory name="Home">
+ <File name="Index.aspx">
+<![CDATA[<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
+<!DOCTYPE html>
+<html>
+<head runat="server">
+ <title></title>
+</head>
+<body>
+ <h2>Welcome to ASP.NET MVC <%: ViewData["Version"] %> on <%: ViewData["Runtime"] %>!</h2>
+</body>
+]]>
+ </File>
+ </Directory>
+ <Directory name="Shared">
+ <File name="Error.aspx">
+<![CDATA[<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Error</title>
+</head>
+<body>
+ <div>
+ <h2>An error occurred while processing your request.</h2>
+ </div>
+</body>
+]]>
+ </File>
+ </Directory>
+ </Directory>
+ <FileTemplateReference TemplateID="AspMvcWebConfigApp" name="Web.config" SuppressAutoOpen="true" />
+ <FileTemplateReference TemplateID="AspMvcGlobalAsax" name="Global.asax" SuppressAutoOpen="true" />
+ </Files>
+ </Project>
+ </Combine>
+</Template>
diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3RazorWithUnitTest.xpt.xml b/main/src/addins/AspNet/Templates/Projects/MvcProjectWithUnitTest.xpt.xml index 8f7bd3f8d5..81c930d246 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectMvc3RazorWithUnitTest.xpt.xml +++ b/main/src/addins/AspNet/Templates/Projects/MvcProjectWithUnitTest.xpt.xml @@ -1,98 +1,118 @@ -<?xml version="1.0"?> -<Template originator="Piotr Dowgiallo" - created="2012/06/05" - lastModified="2012/06/05"> - - <!-- Template Header --> - <TemplateConfiguration> - <_Name>ASP.NET MVC 3 (Razor) with Unit Test Project</_Name> - <_Category>C#/ASP.NET</_Category> - <Icon>md-project-web</Icon> - <LanguageName>C#</LanguageName> - <_Description>Creates an ASP.NET MVC 3 Web Project with Razor Views and Unit Test Project.</_Description> - </TemplateConfiguration> - - - <!-- Actions --> - <Actions> - <Open filename = "Controllers/HomeController.cs"/> - </Actions> - - <!-- Template Content --> - <Combine name = "${ProjectName}" directory = "."> - <Options> - <StartupProject>${ProjectName}</StartupProject> - </Options> - - <Project name = "${ProjectName}" directory = "." type = "AspNetMvc3"> - <Options TargetFrameworkVersion = "4.0" /> - <References> - <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Core" /> - <Reference type="Package" refto="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Xml.Linq" /> - <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - </References> - <Files> - <Directory name="Content" /> - <Directory name="Controllers"> - <File name="HomeController.cs" src="Common/HomeController.cs" /> - </Directory> - <Directory name="Models" /> - <Directory name="Scripts" /> - <Directory name="Views"> - <FileTemplateReference TemplateID="AspMvc3WebConfigViews" name="Web.config" SuppressAutoOpen="true" /> - <Directory name="Home"> - <File name="Index.cshtml" src="Common/Index.cshtml" /> - </Directory> - <Directory name="Shared"> - <File name="_Layout.cshtml" src="Common/_Layout.cshtml" /> - <File name="Error.cshtml" src="Common/Error.cshtml" /> - </Directory> - <File name="_ViewStart.cshtml" src="Common/_ViewStart.cshtml" /> - </Directory> - <FileTemplateReference TemplateID="AspMvc3WebConfigApp" name="Web.config" SuppressAutoOpen="true" /> - <FileTemplateReference TemplateID="AspMvc3GlobalAsax" name="Global.asax" SuppressAutoOpen="true" /> - </Files> - </Project> - <Project name = "${ProjectName}.Tests" directory = "${ProjectName}.Tests"> - <Options Target = "Library" /> - - <References> - <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> - <Reference type="Package" refto="System.Core" /> - <Reference type="Package" refto="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> - <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Xml.Linq" /> - <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <Reference type="Package" refto="nunit.framework" SpecificVersion = "false" LocalCopy = "false" /> - <Reference type="Project" refto="${ProjectName}" /> - </References> - - <Files> - <Directory name="Controllers"> - <File name="HomeControllerTest.cs" src="Common/HomeControllerTest.cs" /> - </Directory> - </Files> - </Project> - </Combine> -</Template> +<?xml version="1.0"?>
+<Template originator="Piotr Dowgiallo"
+ created="2012/06/05"
+ lastModified="2012/06/05">
+
+ <!-- Template Header -->
+ <TemplateConfiguration>
+ <_Name>ASP.NET MVC Project with Unit Tests</_Name>
+ <_Category>C#/ASP.NET</_Category>
+ <Icon>md-project-web</Icon>
+ <LanguageName>C#</LanguageName>
+ <_Description>Creates an ASP.NET MVC Web Project with a Unit Test Project.</_Description>
+ </TemplateConfiguration>
+
+
+ <!-- Actions -->
+ <Actions>
+ <Open filename = "Controllers/HomeController.cs"/>
+ </Actions>
+
+ <!-- Template Content -->
+ <Combine name = "${ProjectName}" directory = ".">
+ <Options>
+ <StartupProject>${ProjectName}</StartupProject>
+ </Options>
+
+ <Project name = "${ProjectName}" directory = "." type = "AspNetApp">
+ <Options TargetFrameworkVersion = "4.5" />
+ <References>
+ <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <Reference type="Package" refto="System.Core" />
+ <Reference type="Package" refto="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" />
+ <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" />
+ <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" />
+ <Reference type="Package" refto="System.Xml.Linq" />
+ <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ </References>
+ <Packages>
+ <Package ID="Microsoft.AspNet.Mvc" Version="5.1.2" />
+ </Packages>
+ <Files>
+ <Directory name="Content" />
+ <Directory name="Controllers">
+ <File name="HomeController.cs" src="../MvcCommon/HomeController.cs" />
+ </Directory>
+ <Directory name="Models" />
+ <Directory name="Scripts" />
+ <Directory name="Views">
+ <FileTemplateReference TemplateID="AspMvcWebConfigViews" name="Web.config" SuppressAutoOpen="true" />
+ <Directory name="Home">
+ <File name="Index.aspx">
+<![CDATA[<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
+<!DOCTYPE html>
+<html>
+<head runat="server">
+ <title></title>
+</head>
+<body>
+ <h2>Welcome to ASP.NET MVC <%: ViewData["Version"] %> on <%: ViewData["Runtime"] %>!</h2>
+</body>
+]]>
+ </File>
+ </Directory>
+ <Directory name="Shared">
+ <File name="Error.aspx">
+<![CDATA[<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
+<!DOCTYPE html>
+<html>
+<head>
+ <title>Error</title>
+</head>
+<body>
+ <div>
+ <h2>An error occurred while processing your request.</h2>
+ </div>
+</body>
+]]>
+ </File>
+ </Directory>
+ </Directory>
+ <FileTemplateReference TemplateID="AspMvcWebConfigApp" name="Web.config" SuppressAutoOpen="true" />
+ <FileTemplateReference TemplateID="AspMvcGlobalAsax" name="Global.asax" SuppressAutoOpen="true" />
+ </Files>
+ </Project>
+ <Project name = "${ProjectName}.Tests" directory = "${ProjectName}.Tests">
+ <Options Target = "Library" TargetFrameworkVersion = "4.5" />
+ <References>
+ <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference type="Package" refto="System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+ <Reference type="Package" refto="System.Core" />
+ <Reference type="Package" refto="System.Web.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" />
+ <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" />
+ <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
+ <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" />
+ <Reference type="Package" refto="System.Xml.Linq" />
+ <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+ <Reference type="Project" refto="${ProjectName}" />
+ </References>
+ <Packages>
+ <Package ID="Microsoft.AspNet.Mvc" Version="5.1.2" />
+ <Package ID="NUnit" Version="2.6.3" />
+ </Packages>
+ <Files>
+ <Directory name="Controllers">
+ <File name="HomeControllerTest.cs" src="../MvcCommon/HomeControllerTest.cs" />
+ </Directory>
+ </Files>
+ </Project>
+ </Combine>
+</Template>
\ No newline at end of file diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Project.xpt.xml b/main/src/addins/AspNet/Templates/Projects/MvcRazorProject.xpt.xml index c146ff30a8..9dbe1627db 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/Project.xpt.xml +++ b/main/src/addins/AspNet/Templates/Projects/MvcRazorProject.xpt.xml @@ -1,30 +1,31 @@ -<?xml version="1.0"?> -<Template originator="Michael Hutchinson" - created="2009/02/17" - lastModified="2012/05/17"> - +<?xml version="1.0"?> +<Template originator="Piotr Dowgiallo" + created="2012/06/04" + lastModified="2012/06/04"> + <!-- Template Header --> <TemplateConfiguration> - <_Name>ASP.NET MVC 2 Project</_Name> + <_Name>ASP.NET MVC Razor Project</_Name> <_Category>C#/ASP.NET</_Category> <Icon>md-project-web</Icon> <LanguageName>C#</LanguageName> - <_Description>Creates an ASP.NET MVC 2 Web Project.</_Description> + <_Description>Creates an ASP.NET MVC Project with Razor Views.</_Description> </TemplateConfiguration> - + + <!-- Actions --> <Actions> <Open filename = "Controllers/HomeController.cs"/> </Actions> - + <!-- Template Content --> <Combine name = "${ProjectName}" directory = "."> <Options> <StartupProject>${ProjectName}</StartupProject> </Options> - - <Project name = "${ProjectName}" directory = "." type = "AspNetMvc2"> - <Options TargetFrameworkVersion = "4.0" /> + + <Project name = "${ProjectName}" directory = "." type = "AspNetApp"> + <Options TargetFrameworkVersion = "4.5" /> <References> <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> @@ -34,37 +35,31 @@ <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Xml.Linq" /> + <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </References> + <Packages> + <Package ID="Microsoft.AspNet.Mvc" Version="5.1.2" /> + </Packages> <Files> <Directory name="Content" /> <Directory name="Controllers"> - <File name="HomeController.cs" src="Common/HomeController.cs" /> + <File name="HomeController.cs" src="../MvcCommon/HomeController.cs" /> </Directory> <Directory name="Models" /> <Directory name="Scripts" /> <Directory name="Views"> <FileTemplateReference TemplateID="AspMvcWebConfigViews" name="Web.config" SuppressAutoOpen="true" /> <Directory name="Home"> - <AspNetFile name="Index.aspx"> - <FileText><![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="System.Web.Mvc.ViewPage" %> -${Doctype} -<html xmlns="http://www.w3.org/1999/xhtml"> -<head runat="server"> - <title></title> -</head> -<body> - <div> - <%= Html.Encode(ViewData["Message"]) %> - </div> -</body> -]]> - </FileText> - </AspNetFile> + <File name="Index.cshtml" src="../MvcCommon/Index.cshtml" /> </Directory> + <Directory name="Shared"> + <File name="_Layout.cshtml" src="../MvcCommon/_Layout.cshtml" /> + <File name="Error.cshtml" src="../MvcCommon/Error.cshtml" /> + </Directory> + <File name="_ViewStart.cshtml" src="../MvcCommon/_ViewStart.cshtml" /> </Directory> <FileTemplateReference TemplateID="AspMvcWebConfigApp" name="Web.config" SuppressAutoOpen="true" /> <FileTemplateReference TemplateID="AspMvcGlobalAsax" name="Global.asax" SuppressAutoOpen="true" /> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectWithUnitTest.xpt.xml b/main/src/addins/AspNet/Templates/Projects/MvcRazorProjectWithUnitTest.xpt.xml index 4166b103a0..29fe987ed6 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Templates/ProjectWithUnitTest.xpt.xml +++ b/main/src/addins/AspNet/Templates/Projects/MvcRazorProjectWithUnitTest.xpt.xml @@ -5,13 +5,14 @@ <!-- Template Header --> <TemplateConfiguration> - <_Name>ASP.NET MVC 2 with Unit Test Project</_Name> + <_Name>ASP.NET MVC Razor Project with Unit Tests</_Name> <_Category>C#/ASP.NET</_Category> <Icon>md-project-web</Icon> <LanguageName>C#</LanguageName> - <_Description>Creates an ASP.NET MVC 2 Web Project with Unit Test project.</_Description> + <_Description>Creates an ASP.NET MVC Web Project with Razor Views and a Unit Test Project.</_Description> </TemplateConfiguration> + <!-- Actions --> <Actions> <Open filename = "Controllers/HomeController.cs"/> @@ -23,8 +24,8 @@ <StartupProject>${ProjectName}</StartupProject> </Options> - <Project name = "${ProjectName}" directory = "." type = "AspNetMvc2"> - <Options TargetFrameworkVersion = "4.0" /> + <Project name = "${ProjectName}" directory = "." type = "AspNetApp"> + <Options TargetFrameworkVersion = "4.5" /> <References> <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> @@ -34,46 +35,38 @@ <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Xml.Linq" /> + <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </References> + <Packages> + <Package ID="Microsoft.AspNet.Mvc" Version="5.1.2" /> + </Packages> <Files> <Directory name="Content" /> <Directory name="Controllers"> - <File name="HomeController.cs" src="Common/HomeController.cs" /> + <File name="HomeController.cs" src="../MvcCommon/HomeController.cs" /> </Directory> <Directory name="Models" /> <Directory name="Scripts" /> <Directory name="Views"> <FileTemplateReference TemplateID="AspMvcWebConfigViews" name="Web.config" SuppressAutoOpen="true" /> <Directory name="Home"> - <AspNetFile name="Index.aspx"> - <FileText> - <![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="System.Web.Mvc.ViewPage" %> -${Doctype} -<html xmlns="http://www.w3.org/1999/xhtml"> -<head runat="server"> - <title></title> -</head> -<body> - <div> - <%= Html.Encode(ViewData["Message"]) %> - </div> -</body> -]]> - </FileText> - </AspNetFile> + <File name="Index.cshtml" src="../MvcCommon/Index.cshtml" /> + </Directory> + <Directory name="Shared"> + <File name="_Layout.cshtml" src="../MvcCommon/_Layout.cshtml" /> + <File name="Error.cshtml" src="../MvcCommon/Error.cshtml" /> </Directory> + <File name="_ViewStart.cshtml" src="../MvcCommon/_ViewStart.cshtml" /> </Directory> <FileTemplateReference TemplateID="AspMvcWebConfigApp" name="Web.config" SuppressAutoOpen="true" /> <FileTemplateReference TemplateID="AspMvcGlobalAsax" name="Global.asax" SuppressAutoOpen="true" /> </Files> </Project> <Project name = "${ProjectName}.Tests" directory = "${ProjectName}.Tests"> - <Options Target = "Library" /> - + <Options Target = "Library" TargetFrameworkVersion = "4.5" /> <References> <Reference type="Package" refto="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <Reference type="Package" refto="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> @@ -83,17 +76,19 @@ ${Doctype} <Reference type="Package" refto="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <Reference type="Package" refto="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> - <Reference type="Package" refto="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> <Reference type="Package" refto="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" SpecificVersion="false" /> <Reference type="Package" refto="System.Xml.Linq" /> - <Reference type="Package" refto="nunit.framework" SpecificVersion = "false" LocalCopy = "false" /> + <Reference type="Package" refto="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <Reference type="Project" refto="${ProjectName}" /> </References> - + <Packages> + <Package ID="Microsoft.AspNet.Mvc" Version="5.1.2" /> + <Package ID="NUnit" Version="2.6.3" /> + </Packages> <Files> <Directory name="Controllers"> - <File name="HomeControllerTest.cs" src="Common/HomeControllerTest.cs" /> + <File name="HomeControllerTest.cs" src="../MvcCommon/HomeControllerTest.cs" /> </Directory> </Files> </Project> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebApplication.xpt.xml b/main/src/addins/AspNet/Templates/Projects/WebApplication.xpt.xml index 665a936f5d..6504b0a3d9 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebApplication.xpt.xml +++ b/main/src/addins/AspNet/Templates/Projects/WebApplication.xpt.xml @@ -5,10 +5,10 @@ <!-- Template Header --> <TemplateConfiguration> - <_Name>Web Application</_Name> - <_Category>ASP.NET</_Category> + <_Name>ASP.NET Project</_Name> + <_Category>C#/ASP.NET</_Category> <Icon>md-project-web</Icon> - <LanguageName>C#,VBNet</LanguageName> + <LanguageName>C#</LanguageName> <_Description>Creates a new ASP.NET Web Application project.</_Description> </TemplateConfiguration> @@ -35,10 +35,9 @@ <FileTemplateReference TemplateID="GlobalAsax-CodeBehind" name="Global.asax" /> <FileTemplateReference TemplateID="WebConfig-Application" name="web.config" /> - <AspNetFile name="Default.aspx" DefaultExtension=".aspx"> - <FileText> - <![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="${Namespace}.${Name}" %> -${Doctype} + <File name="Default.aspx" DefaultExtension=".aspx"> +<![CDATA[<%@ Page Language="C#" Inherits="${Namespace}.${EscapedIdentifier}" %> +<!DOCTYPE html> <html> <head runat="server"> <title>${Name}</title> @@ -48,11 +47,10 @@ ${Doctype} <asp:Button id="button1" runat="server" Text="Click me!" OnClick="button1Clicked" /> </form> </body> -</html>]]> - </FileText> - </AspNetFile> - - <CodeTranslationFile name="Default.aspx.${LanguageExtension}"> +</html> +]]> + </File> + <File name="Default.aspx.cs"> <![CDATA[using System; using System.Web; using System.Web.UI; @@ -66,12 +64,10 @@ namespace ${Namespace} { button1.Text = "You clicked me"; } } -}]]> - </CodeTranslationFile> - <CodeTranslationFile name="Default.aspx.designer.${LanguageExtension}" - ShowAutogenerationNotice="True" - AddStandardHeader="False" - SuppressAutoOpen="True"> +} +]]> + </File> + <File name="Default.aspx.designer.cs" ShowAutogenerationNotice="True" AddStandardHeader="False" SuppressAutoOpen="True"> <![CDATA[using System; using System.Web; using System.Web.UI; @@ -82,8 +78,9 @@ namespace ${Namespace} { { protected System.Web.UI.WebControls.Button button1; } -}]]> - </CodeTranslationFile> +} +]]> + </File> </Files> </Project> </Combine> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebConfig-Application.xft.xml b/main/src/addins/AspNet/Templates/WebConfig-Application.xft.xml index 604310389b..954d3d418c 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebConfig-Application.xft.xml +++ b/main/src/addins/AspNet/Templates/WebConfig-Application.xft.xml @@ -9,7 +9,7 @@ <_Name>Web Application Configuration</_Name> <_Category>ASP.NET</_Category> <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <DefaultFilename IsFixed="True">web.config</DefaultFilename> <_Description>Creates an ASP.NET web.config file for an application.</_Description> @@ -21,8 +21,7 @@ <!-- Template Content --> <TemplateFiles> - <AspNetFile name="web.config"> - <FileText> + <File name="web.config"> <![CDATA[<?xml version="1.0" ?> <!-- Web.config file for ${ProjectName}. @@ -34,7 +33,7 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx <configuration> <system.web> <compilation - defaultLanguage="${AspNetLanguage}" + defaultLanguage="C#" debug="true" > <assemblies> @@ -80,8 +79,8 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx <pages> </pages> </system.web> -</configuration>]]> - </FileText> - </AspNetFile> +</configuration> +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebConfig-SubDir.xft.xml b/main/src/addins/AspNet/Templates/WebConfig-SubDir.xft.xml index dcde19b992..f4a0add313 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebConfig-SubDir.xft.xml +++ b/main/src/addins/AspNet/Templates/WebConfig-SubDir.xft.xml @@ -9,7 +9,7 @@ <_Name>Subdirectory Web Configuration</_Name> <_Category>ASP.NET</_Category> <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <DefaultFilename IsFixed="True">web.config</DefaultFilename> <_Description>Creates an ASP.NET web.config file for a subdirectory.</_Description> @@ -21,8 +21,7 @@ <!-- Template Content --> <TemplateFiles> - <AspNetFile name="web.config"> - <FileText> + <File name="web.config"> <![CDATA[<?xml version="1.0" encoding="utf-8"?> <!-- Web.config file for ${ProjectRelativeDirectory}. @@ -35,8 +34,8 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx <system.web> </system.web> -</configuration>]]> - </FileText> - </AspNetFile> +</configuration> +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/GlobalAsax-CodeBehind.xft.xml b/main/src/addins/AspNet/Templates/WebForms/GlobalAsax-CodeBehind.xft.xml index a316ac0371..caf20e8713 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/GlobalAsax-CodeBehind.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/GlobalAsax-CodeBehind.xft.xml @@ -6,9 +6,9 @@ <!-- Template Header --> <TemplateConfiguration> <_Name>Global.asax with CodeBehind</_Name> - <_Category>ASP.NET</_Category> + <_Category>ASP.NET Web Forms</_Category> <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <DefaultFilename IsFixed="True">Global.asax</DefaultFilename> <_Description>Creates an ASP.NET Global.asax file with a CodeBehind class.</_Description> @@ -20,12 +20,10 @@ <!-- Template Content --> <TemplateFiles> - <AspNetFile name="Global.asax"> - <FileText> + <File name="Global.asax"> <![CDATA[<%@ Application Inherits="${Namespace}.Global" %>]]> - </FileText> - </AspNetFile> - <CodeTranslationFile name="Global.asax.${LanguageExtension}" DependsOn="Global.asax" > + </File> + <File name="Global.asax.cs" DependsOn="Global.asax" > <![CDATA[using System; using System.Collections; using System.ComponentModel; @@ -77,6 +75,6 @@ namespace ${Namespace} } } }]]> - </CodeTranslationFile> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/GlobalAsax-Empty.xft.xml b/main/src/addins/AspNet/Templates/WebForms/GlobalAsax-Empty.xft.xml index 4cb76fbf27..f525d6722c 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/GlobalAsax-Empty.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/GlobalAsax-Empty.xft.xml @@ -6,9 +6,9 @@ <!-- Template Header --> <TemplateConfiguration> <_Name>Global.asax</_Name> - <_Category>ASP.NET</_Category> + <_Category>ASP.NET Web Forms</_Category> <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <DefaultFilename IsFixed="True">Global.asax</DefaultFilename> <_Description>Creates an ASP.NET Global.asax file.</_Description> @@ -20,16 +20,10 @@ <!-- Template Content --> <TemplateFiles> - <AspNetFile name="Global.asax"> - <FileText> -<![CDATA[<%@ Application Language="${AspNetLanguage}" %> + <File name="Global.asax"> +<![CDATA[<%@ Application Language="C#" %> <script runat="server"> -${CodeRegion:script1} -</script> -]]> - </FileText> - <CodeTranslationFile TagName="script1"> -<![CDATA[using System; +using System; using System.Collections; using System.ComponentModel; using System.Web; @@ -80,7 +74,6 @@ namespace ${Namespace} } } }]]> - </CodeTranslationFile> - </AspNetFile> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/MasterPage-CodeBehind.xft.xml b/main/src/addins/AspNet/Templates/WebForms/MasterPage-CodeBehind.xft.xml index 861f7aea63..7a5848aa9e 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/MasterPage-CodeBehind.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/MasterPage-CodeBehind.xft.xml @@ -7,23 +7,17 @@ <TemplateConfiguration> <_Name>Master Page with CodeBehind</_Name> <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> + <_Category>ASP.NET Web Forms</_Category> + <LanguageName>C#</LanguageName> <_Description>Creates an ASP.NET Master Page with a CodeBehind class.</_Description> <ProjectType>AspNetApp</ProjectType> </TemplateConfiguration> - - <Conditions> - <ClrVersion Condition="GreaterThanOrEqual" ClrVersion="Net_2_0" /> - <PartialTypeSupport Requirement="Enabled" /> - </Conditions> - + <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.master"> - <FileText> - <![CDATA[<%@ Master Language="${AspNetLanguage}" Inherits="${Namespace}.${Name}" %> -${Doctype} + <File name="${Name}.master"> +<![CDATA[<%@ Master Language="C#" Inherits="${Namespace}.${EscapedIdentifier}" %> +<!DOCTYPE html> <html> <head runat="server"> <title>${Name}</title> @@ -35,11 +29,11 @@ ${Doctype} </form> </div> </body> -</html>]]> - </FileText> - </AspNetFile> +</html> +]]> + </File> - <CodeTranslationFile name="${Name}.master.${LanguageExtension}" DependsOn="${Name}.master" > + <File name="${Name}.master.cs" DependsOn="${Name}.master" > <![CDATA[using System; using System.Web; using System.Web.UI; @@ -49,8 +43,8 @@ namespace ${Namespace} { } } ]]> - </CodeTranslationFile> - <CodeTranslationFile name="${Name}.master.designer.${LanguageExtension}" ShowAutogenerationNotice="True" + </File> + <File name="${Name}.master.designer.cs" ShowAutogenerationNotice="True" AddStandardHeader="False" SuppressAutoOpen="True" DependsOn="${Name}.master" > <![CDATA[using System; using System.Web; @@ -61,6 +55,6 @@ namespace ${Namespace} { } } ]]> - </CodeTranslationFile> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/MasterPage-Empty.xft.xml b/main/src/addins/AspNet/Templates/WebForms/MasterPage-Empty.xft.xml index 48c8a1cd6c..9c3e845d88 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/MasterPage-Empty.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/MasterPage-Empty.xft.xml @@ -7,22 +7,17 @@ <TemplateConfiguration> <_Name>Master Page without CodeBehind</_Name> <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> + <_Category>ASP.NET Web Forms</_Category> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET Master Page.</_Description> </TemplateConfiguration> - - <Conditions> - <ClrVersion Condition="GreaterThanOrEqual" ClrVersion="Net_2_0" /> - </Conditions> - + <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.master"> - <FileText> - <![CDATA[<%@ Master Language="${AspNetLanguage}"%> -${Doctype} + <File name="${Name}.master"> +<![CDATA[<%@ Master Language="C#"%> +<!DOCTYPE html> <html> <head runat="server"> <title>${Name}</title> @@ -34,8 +29,8 @@ ${Doctype} </form> </div> </body> -</html>]]> - </FileText> - </AspNetFile> +</html> +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/NestedMasterPage-CodeBehind.xft.xml b/main/src/addins/AspNet/Templates/WebForms/NestedMasterPage-CodeBehind.xft.xml index 9099b87c07..1a7476f11d 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/NestedMasterPage-CodeBehind.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/NestedMasterPage-CodeBehind.xft.xml @@ -7,29 +7,24 @@ <TemplateConfiguration> <_Name>Nested Master Page with CodeBehind</_Name> <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> + <_Category>ASP.NET Web Forms</_Category> + <LanguageName>C#</LanguageName> <_Description>Creates an ASP.NET Nested Master Page with a CodeBehind class.</_Description> <ProjectType>AspNetApp</ProjectType> </TemplateConfiguration> - - <Conditions> - <ClrVersion Condition="GreaterThanOrEqual" ClrVersion="Net_2_0" /> - <PartialTypeSupport Requirement="Enabled" /> - </Conditions> - + <!-- Template Content --> <TemplateFiles> <AspNetMasterContentFile name="${Name}.master"> <FileText> - <![CDATA[<%@ Master Language="${AspNetLanguage}" MasterPageFile="${AspNetMaster}" Inherits="${Namespace}.${Name}" %> + <![CDATA[<%@ Master Language="C#" MasterPageFile="${AspNetMaster}" Inherits="${Namespace}.${EscapedIdentifier}" %> <%@ MasterType VirtualPath="${AspNetMaster}" %> ${AspNetMasterContent} ]]> </FileText> </AspNetMasterContentFile> - <CodeTranslationFile name="${Name}.master.${LanguageExtension}" DependsOn="${Name}.master" > + <File name="${Name}.master.cs" DependsOn="${Name}.master" > <![CDATA[using System; using System.Web; using System.Web.UI; @@ -39,8 +34,8 @@ namespace ${Namespace} { } } ]]> - </CodeTranslationFile> - <CodeTranslationFile name="${Name}.master.designer.${LanguageExtension}" ShowAutogenerationNotice="True" + </File> + <File name="${Name}.master.designer.cs" ShowAutogenerationNotice="True" AddStandardHeader="False" SuppressAutoOpen="True" DependsOn="${Name}.master" > <![CDATA[using System; using System.Web; @@ -51,6 +46,6 @@ namespace ${Namespace} { } } ]]> - </CodeTranslationFile> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/NestedMasterPage.xft.xml b/main/src/addins/AspNet/Templates/WebForms/NestedMasterPage.xft.xml index 8204878b4e..47338eaea7 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/NestedMasterPage.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/NestedMasterPage.xft.xml @@ -7,22 +7,17 @@ <TemplateConfiguration> <_Name>Nested Master Page</_Name> <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> + <_Category>ASP.NET Web Forms</_Category> + <LanguageName>C#</LanguageName> <_Description>Creates an ASP.NET Nested Master Page.</_Description> <ProjectType>AspNetApp</ProjectType> </TemplateConfiguration> - - <Conditions> - <ClrVersion Condition="GreaterThanOrEqual" ClrVersion="Net_2_0" /> - <PartialTypeSupport Requirement="Enabled" /> - </Conditions> - + <!-- Template Content --> <TemplateFiles> <AspNetMasterContentFile name="${Name}.master"> <FileText> - <![CDATA[<%@ Master Language="${AspNetLanguage}" MasterPageFile="${AspNetMaster}" %> + <![CDATA[<%@ Master Language="C#" MasterPageFile="${AspNetMaster}" %> ${AspNetMasterContent} ]]> </FileText> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebContentForm-CodeBehind.xft.xml b/main/src/addins/AspNet/Templates/WebForms/WebContentForm-CodeBehind.xft.xml index 8810beee87..88d5a3c23d 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebContentForm-CodeBehind.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/WebContentForm-CodeBehind.xft.xml @@ -7,27 +7,23 @@ <TemplateConfiguration> <_Name>Web Content Form with CodeBehind</_Name> <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> + <_Category>ASP.NET Web Forms</_Category> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET Web Form that is the child of a Master Page, with a CodeBehind class.</_Description> </TemplateConfiguration> - - <Conditions> - <PartialTypeSupport Requirement="Enabled" /> - </Conditions> - + <!-- Template Content --> <TemplateFiles> <AspNetMasterContentFile name="${Name}.aspx" DefaultExtension=".aspx"> <FileText> - <![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="${Namespace}.${Name}" MasterPageFile="${AspNetMaster}" %> +<![CDATA[<%@ Page Language="C#" Inherits="${Namespace}.${EscapedIdentifier}" MasterPageFile="${AspNetMaster}" %> <%@ MasterType VirtualPath="${AspNetMaster}" %> ${AspNetMasterContent} ]]> </FileText> </AspNetMasterContentFile> - <CodeTranslationFile name="${Name}.aspx.${LanguageExtension}" DependsOn="${Name}.aspx" > + <File name="${Name}.aspx.cs" DependsOn="${Name}.aspx" > <![CDATA[using System; using System.Web; using System.Web.UI; @@ -37,8 +33,8 @@ namespace ${Namespace} { } } ]]> - </CodeTranslationFile> - <CodeTranslationFile name="${Name}.aspx.designer.${LanguageExtension}" ShowAutogenerationNotice="True" + </File> + <File name="${Name}.aspx.designer.cs" ShowAutogenerationNotice="True" AddStandardHeader="False" SuppressAutoOpen="True" DependsOn="${Name}.aspx" > <![CDATA[using System; using System.Web; @@ -49,6 +45,6 @@ namespace ${Namespace} { } } ]]> - </CodeTranslationFile> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebContentForm.xft.xml b/main/src/addins/AspNet/Templates/WebForms/WebContentForm.xft.xml index 651ab782f4..8ecab6b0ab 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebContentForm.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/WebContentForm.xft.xml @@ -7,21 +7,17 @@ <TemplateConfiguration> <_Name>Web Content Form</_Name> <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> + <_Category>ASP.NET Web Forms</_Category> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET Web Form that is the child of a Master Page.</_Description> </TemplateConfiguration> - - <Conditions> - <PartialTypeSupport Requirement="Enabled" /> - </Conditions> - + <!-- Template Content --> <TemplateFiles> <AspNetMasterContentFile name="${Name}.aspx" DefaultExtension=".aspx"> <FileText> - <![CDATA[<%@ Page Language="${AspNetLanguage}" MasterPageFile="${AspNetMaster}" %> +<![CDATA[<%@ Page Language="C#" MasterPageFile="${AspNetMaster}" %> ${AspNetMasterContent} ]]> </FileText> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebControl-CodeBehind.xft.xml b/main/src/addins/AspNet/Templates/WebForms/WebControl-CodeBehind.xft.xml index 08e441e081..d05c3ee8e2 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebControl-CodeBehind.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/WebControl-CodeBehind.xft.xml @@ -6,26 +6,20 @@ <!-- Template Header --> <TemplateConfiguration> <_Name>User Control with CodeBehind</_Name> - <_Category>ASP.NET</_Category> + <_Category>ASP.NET Web Forms</_Category> <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET user control with a CodeBehind class.</_Description> </TemplateConfiguration> - - <Conditions> - <PartialTypeSupport Requirement="Enabled" /> - </Conditions> <!-- Template Content --> <TemplateFiles> - <AspNetFile DefaultExtension=".ascx" name="${Name}.ascx"> - <FileText> -<![CDATA[<%@ Control Language="${AspNetLanguage}" Inherits="${Namespace}.${Name}" %>]]> - </FileText> - </AspNetFile> - - <CodeTranslationFile name="${Name}.ascx.${LanguageExtension}" DependsOn="${Name}.ascx" > + <File DefaultExtension=".ascx" name="${Name}.ascx"> +<![CDATA[<%@ Control Language="C#" Inherits="${Namespace}.${EscapedIdentifier}" %> +]]> + </File> + <File name="${Name}.ascx.cs" DependsOn="${Name}.ascx" > <![CDATA[using System; using System.Web; using System.Web.UI; @@ -35,9 +29,10 @@ namespace ${Namespace} { public partial class ${EscapedIdentifier} : System.Web.UI.UserControl { } -}]]> - </CodeTranslationFile> - <CodeTranslationFile name="${Name}.ascx.designer.${LanguageExtension}" ShowAutogenerationNotice="True" +} +]]> + </File> + <File name="${Name}.ascx.designer.cs" ShowAutogenerationNotice="True" AddStandardHeader="False" SuppressAutoOpen="True" DependsOn="${Name}.ascx" > <![CDATA[using System; using System.Web; @@ -48,7 +43,8 @@ namespace ${Namespace} { public partial class ${EscapedIdentifier} { } -}]]> - </CodeTranslationFile> +} +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebControl-Empty.xft.xml b/main/src/addins/AspNet/Templates/WebForms/WebControl-Empty.xft.xml index 9876b2fa68..70f6733a7a 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebControl-Empty.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/WebControl-Empty.xft.xml @@ -6,23 +6,22 @@ <!-- Template Header --> <TemplateConfiguration> <_Name>User Control</_Name> - <_Category>ASP.NET</_Category> + <_Category>ASP.NET Web Forms</_Category> <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an empty ASP.NET user control.</_Description> </TemplateConfiguration> <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.ascx"> - <FileText> -<![CDATA[<%@ Control Language="${AspNetLanguage}" ClassName="${Namespace}.${Name}" %> + <File name="${Name}.ascx"> +<![CDATA[<%@ Control Language="C#" ClassName="${Namespace}.${Name}" %> <script runat="server"> -</script>]]> - </FileText> - </AspNetFile> +</script> +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebForm-CodeBehind.xft.xml b/main/src/addins/AspNet/Templates/WebForms/WebForm-CodeBehind.xft.xml index 0f09abbccc..32d0625e56 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebForm-CodeBehind.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/WebForm-CodeBehind.xft.xml @@ -7,22 +7,17 @@ <TemplateConfiguration> <_Name>Web Form with CodeBehind</_Name> <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> + <_Category>ASP.NET Web Forms</_Category> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET Web Form with a CodeBehind class.</_Description> </TemplateConfiguration> - <Conditions> - <PartialTypeSupport Requirement="Enabled" /> - </Conditions> - <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.aspx" DefaultExtension=".aspx"> - <FileText> - <![CDATA[<%@ Page Language="${AspNetLanguage}" Inherits="${Namespace}.${Name}" %> -${Doctype} + <File name="${Name}.aspx" DefaultExtension=".aspx"> +<![CDATA[<%@ Page Language="C#" Inherits="${Namespace}.${EscapedIdentifier}" %> +<!DOCTYPE html> <html> <head runat="server"> <title>${Name}</title> @@ -31,11 +26,10 @@ ${Doctype} <form id="form1" runat="server"> </form> </body> -</html>]]> - </FileText> - </AspNetFile> - - <CodeTranslationFile name="${Name}.aspx.${LanguageExtension}" DependsOn="${Name}.aspx" > +</html> +]]> + </File> + <File name="${Name}.aspx.cs" DependsOn="${Name}.aspx" > <![CDATA[using System; using System.Web; using System.Web.UI; @@ -46,9 +40,10 @@ namespace ${Namespace} { { } -}]]> - </CodeTranslationFile> - <CodeTranslationFile name="${Name}.aspx.designer.${LanguageExtension}" ShowAutogenerationNotice="True" +} +]]> + </File> + <File name="${Name}.aspx.designer.cs" ShowAutogenerationNotice="True" AddStandardHeader="False" SuppressAutoOpen="True" DependsOn="${Name}.aspx" > <![CDATA[using System; using System.Web; @@ -60,7 +55,8 @@ namespace ${Namespace} { { } -}]]> - </CodeTranslationFile> +} +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebForm-Empty.xft.xml b/main/src/addins/AspNet/Templates/WebForms/WebForm-Empty.xft.xml index db8ed37e3d..25f85c13af 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebForm-Empty.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/WebForm-Empty.xft.xml @@ -7,18 +7,17 @@ <TemplateConfiguration> <_Name>Web Form</_Name> <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> + <_Category>ASP.NET Web Forms</_Category> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET Web Form.</_Description> </TemplateConfiguration> <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.aspx"> - <FileText> - <![CDATA[<%@ Page Language="${AspNetLanguage}" %> -${Doctype} + <File name="${Name}.aspx"> +<![CDATA[<%@ Page Language="C#" %> +<!DOCTYPE html> <html> <head runat="server"> <title>${Name}</title> @@ -31,8 +30,8 @@ ${Doctype} </form> </body> -</html>]]> - </FileText> - </AspNetFile> +</html> +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebHandler-CodeBehind.xft.xml b/main/src/addins/AspNet/Templates/WebForms/WebHandler-CodeBehind.xft.xml index 54f7de044b..90ad050459 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebHandler-CodeBehind.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/WebHandler-CodeBehind.xft.xml @@ -7,21 +7,20 @@ <TemplateConfiguration> <_Name>Web Handler with CodeBehind</_Name> <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> + <_Category>ASP.NET Web Forms</_Category> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET Web Handler with a CodeBehind class.</_Description> </TemplateConfiguration> <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.ashx"> - <FileText> -<![CDATA[<%@ WebHandler Language="${AspNetLanguage}" Class="${Namespace}.${Name}" %>]]> - </FileText> - </AspNetFile> + <File name="${Name}.ashx"> +<![CDATA[<%@ WebHandler Language="C#" Class="${Namespace}.${EscapedIdentifier}" %> +]]> + </File> - <CodeTranslationFile name="${Name}.ashx.${LanguageExtension}" DependsOn="${Name}.ashx" > + <File name="${Name}.ashx.cs" DependsOn="${Name}.ashx" > <![CDATA[using System; using System.Web; using System.Web.UI; @@ -43,7 +42,8 @@ namespace ${Namespace} } } } -}]]> - </CodeTranslationFile> +} + ]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebHandler-Empty.xft.xml b/main/src/addins/AspNet/Templates/WebForms/WebHandler-Empty.xft.xml index 7aadf98d5c..c72cd119ae 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebHandler-Empty.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/WebHandler-Empty.xft.xml @@ -7,21 +7,17 @@ <TemplateConfiguration> <_Name>Web Handler</_Name> <Icon>md-html-file-icon</Icon> - <_Category>ASP.NET</_Category> - <LanguageName>*</LanguageName> + <_Category>ASP.NET Web Forms</_Category> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET Web Handler.</_Description> </TemplateConfiguration> <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.ashx"> - <FileText> -<![CDATA[<%@ WebHandler Language="${AspNetLanguage}" Class="${Namespace}.${Name}" %> -${CodeRegion:script1} -]]> </FileText> - <CodeTranslationFile TagName="script1"> -<![CDATA[using System; + <File name="${Name}.ashx"> +<![CDATA[<%@ WebHandler Language="C#" Class="${Namespace}.${EscapedIdentifier}" %> +using System; using System.Web; namespace ${Namespace} @@ -41,7 +37,6 @@ namespace ${Namespace} } } }]]> - </CodeTranslationFile> - </AspNetFile> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebService-CodeBehind.xft.xml b/main/src/addins/AspNet/Templates/WebForms/WebService-CodeBehind.xft.xml index f1411944ac..b4138b2175 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebService-CodeBehind.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/WebService-CodeBehind.xft.xml @@ -6,22 +6,20 @@ <!-- Template Header --> <TemplateConfiguration> <_Name>Web Service with CodeBehind</_Name> - <_Category>ASP.NET</_Category> + <_Category>ASP.NET Web Forms</_Category> <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET web service with a CodeBehind class.</_Description> </TemplateConfiguration> <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.asmx"> - <FileText> -<![CDATA[<%@ WebService Language="${AspNetLanguage}" Class="${Namespace}.${Name}" %>]]> - </FileText> - </AspNetFile> - - <CodeTranslationFile name="${Name}.asmx.${LanguageExtension}" DependsOn="${Name}.asmx" > + <File name="${Name}.asmx"> +<![CDATA[<%@ WebService Language="C#" Class="${Namespace}.${EscapedIdentifier}" %> +]]> + </File> + <File name="${Name}.asmx.cs" DependsOn="${Name}.asmx" > <![CDATA[using System; using System.Web; using System.Web.Services; @@ -32,7 +30,8 @@ namespace ${Namespace} { } -}]]> - </CodeTranslationFile> +} +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebService-Empty.xft.xml b/main/src/addins/AspNet/Templates/WebForms/WebService-Empty.xft.xml index 8a1f4bea5b..15ef51f31a 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Templates/WebService-Empty.xft.xml +++ b/main/src/addins/AspNet/Templates/WebForms/WebService-Empty.xft.xml @@ -6,23 +6,18 @@ <!-- Template Header --> <TemplateConfiguration> <_Name>Web Service</_Name> - <_Category>ASP.NET</_Category> + <_Category>ASP.NET Web Forms</_Category> <Icon>md-html-file-icon</Icon> - <LanguageName>*</LanguageName> + <LanguageName>C#</LanguageName> <ProjectType>AspNetApp</ProjectType> <_Description>Creates an ASP.NET web service.</_Description> </TemplateConfiguration> <!-- Template Content --> <TemplateFiles> - <AspNetFile name="${Name}.asmx"> - <FileText> -<![CDATA[<%@ WebService Language="${AspNetLanguage}" Class="${Namespace}.${Name}" %> -${CodeRegion:script1} -]]> - </FileText> - <CodeTranslationFile TagName="script1"> -<![CDATA[using System; + <File name="${Name}.asmx"> +<![CDATA[<%@ WebService Language="C#" Class="${Namespace}.${EscapedIdentifier}" %> +using System; using System.Web.Services; namespace ${Namespace} @@ -30,8 +25,8 @@ namespace ${Namespace} class ${EscapedIdentifier} { } -}]]> - </CodeTranslationFile> - </AspNetFile> +} +]]> + </File> </TemplateFiles> </Template> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Test/Test.cs b/main/src/addins/AspNet/Test/Test.cs index e69de29bb2..e69de29bb2 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Test/Test.cs +++ b/main/src/addins/AspNet/Test/Test.cs diff --git a/main/tests/UnitTests/MonoDevelop.Xml.StateEngine/HtmlImplicitClosingTests.cs b/main/src/addins/AspNet/Tests/Html/HtmlImplicitClosingTests.cs index 6bd053bcd0..10aeaa9398 100644 --- a/main/tests/UnitTests/MonoDevelop.Xml.StateEngine/HtmlImplicitClosingTests.cs +++ b/main/src/addins/AspNet/Tests/Html/HtmlImplicitClosingTests.cs @@ -23,27 +23,27 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System; -using System.Linq; -using MonoDevelop.AspNet.StateEngine; +using MonoDevelop.AspNet.Html.Parser; +using MonoDevelop.Xml.Parser; +using MonoDevelop.Xml.Tests.Parser; using NUnit.Framework; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.AspNet.Tests.Html { [TestFixture] public class HtmlImplicitClosingTests : ParsingTests { - public override XmlFreeState CreateRootState () + public override XmlRootState CreateRootState () { - return new XmlFreeState (new HtmlTagState (), new HtmlClosingTagState (true)); + return new XmlRootState (new HtmlTagState (), new HtmlClosingTagState (true)); } [Test] public void TestHtmlImplicitClosing () { - TestParser parser = new TestParser (CreateRootState ()); + var parser = new TestXmlParser (CreateRootState ()); parser.Parse(@" <html> <body> diff --git a/main/tests/UnitTests/MonoDevelop.Xml.StateEngine/HtmlParsingTests.cs b/main/src/addins/AspNet/Tests/Html/HtmlParsingTests.cs index d2c02c11ed..7f6c78549a 100644 --- a/main/tests/UnitTests/MonoDevelop.Xml.StateEngine/HtmlParsingTests.cs +++ b/main/src/addins/AspNet/Tests/Html/HtmlParsingTests.cs @@ -24,28 +24,26 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System; -using System.Linq; -using MonoDevelop.AspNet.StateEngine; +using MonoDevelop.AspNet.Html.Parser; +using MonoDevelop.Xml.Parser; +using MonoDevelop.Xml.Tests.Parser; using NUnit.Framework; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.AspNet.Tests.Html { - [TestFixture] - public class HtmlParsingTests : ParsingTests + class HtmlParsingTests : ParsingTests { - - public override XmlFreeState CreateRootState () + public override XmlRootState CreateRootState () { - return new XmlFreeState (new HtmlTagState (), new HtmlClosingTagState (true)); + return new XmlRootState (new HtmlTagState (), new HtmlClosingTagState (true)); } [Test] public void TestAutoClosing () { - TestParser parser = new TestParser (CreateRootState ()); + var parser = new TestXmlParser (CreateRootState ()); parser.Parse (@" <html> <body> diff --git a/main/src/addins/AspNet/Tests/MonoDevelop.AspNet.Tests.csproj b/main/src/addins/AspNet/Tests/MonoDevelop.AspNet.Tests.csproj new file mode 100644 index 0000000000..7dcc750cb8 --- /dev/null +++ b/main/src/addins/AspNet/Tests/MonoDevelop.AspNet.Tests.csproj @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProductVersion>8.0.30703</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{BEFADF93-EE92-4806-9C0B-937B25311C95}</ProjectGuid> + <OutputType>Library</OutputType> + <RootNamespace>MonoDevelop.AspNet.Tests</RootNamespace> + <AssemblyName>MonoDevelop.AspNet.Tests</AssemblyName> + <TestRunnerCommand>..\..\..\..\build\bin\mdtool.exe</TestRunnerCommand> + <TestRunnerArgs>run-md-tests</TestRunnerArgs> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>..\..\..\..\build\tests</OutputPath> + <DefineConstants>DEBUG;</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <ConsolePause>false</ConsolePause> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <DebugType>full</DebugType> + <Optimize>true</Optimize> + <OutputPath>..\..\..\..\build\tests</OutputPath> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <ConsolePause>false</ConsolePause> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="gtk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> + <Reference Include="atk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> + <Reference Include="glib-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> + <Reference Include="gdk-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Razor\Dom\RazorCodeBlockParsingTests.cs" /> + <Compile Include="Razor\Dom\RazorCodeFragmentsParsingTests.cs" /> + <Compile Include="Razor\Dom\RazorCommentParsingTests.cs" /> + <Compile Include="Razor\Dom\RazorDirectivesParsingTests.cs" /> + <Compile Include="Razor\Dom\RazorExplicitExpressionsParsingTests.cs" /> + <Compile Include="Razor\Dom\RazorImplicitExpressionsParsingTests.cs" /> + <Compile Include="Razor\Dom\RazorParsingTests.cs" /> + <Compile Include="Razor\Dom\RazorStatementsParsingTests.cs" /> + <Compile Include="Razor\RazorCompletionTesting.cs" /> + <Compile Include="WebForms\WebFormsTesting.cs" /> + <Compile Include="WebForms\WebFormsParsingTests.cs" /> + <Compile Include="WebForms\WebFormsCompletionTests.cs" /> + <Compile Include="Razor\RazorCompletionTests.cs" /> + <Compile Include="Html\HtmlParsingTests.cs" /> + <Compile Include="Html\HtmlImplicitClosingTests.cs" /> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <ItemGroup> + <ProjectReference Include="..\..\..\..\external\guiunit\src\framework\GuiUnit_NET_4_0.csproj"> + <Project>{E13A0A7B-4DE6-43ED-A139-41052D065A9B}</Project> + <Name>GuiUnit_NET_4_0</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\..\core\MonoDevelop.Core\MonoDevelop.Core.csproj"> + <Project>{7525BB88-6142-4A26-93B9-A30C6983390A}</Project> + <Name>MonoDevelop.Core</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\..\core\MonoDevelop.Ide\MonoDevelop.Ide.csproj"> + <Project>{27096E7F-C91C-4AC6-B289-6897A701DF21}</Project> + <Name>MonoDevelop.Ide</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\..\..\external\nrefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj"> + <Project>{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}</Project> + <Name>ICSharpCode.NRefactory</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\MonoDevelop.DesignerSupport\MonoDevelop.DesignerSupport.csproj"> + <Project>{2C24D515-4A2C-445C-8419-C09231913CFA}</Project> + <Name>MonoDevelop.DesignerSupport</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\..\core\Mono.Texteditor\Mono.TextEditor.csproj"> + <Project>{A2329308-3751-4DBD-9A75-5F7B8B024625}</Project> + <Name>Mono.TextEditor</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\..\..\tests\UnitTests\UnitTests.csproj"> + <Project>{1497D0A8-AFF1-4938-BC22-BE79B358BA5B}</Project> + <Name>UnitTests</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\Xml\MonoDevelop.Xml.csproj"> + <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> + <Name>MonoDevelop.Xml</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\Xml\Tests\MonoDevelop.Xml.Tests.csproj"> + <Project>{8E47B77A-A649-494C-9BF2-B845E39CADE9}</Project> + <Name>MonoDevelop.Xml.Tests</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\MonoDevelop.AspNet.csproj"> + <Project>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</Project> + <Name>MonoDevelop.AspNet</Name> + <Private>False</Private> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <Folder Include="Razor\" /> + <Folder Include="Razor\Dom\" /> + <Folder Include="Html\" /> + </ItemGroup> + <ProjectExtensions> + <MonoDevelop> + <Properties> + <Policies> + <DotNetNamingPolicy DirectoryNamespaceAssociation="PrefixedHierarchical" ResourceNamePolicy="FileName" /> + </Policies> + </Properties> + </MonoDevelop> + </ProjectExtensions> +</Project> diff --git a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorCodeBlockParsingTests.cs b/main/src/addins/AspNet/Tests/Razor/Dom/RazorCodeBlockParsingTests.cs index d3bb0bb7a6..2467c5769d 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorCodeBlockParsingTests.cs +++ b/main/src/addins/AspNet/Tests/Razor/Dom/RazorCodeBlockParsingTests.cs @@ -24,14 +24,11 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using NUnit.Framework;
-using MonoDevelop.AspNet.Mvc.StateEngine;
+using MonoDevelop.AspNet.Razor.Parser;
+using MonoDevelop.AspNet.Razor.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Tests.Razor.Dom
{
[TestFixture]
public class RazorCodeBlockParsingTests : RazorParsingTests
@@ -44,7 +41,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@{ }");
parser.AssertNodeIs<RazorCodeBlock> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -57,7 +54,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@{ }");
parser.AssertNodeIs<RazorCodeBlock> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
diff --git a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorCodeFragmentsParsingTests.cs b/main/src/addins/AspNet/Tests/Razor/Dom/RazorCodeFragmentsParsingTests.cs index 29c15a278f..54403e9e23 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorCodeFragmentsParsingTests.cs +++ b/main/src/addins/AspNet/Tests/Razor/Dom/RazorCodeFragmentsParsingTests.cs @@ -25,9 +25,9 @@ // THE SOFTWARE.
using NUnit.Framework;
-using MonoDevelop.AspNet.Mvc.StateEngine;
+using MonoDevelop.AspNet.Razor.Parser;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Tests.Razor.Dom
{
[TestFixture]
public class RazorCodeFragmentsParsingTests : RazorParsingTests
diff --git a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorCommentParsingTests.cs b/main/src/addins/AspNet/Tests/Razor/Dom/RazorCommentParsingTests.cs index 7bc2139a81..32adbde172 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorCommentParsingTests.cs +++ b/main/src/addins/AspNet/Tests/Razor/Dom/RazorCommentParsingTests.cs @@ -25,9 +25,9 @@ // THE SOFTWARE.
using NUnit.Framework;
-using MonoDevelop.AspNet.Mvc.StateEngine;
+using MonoDevelop.AspNet.Razor.Parser;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Tests.Razor.Dom
{
[TestFixture]
public class RazorCommentParsingTests : RazorParsingTests
@@ -39,7 +39,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorCommentState> ();
parser.AssertPath ("//@* *@");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -51,7 +51,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorCommentState> ();
parser.AssertPath ("//@* *@");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -63,7 +63,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorCommentState> ();
parser.AssertPath ("//@* *@");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -90,7 +90,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorCommentState> ();
parser.AssertPath ("//@* *@");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
diff --git a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorDirectivesParsingTests.cs b/main/src/addins/AspNet/Tests/Razor/Dom/RazorDirectivesParsingTests.cs index 172f91ddb4..24fefb9d7f 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorDirectivesParsingTests.cs +++ b/main/src/addins/AspNet/Tests/Razor/Dom/RazorDirectivesParsingTests.cs @@ -24,10 +24,10 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.AspNet.Mvc.StateEngine;
using NUnit.Framework;
+using MonoDevelop.AspNet.Razor.Parser;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Tests.Razor.Dom
{
[TestFixture]
public class RazorDirectivesParsingTests : RazorParsingTests
@@ -39,7 +39,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@inherits");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -51,7 +51,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@model");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -63,7 +63,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@sessionstate");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -75,7 +75,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@layout");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -83,11 +83,11 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine [Test]
public void UsingDirective ()
{
- parser.Parse ("@using System.Foo.Bar$\n", () => {
+ parser.Parse ("@using System.Foo.Bar$\n$", () => {
parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@using");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -99,7 +99,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@using");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -114,7 +114,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@using");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -126,7 +126,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@inherits");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -138,7 +138,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@inherits");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -150,7 +150,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@model");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -165,7 +165,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@functions");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -180,7 +180,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@section/p");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -195,7 +195,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@helper");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -210,7 +210,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorDirectiveState> ();
parser.AssertPath ("//@helper");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
diff --git a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorExplicitExpressionsParsingTests.cs b/main/src/addins/AspNet/Tests/Razor/Dom/RazorExplicitExpressionsParsingTests.cs index 5fef8773be..c37fb43d28 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorExplicitExpressionsParsingTests.cs +++ b/main/src/addins/AspNet/Tests/Razor/Dom/RazorExplicitExpressionsParsingTests.cs @@ -25,9 +25,10 @@ // THE SOFTWARE.
using NUnit.Framework;
-using MonoDevelop.AspNet.Mvc.StateEngine;
+using MonoDevelop.AspNet.Razor.Parser;
+using MonoDevelop.AspNet.Razor.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Tests.Razor.Dom
{
[TestFixture]
public class RazorExplicitExpressionsParsingTests : RazorParsingTests
@@ -40,7 +41,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@( )");
parser.AssertNodeIs<RazorExplicitExpression> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -53,7 +54,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@( )");
parser.AssertNodeIs<RazorExplicitExpression> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -66,7 +67,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@( )");
parser.AssertNodeIs<RazorExplicitExpression> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
diff --git a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorImplicitExpressionsParsingTests.cs b/main/src/addins/AspNet/Tests/Razor/Dom/RazorImplicitExpressionsParsingTests.cs index 8e165dd28a..15c9242564 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorImplicitExpressionsParsingTests.cs +++ b/main/src/addins/AspNet/Tests/Razor/Dom/RazorImplicitExpressionsParsingTests.cs @@ -25,9 +25,10 @@ // THE SOFTWARE.
using NUnit.Framework;
-using MonoDevelop.AspNet.Mvc.StateEngine;
+using MonoDevelop.AspNet.Razor.Parser;
+using MonoDevelop.AspNet.Razor.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Tests.Razor.Dom
{
[TestFixture]
public class RazorImplicitExpressionsParsingTests : RazorParsingTests
@@ -67,7 +68,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine [Test]
public void ImplicitExpressionQuotes ()
{
- parser.Parse ("@ViewData[\"Foo$\"]", 'X', () => {
+ parser.Parse ("@ViewData[\"Foo$\"]", () => {
parser.AssertStateIs<RazorExpressionState> ();
parser.AssertNodeIs<RazorImplicitExpression> ();
parser.AssertPath ("//@");
@@ -78,7 +79,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine public void ImplicitExpressionTerminatesAtWhitespace ()
{
parser.Parse ("@Foo X", 'X', () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -91,7 +92,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertNodeIs<RazorImplicitExpression> ();
parser.AssertPath ("//@");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -100,7 +101,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine public void ImplicitExpressionTerminatesAtTag ()
{
parser.Parse ("@Foo<p>X", 'X', () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("//p");
});
}
@@ -109,7 +110,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine public void ImplicitExpressionTerminatesAtTransition ()
{
parser.Parse ("@Foo@X", 'X', () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -122,7 +123,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertNodeIs<RazorImplicitExpression> ();
parser.AssertPath ("//body/p/@");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -131,7 +132,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine public void EmailAddressNotRecognizedAsExpression ()
{
parser.Parse ("foo@barX.com", 'X', () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
diff --git a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorParsingTests.cs b/main/src/addins/AspNet/Tests/Razor/Dom/RazorParsingTests.cs index e44ebbf4aa..505368c6c0 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorParsingTests.cs +++ b/main/src/addins/AspNet/Tests/Razor/Dom/RazorParsingTests.cs @@ -24,25 +24,25 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.Xml.StateEngine;
-using MonoDevelop.AspNet.Mvc.StateEngine;
using NUnit.Framework;
+using MonoDevelop.AspNet.Razor.Parser;
+using MonoDevelop.Xml.Tests.Parser;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Tests.Razor.Dom
{
[TestFixture]
public abstract class RazorParsingTests
{
- protected TestParser parser;
+ protected TestXmlParser parser;
[SetUp]
public void Init ()
{
- parser = new TestParser (new RazorTestFreeState ());
+ parser = new TestXmlParser (new RazorTestFreeState ());
}
}
- class RazorTestFreeState : RazorFreeState
+ class RazorTestFreeState : RazorRootState
{
public RazorTestFreeState ()
{
diff --git a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorStatementsParsingTests.cs b/main/src/addins/AspNet/Tests/Razor/Dom/RazorStatementsParsingTests.cs index c22642e630..0adde29d91 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.StateEngine/RazorStatementsParsingTests.cs +++ b/main/src/addins/AspNet/Tests/Razor/Dom/RazorStatementsParsingTests.cs @@ -25,10 +25,11 @@ // THE SOFTWARE.
using NUnit.Framework;
-using MonoDevelop.AspNet.Mvc.StateEngine;
-using MonoDevelop.Xml.StateEngine;
+using MonoDevelop.AspNet.Razor.Parser;
+using MonoDevelop.AspNet.Razor.Dom;
+using MonoDevelop.Xml.Dom;
-namespace MonoDevelop.AspNet.Mvc.StateEngine
+namespace MonoDevelop.AspNet.Tests.Razor.Dom
{
[TestFixture]
public class RazorStatementsParsingTests : RazorParsingTests
@@ -41,7 +42,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@for");
parser.AssertNodeIs<RazorStatement> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -54,7 +55,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@foreach");
parser.AssertNodeIs<RazorStatement> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -67,7 +68,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@switch");
parser.AssertNodeIs<RazorStatement> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -80,7 +81,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@while");
parser.AssertNodeIs<RazorStatement> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -93,7 +94,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@lock");
parser.AssertNodeIs<RazorStatement> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -106,7 +107,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@do");
parser.AssertNodeIs<RazorStatement> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -119,7 +120,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@using");
parser.AssertNodeIs<RazorStatement> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -146,7 +147,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@if");
parser.AssertNodeIs<RazorStatement> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -229,7 +230,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertPath ("//@try");
parser.AssertNodeIs<RazorStatement> ();
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
@@ -290,7 +291,7 @@ namespace MonoDevelop.AspNet.Mvc.StateEngine parser.AssertStateIs<RazorStatementState> ();
parser.AssertPath ("//@foreach");
}, () => {
- parser.AssertStateIs<RazorFreeState> ();
+ parser.AssertStateIs<RazorRootState> ();
parser.AssertPath ("/");
});
}
diff --git a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.Completion/RazorCompletionTesting.cs b/main/src/addins/AspNet/Tests/Razor/RazorCompletionTesting.cs index a3a983c65c..7da98546eb 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.Completion/RazorCompletionTesting.cs +++ b/main/src/addins/AspNet/Tests/Razor/RazorCompletionTesting.cs @@ -24,23 +24,23 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.Ide.CodeCompletion;
+using System.IO;
+using ICSharpCode.NRefactory.Completion;
+using MonoDevelop.AspNet.Projects;
+using MonoDevelop.AspNet.Razor;
+using MonoDevelop.AspNet.Razor.Parser;
using MonoDevelop.CSharpBinding;
using MonoDevelop.CSharpBinding.Tests;
-using MonoDevelop.AspNet.Mvc;
-using MonoDevelop.Ide.TypeSystem;
+using MonoDevelop.Ide.CodeCompletion;
using MonoDevelop.Ide.Gui;
-using MonoDevelop.AspNet.Mvc.Parser;
-using System.IO;
-using MonoDevelop.AspNet.Mvc.Gui;
+using MonoDevelop.Ide.TypeSystem;
using MonoDevelop.Projects;
-using ICSharpCode.NRefactory.Completion;
-namespace MonoDevelop.AspNet.Mvc.Completion
+namespace MonoDevelop.AspNet.Tests.Razor
{
//largely copied from MonoDevelop.AspNet.Tests.AspNetTesting
- public static class RazorCompletionTesting
+ static class RazorCompletionTesting
{
static readonly string extension = ".cshtml";
@@ -92,7 +92,8 @@ namespace MonoDevelop.AspNet.Mvc.Completion cursorPosition = endPos - 1;
}
- var project = new AspMvc3Project ("C#");
+ var project = new AspNetAppProject ("C#");
+
project.FileName = UnitTests.TestBase.GetTempFile (".csproj");
string file = UnitTests.TestBase.GetTempFile (extension);
project.AddFile (file);
@@ -111,7 +112,7 @@ namespace MonoDevelop.AspNet.Mvc.Completion tww.ViewContent = sev;
var doc = new Document (tww);
- var parser = new RazorTestingParser () {
+ var parser = new RazorTestingParser {
Doc = doc
};
var parsedDoc = parser.Parse (false, sev.ContentName, new StringReader (parsedText), project);
diff --git a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.Completion/CompletionTests.cs b/main/src/addins/AspNet/Tests/Razor/RazorCompletionTests.cs index e1ab2783e5..98b36239c4 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet.Mvc.Completion/CompletionTests.cs +++ b/main/src/addins/AspNet/Tests/Razor/RazorCompletionTests.cs @@ -27,10 +27,11 @@ using NUnit.Framework; using UnitTests; -namespace MonoDevelop.AspNet.Mvc.Completion +namespace MonoDevelop.AspNet.Tests.Razor { + [Ignore ("Not working")] [TestFixture] - public class CompletionTests : TestBase + class RazorCompletionTests : TestBase { [Test] public void HtmlTagsCompletion () diff --git a/main/tests/UnitTests/MonoDevelop.AspNet/AspNetCompletionTests.cs b/main/src/addins/AspNet/Tests/WebForms/WebFormsCompletionTests.cs index 5f5fa91d54..0c041400dc 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet/AspNetCompletionTests.cs +++ b/main/src/addins/AspNet/Tests/WebForms/WebFormsCompletionTests.cs @@ -27,57 +27,56 @@ using System; using NUnit.Framework; -namespace MonoDevelop.AspNet.Tests +namespace MonoDevelop.AspNet.Tests.WebForms { - [TestFixture] - public class AspNetCompletionTests : UnitTests.TestBase + class WebFormsCompletionTests : UnitTests.TestBase { [Test] public void DirectiveCompletion () { - var provider = AspNetTesting.CreateProvider (@"<%@ $ %>", ".aspx"); + var provider = WebFormsTesting.CreateProvider (@"<%@ $ %>", ".aspx"); Assert.IsNotNull (provider); Assert.AreEqual (9, provider.Count); Assert.IsNotNull (provider.Find ("Page")); Assert.IsNotNull (provider.Find ("Register")); - provider = AspNetTesting.CreateProvider (@"<%@ $ %>", ".master"); + provider = WebFormsTesting.CreateProvider (@"<%@ $ %>", ".master"); Assert.IsNotNull (provider); Assert.AreEqual (7, provider.Count); Assert.IsNotNull (provider.Find ("Master")); Assert.IsNotNull (provider.Find ("Register")); - provider = AspNetTesting.CreateProvider (@"<%@ $ %>", ".ascx"); + provider = WebFormsTesting.CreateProvider (@"<%@ $ %>", ".ascx"); Assert.IsNotNull (provider); Assert.AreEqual (7, provider.Count); Assert.IsNotNull (provider.Find ("Control")); Assert.IsNotNull (provider.Find ("Register")); - provider = AspNetTesting.CreateProvider (@"<%@$ %>", ".aspx"); + provider = WebFormsTesting.CreateProvider (@"<%@$ %>", ".aspx"); Assert.IsNull (provider); - provider = AspNetTesting.CreateProvider (@"<%@ $ %>", ".aspx"); + provider = WebFormsTesting.CreateProvider (@"<%@ $ %>", ".aspx"); Assert.IsNull (provider); } [Test] public void DirectiveAttributeCompletion () { - var provider = AspNetTesting.CreateProvider (@"<%@ Page A$ %>", ".aspx"); + var provider = WebFormsTesting.CreateProvider (@"<%@ Page A$ %>", ".aspx"); Assert.IsNotNull (provider); Assert.AreEqual (41, provider.Count); Assert.IsNotNull (provider.Find ("StyleSheetTheme")); Assert.IsNotNull (provider.Find ("Inherits")); - provider = AspNetTesting.CreateProvider (@"<%@ Master A$ %>", ".master"); + provider = WebFormsTesting.CreateProvider (@"<%@ Master A$ %>", ".master"); Assert.IsNotNull (provider); Assert.AreEqual (18, provider.Count); Assert.IsNull (provider.Find ("StyleSheetTheme")); Assert.IsNotNull (provider.Find ("MasterPageFile")); Assert.IsNotNull (provider.Find ("Inherits")); - provider = AspNetTesting.CreateProvider (@"<%@ Control A$ %>", ".ascx"); + provider = WebFormsTesting.CreateProvider (@"<%@ Control A$ %>", ".ascx"); Assert.IsNotNull (provider); Assert.AreEqual (17, provider.Count); Assert.IsNull (provider.Find ("StyleSheetTheme")); @@ -88,33 +87,33 @@ namespace MonoDevelop.AspNet.Tests [Ignore ("Not working")] public void DirectiveAttributeCtrlSpaceCompletion () { - var provider = AspNetTesting.CreateProvider (@"<%@ Page $ %>", ".aspx", true); + var provider = WebFormsTesting.CreateProvider (@"<%@ Page $ %>", ".aspx", true); Assert.IsNotNull (provider); Assert.AreEqual (41, provider.Count); Assert.IsNotNull (provider.Find ("StyleSheetTheme")); Assert.IsNotNull (provider.Find ("Inherits")); - provider = AspNetTesting.CreateProvider (@"<%@ Master $ %>", ".master", true); + provider = WebFormsTesting.CreateProvider (@"<%@ Master $ %>", ".master", true); Assert.IsNotNull (provider); Assert.AreEqual (18, provider.Count); Assert.IsNull (provider.Find ("StyleSheetTheme")); Assert.IsNotNull (provider.Find ("MasterPageFile")); Assert.IsNotNull (provider.Find ("Inherits")); - provider = AspNetTesting.CreateProvider (@"<%@ Control $ %>", ".ascx", true); + provider = WebFormsTesting.CreateProvider (@"<%@ Control $ %>", ".ascx", true); Assert.IsNotNull (provider); Assert.AreEqual (17, provider.Count); Assert.IsNull (provider.Find ("StyleSheetTheme")); Assert.IsNotNull (provider.Find ("Inherits")); } + const string pageStart = @"<%@ Page Language=""C#"" %> +<!DOCTYPE html> +<html> +"; void HeadBodyCompletion (bool ctrlSpace) { - const string test = @"<%@ Page Language=""C#"" %> -<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Strict//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd""> -<html> -<$"; - var provider = AspNetTesting.CreateProvider (test, ".aspx", ctrlSpace); + var provider = WebFormsTesting.CreateProvider (pageStart + "<$", ".aspx", ctrlSpace); Assert.IsNotNull (provider); Assert.IsNotNull (provider.Find ("head")); Assert.IsNotNull (provider.Find ("body")); @@ -134,5 +133,23 @@ namespace MonoDevelop.AspNet.Tests { HeadBodyCompletion (true); } + + [Test] + public void TagPropertiesAuto () + { + var provider = WebFormsTesting.CreateProvider (pageStart + "<asp:Button r$", ".aspx"); + Assert.IsNotNull (provider.Find ("runat=\"server\"")); + Assert.IsNotNull (provider.Find ("BorderStyle")); + } + + [Test] + public void TagPropertiesCtrlSpace () + { + var provider = WebFormsTesting.CreateProvider (pageStart + "<asp:Button $", ".aspx", true); + Assert.IsNotNull (provider.Find ("runat=\"server\"")); + Assert.IsNotNull (provider.Find ("id")); + Assert.IsNotNull (provider.Find ("BorderStyle")); + Assert.IsNotNull (provider.Find ("OnClick")); + } } } diff --git a/main/tests/UnitTests/MonoDevelop.Xml.StateEngine/AspNetParsingTests.cs b/main/src/addins/AspNet/Tests/WebForms/WebFormsParsingTests.cs index 9909196630..620877b8f1 100644 --- a/main/tests/UnitTests/MonoDevelop.Xml.StateEngine/AspNetParsingTests.cs +++ b/main/src/addins/AspNet/Tests/WebForms/WebFormsParsingTests.cs @@ -24,29 +24,33 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System; using System.Linq; -using MonoDevelop.AspNet.StateEngine; +using MonoDevelop.AspNet.Tests.Html; +using MonoDevelop.AspNet.WebForms.Dom; +using MonoDevelop.AspNet.WebForms.Parser; +using MonoDevelop.Xml.Dom; +using MonoDevelop.Xml.Parser; +using MonoDevelop.Xml.Tests.Parser; using NUnit.Framework; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.AspNet.Tests.WebForms { [TestFixture] - public class AspNetParsingTests : HtmlParsingTests + class WebFormsParsingTests : HtmlParsingTests { - public override XmlFreeState CreateRootState () + public override XmlRootState CreateRootState () { - return new AspNetFreeState (); + return new WebFormsRootState (); } [Test] public void Directives () { - var parser = new TestParser (CreateRootState (), true); + var parser = new TestXmlParser (CreateRootState (), true); parser.Parse (@"<%@ Page Language=""C#"" Inherits=""SomeGenericType<int>"" %>"); parser.AssertNoErrors (); var doc = (XDocument) parser.Nodes.Peek (); - var directive = doc.Nodes.First () as AspNetDirective; + var directive = doc.Nodes.First () as WebFormsDirective; Assert.NotNull (directive); Assert.AreEqual ("Page", directive.Name.FullName); Assert.AreEqual (2, directive.Attributes.Count ()); @@ -61,26 +65,25 @@ namespace MonoDevelop.Xml.StateEngine [Test] public void AttributeWithExpression () { - var parser = new TestParser (CreateRootState (), true); + var parser = new TestXmlParser (CreateRootState (), true); parser.Parse (@"<tag foo='<%=5$%>' bar=""<%$$5$%><%--$--%>"" baz='<%#5$%>=<%:fhfjhf %0 $%>' quux = <% 5 $%> />", delegate { - parser.AssertNodeIs<AspNetRenderExpression> (); + parser.AssertNodeIs<WebFormsRenderExpression> (); }, delegate { - parser.AssertNodeIs<AspNetResourceExpression> (); + parser.AssertNodeIs<WebFormsResourceExpression> (); }, delegate { - parser.AssertNodeIs<AspNetServerComment> (); + parser.AssertNodeIs<WebFormsServerComment> (); }, delegate { - parser.AssertNodeIs<AspNetDataBindingExpression> (); + parser.AssertNodeIs<WebFormsBindingExpression> (); }, delegate { - parser.AssertNodeIs<AspNetHtmlEncodedExpression> (); + parser.AssertNodeIs<WebFormsHtmlEncodedExpression> (); }, delegate { - parser.AssertNodeIs<AspNetRenderBlock> (); + parser.AssertNodeIs<WebFormsRenderBlock> (); }); parser.AssertNoErrors (); - var doc = (XDocument) parser.Nodes.Peek (); } } -}
\ No newline at end of file +} diff --git a/main/tests/UnitTests/MonoDevelop.AspNet/AspNetTesting.cs b/main/src/addins/AspNet/Tests/WebForms/WebFormsTesting.cs index 64726d19ce..4f8e2444d9 100644 --- a/main/tests/UnitTests/MonoDevelop.AspNet/AspNetTesting.cs +++ b/main/src/addins/AspNet/Tests/WebForms/WebFormsTesting.cs @@ -24,21 +24,20 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System; -using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.Projects; -using MonoDevelop.CSharpBinding.Tests; -using MonoDevelop.AspNet.Gui; -using MonoDevelop.Ide.TypeSystem; +using System.IO; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms; using MonoDevelop.CSharpBinding; +using MonoDevelop.CSharpBinding.Tests; +using MonoDevelop.Ide.CodeCompletion; using MonoDevelop.Ide.Gui; -using MonoDevelop.AspNet.Parser; -using System.IO; +using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Projects; -namespace MonoDevelop.AspNet.Tests +namespace MonoDevelop.AspNet.Tests.WebForms { //largely copied from RazorCompletionTesting - public static class AspNetTesting + static class WebFormsTesting { public static CompletionDataList CreateProvider (string text, string extension, bool isCtrlSpace = false) { @@ -57,8 +56,7 @@ namespace MonoDevelop.AspNet.Tests return textEditorCompletion.HandleCodeCompletion (ctx, editorText[cursorPosition - 1], ref triggerWordLength) as CompletionDataList; } - - static AspNetTestingEditorExtension CreateEditor (string text, string extension, out string editorText, out TestViewContent sev) + static WebFormsTestingEditorExtension CreateEditor (string text, string extension, out string editorText, out TestViewContent sev) { string parsedText; int cursorPosition = text.IndexOf ('$'); @@ -93,16 +91,16 @@ namespace MonoDevelop.AspNet.Tests var doc = new TestDocument (tww); doc.Editor.Document.FileName = sev.ContentName; - var parser = new AspNetParser (); - var parsedDoc = (AspNetParsedDocument) parser.Parse (false, sev.ContentName, new StringReader (parsedText), project); + var parser = new WebFormsParser (); + var parsedDoc = (WebFormsParsedDocument) parser.Parse (false, sev.ContentName, new StringReader (parsedText), project); doc.HiddenParsedDocument = parsedDoc; - return new AspNetTestingEditorExtension (doc); + return new WebFormsTestingEditorExtension (doc); } - public class AspNetTestingEditorExtension : AspNetEditorExtension + public class WebFormsTestingEditorExtension : WebFormsEditorExtension { - public AspNetTestingEditorExtension (Document doc) + public WebFormsTestingEditorExtension (Document doc) { Initialize (doc); } diff --git a/main/src/addins/AspNet/WebForms/Dom/WebFormsBindingExpression.cs b/main/src/addins/AspNet/WebForms/Dom/WebFormsBindingExpression.cs new file mode 100644 index 0000000000..37c5893f40 --- /dev/null +++ b/main/src/addins/AspNet/WebForms/Dom/WebFormsBindingExpression.cs @@ -0,0 +1,62 @@ +//
+// WebFormsBindingExpression.cs
+//
+// Author:
+// Michael Hutchinson <m.j.hutchinson@gmail.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory; +using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.Xml.Dom; + +namespace MonoDevelop.AspNet.WebForms.Dom
+{ + public class WebFormsBindingExpression : WebFormsExpression
+ { + public WebFormsBindingExpression (DomRegion region) : base (region)
+ {
+ } +
+ public WebFormsBindingExpression (TextLocation start) : base (start)
+ {
+ } +
+ protected WebFormsBindingExpression ()
+ {
+ } + + protected override XObject NewInstance ()
+ {
+ return new WebFormsBindingExpression ();
+ } + + public override string ToString ()
+ { + return string.Format ("[WebFormsBindingExpression Location='{0}'", Region); + } + + public override string FriendlyPathRepresentation { + get { return "<%# %>"; } + } + } + +} diff --git a/main/src/addins/AspNet/WebForms/Dom/WebFormsDirective.cs b/main/src/addins/AspNet/WebForms/Dom/WebFormsDirective.cs new file mode 100644 index 0000000000..744e6480e6 --- /dev/null +++ b/main/src/addins/AspNet/WebForms/Dom/WebFormsDirective.cs @@ -0,0 +1,108 @@ +//
+// WebFormsDirective.cs
+//
+// Author:
+// Michael Hutchinson <m.j.hutchinson@gmail.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System.Diagnostics; +using System.Text; +using ICSharpCode.NRefactory; +using MonoDevelop.Xml.Dom; + +namespace MonoDevelop.AspNet.WebForms.Dom
+{ + public class WebFormsDirective : XNode, IAttributedXObject
+ { + XName name; + XAttributeCollection attributes; + + public WebFormsDirective (TextLocation start) : base (start)
+ { + attributes = new XAttributeCollection (this); + } + + public WebFormsDirective (TextLocation start, XName name) : this (start)
+ { + this.name = name; + } + + protected WebFormsDirective ()
+ { + attributes = new XAttributeCollection (this); + } + + public XAttributeCollection Attributes { + get { return attributes; } + } + + public XName Name { + get { return name; } + set { + Debug.Assert (!IsNamed, "Should not name node more than once."); + name = value; + } + } + + public override bool IsComplete { get { return base.IsComplete && IsNamed; } } +
+ public bool IsNamed { get { return name.IsValid; } } + + protected override XObject NewInstance ()
+ { + return new WebFormsDirective (); + } + + protected override void ShallowCopyFrom (XObject copyFrom)
+ { + base.ShallowCopyFrom (copyFrom); + WebFormsDirective copyFromEl = (WebFormsDirective)copyFrom; + name = copyFromEl.name; //XName is immutable value type + } + + public override string ToString ()
+ { + return string.Format ("[WebFormsDirective Name='{0}' Location='{1}'", name.FullName, Region); + } + + public override void BuildTreeString (StringBuilder builder, int indentLevel)
+ { + builder.Append (' ', indentLevel * 2); + builder.AppendFormat ("[WebFormsDirective Name='{0}' Location='{1}' Children=", name.FullName, Region); + builder.AppendLine (); + + builder.Append (' ', indentLevel * 2); + builder.Append ("Attributes="); + builder.AppendLine (); + + foreach (XAttribute att in Attributes)
+ att.BuildTreeString (builder, indentLevel + 1); + + builder.Append (' ', indentLevel * 2); + builder.AppendLine ("]"); + } + + public override string FriendlyPathRepresentation { + get { return "<%@ " + name.FullName + " %>"; } + } + } +} diff --git a/main/src/addins/AspNet/WebForms/Dom/WebFormsDomExtensions.cs b/main/src/addins/AspNet/WebForms/Dom/WebFormsDomExtensions.cs new file mode 100644 index 0000000000..ce84fded9f --- /dev/null +++ b/main/src/addins/AspNet/WebForms/Dom/WebFormsDomExtensions.cs @@ -0,0 +1,72 @@ +//
+// WebFormsDomExtensions.cs
+//
+// Author:
+// Michael Hutchinson <m.j.hutchinson@gmail.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System; +using System.Collections.Generic; +using System.Linq; +using MonoDevelop.Xml.Parser;
+using MonoDevelop.Xml.Dom; + +namespace MonoDevelop.AspNet.WebForms.Dom
+{ + public static class WebFormsDomExtensions
+ { + static XName scriptName = new XName ("script"); + static XName runatName = new XName ("runat"); + static XName idName = new XName ("id"); + + public static bool IsRunatServer (this XElement el)
+ { + var val = el.Attributes.GetValue (runatName, true); + return string.Equals (val, "server", StringComparison.OrdinalIgnoreCase); + } + + public static string GetId (this IAttributedXObject el)
+ { + return el.Attributes.GetValue (idName, true); + } + + public static bool IsServerScriptTag (this XElement el)
+ { + return XName.Equals (el.Name, scriptName, true) && IsRunatServer (el); + } + + public static IEnumerable<T> WithName<T> (this IEnumerable<XNode> nodes, XName name, bool ignoreCase)
+ where T : XNode, INamedXObject
+ { + return nodes.OfType<T> ().Where (el => XName.Equals (el.Name, name, ignoreCase)); + } + + public static IEnumerable<string> GetAllPlaceholderIds (this XDocument doc)
+ { + return doc.AllDescendentNodes + .WithName<XElement> (new XName ("asp", "ContentPlaceHolder"), true) + .Where (x => x.IsRunatServer ()) + .Select (x => x.GetId ()) + .Where (id => !string.IsNullOrEmpty (id)); + } + } +} diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/RemoveXPathHighlightingCommand.cs b/main/src/addins/AspNet/WebForms/Dom/WebFormsExpression.cs index 239f57f0cf..c67eff4f37 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/RemoveXPathHighlightingCommand.cs +++ b/main/src/addins/AspNet/WebForms/Dom/WebFormsExpression.cs @@ -1,7 +1,10 @@ //
-// MonoDevelop XML Editor
+// WebFormsExpression.cs
//
-// Copyright (C) 2006 Matthew Ward
+// Author:
+// Michael Hutchinson <m.j.hutchinson@gmail.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -9,37 +12,37 @@ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
-//
+//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
-//
+//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE. +// THE SOFTWARE.
+ -using MonoDevelop.Components.Commands; -using System; +using ICSharpCode.NRefactory; +using ICSharpCode.NRefactory.TypeSystem;
+using MonoDevelop.Xml.Dom; -namespace MonoDevelop.XmlEditor +namespace MonoDevelop.AspNet.WebForms.Dom
{ - public class RemoveXPathHighlightingCommand : CommandHandler + public abstract class WebFormsExpression : XNode
{ - protected override void Run()
- { - // Find active Xml View. - XmlEditorViewContent view = XmlEditorService.GetActiveView(); - if (view != null) { - view.XmlEditorView.RemoveXPathMarkers(); - } + protected WebFormsExpression (DomRegion region) : base (region)
+ {
+ } +
+ protected WebFormsExpression (TextLocation start) : base (start)
+ {
} - - protected override void Update(CommandInfo info) - { - info.Enabled = XmlEditorService.IsXmlEditorViewContentActive; +
+ protected WebFormsExpression ()
+ {
} } } diff --git a/main/src/addins/AspNet/WebForms/Dom/WebFormsHtmlEncodedExpression.cs b/main/src/addins/AspNet/WebForms/Dom/WebFormsHtmlEncodedExpression.cs new file mode 100644 index 0000000000..f83c02287c --- /dev/null +++ b/main/src/addins/AspNet/WebForms/Dom/WebFormsHtmlEncodedExpression.cs @@ -0,0 +1,63 @@ +//
+// WebFormsHtmlEncodedExpression.cs
+//
+// Author:
+// Michael Hutchinson <m.j.hutchinson@gmail.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory.TypeSystem; +using ICSharpCode.NRefactory;
+using MonoDevelop.Xml.Dom; + +namespace MonoDevelop.AspNet.WebForms.Dom
+{ + + public class WebFormsHtmlEncodedExpression : WebFormsExpression
+ { + public WebFormsHtmlEncodedExpression (DomRegion region) : base (region)
+ {
+ } +
+ public WebFormsHtmlEncodedExpression (TextLocation start) : base (start)
+ {
+ } +
+ protected WebFormsHtmlEncodedExpression ()
+ {
+ } + + protected override XObject NewInstance ()
+ {
+ return new WebFormsHtmlEncodedExpression ();
+ } + + public override string ToString ()
+ { + return string.Format ("[WebFormsHtmlEncodedExpression Location='{0}'", Region); + } + + public override string FriendlyPathRepresentation { + get { return "<%: %>"; } + } + } + +} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Completion/SimpleLists.cs b/main/src/addins/AspNet/WebForms/Dom/WebFormsRenderBlock.cs index af68ac6919..3c715302b6 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Completion/SimpleLists.cs +++ b/main/src/addins/AspNet/WebForms/Dom/WebFormsRenderBlock.cs @@ -1,8 +1,8 @@ // -// SimpleLists.cs +// WebFormsRenderBlock.cs // // Author: -// Michael Hutchinson <mhutchinson@novell.com> +// Michael Hutchinson <m.j.hutchinson@gmail.com> // // Copyright (C) 2008 Novell, Inc (http://www.novell.com) // @@ -26,32 +26,39 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; -using System.Collections.Generic; -using System.Linq; +using ICSharpCode.NRefactory; +using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.Xml.Dom; -using MonoDevelop.Ide.CodeCompletion; - -namespace MonoDevelop.AspNet.Completion +namespace MonoDevelop.AspNet.WebForms.Dom { - - - static class SimpleList + public class WebFormsRenderBlock : XNode { - - public static void AddBoolean (CompletionDataList list, bool defaultValue) + public WebFormsRenderBlock (DomRegion region) : base (region) { - list.Add ("true", "md-literal"); - list.Add ("false", "md-literal"); - list.DefaultCompletionString = defaultValue? "true" : "false"; } - - public static void AddEnum<T> (CompletionDataList list, T defaultValue) + + public WebFormsRenderBlock (TextLocation start) : base (start) + { + } + + protected WebFormsRenderBlock () + { + } + + protected override XObject NewInstance () + { + return new WebFormsRenderBlock (); + } + + public override string ToString () { - foreach (string name in Enum.GetNames (typeof (T))) { - list.Add (name, "md-literal"); - } - list.DefaultCompletionString = defaultValue.ToString (); + return string.Format ("[WebFormsRenderBlock Location='{0}'", Region); + } + + + public override string FriendlyPathRepresentation { + get { return "<% %>"; } } } } diff --git a/main/src/addins/AspNet/WebForms/Dom/WebFormsRenderExpression.cs b/main/src/addins/AspNet/WebForms/Dom/WebFormsRenderExpression.cs new file mode 100644 index 0000000000..479ec8ba31 --- /dev/null +++ b/main/src/addins/AspNet/WebForms/Dom/WebFormsRenderExpression.cs @@ -0,0 +1,61 @@ +//
+// WebFormsRenderExpression.cs
+//
+// Author:
+// Michael Hutchinson <m.j.hutchinson@gmail.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory.TypeSystem; +using ICSharpCode.NRefactory;
+using MonoDevelop.Xml.Dom; + +namespace MonoDevelop.AspNet.WebForms.Dom
+{ + public class WebFormsRenderExpression : WebFormsExpression
+ { + public WebFormsRenderExpression (DomRegion region) : base (region)
+ {
+ } +
+ public WebFormsRenderExpression (TextLocation start) : base (start)
+ {
+ } +
+ protected WebFormsRenderExpression ()
+ {
+ } + + protected override XObject NewInstance ()
+ {
+ return new WebFormsRenderExpression ();
+ } + + public override string ToString ()
+ { + return string.Format ("[WebFormsRenderExpression Location='{0}'", Region); + } + + public override string FriendlyPathRepresentation { + get { return "<%= %>"; } + } + } +} diff --git a/main/src/addins/AspNet/WebForms/Dom/WebFormsResourceExpression.cs b/main/src/addins/AspNet/WebForms/Dom/WebFormsResourceExpression.cs new file mode 100644 index 0000000000..26038b655c --- /dev/null +++ b/main/src/addins/AspNet/WebForms/Dom/WebFormsResourceExpression.cs @@ -0,0 +1,62 @@ +//
+// WebFormsResourceExpression.cs
+//
+// Author:
+// Michael Hutchinson <m.j.hutchinson@gmail.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory; +using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.Xml.Parser;
+using MonoDevelop.Xml.Dom; + +namespace MonoDevelop.AspNet.WebForms.Dom
+{ + public class WebFormsResourceExpression : WebFormsExpression
+ { + public WebFormsResourceExpression (DomRegion region) : base (region)
+ {
+ } +
+ public WebFormsResourceExpression (TextLocation start) : base (start)
+ {
+ } +
+ protected WebFormsResourceExpression ()
+ {
+ } + + protected override XObject NewInstance ()
+ {
+ return new WebFormsResourceExpression ();
+ } + + public override string ToString ()
+ { + return string.Format ("[WebFormsResourceExpression Location='{0}'", Region); + } + + public override string FriendlyPathRepresentation { + get { return "<%$ %>"; } + } + } +} diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/OpenXPathQueryPadCommand.cs b/main/src/addins/AspNet/WebForms/Dom/WebFormsServerComment.cs index 899ce14545..675a854916 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/OpenXPathQueryPadCommand.cs +++ b/main/src/addins/AspNet/WebForms/Dom/WebFormsServerComment.cs @@ -1,7 +1,10 @@ //
-// MonoDevelop XML Editor
+// WebFormsServerComment.cs
//
-// Copyright (C) 2006-2007 Matthew Ward
+// Author:
+// Michael Hutchinson <m.j.hutchinson@gmail.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -9,52 +12,51 @@ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
-//
+//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
-//
+//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE. +// THE SOFTWARE.
+ -using MonoDevelop.Components.Commands; -using MonoDevelop.Core; -using MonoDevelop.Ide.Gui; -using System; +using ICSharpCode.NRefactory; +using ICSharpCode.NRefactory.TypeSystem;
+using MonoDevelop.Xml.Dom; -namespace MonoDevelop.XmlEditor +namespace MonoDevelop.AspNet.WebForms.Dom { - public class OpenXPathQueryPadCommand : CommandHandler + public class WebFormsServerComment : XNode { - static Pad pad; + public WebFormsServerComment (DomRegion region) : base (region)
+ {
+ }
+ + public WebFormsServerComment (TextLocation start) : base (start)
+ {
+ }
+ + protected WebFormsServerComment ()
+ {
+ } - protected override void Run()
- { - if (pad == null) { - GetXPathQueryPad(); - } - if (pad != null) { - pad.BringToFront(); - } + protected override XObject NewInstance ()
+ {
+ return new WebFormsServerComment ();
} - protected override void Update(CommandInfo info) + public override string ToString () { - info.Enabled = XmlEditorService.IsXmlEditorViewContentActive; + return string.Format ("[WebFormsServerComment Location='{0}'", Region); } - void GetXPathQueryPad() - { - foreach (Pad currentPad in IdeApp.Workbench.Pads) { - if (currentPad.Id == "MonoDevelop.XmlEditor.XPathQueryPad") { - pad = currentPad; - break; - } - } + public override string FriendlyPathRepresentation { + get { return "<%-- --%>"; } } } } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs b/main/src/addins/AspNet/WebForms/ILanguageCompletionBuilder.cs index 3532335013..bd559c56d5 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/ILanguageCompletionBuilder.cs +++ b/main/src/addins/AspNet/WebForms/ILanguageCompletionBuilder.cs @@ -26,15 +26,15 @@ using System; using System.Collections.Generic; -using MonoDevelop.AspNet.Parser; -using S = MonoDevelop.Xml.StateEngine; -using MonoDevelop.AspNet.StateEngine; -using Mono.TextEditor; -using MonoDevelop.Ide.TypeSystem; using ICSharpCode.NRefactory.TypeSystem; +using Mono.TextEditor; using MonoDevelop.Ide.CodeCompletion; +using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Xml.Dom; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms.Dom; -namespace MonoDevelop.AspNet.Gui +namespace MonoDevelop.AspNet.WebForms { /// <summary> @@ -86,20 +86,17 @@ namespace MonoDevelop.AspNet.Gui /// </summary> public class DocumentInfo { - public DocumentInfo (ICompilation dom, AspNetParsedDocument aspNetParsedDocument, IEnumerable<string> imports, - IList<ICompilation> references) + public DocumentInfo (ICompilation dom, WebFormsParsedDocument aspNetParsedDocument, IEnumerable<string> imports) { this.Dom = dom; this.AspNetDocument = aspNetParsedDocument; this.Imports = imports; - this.References = references; BuildExpressionAndScriptsLists (); } public ICompilation Dom { get; private set; } - public AspNetParsedDocument AspNetDocument { get; private set; } + public WebFormsParsedDocument AspNetDocument { get; private set; } public ParsedDocument ParsedDocument { get; set; } - public IList<ICompilation> References { get; set; } public IEnumerable<string> Imports { get; private set; } public IUnresolvedTypeDefinition CodeBesideClass { get; set; } @@ -118,14 +115,14 @@ namespace MonoDevelop.AspNet.Gui } } - static string GetDefaultBaseClass (MonoDevelop.AspNet.WebSubtype type) + static string GetDefaultBaseClass (WebSubtype type) { switch (type) { - case MonoDevelop.AspNet.WebSubtype.WebForm: + case WebSubtype.WebForm: return "System.Web.UI.Page"; - case MonoDevelop.AspNet.WebSubtype.MasterPage: + case WebSubtype.MasterPage: return "System.Web.UI.MasterPage"; - case MonoDevelop.AspNet.WebSubtype.WebControl: + case WebSubtype.WebControl: return "System.Web.UI.UserControl"; } throw new InvalidOperationException (string.Format ("Unexpected filetype '{0}'", type)); @@ -133,20 +130,20 @@ namespace MonoDevelop.AspNet.Gui #region parsing for expression and runat="server" script tags - public List<S.XNode> XExpressions { get; private set; } - public List<S.XElement> XScriptBlocks { get; private set; } + public List<XNode> XExpressions { get; private set; } + public List<XElement> XScriptBlocks { get; private set; } void BuildExpressionAndScriptsLists () { - XExpressions = new List<S.XNode> (); - XScriptBlocks = new List<S.XElement> (); + XExpressions = new List<XNode> (); + XScriptBlocks = new List<XElement> (); - foreach (S.XNode node in AspNetDocument.XDocument.AllDescendentNodes) { - if (node is AspNetRenderExpression || node is AspNetHtmlEncodedExpression || node is AspNetRenderBlock) { + foreach (XNode node in AspNetDocument.XDocument.AllDescendentNodes) { + if (node is WebFormsRenderExpression || node is WebFormsHtmlEncodedExpression || node is WebFormsRenderBlock) { XExpressions.Add (node); continue; } - S.XElement el = node as S.XElement; + var el = node as XElement; if (el == null) { continue; } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs b/main/src/addins/AspNet/WebForms/MasterContentFileDescriptionTemplate.cs index d30ec450e9..bced906b6d 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/MasterContentFileDescriptionTemplate.cs +++ b/main/src/addins/AspNet/WebForms/MasterContentFileDescriptionTemplate.cs @@ -26,20 +26,19 @@ using System; using System.Collections.Generic; -using MonoDevelop.AspNet.Gui; -using MonoDevelop.AspNet.Parser; using MonoDevelop.Core; -using MonoDevelop.Projects; using MonoDevelop.Ide.TypeSystem; -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.AspNet.StateEngine; -using System.Linq; +using MonoDevelop.Projects; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms.Parser; +using MonoDevelop.Ide.Templates; +using MonoDevelop.AspNet.WebForms.Dom; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.WebForms { - public class MasterContentFileDescriptionTemplate : AspNetFileDescriptionTemplate + public class MasterContentFileDescriptionTemplate : SingleFileDescriptionTemplate { - public override void ModifyTags (MonoDevelop.Projects.SolutionItem policyParent, MonoDevelop.Projects.Project project, string language, string identifier, string fileName, ref Dictionary<string,string> tags) + public override void ModifyTags (SolutionItem policyParent, Project project, string language, string identifier, string fileName, ref Dictionary<string,string> tags) { base.ModifyTags (policyParent, project, language, identifier, fileName, ref tags); if (fileName == null) @@ -70,7 +69,7 @@ namespace MonoDevelop.AspNet try { var pd = TypeSystemService.ParseFile (project, masterPage.FilePath) - as AspNetParsedDocument; + as WebFormsParsedDocument; if (pd == null) return; diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetAttributeValueState.cs b/main/src/addins/AspNet/WebForms/Parser/WebFormsAttributeValueState.cs index 5c233a7fb4..474089d774 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetAttributeValueState.cs +++ b/main/src/addins/AspNet/WebForms/Parser/WebFormsAttributeValueState.cs @@ -27,11 +27,13 @@ // -using MonoDevelop.Xml.StateEngine; +using MonoDevelop.Xml.Dom; +using MonoDevelop.Xml.Parser; +using MonoDevelop.AspNet.WebForms.Dom; -namespace MonoDevelop.AspNet.StateEngine +namespace MonoDevelop.AspNet.WebForms.Parser { - public class AspNetAttributeValueState : XmlAttributeValueState + public class WebFormsAttributeValueState : XmlAttributeValueState { enum AttState { Incoming = 0, @@ -49,12 +51,12 @@ namespace MonoDevelop.AspNet.StateEngine protected new static readonly int TagMask = 15 << XmlAttributeValueState.TagShift; protected new static readonly int TagShift = 4 + XmlAttributeValueState.TagShift; - void SetTag (IParseContext context, AttState value) + void SetTag (IXmlParserContext context, AttState value) { context.StateTag = (context.StateTag & ~TagMask) | ((int)value << XmlAttributeValueState.TagShift); } - public override State PushChar (char c, IParseContext context, ref string rollback) + public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback) { var maskedTag = (AttState) ((context.StateTag & TagMask) >> XmlAttributeValueState.TagShift); switch (maskedTag) { @@ -81,12 +83,12 @@ namespace MonoDevelop.AspNet.StateEngine rollback = "<%"; return Parent; } - AspNetExpressionState.AddExpressionNode (c, context); + WebFormsExpressionState.AddExpressionNode (c, context); SetTag (context, AttState.Expression); return null; case AttState.PercentDash: if (c == '-') { - context.Nodes.Push (new AspNetServerComment (context.LocationMinus (4))); + context.Nodes.Push (new WebFormsServerComment (context.LocationMinus (4))); SetTag (context, AttState.Comment); return null; } diff --git a/main/src/addins/AspNet/WebForms/Parser/WebFormsDirectiveAttributeState.cs b/main/src/addins/AspNet/WebForms/Parser/WebFormsDirectiveAttributeState.cs new file mode 100644 index 0000000000..3257f7830b --- /dev/null +++ b/main/src/addins/AspNet/WebForms/Parser/WebFormsDirectiveAttributeState.cs @@ -0,0 +1,47 @@ +//
+// WebFormsDirectiveAttributeState.cs
+//
+// Author:
+// Michael Hutchinson <mhutch@xamarin.com>
+//
+// Copyright (c) 2014 Xamarin Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System; +using System.Diagnostics; + +using MonoDevelop.Xml.Parser; + +namespace MonoDevelop.AspNet.WebForms.Parser +{ + public class WebFormsDirectiveAttributeState : XmlAttributeValueState
+ {
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
+ { + // allow < in values
+ if (context.StateTag != '\0' && context.CurrentStateLength > 1 && c == '<') {
+ context.KeywordBuilder.Append (c); + return null;
+ }
+ return base.PushChar (c, context, ref rollback);
+ }
+ } + +} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs b/main/src/addins/AspNet/WebForms/Parser/WebFormsDirectiveState.cs index c4d1c8dd05..adb91a3091 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetDirectiveState.cs +++ b/main/src/addins/AspNet/WebForms/Parser/WebFormsDirectiveState.cs @@ -29,53 +29,42 @@ using System; using System.Diagnostics; -using MonoDevelop.Xml.StateEngine; +using MonoDevelop.Xml.Parser; +using MonoDevelop.AspNet.WebForms.Dom; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.AspNet.StateEngine -{ - public class AspNetDirectiveAttributeState : XmlAttributeValueState
- {
- public override State PushChar (char c, IParseContext context, ref string rollback)
- { - // allow < in values
- if (context.StateTag != '\0' && context.CurrentStateLength > 1 && c == '<') {
- context.KeywordBuilder.Append (c); - return null;
- }
- return base.PushChar (c, context, ref rollback);
- }
- } - - public class AspNetDirectiveState : State +namespace MonoDevelop.AspNet.WebForms.Parser +{ + public class WebFormsDirectiveState : XmlParserState { readonly XmlAttributeState AttributeState; readonly XmlNameState NameState; - public AspNetDirectiveState () : this ( + public WebFormsDirectiveState () : this ( new XmlNameState (), - new XmlAttributeState (new XmlNameState (), new AspNetDirectiveAttributeState ()) + new XmlAttributeState (new XmlNameState (), new WebFormsDirectiveAttributeState ()) )
{
} - public AspNetDirectiveState (XmlNameState nameState, XmlAttributeState attributeState) + public WebFormsDirectiveState (XmlNameState nameState, XmlAttributeState attributeState) { this.AttributeState = attributeState; this.NameState = nameState; Adopt (this.AttributeState); Adopt (this.NameState); -
+
} const int ENDING = 1; - public override State PushChar (char c, IParseContext context, ref string rollback) + public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback) { - AspNetDirective directive = context.Nodes.Peek () as AspNetDirective; + var directive = context.Nodes.Peek () as WebFormsDirective; if (directive == null || directive.IsComplete) { - directive = new AspNetDirective (context.LocationMinus (4)); // 4 == <%@ + current char + directive = new WebFormsDirective (context.LocationMinus (4)); // 4 == <%@ + current char context.Nodes.Push (directive); } @@ -103,7 +92,7 @@ namespace MonoDevelop.AspNet.StateEngine } else { directive.End (context.Location); if (context.BuildTree) { - XContainer container = (XContainer)context.Nodes.Peek (); + var container = (XContainer)context.Nodes.Peek (); container.AddChildNode (directive); } } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs b/main/src/addins/AspNet/WebForms/Parser/WebFormsExpressionState.cs index 8ba27eb549..8a6bfe2e9a 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetExpressionState.cs +++ b/main/src/addins/AspNet/WebForms/Parser/WebFormsExpressionState.cs @@ -26,20 +26,21 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; using System.Diagnostics; -using MonoDevelop.Xml.StateEngine; +using MonoDevelop.Xml.Parser; +using MonoDevelop.AspNet.WebForms.Dom; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.AspNet.StateEngine +namespace MonoDevelop.AspNet.WebForms.Parser { - public class AspNetExpressionState : State + public class WebFormsExpressionState : XmlParserState { const int NONE = 0; const int PERCENT = 1; - public override State PushChar (char c, IParseContext context, ref string rollback) + public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback) { if (context.CurrentStateLength == 1) { AddExpressionNode (c, context); @@ -68,30 +69,30 @@ namespace MonoDevelop.AspNet.StateEngine return null; } - internal static void AddExpressionNode (char c, IParseContext context) + internal static void AddExpressionNode (char c, IXmlParserContext context) { Debug.Assert (c != '@' && c!= '-', "AspNetExpressionState should not be passed a directive or comment"); switch (c) { //DATABINDING EXPRESSION <%# case '#': - context.Nodes.Push (new AspNetDataBindingExpression (context.LocationMinus (3))); + context.Nodes.Push (new WebFormsBindingExpression (context.LocationMinus (3))); break; //RESOURCE EXPRESSION <%$ case '$': - context.Nodes.Push (new AspNetResourceExpression (context.LocationMinus (3))); + context.Nodes.Push (new WebFormsResourceExpression (context.LocationMinus (3))); break; //RENDER EXPRESSION <%= case '=': - context.Nodes.Push (new AspNetRenderExpression (context.LocationMinus (3))); + context.Nodes.Push (new WebFormsRenderExpression (context.LocationMinus (3))); break; //HTML ENCODED EXPRESSION <%: case ':': - context.Nodes.Push (new AspNetHtmlEncodedExpression (context.LocationMinus (3))); + context.Nodes.Push (new WebFormsHtmlEncodedExpression (context.LocationMinus (3))); break; // RENDER BLOCK default: - context.Nodes.Push (new AspNetRenderBlock (context.LocationMinus (3))); + context.Nodes.Push (new WebFormsRenderBlock (context.LocationMinus (3))); break; } } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs b/main/src/addins/AspNet/WebForms/Parser/WebFormsRootState.cs index f6aa07cbba..a35e3eeb0d 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetFreeState.cs +++ b/main/src/addins/AspNet/WebForms/Parser/WebFormsRootState.cs @@ -26,43 +26,41 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; +using MonoDevelop.Xml.Parser; +using MonoDevelop.AspNet.Html.Parser; -using MonoDevelop.Xml.StateEngine; - -namespace MonoDevelop.AspNet.StateEngine +namespace MonoDevelop.AspNet.WebForms.Parser { - - public class AspNetFreeState : XmlFreeState + public class WebFormsRootState : XmlRootState { protected const int BRACKET_PERCENT = MAXCONST + 1; - readonly AspNetExpressionState expressionState; - readonly AspNetDirectiveState directiveState; - readonly AspNetServerCommentState serverCommentState; + readonly WebFormsExpressionState expressionState; + readonly WebFormsDirectiveState directiveState; + readonly WebFormsServerCommentState serverCommentState; - public AspNetFreeState () : this ( - new HtmlTagState (new XmlAttributeState (new XmlNameState (), new AspNetAttributeValueState ())), + public WebFormsRootState () : this ( + new HtmlTagState (new XmlAttributeState (new XmlNameState (), new WebFormsAttributeValueState ())), new HtmlClosingTagState (true), new XmlCommentState (), new XmlCDataState (), new XmlDocTypeState (), new XmlProcessingInstructionState (), - new AspNetExpressionState (), - new AspNetDirectiveState (), - new AspNetServerCommentState () + new WebFormsExpressionState (), + new WebFormsDirectiveState (), + new WebFormsServerCommentState () ) { } - public AspNetFreeState ( + public WebFormsRootState ( HtmlTagState tagState, HtmlClosingTagState closingTagState, XmlCommentState commentState, XmlCDataState cDataState, XmlDocTypeState docTypeState, XmlProcessingInstructionState processingInstructionState, - AspNetExpressionState expressionState, - AspNetDirectiveState directiveState, - AspNetServerCommentState serverCommentState + WebFormsExpressionState expressionState, + WebFormsDirectiveState directiveState, + WebFormsServerCommentState serverCommentState ) : base (tagState, closingTagState, commentState, cDataState, docTypeState, processingInstructionState)
{ @@ -75,19 +73,19 @@ namespace MonoDevelop.AspNet.StateEngine Adopt (this.ServerCommentState);
} - protected AspNetExpressionState ExpressionState { + protected WebFormsExpressionState ExpressionState { get { return expressionState; } } - protected AspNetDirectiveState DirectiveState { + protected WebFormsDirectiveState DirectiveState { get { return directiveState; } } - protected AspNetServerCommentState ServerCommentState { + protected WebFormsServerCommentState ServerCommentState { get { return serverCommentState; } }
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{ if (c == '%' && context.StateTag == BRACKET) { context.StateTag = BRACKET_PERCENT; diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs b/main/src/addins/AspNet/WebForms/Parser/WebFormsServerCommentState.cs index 7df1075e30..ef008513ec 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.StateEngine/AspNetServerCommentState.cs +++ b/main/src/addins/AspNet/WebForms/Parser/WebFormsServerCommentState.cs @@ -28,11 +28,13 @@ using System; -using MonoDevelop.Xml.StateEngine; +using MonoDevelop.Xml.Dom; +using MonoDevelop.Xml.Parser; +using MonoDevelop.AspNet.WebForms.Dom; -namespace MonoDevelop.AspNet.StateEngine +namespace MonoDevelop.AspNet.WebForms.Parser { - public class AspNetServerCommentState : XmlCommentState + public class WebFormsServerCommentState : XmlCommentState { const int NOMATCH = 0; @@ -40,10 +42,10 @@ namespace MonoDevelop.AspNet.StateEngine const int DOUBLE_DASH = 2; const int PERCENT = 3;
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{ if (context.CurrentStateLength == 1) { - context.Nodes.Push (new AspNetServerComment (context.LocationMinus (context.CurrentStateLength + "<%--".Length))); + context.Nodes.Push (new WebFormsServerComment (context.LocationMinus (context.CurrentStateLength + "<%--".Length))); } switch (context.StateTag) { @@ -68,7 +70,7 @@ namespace MonoDevelop.AspNet.StateEngine case PERCENT: if (c == '>') { - AspNetServerComment comment = (AspNetServerComment) context.Nodes.Pop (); + var comment = (WebFormsServerComment) context.Nodes.Pop (); comment.End (context.Location); if (context.BuildTree) { XObject ob = context.Nodes.Peek (); diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs b/main/src/addins/AspNet/WebForms/SuggestedHandlerCompletionData.cs index 6776d8a017..1e7d7dca23 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/SuggestedHandlerCompletionData.cs +++ b/main/src/addins/AspNet/WebForms/SuggestedHandlerCompletionData.cs @@ -35,14 +35,14 @@ using MonoDevelop.DesignerSupport; using ICSharpCode.NRefactory.TypeSystem; using System.Linq; -namespace MonoDevelop.AspNet.Parser +namespace MonoDevelop.AspNet.WebForms { - public class SuggestedHandlerCompletionData : CompletionData + class SuggestedHandlerCompletionData : CompletionData { - Project project; - CodeMemberMethod methodInfo; - IType codeBehindClass; - IUnresolvedTypeDefinition codeBehindClassPart; + readonly Project project; + readonly CodeMemberMethod methodInfo; + readonly IType codeBehindClass; + readonly IUnresolvedTypeDefinition codeBehindClassPart; public SuggestedHandlerCompletionData (Project project, CodeMemberMethod methodInfo, IType codeBehindClass, IUnresolvedTypeDefinition codeBehindClassPart) { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/CodeBehind.cs b/main/src/addins/AspNet/WebForms/WebFormsCodeBehind.cs index 64206272b0..bfdce9399f 100755..100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/CodeBehind.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsCodeBehind.cs @@ -30,23 +30,20 @@ // using System; -using System.Linq; -using System.IO; -using System.Collections; +using System.CodeDom; using System.Collections.Generic; +using System.Linq; +using ICSharpCode.NRefactory.TypeSystem; using MonoDevelop.Core; -using MonoDevelop.Projects; using MonoDevelop.DesignerSupport; - -using MonoDevelop.AspNet.Parser; -using System.CodeDom; -using ICSharpCode.NRefactory.TypeSystem; using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Projects; +using MonoDevelop.AspNet.Projects; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.WebForms { - public static class CodeBehind + static class WebFormsCodeBehind { public static string GetCodeBehindClassName (ProjectFile file) { @@ -77,7 +74,7 @@ namespace MonoDevelop.AspNet var result = new BuildResult (); //parse the ASP.NET file - var parsedDocument = TypeSystemService.ParseFile (project, file.FilePath) as AspNetParsedDocument; + var parsedDocument = TypeSystemService.ParseFile (project, file.FilePath) as WebFormsParsedDocument; if (parsedDocument == null) { result.AddError (string.Format ("Failed to parse file '{0}'", file.Name)); return result; @@ -107,7 +104,7 @@ namespace MonoDevelop.AspNet public static BuildResult GenerateCodeBehind ( AspNetAppProject project, string filename, - AspNetParsedDocument document, + WebFormsParsedDocument document, out CodeCompileUnit ccu) { ccu = null; @@ -120,8 +117,8 @@ namespace MonoDevelop.AspNet if (string.IsNullOrEmpty (className)) return result; - var refman = new DocumentReferenceManager (project) { Doc = document }; - var memberList = new MemberListBuilder (refman, document.XDocument); + var refman = new WebFormsTypeContext { Project = project, Doc = document }; + var memberList = new WebFormsMemberListBuilder (refman, document.XDocument); memberList.Build (); AddErrorsToResult (result, filename, memberList.Errors); @@ -153,9 +150,9 @@ namespace MonoDevelop.AspNet } else if (!String.IsNullOrEmpty (document.Info.MasterPageTypeVPath)) { try { ProjectFile resolvedMaster = project.ResolveVirtualPath (document.Info.MasterPageTypeVPath, document.FileName); - AspNetParsedDocument masterParsedDocument = null; + WebFormsParsedDocument masterParsedDocument = null; if (resolvedMaster != null) - masterParsedDocument = TypeSystemService.ParseFile (project, resolvedMaster.FilePath) as AspNetParsedDocument; + masterParsedDocument = TypeSystemService.ParseFile (project, resolvedMaster.FilePath) as WebFormsParsedDocument; if (masterParsedDocument != null && !String.IsNullOrEmpty (masterParsedDocument.Info.InheritedClass)) masterTypeName = masterParsedDocument.Info.InheritedClass; } catch (Exception ex) { @@ -187,7 +184,7 @@ namespace MonoDevelop.AspNet if (memberList.Members.Count == 0) return result; - var dom = refman.TypeCtx.Compilation; + var dom = refman.Compilation; var cls = ReflectionHelper.ParseReflectionName (className).Resolve (dom); var members = GetDesignerMembers (memberList.Members.Values, cls, filename); @@ -204,8 +201,6 @@ namespace MonoDevelop.AspNet /// <param name="members">Full list of CodeBehind members</param> /// <param name="cls">The class to which these members' partial class will be added.</param> /// <param name="designerFile">Members in this file will be ignored.</param> - /// <param name="resolveDom">The ITypeResolveContext to use for resolving base types.</param> - /// <param name="internalDom">The ITypeResolveContext to use for checking whether members are accessible as internal.</param> /// <returns>The filtered list of non-conflicting members.</returns> // TODO: check compatibilty with existing members public static IEnumerable<CodeBehindMember> GetDesignerMembers ( @@ -222,7 +217,7 @@ namespace MonoDevelop.AspNet continue; existingMembers.Add (member.Name); } - if (!cls.DirectBaseTypes.Any (t => t.Kind != TypeKind.Interface)) + if (cls.DirectBaseTypes.All (t => t.Kind == TypeKind.Interface)) break; cls = cls.DirectBaseTypes.First(t => t.Kind != TypeKind.Interface); } diff --git a/main/src/addins/AspNet/WebForms/WebFormsCodeBehindTypeNameCache.cs b/main/src/addins/AspNet/WebForms/WebFormsCodeBehindTypeNameCache.cs new file mode 100644 index 0000000000..526911a74f --- /dev/null +++ b/main/src/addins/AspNet/WebForms/WebFormsCodeBehindTypeNameCache.cs @@ -0,0 +1,61 @@ +//
+// CodeBehindTypeNameCache.cs
+//
+// Author:
+// Michael Hutchinson <mhutch@xamarin.com>
+//
+// Copyright (c) 2014 Xamarin Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System; +using System.IO; +using MonoDevelop.Core; + +using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Ide; +using MonoDevelop.AspNet.WebForms;
+using MonoDevelop.AspNet.Projects; + +namespace MonoDevelop.AspNet.WebForms +{ + class WebFormsCodeBehindTypeNameCache : ProjectFileCache<AspNetAppProject,string> + { + public WebFormsCodeBehindTypeNameCache (AspNetAppProject proj) : base (proj) + { + } + + protected override string GenerateInfo (string filename) + { + try { + var doc = TypeSystemService.ParseFile (filename, DesktopService.GetMimeTypeForUri (filename), File.ReadAllText (filename)) as WebFormsParsedDocument; + if (doc != null && !string.IsNullOrEmpty (doc.Info.InheritedClass)) + return doc.Info.InheritedClass; + } catch (Exception ex) { + LoggingService.LogError ("Error reading codebehind name for file '" + filename + "'", ex); + } + return null; + } + + public string GetCodeBehindTypeName (string fileName) + { + return Get (fileName); + } + } +} diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/Directive.cs b/main/src/addins/AspNet/WebForms/WebFormsDirectiveCompletion.cs index c35dd52786..54839d53ae 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/Directive.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsDirectiveCompletion.cs @@ -34,16 +34,28 @@ using System.Text; using System.Web.UI; using MonoDevelop.Core; -using MonoDevelop.Ide.Gui.Content; -using MonoDevelop.Projects; using MonoDevelop.Ide.CodeCompletion; +using MonoDevelop.AspNet.Projects; -using MonoDevelop.AspNet.Completion; - -namespace MonoDevelop.AspNet.Parser +namespace MonoDevelop.AspNet.WebForms { - static class DirectiveCompletion + static class WebFormsDirectiveCompletion { + static void AddBoolean (CompletionDataList list, bool defaultValue) + { + list.Add ("true", "md-literal"); + list.Add ("false", "md-literal"); + list.DefaultCompletionString = defaultValue? "true" : "false"; + } + + static void AddEnum<T> (CompletionDataList list, T defaultValue) + { + foreach (string name in Enum.GetNames (typeof (T))) { + list.Add (name, "md-literal"); + } + list.DefaultCompletionString = defaultValue.ToString (); + } + // // NOTE: MS' documentation for directives is at http://msdn.microsoft.com/en-us/library/t8syafc7.aspx // @@ -203,7 +215,7 @@ namespace MonoDevelop.AspNet.Parser case "smartnavigation": case "strict": //VB ONLY case "trace": - SimpleList.AddBoolean (list, false); + AddBoolean (list, false); break; // @@ -218,7 +230,7 @@ namespace MonoDevelop.AspNet.Parser case "enableviewstatemac": case "validaterequest": //enabled in machine.config case "debug": - SimpleList.AddBoolean (list, true); + AddBoolean (list, true); break; // @@ -230,7 +242,7 @@ namespace MonoDevelop.AspNet.Parser break; case "compilationmode": - SimpleList.AddEnum (list, System.Web.UI.CompilationMode.Always); + AddEnum (list, System.Web.UI.CompilationMode.Always); break; case "culture": @@ -265,7 +277,7 @@ namespace MonoDevelop.AspNet.Parser break; case "viewstateencryptionmode": - SimpleList.AddEnum (list, ViewStateEncryptionMode.Auto); + AddEnum (list, ViewStateEncryptionMode.Auto); break; case "warninglevel": @@ -275,7 +287,7 @@ namespace MonoDevelop.AspNet.Parser case "masterpagefile": return project != null - ? MonoDevelop.Html.PathCompletion.GetPathCompletion (project, "*.master", fromFile, + ? MonoDevelop.AspNet.Html.HtmlPathCompletion.GetPathCompletion (project, "*.master", fromFile, x => "~/" + x.ProjectVirtualPath.ToString ().Replace (System.IO.Path.PathSeparator, '/')) : null; @@ -339,7 +351,7 @@ namespace MonoDevelop.AspNet.Parser switch (attribute.ToLowerInvariant ()) { case "src": return project != null - ? MonoDevelop.Html.PathCompletion.GetPathCompletion (project, "*.ascx", fromFile, + ? MonoDevelop.AspNet.Html.HtmlPathCompletion.GetPathCompletion (project, "*.ascx", fromFile, x => "~/" + x.ProjectVirtualPath.ToString ().Replace (System.IO.Path.PathSeparator, '/')) : null; } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs b/main/src/addins/AspNet/WebForms/WebFormsEditorExtension.cs index 325e9305d1..96a0239b78 100755..100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Gui/AspNetEditorExtension.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsEditorExtension.cs @@ -27,34 +27,37 @@ // using System; -using System.Linq; using System.Collections.Generic; using System.Diagnostics; +using System.Linq; +using System.Text.RegularExpressions; + +using ICSharpCode.NRefactory; +using ICSharpCode.NRefactory.TypeSystem; using MonoDevelop.Core; +using MonoDevelop.DesignerSupport; using MonoDevelop.Ide.CodeCompletion; using MonoDevelop.Ide.Gui.Content; - -using MonoDevelop.AspNet; -using MonoDevelop.AspNet.Parser; -using MonoDevelop.DesignerSupport; - -using S = MonoDevelop.Xml.StateEngine; -using MonoDevelop.AspNet.StateEngine; -using System.Text.RegularExpressions; -using ICSharpCode.NRefactory.TypeSystem; using MonoDevelop.Ide.TypeSystem; -using ICSharpCode.NRefactory; +using MonoDevelop.AspNet.Html; +using MonoDevelop.AspNet.Html.Parser; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms.Parser; +using S = MonoDevelop.Xml.Parser; +using MonoDevelop.AspNet.WebForms.Dom; +using MonoDevelop.Xml.Parser; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.AspNet.Gui +namespace MonoDevelop.AspNet.WebForms { - public class AspNetEditorExtension : BaseHtmlEditorExtension + public class WebFormsEditorExtension : BaseHtmlEditorExtension { static readonly Regex DocTypeRegex = new Regex (@"(?:PUBLIC|public)\s+""(?<fpi>[^""]*)""\s+""(?<uri>[^""]*)"""); - AspNetParsedDocument aspDoc; + WebFormsParsedDocument aspDoc; AspNetAppProject project; - DocumentReferenceManager refman; + WebFormsTypeContext refman = new WebFormsTypeContext (); ILanguageCompletionBuilder documentBuilder; LocalDocumentInfo localDocumentInfo; @@ -63,13 +66,19 @@ namespace MonoDevelop.AspNet.Gui ICompletionWidget defaultCompletionWidget; MonoDevelop.Ide.Gui.Document defaultDocument; - bool HasDoc { get { return aspDoc != null; } } + bool HasDoc { get { return aspDoc != null; } } + + public WebFormsTypeContext ReferenceManager { + get { + return refman; + } + } #region Setup and teardown - protected override S.RootState CreateRootState () + protected override XmlRootState CreateRootState () { - return new AspNetFreeState (); + return new WebFormsRootState (); } #endregion @@ -77,38 +86,33 @@ namespace MonoDevelop.AspNet.Gui protected override void OnParsedDocumentUpdated () { base.OnParsedDocumentUpdated (); - aspDoc = CU as AspNetParsedDocument; - - var newProj = base.Document.Project as AspNetAppProject; - if (newProj == null) - return; - //throw new InvalidOperationException ("Document has no project"); + aspDoc = CU as WebFormsParsedDocument; + if (HasDoc) + refman.Doc = aspDoc; - if (project != newProj) { + var newProj = Document.Project as AspNetAppProject; + if (newProj != null) { project = newProj; - refman = new DocumentReferenceManager (project); + refman.Project = newProj; } - if (HasDoc) - refman.Doc = aspDoc; - documentBuilder = HasDoc ? LanguageCompletionBuilderService.GetBuilder (aspDoc.Info.Language) : null; if (documentBuilder != null) { - documentInfo = new DocumentInfo (document.Compilation, aspDoc, refman.GetUsings (), refman.GetDoms ()); + documentInfo = new DocumentInfo (refman.Compilation, aspDoc, refman.GetUsings ()); documentInfo.ParsedDocument = documentBuilder.BuildDocument (documentInfo, Editor); documentInfo.CodeBesideClass = CreateCodeBesideClass (documentInfo, refman); } } - static IUnresolvedTypeDefinition CreateCodeBesideClass (DocumentInfo info, DocumentReferenceManager refman) + static IUnresolvedTypeDefinition CreateCodeBesideClass (DocumentInfo info, WebFormsTypeContext refman) { - var memberList = new MemberListBuilder (refman, info.AspNetDocument.XDocument); + var memberList = new WebFormsMemberListBuilder (refman, info.AspNetDocument.XDocument); memberList.Build (); var t = new ICSharpCode.NRefactory.TypeSystem.Implementation.DefaultUnresolvedTypeDefinition (info.ClassName); - var dom = refman.TypeCtx.Compilation; + var dom = refman.Compilation; var baseType = ReflectionHelper.ParseReflectionName (info.BaseType).Resolve (dom); - foreach (var m in CodeBehind.GetDesignerMembers (memberList.Members.Values, baseType, null)) { + foreach (var m in WebFormsCodeBehind.GetDesignerMembers (memberList.Members.Values, baseType, null)) { t.Members.Add (new ICSharpCode.NRefactory.TypeSystem.Implementation.DefaultUnresolvedField (t, m.Name) { Accessibility = Accessibility.Protected, ReturnType = m.Type.ToTypeReference () @@ -120,37 +124,37 @@ namespace MonoDevelop.AspNet.Gui protected override ICompletionDataList HandleCodeCompletion (CodeCompletionContext completionContext, bool forced, ref int triggerWordLength) { - ITextBuffer buf = this.Buffer; + ITextBuffer buf = Buffer; // completionChar may be a space even if the current char isn't, when ctrl-space is fired t char currentChar = completionContext.TriggerOffset < 1? ' ' : buf.GetCharAt (completionContext.TriggerOffset - 1); //char previousChar = completionContext.TriggerOffset < 2? ' ' : buf.GetCharAt (completionContext.TriggerOffset - 2); //directive names - if (Tracker.Engine.CurrentState is AspNetDirectiveState) { - var directive = Tracker.Engine.Nodes.Peek () as AspNetDirective; + if (Tracker.Engine.CurrentState is WebFormsDirectiveState) { + var directive = Tracker.Engine.Nodes.Peek () as WebFormsDirective; if (HasDoc && directive != null && directive.Region.BeginLine == completionContext.TriggerLine && directive.Region.BeginColumn + 3 == completionContext.TriggerLineOffset) { - return DirectiveCompletion.GetDirectives (aspDoc.Type); + return WebFormsDirectiveCompletion.GetDirectives (aspDoc.Type); } return null; } - if (Tracker.Engine.CurrentState is S.XmlNameState && Tracker.Engine.CurrentState.Parent is AspNetDirectiveState) { - var directive = Tracker.Engine.Nodes.Peek () as AspNetDirective; + if (Tracker.Engine.CurrentState is XmlNameState && Tracker.Engine.CurrentState.Parent is WebFormsDirectiveState) { + var directive = Tracker.Engine.Nodes.Peek () as WebFormsDirective; if (HasDoc && directive != null && directive.Region.BeginLine == completionContext.TriggerLine && directive.Region.BeginColumn + 4 == completionContext.TriggerLineOffset && char.IsLetter (currentChar)) { triggerWordLength = 1; - return DirectiveCompletion.GetDirectives (aspDoc.Type); + return WebFormsDirectiveCompletion.GetDirectives (aspDoc.Type); } return null; } - bool isAspExprState = Tracker.Engine.CurrentState is AspNetExpressionState; + bool isAspExprState = Tracker.Engine.CurrentState is WebFormsExpressionState; //non-xml tag completion - if (currentChar == '<' && !(isAspExprState || Tracker.Engine.CurrentState is S.XmlFreeState)) { + if (currentChar == '<' && !(isAspExprState || Tracker.Engine.CurrentState is XmlRootState)) { var list = new CompletionDataList (); AddAspBeginExpressions (list); return list; @@ -160,14 +164,14 @@ namespace MonoDevelop.AspNet.Gui //FIXME: get doctype from master page DocType = null; } else { - DocType = new MonoDevelop.Xml.StateEngine.XDocType (TextLocation.Empty); + DocType = new XDocType (TextLocation.Empty); var matches = DocTypeRegex.Match (aspDoc.Info.DocType); DocType.PublicFpi = matches.Groups["fpi"].Value; DocType.Uri = matches.Groups["uri"].Value; } if (Tracker.Engine.CurrentState is HtmlScriptBodyState) { - var el = Tracker.Engine.Nodes.Peek () as S.XElement; + var el = Tracker.Engine.Nodes.Peek () as XElement; if (el != null) { if (el.IsRunatServer ()) { if (documentBuilder != null) { @@ -192,7 +196,7 @@ namespace MonoDevelop.AspNet.Gui } //case insensitive, no prefix - static S.XAttribute GetHtmlAtt (S.XElement el, string name) + static XAttribute GetHtmlAtt (XElement el, string name) { return el.Attributes.FirstOrDefault (a => a.IsNamed && !a.Name.HasPrefix && a.Name.Name.Equals (name, StringComparison.OrdinalIgnoreCase)); } @@ -233,7 +237,7 @@ namespace MonoDevelop.AspNet.Gui { //completion for ASP.NET expressions // TODO: Detect <script> state here !!! - if (documentBuilder != null && Tracker.Engine.CurrentState is AspNetExpressionState) { + if (documentBuilder != null && Tracker.Engine.CurrentState is WebFormsExpressionState) { InitializeCodeCompletion ('\0'); return documentBuilder.HandlePopupCompletion (defaultDocument, documentInfo, localDocumentInfo); } @@ -249,6 +253,7 @@ namespace MonoDevelop.AspNet.Gui OnCompletionContextChanged (CompletionWidget, EventArgs.Empty); }; defaultDocument.Saved += AsyncUpdateDesignerFile; + OnParsedDocumentUpdated (); } void AsyncUpdateDesignerFile (object sender, EventArgs e) @@ -260,7 +265,7 @@ namespace MonoDevelop.AspNet.Gui if (file == null) return; - var designerFile = CodeBehind.GetDesignerFile (file); + var designerFile = WebFormsCodeBehind.GetDesignerFile (file); if (designerFile == null) return; @@ -269,7 +274,7 @@ namespace MonoDevelop.AspNet.Gui GettextCatalog.GetString ("Updating ASP.NET Designer File..."), null, false)) { var writer = CodeBehindWriter.CreateForProject (monitor, project); - var result = CodeBehind.UpdateDesignerFile (writer, project, file, designerFile); + var result = WebFormsCodeBehind.UpdateDesignerFile (writer, project, file, designerFile); //don't worry about reporting error's here for now //if the user wants to see errors, they can compile if (!result.Failed) @@ -290,7 +295,7 @@ namespace MonoDevelop.AspNet.Gui public override bool KeyPress (Gdk.Key key, char keyChar, Gdk.ModifierType modifier) { Tracker.UpdateEngine (); - bool isAspExprState = Tracker.Engine.CurrentState is AspNetExpressionState; + bool isAspExprState = Tracker.Engine.CurrentState is WebFormsExpressionState; if (documentBuilder == null || !isAspExprState) return base.KeyPress (key, keyChar, modifier); InitializeCodeCompletion ('\0'); @@ -347,26 +352,14 @@ namespace MonoDevelop.AspNet.Gui protected override void GetElementCompletions (CompletionDataList list) { - S.XName parentName = GetParentElementName (0); - - //fallback - if (!HasDoc) { - AddAspBeginExpressions (list); - string aspPrefix = "asp:"; - var type = ReflectionHelper.ParseReflectionName ("System.Web.UI.Control").Resolve (TypeSystemService.GetCompilation (project)); - foreach (var cls in WebTypeContext.ListSystemControlClasses (type, project)) - list.Add (new AspTagCompletionData (aspPrefix, cls)); - - base.GetElementCompletions (list); - return; - } + XName parentName = GetParentElementName (0); IType controlClass = null; if (parentName.HasPrefix) { controlClass = refman.GetControlType (parentName.Prefix, parentName.Name); } else { - S.XName grandparentName = GetParentElementName (1); + XName grandparentName = GetParentElementName (1); if (grandparentName.IsValid && grandparentName.HasPrefix) controlClass = refman.GetControlType (grandparentName.Prefix, grandparentName.Name); } @@ -376,7 +369,7 @@ namespace MonoDevelop.AspNet.Gui //root element? if (!parentName.IsValid) { if (aspDoc.Info.Subtype == WebSubtype.WebControl) { - AddHtmlTagCompletionData (list, Schema, new S.XName ("div")); + AddHtmlTagCompletionData (list, Schema, new XName ("div")); AddAspBeginExpressions (list); list.AddRange (refman.GetControlCompletionData ()); AddMiscBeginTags (list); @@ -403,7 +396,7 @@ namespace MonoDevelop.AspNet.Gui list.AddRange (refman.GetControlCompletionData ()); AddMiscBeginTags (list); //TODO: get correct parent for Content tags - AddHtmlTagCompletionData (list, Schema, new S.XName ("body")); + AddHtmlTagCompletionData (list, Schema, new XName ("body")); return; } @@ -438,7 +431,7 @@ namespace MonoDevelop.AspNet.Gui if (property.ReturnType.ToString () == "System.Web.UI.ITemplate") { AddAspBeginExpressions (list); AddMiscBeginTags (list); - AddHtmlTagCompletionData (list, Schema, new S.XName ("body")); + AddHtmlTagCompletionData (list, Schema, new XName ("body")); list.AddRange (refman.GetControlCompletionData ()); return; } @@ -478,11 +471,11 @@ namespace MonoDevelop.AspNet.Gui } } - protected override CompletionDataList GetAttributeCompletions (S.IAttributedXObject attributedOb, + protected override CompletionDataList GetAttributeCompletions (IAttributedXObject attributedOb, Dictionary<string, string> existingAtts) { var list = base.GetAttributeCompletions (attributedOb, existingAtts) ?? new CompletionDataList (); - if (attributedOb is S.XElement) { + if (attributedOb is XElement) { if (!existingAtts.ContainsKey ("runat")) list.Add ("runat=\"server\"", "md-literal", @@ -504,65 +497,62 @@ namespace MonoDevelop.AspNet.Gui AddAspAttributeCompletionData (list, attributedOb.Name, existingAtts); } - } else if (attributedOb is AspNetDirective) { - return DirectiveCompletion.GetAttributes (project, attributedOb.Name.FullName, existingAtts); + } else if (attributedOb is WebFormsDirective) { + return WebFormsDirectiveCompletion.GetAttributes (project, attributedOb.Name.FullName, existingAtts); } return list.Count > 0? list : null; } - protected override CompletionDataList GetAttributeValueCompletions (S.IAttributedXObject ob, S.XAttribute att) + protected override CompletionDataList GetAttributeValueCompletions (IAttributedXObject ob, XAttribute att) { var list = base.GetAttributeValueCompletions (ob, att) ?? new CompletionDataList (); - if (ob is S.XElement) { + if (ob is XElement) { if (ob.Name.HasPrefix) { string id = ob.GetId (); if (string.IsNullOrEmpty (id) || string.IsNullOrEmpty (id.Trim ())) id = null; AddAspAttributeValueCompletionData (list, ob.Name, att.Name, id); } - } else if (ob is AspNetDirective) { - return DirectiveCompletion.GetAttributeValues (project, Document.FileName, ob.Name.FullName, att.Name.FullName); + } else if (ob is WebFormsDirective) { + return WebFormsDirectiveCompletion.GetAttributeValues (project, Document.FileName, ob.Name.FullName, att.Name.FullName); } return list.Count > 0? list : null; } ClrVersion ProjClrVersion { - get { return project.TargetFramework.ClrVersion; } + get { return project == null? ClrVersion.Net_4_5 : project.TargetFramework.ClrVersion; } } - CompletionDataList HandleExpressionCompletion (AspNetExpression expr) + CompletionDataList HandleExpressionCompletion (WebFormsExpression expr) { - if (!(expr is AspNetDataBindingExpression || expr is AspNetRenderExpression)) + if (!(expr is WebFormsBindingExpression || expr is WebFormsRenderExpression)) return null; + IType codeBehindClass; - ICompilation projectDatabase; - GetCodeBehind (out codeBehindClass, out projectDatabase); - - if (codeBehindClass == null) + if (!GetCodeBehind (out codeBehindClass)) return null; //list just the class's properties, not properties on base types - CompletionDataList list = new CompletionDataList (); + var list = new CompletionDataList (); list.AddRange (from p in codeBehindClass.GetProperties () where p.IsPublic || p.IsPublic - select new CompletionData (p.Name, "md-property")); + select new AspAttributeCompletionData (p)); list.AddRange (from p in codeBehindClass.GetFields () where p.IsProtected || p.IsPublic - select new CompletionData (p.Name, "md-property")); + select new AspAttributeCompletionData (p)); return list.Count > 0? list : null; } - void GetCodeBehind (out IType codeBehindClass, out ICompilation projectDatabase) + bool GetCodeBehind (out IType codeBehindClass) { - codeBehindClass = null; - projectDatabase = null; - if (HasDoc && !string.IsNullOrEmpty (aspDoc.Info.InheritedClass)) { - projectDatabase = TypeSystemService.GetCompilation (project); - if (projectDatabase != null) - codeBehindClass = ReflectionHelper.ParseReflectionName (aspDoc.Info.InheritedClass).Resolve (projectDatabase); + codeBehindClass = ReflectionHelper.ParseReflectionName (aspDoc.Info.InheritedClass).Resolve (refman.Compilation); + return codeBehindClass != null; } + + codeBehindClass = null; + return false; } #region ASP.NET data @@ -586,70 +576,44 @@ namespace MonoDevelop.AspNet.Gui } } - void AddAspAttributeCompletionData (CompletionDataList list, S.XName name, Dictionary<string, string> existingAtts) + void AddAspAttributeCompletionData (CompletionDataList list, XName name, Dictionary<string, string> existingAtts) { Debug.Assert (name.IsValid); Debug.Assert (name.HasPrefix); - var database = TypeSystemService.GetCompilation (project); - - if (database == null) { - LoggingService.LogWarning ("Could not obtain project DOM in AddAspAttributeCompletionData"); - return; - } - IType controlClass = refman.GetControlType (name.Prefix, name.Name); - if (controlClass == null) { - controlClass = ReflectionHelper.ParseReflectionName ("System.Web.UI.WebControls.WebControl").Resolve (database); - if (controlClass == null) { - LoggingService.LogWarning ("Could not obtain IType for System.Web.UI.WebControls.WebControl"); - return; - } - } - - AddControlMembers (list, controlClass, existingAtts); + if(controlClass != null) + AddControlMembers (list, controlClass, existingAtts); } - void AddControlMembers (CompletionDataList list, IType controlClass, - Dictionary<string, string> existingAtts) + void AddControlMembers (CompletionDataList list, IType controlClass, Dictionary<string, string> existingAtts) { //add atts only if they're not already in the tag foreach (var prop in GetUniqueMembers<IProperty> (controlClass.GetProperties ())) if (prop.Accessibility == Accessibility.Public && (existingAtts == null || !existingAtts.ContainsKey (prop.Name))) if (GetPersistenceMode (prop) == System.Web.UI.PersistenceMode.Attribute) - list.Add (prop.Name, prop.GetStockIcon (), AmbienceService.GetSummaryMarkup (prop)); + list.Add (new AspAttributeCompletionData (prop)); //similarly add events foreach (var eve in GetUniqueMembers<IEvent> (controlClass.GetEvents ())) { string eveName = "On" + eve.Name; if (eve.Accessibility == Accessibility.Public && (existingAtts == null || !existingAtts.ContainsKey (eveName))) - list.Add (eveName, eve.GetStockIcon (), AmbienceService.GetSummaryMarkup (eve)); + list.Add (new AspAttributeCompletionData (eve, eveName)); } } - void AddAspAttributeValueCompletionData (CompletionDataList list, S.XName tagName, S.XName attName, string id) + void AddAspAttributeValueCompletionData (CompletionDataList list, XName tagName, XName attName, string id) { Debug.Assert (tagName.IsValid && tagName.HasPrefix); Debug.Assert (attName.IsValid && !attName.HasPrefix); - IType controlClass = HasDoc ? refman.GetControlType (tagName.Prefix, tagName.Name) : null; - - if (controlClass == null) { - LoggingService.LogWarning ("Could not obtain IType for {0}", tagName.FullName); - - var database = WebTypeContext.GetSystemWebDom (project); - controlClass = ReflectionHelper.ParseReflectionName ("System.Web.UI.WebControls.WebControl").Resolve (database); - - if (controlClass == null) { - LoggingService.LogWarning ("Could not obtain IType for System.Web.UI.WebControls.WebControl"); - return; - } - } + IType controlClass = refman.GetControlType (tagName.Prefix, tagName.Name); + if (controlClass == null) + return; //find the codebehind class IType codeBehindClass; - ICompilation projectDatabase; - GetCodeBehind (out codeBehindClass, out projectDatabase); + GetCodeBehind (out codeBehindClass); //if it's an event, suggest compatible methods if (codeBehindClass != null && attName.Name.StartsWith ("On", StringComparison.Ordinal)) { @@ -681,35 +645,26 @@ namespace MonoDevelop.AspNet.Gui list.Add ( new SuggestedHandlerCompletionData (project, domMethod, codeBehindClass, - MonoDevelop.DesignerSupport.CodeBehind.GetNonDesignerClass (codeBehindClass)) + CodeBehind.GetNonDesignerClass (codeBehindClass)) ); return; } } } - if (projectDatabase == null) { - projectDatabase = WebTypeContext.GetSystemWebDom (project); - - if (projectDatabase == null) { - LoggingService.LogWarning ("Could not obtain type database in AddAspAttributeCompletionData"); - return; - } - } - //if it's a property and is an enum or bool, suggest valid values foreach (IProperty prop in controlClass.GetProperties ()) { if (prop.Name != attName.Name) continue; //boolean completion - if (prop.ReturnType.Equals (projectDatabase.FindType (KnownTypeCode.Boolean))) { + if (prop.ReturnType.Equals (refman.Compilation.FindType (KnownTypeCode.Boolean))) { AddBooleanCompletionData (list); return; } //color completion - if (prop.ReturnType.Equals (projectDatabase.FindType (typeof(System.Drawing.Color)))) { - System.Drawing.ColorConverter conv = new System.Drawing.ColorConverter (); + if (prop.ReturnType.Equals (refman.Compilation.FindType (typeof(System.Drawing.Color)))) { + var conv = new System.Drawing.ColorConverter (); foreach (System.Drawing.Color c in conv.GetStandardValues (null)) { if (c.IsSystemColor) continue; @@ -732,7 +687,7 @@ namespace MonoDevelop.AspNet.Gui static IEnumerable<T> GetUniqueMembers<T> (IEnumerable<T> members) where T : IMember { - Dictionary <string, bool> existingItems = new Dictionary<string,bool> (); + var existingItems = new Dictionary<string,bool> (); foreach (T item in members) { if (existingItems.ContainsKey (item.Name)) continue; diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/MemberListBuilder.cs b/main/src/addins/AspNet/WebForms/WebFormsMemberListBuilder.cs index 9df010d6dd..65783b3d8d 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/MemberListBuilder.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsMemberListBuilder.cs @@ -32,26 +32,28 @@ using System; using System.Collections.Generic; +using System.Linq; -using MonoDevelop.Core; -using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.NRefactory; -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.AspNet.StateEngine; -using System.Linq; +using ICSharpCode.NRefactory.TypeSystem; + +using MonoDevelop.Core; +using MonoDevelop.AspNet.WebForms; +using MonoDevelop.AspNet.WebForms.Dom; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.AspNet.Parser +namespace MonoDevelop.AspNet.WebForms { //purpose is to find all named tags for code completion and compilation of base class - public class MemberListBuilder + class WebFormsMemberListBuilder { - DocumentReferenceManager docRefMan; + readonly WebFormsTypeContext docRefMan; XDocument xDocument; public IDictionary<string,CodeBehindMember> Members { get; private set; } public IList<Error> Errors { get; private set; } - public MemberListBuilder (DocumentReferenceManager refMan, XDocument xDoc) + public WebFormsMemberListBuilder (WebFormsTypeContext refMan, XDocument xDoc) { docRefMan = refMan; xDocument = xDoc; @@ -66,7 +68,7 @@ namespace MonoDevelop.AspNet.Parser foreach (XElement el in xDocument.Nodes.OfType<XElement> ()) AddMember (el); } catch (Exception ex) { - Errors.Add (new Error (ErrorType.Error, "Unknown parser error: " + ex.ToString ())); + Errors.Add (new Error (ErrorType.Error, "Unknown parser error: " + ex)); } } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/PageInfo.cs b/main/src/addins/AspNet/WebForms/WebFormsPageInfo.cs index a35fc72f73..48fcf3138e 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/PageInfo.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsPageInfo.cs @@ -30,18 +30,14 @@ using System; using System.Collections.Generic; using ICSharpCode.NRefactory.TypeSystem; -using MonoDevelop.AspNet.StateEngine; -using MonoDevelop.Xml.StateEngine; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms.Dom; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.AspNet.Parser +namespace MonoDevelop.AspNet.WebForms { - - public class PageInfo + public class WebFormsPageInfo { - public PageInfo () - { - } - List<RegisterDirective> registeredTags = new List<RegisterDirective> (); List<string> imports = new List<string> (); List<string> implements = new List<string> (); @@ -67,8 +63,8 @@ namespace MonoDevelop.AspNet.Parser public void Populate (XDocument xDoc, List<Error> errors) { foreach (XNode node in xDoc.AllDescendentNodes) { - if (node is AspNetDirective) { - HandleDirective (node as AspNetDirective, errors); + if (node is WebFormsDirective) { + HandleDirective (node as WebFormsDirective, errors); } else if (node is XDocType) { HandleDocType (node as XDocType); } else if (node is XElement) { @@ -83,7 +79,7 @@ namespace MonoDevelop.AspNet.Parser return attributes.GetValue (new XName (key), true) ?? string.Empty; } - void HandleDirective (AspNetDirective directive, List<Error> errors) + void HandleDirective (WebFormsDirective directive, List<Error> errors) { switch (directive.Name.Name.ToLowerInvariant ()) { case "page": @@ -176,7 +172,7 @@ namespace MonoDevelop.AspNet.Parser } } - void SetSubtype (WebSubtype type, AspNetDirective directive, List<Error> errors) + void SetSubtype (WebSubtype type, WebFormsDirective directive, List<Error> errors) { if (Subtype != WebSubtype.None) { errors.Add (new Error (ErrorType.Error, "Unexpected directive " + directive.Name.FullName, directive.Region)); @@ -204,93 +200,92 @@ namespace MonoDevelop.AspNet.Parser } #endregion - } - - public abstract class RegisterDirective - { - public RegisterDirective (string tagPrefix) - { - this.TagPrefix = tagPrefix; - } - - public string TagPrefix { get; private set; } - - public virtual bool IsValid () + + public abstract class RegisterDirective { - if (string.IsNullOrEmpty (TagPrefix)) - return false; - - foreach (char c in TagPrefix) - if (!Char.IsLetterOrDigit (c)) + public RegisterDirective (string tagPrefix) + { + this.TagPrefix = tagPrefix; + } + + public string TagPrefix { get; private set; } + + public virtual bool IsValid () + { + if (string.IsNullOrEmpty (TagPrefix)) return false; - - return true; - } - } - - public class AssemblyRegisterDirective : RegisterDirective - { - public AssemblyRegisterDirective (string tagPrefix, string @namespace, string assembly) : base (tagPrefix) - { - this.Namespace = @namespace; - this.Assembly = assembly; - } - - public string Namespace { get; private set; } - public string Assembly { get; private set; } - - public override string ToString () - { - return String.Format ("<%@ Register TagPrefix=\"{0}\" Namespace=\"{1}\" Assembly=\"{2}\" %>", TagPrefix, Namespace, Assembly); - } - - public override bool IsValid () - { - if (string.IsNullOrEmpty (Assembly) || string.IsNullOrEmpty (Namespace) || !base.IsValid ()) - return false; - return true; + + foreach (char c in TagPrefix) + if (!Char.IsLetterOrDigit (c)) + return false; + + return true; + } } - } - - public class ControlRegisterDirective : RegisterDirective - { - public ControlRegisterDirective (string tagPrefix, string tagName, string src) : base (tagPrefix) + + public class AssemblyRegisterDirective : RegisterDirective { - this.TagName = tagName; - this.Src = src; - } - - public string TagName { get; private set; } - public string Src { get; private set; } - - public override string ToString () - { - return String.Format ("<%@ Register {0}=\"{1}\" {2}=\"{3}\" {4}=\"{5}\" %>", "TagPrefix", TagPrefix, "TagName", TagName, "Src", Src); + public AssemblyRegisterDirective (string tagPrefix, string @namespace, string assembly) : base (tagPrefix) + { + this.Namespace = @namespace; + this.Assembly = assembly; + } + + public string Namespace { get; private set; } + public string Assembly { get; private set; } + + public override string ToString () + { + return String.Format ("<%@ Register TagPrefix=\"{0}\" Namespace=\"{1}\" Assembly=\"{2}\" %>", TagPrefix, Namespace, Assembly); + } + + public override bool IsValid () + { + if (string.IsNullOrEmpty (Assembly) || string.IsNullOrEmpty (Namespace) || !base.IsValid ()) + return false; + return true; + } } - - public override bool IsValid () + + public class ControlRegisterDirective : RegisterDirective { - if (string.IsNullOrEmpty (TagName) || string.IsNullOrEmpty (Src) || !base.IsValid ()) - return false; - return true; + public ControlRegisterDirective (string tagPrefix, string tagName, string src) : base (tagPrefix) + { + this.TagName = tagName; + this.Src = src; + } + + public string TagName { get; private set; } + public string Src { get; private set; } + + public override string ToString () + { + return String.Format ("<%@ Register {0}=\"{1}\" {2}=\"{3}\" {4}=\"{5}\" %>", "TagPrefix", TagPrefix, "TagName", TagName, "Src", Src); + } + + public override bool IsValid () + { + if (string.IsNullOrEmpty (TagName) || string.IsNullOrEmpty (Src) || !base.IsValid ()) + return false; + return true; + } } - } - - public class AssemblyDirective - { - public AssemblyDirective (string name, string src) - { - this.Name = name; - this.Src = src; - } - - public string Name { get; private set; } - public string Src { get; private set; } - - public bool IsValid () - { - return string.IsNullOrEmpty (Name) ^ string.IsNullOrEmpty (Src); + + public class AssemblyDirective + { + public AssemblyDirective (string name, string src) + { + this.Name = name; + this.Src = src; + } + + public string Name { get; private set; } + public string Src { get; private set; } + + public bool IsValid () + { + return string.IsNullOrEmpty (Name) ^ string.IsNullOrEmpty (Src); + } } } - } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs b/main/src/addins/AspNet/WebForms/WebFormsParsedDocument.cs index 9ed7baf748..0089aea70e 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/AspNetParsedDocument.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsParsedDocument.cs @@ -29,17 +29,18 @@ using System; using System.Collections.Generic; -using MonoDevelop.Ide.TypeSystem; -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.AspNet.StateEngine; using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Xml.Dom; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms.Dom; -namespace MonoDevelop.AspNet.Parser +namespace MonoDevelop.AspNet.WebForms { - public class AspNetParsedDocument : XmlParsedDocument + public class WebFormsParsedDocument : MonoDevelop.Xml.Editor.XmlParsedDocument { // Constructor used for testing the XDOM - public AspNetParsedDocument (string fileName, WebSubtype type, PageInfo info, XDocument xDoc) : + public WebFormsParsedDocument (string fileName, WebSubtype type, WebFormsPageInfo info, XDocument xDoc) : base (fileName) { Flags |= ParsedDocumentFlags.NonSerializable; @@ -48,7 +49,7 @@ namespace MonoDevelop.AspNet.Parser XDocument = xDoc; } - public PageInfo Info { get; private set; } + public WebFormsPageInfo Info { get; private set; } public WebSubtype Type { get; private set; } public override IEnumerable<FoldingRegion> Foldings { @@ -88,7 +89,7 @@ namespace MonoDevelop.AspNet.Parser } continue; } - if (node is XComment || node is AspNetServerComment || node is AspNetDirective || node is AspNetExpression || node is AspNetRenderBlock) { + if (node is XComment || node is WebFormsServerComment || node is WebFormsDirective || node is WebFormsExpression || node is WebFormsRenderBlock) { if ((node.Region.EndLine - node.Region.BeginLine) > 2) yield return new FoldingRegion (node.FriendlyPathRepresentation, node.Region); continue; diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/AspNetParser.cs b/main/src/addins/AspNet/WebForms/WebFormsParser.cs index fd5903eed7..03f19b91be 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet.Parser/AspNetParser.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsParser.cs @@ -27,27 +27,29 @@ // using System; +using System.Collections.Generic; using System.IO; -using System.Collections.Generic; +using ICSharpCode.NRefactory.TypeSystem; using MonoDevelop.Core; using MonoDevelop.Ide.TypeSystem; -using ICSharpCode.NRefactory.TypeSystem; using MonoDevelop.Projects; -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.AspNet.StateEngine; +using MonoDevelop.Xml.Dom; +using MonoDevelop.Xml.Parser; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms.Parser; -namespace MonoDevelop.AspNet.Parser +namespace MonoDevelop.AspNet.WebForms { - public class AspNetParser : TypeSystemParser + public class WebFormsParser : TypeSystemParser { public override ParsedDocument Parse (bool storeAst, string fileName, TextReader tr, Project project = null) { - var info = new PageInfo (); + var info = new WebFormsPageInfo (); var errors = new List<Error> (); - Xml.StateEngine.Parser parser = new Xml.StateEngine.Parser ( - new AspNetFreeState (), + var parser = new XmlParser ( + new WebFormsRootState (), true ); @@ -75,7 +77,7 @@ namespace MonoDevelop.AspNet.Parser } } - var result = new AspNetParsedDocument (fileName, type, info, xDoc); + var result = new WebFormsParsedDocument (fileName, type, info, xDoc); result.Add (errors); return result; diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/RegistrationCache.cs b/main/src/addins/AspNet/WebForms/WebFormsRegistrationCache.cs index 51f04209f2..ac1a6ccb6c 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/RegistrationCache.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsRegistrationCache.cs @@ -28,23 +28,20 @@ using System; using System.Collections.Generic; -using System.IO; using System.Xml; using System.Xml.Linq; using System.Linq; + using MonoDevelop.Core; using MonoDevelop.Projects; +using MonoDevelop.AspNet.Projects; -namespace MonoDevelop.AspNet -{ - - class RegistrationCache : ProjectFileCache<AspNetAppProject,RegistrationInfo> +namespace MonoDevelop.AspNet.WebForms +{ + class WebFormsRegistrationCache : ProjectFileCache<AspNetAppProject,RegistrationInfo> { - RegistrationInfo machineRegistrationInfo; - - public RegistrationCache (AspNetAppProject project) : base (project) + public WebFormsRegistrationCache (AspNetAppProject project) : base (project) { - machineRegistrationInfo = GetMachineInfo (); } public IList<RegistrationInfo> GetInfosForPath (FilePath dir) @@ -62,7 +59,7 @@ namespace MonoDevelop.AspNet infos.Add (reg); dir = dir.ParentDirectory; } - infos.Add (machineRegistrationInfo); + infos.Add (MachineRegistrationInfo); return infos; } @@ -79,7 +76,7 @@ namespace MonoDevelop.AspNet return null; } - RegistrationInfo ReadFrom (string filename, XDocument doc) + static RegistrationInfo ReadFrom (string filename, XDocument doc) { var info = new RegistrationInfo (); @@ -128,53 +125,61 @@ namespace MonoDevelop.AspNet } return info; } + - public IEnumerable<ControlRegistration> GetControlsForPath (string path) - { - //FIXME: handle removes as well as adds - return GetInfosForPath (path).SelectMany (x => x.Controls).Where (c => c.Add); - } - - public IEnumerable<string> GetAssembliesForPath (string path) - { - //FIXME: handle removes as well as adds - return GetInfosForPath (path).SelectMany (x => x.Assemblies).Where (c => c.Add).Select (c => c.Name); - } - - public IEnumerable<string> GetNamespacesForPath (string path) - { - //FIXME: handle removes as well as adds - return GetInfosForPath (path).SelectMany (x => x.Namespaces).Where (c => c.Add).Select (c => c.Namespace); - } - - //FIXME: add more default values + //FIXME: add more default values, controls, etc. make version dependent. + //FIXME: use actual machine web.config? static RegistrationInfo GetMachineInfo () { var info = new RegistrationInfo (); - - //see http://msdn.microsoft.com/en-us/library/eb44kack.aspx - string[] defaultNamespaces = { - "System", - "System.Collections", - "System.Collections.Specialized", - "System.Configuration", - "System.Text", - "System.Text.RegularExpressions", - "System.Web", - "System.Web.Caching", - "System.Web.Profile", - "System.Web.Security", - "System.Web.SessionState", - "System.Web.UI", - "System.Web.UI.HtmlControls", - "System.Web.UI.WebControls", - "System.Web.UI.WebControls.WebParts", - }; - - info.Namespaces.AddRange (defaultNamespaces.Select (ns => new NamespaceRegistration (true, ns))); - - return info; + + info.Namespaces.AddRange (defaultNamespaces.Select (ns => new NamespaceRegistration (true, ns))); + info.Assemblies.AddRange (defaultAssemblies.Select (asm => new AssemblyRegistration (true, asm))); + + return info; + } + + static readonly string[] defaultAssemblies = { + "mscorlib", + "System", + "System.Configuration", + "System.Web", + "System.Data", + "System.Web.Services", + "System.Xml", + "System.Drawing", + "System.EnterpriseServices", + "System.Web.Mobile", + }; + + //see http://msdn.microsoft.com/en-us/library/eb44kack.aspx + static readonly string[] defaultNamespaces = { + "System", + "System.Collections", + "System.Collections.Specialized", + "System.Configuration", + "System.Text", + "System.Text.RegularExpressions", + "System.Web", + "System.Web.Caching", + "System.Web.Profile", + "System.Web.Security", + "System.Web.SessionState", + "System.Web.UI", + "System.Web.UI.HtmlControls", + "System.Web.UI.WebControls", + "System.Web.UI.WebControls.WebParts", + }; + + public static bool IsDefaultReference (string reference) + { + return defaultAssemblies.Any (r => + reference.StartsWith (r, StringComparison.Ordinal) && + (reference.Length == r.Length || reference [r.Length] == ',') + ); } + + public static readonly RegistrationInfo MachineRegistrationInfo = GetMachineInfo (); } class RegistrationInfo @@ -265,8 +270,7 @@ namespace MonoDevelop.AspNet /// When a project file with that name is cached in any way, the cache item will be flushed. /// </summary> /// <remarks>Not safe for multithreaded access.</remarks> - abstract class ProjectFileCache<T,U> : IDisposable - where T : MonoDevelop.Projects.Project + abstract class ProjectFileCache<T,U> : IDisposable where T : Project { protected T Project { get; private set; } @@ -274,7 +278,7 @@ namespace MonoDevelop.AspNet /// <summary>Creates a ProjectFileCache</summary> /// <param name="project">The project the cache is bound to</param> - public ProjectFileCache (T project) + protected ProjectFileCache (T project) { this.Project = project; cache = new Dictionary<string, U> (); diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetSyntaxMode.cs b/main/src/addins/AspNet/WebForms/WebFormsSyntaxMode.cs index 39b95db634..fb7261cf2a 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetSyntaxMode.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsSyntaxMode.cs @@ -24,22 +24,20 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System; -using System.Linq; -using Mono.TextEditor.Highlighting; using System.Collections.Generic; -using Mono.TextEditor; -using System.Xml; +using System.Linq; using System.Text; -using MonoDevelop.AspNet.Parser; +using Mono.TextEditor; +using Mono.TextEditor.Highlighting; +using MonoDevelop.AspNet.WebForms.Parser; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.WebForms { - public class AspNetSyntaxMode : Mono.TextEditor.Highlighting.SyntaxMode + public class WebFormsSyntaxMode : SyntaxMode { // SyntaxMode charpMode; - public AspNetSyntaxMode () + public WebFormsSyntaxMode () { var provider = new ResourceStreamProvider (typeof(ResourceStreamProvider).Assembly, "AspNetSyntaxMode.xml"); using (var reader = provider.Open ()) { @@ -108,7 +106,7 @@ namespace MonoDevelop.AspNet { var ideDocument = doc.Tag as MonoDevelop.Ide.Gui.Document; if (ideDocument != null && ideDocument.ParsedDocument != null) { - var parsedDocument = ideDocument.ParsedDocument as AspNetParsedDocument; + var parsedDocument = ideDocument.ParsedDocument as WebFormsParsedDocument; if (parsedDocument != null) return GetMimeForLanguage (parsedDocument.Info.Language) ?? "text/x-csharp"; } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetToolboxLoader.cs b/main/src/addins/AspNet/WebForms/WebFormsToolboxLoader.cs index b593cb6145..828e6600d0 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetToolboxLoader.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsToolboxLoader.cs @@ -28,7 +28,6 @@ using System; using System.ComponentModel; -using System.Collections.Generic; using System.Drawing.Design; using MonoDevelop.DesignerSupport.Toolbox; @@ -36,18 +35,15 @@ using MonoDevelop.Core.Assemblies; using MonoDevelop.Core; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.WebForms { - - - public class AspNetToolboxLoader : ToolboxItemToolboxLoader + public class WebFormsToolboxLoader : ToolboxItemToolboxLoader { - public override ItemToolboxNode GetNode (Type t, ToolboxItemAttribute tba, - string attributeCategory, string fullPath, MonoDevelop.Core.ClrVersion referencedRuntime) + string attributeCategory, string fullPath, ClrVersion referencedRuntime) { - if (referencedRuntime != MonoDevelop.Core.ClrVersion.Net_1_1 - && referencedRuntime != MonoDevelop.Core.ClrVersion.Net_2_0) + if (referencedRuntime != ClrVersion.Net_1_1 + && referencedRuntime != ClrVersion.Net_2_0) return null; bool reflectedRuntime1; @@ -68,7 +64,7 @@ namespace MonoDevelop.AspNet //Create the ToolboxItem. The ToolboxItemToolboxNode will destroy it, but need to //be able to extract data from it first. ToolboxItem item = (ToolboxItem) Activator.CreateInstance (toolboxItemType, new object[] {t}); - AspNetToolboxNode node = new AspNetToolboxNode (item); + WebFormsToolboxNode node = new WebFormsToolboxNode (item); //get the default markup for the tag string webText = reflectedRuntime1? GetWebText1 (t) : GetWebText (t); diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetToolboxNode.cs b/main/src/addins/AspNet/WebForms/WebFormsToolboxNode.cs index c51107803d..6ccccbddc5 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetToolboxNode.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsToolboxNode.cs @@ -30,20 +30,20 @@ using System; using System.ComponentModel; using System.Drawing.Design; +using ICSharpCode.NRefactory.TypeSystem; using MonoDevelop.Core; -using MonoDevelop.DesignerSupport.Toolbox; -using MonoDevelop.Core.Serialization; using MonoDevelop.Core.Assemblies; -using MonoDevelop.Ide; -using MonoDevelop.AspNet.Parser; +using MonoDevelop.Core.Serialization; +using MonoDevelop.DesignerSupport.Toolbox; using MonoDevelop.Projects; -using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms.Parser; -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.WebForms { [Serializable] - public class AspNetToolboxNode : ToolboxItemToolboxNode, ITextToolboxNode + public class WebFormsToolboxNode : ToolboxItemToolboxNode, ITextToolboxNode { [ItemProperty ("text")] @@ -54,8 +54,8 @@ namespace MonoDevelop.AspNet static readonly string aspNetDomain = GettextCatalog.GetString ("ASP.NET Controls"); - public AspNetToolboxNode () : base () {} - public AspNetToolboxNode (ToolboxItem item) : base (item) + public WebFormsToolboxNode () : base () {} + public WebFormsToolboxNode (ToolboxItem item) : base (item) { } @@ -78,7 +78,7 @@ namespace MonoDevelop.AspNet public override bool Equals (object obj) { - AspNetToolboxNode other = obj as AspNetToolboxNode; + WebFormsToolboxNode other = obj as WebFormsToolboxNode; return (other != null) && (this.text != other.text) && base.Equals (other); } @@ -117,7 +117,7 @@ namespace MonoDevelop.AspNet if (!tag.Contains ("{0}")) return tag; - if (base.Type.AssemblyName.StartsWith ("System.Web.UI.WebControls")) + if (Type.AssemblyName.StartsWith ("System.Web.UI.WebControls", StringComparison.Ordinal)) return string.Format (tag, "asp"); //register the assembly and look up the class @@ -129,19 +129,15 @@ namespace MonoDevelop.AspNet var cls = database.FindType (Type.Load ()); if (cls == null) return tag; - - var doc = document.ParsedDocument as MonoDevelop.AspNet.Parser.AspNetParsedDocument; - if (doc == null) + + var ed = document.GetContent<WebFormsEditorExtension> (); + if (ed == null) return tag; - + var assemName = SystemAssemblyService.ParseAssemblyName (Type.AssemblyName); - - var refMan = new DocumentReferenceManager ((AspNetAppProject)document.Project) { - Doc = doc - }; - - RegisterDirective directive; - string prefix = refMan.GetTagPrefixWithNewDirective (cls, assemName.Name, null, out directive); + + WebFormsPageInfo.RegisterDirective directive; + string prefix = ed.ReferenceManager.GetTagPrefixWithNewDirective (cls, assemName.Name, null, out directive); if (prefix == null) return tag; @@ -149,7 +145,7 @@ namespace MonoDevelop.AspNet tag = string.Format (tag, prefix); if (directive != null && insertDirective) - refMan.AddRegisterDirective (directive, document.Editor, true); + ed.ReferenceManager.AddRegisterDirective (directive, document.Editor, true); return tag; } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetToolboxProvider.cs b/main/src/addins/AspNet/WebForms/WebFormsToolboxProvider.cs index f3f39a7234..21c86e566f 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/AspNetToolboxProvider.cs +++ b/main/src/addins/AspNet/WebForms/WebFormsToolboxProvider.cs @@ -29,20 +29,16 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; using System.Linq; -using System.IO; using System.Collections.Generic; using MonoDevelop.Core; using MonoDevelop.DesignerSupport.Toolbox; -using MonoDevelop.Ide.Gui; using MonoDevelop.Core.Assemblies; - -namespace MonoDevelop.AspNet +namespace MonoDevelop.AspNet.WebForms { - public class AspNetToolboxProvider : IToolboxDefaultProvider + public class WebFormsToolboxProvider : IToolboxDefaultProvider { public IEnumerable<string> GetDefaultFiles () { diff --git a/main/src/addins/AspNet/WebForms/WebFormsTypeContext.cs b/main/src/addins/AspNet/WebForms/WebFormsTypeContext.cs new file mode 100644 index 0000000000..7778cf5844 --- /dev/null +++ b/main/src/addins/AspNet/WebForms/WebFormsTypeContext.cs @@ -0,0 +1,648 @@ +// +// DocumentReferenceManager.cs: Handles web type lookups for ASP.NET documents. +// +// Authors: +// Michael Hutchinson <mhutchinson@novell.com> +// +// Copyright (C) 2007 Novell, Inc (http://www.novell.com) +// +// +// This source code is licenced under The MIT License: +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +using ICSharpCode.NRefactory.TypeSystem; +using ICSharpCode.NRefactory.TypeSystem.Implementation; +using Mono.TextEditor; +using MonoDevelop.Core.Assemblies; +using MonoDevelop.Ide.CodeCompletion; +using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Projects; +using MonoDevelop.Xml.Dom; +using MonoDevelop.AspNet.Projects; +using MonoDevelop.AspNet.WebForms.Dom; +using System.Reflection; + +namespace MonoDevelop.AspNet.WebForms +{ + public class WebFormsTypeContext + { + ICompilation compilation; + AspNetAppProject project; + WebFormsParsedDocument doc; + + public WebFormsParsedDocument Doc { + get { + return doc; + } + set { + if (doc == value) + return; + doc = value; + compilation = null; + } + } + + public AspNetAppProject Project { + get { + return project; + } + set { + if (project == value) + return; + project = value; + compilation = null; + } + } + + public ICompilation Compilation { + get { + if (compilation == null) + UpdateCompilation (); + return compilation; + } + } + + TargetFramework TargetFramework { + get { + return project != null + ? project.TargetFramework + : MonoDevelop.Core.Runtime.SystemAssemblyService.GetTargetFramework (TargetFrameworkMoniker.NET_4_5); + } + } + + TargetRuntime TargetRuntime { + get { + return project != null ? project.TargetRuntime : MonoDevelop.Core.Runtime.SystemAssemblyService.DefaultRuntime; + } + } + + void UpdateCompilation () + { + const string dummyAsmName = "CompiledAspNetPage"; + IUnresolvedAssembly asm = new DefaultUnresolvedAssembly (dummyAsmName); + compilation = new SimpleCompilation (asm, GetReferencedAssemblies ()); + } + + public IType GetType (string tagPrefix, string tagName, string htmlTypeAttribute) + { + if (tagPrefix == null || tagPrefix.Length < 1) + return HtmlControlTypeLookup (tagName, htmlTypeAttribute); + + foreach (var rd in GetControls ()) { + if (string.Compare (rd.TagPrefix, tagPrefix, StringComparison.OrdinalIgnoreCase) != 0) + continue; + + var ard = rd as WebFormsPageInfo.AssemblyRegisterDirective; + if (ard != null) { + var type = AssemblyTypeLookup (ard.Namespace, tagName); + if (type != null) + return type; + continue; + } + + var crd = rd as WebFormsPageInfo.ControlRegisterDirective; + if (crd != null && string.Compare (crd.TagName, tagName, StringComparison.OrdinalIgnoreCase) == 0) { + var type = GetUserControlType (crd.Src); + if (type != null) + return type; + } + } + + return null; + } + + public IEnumerable<CompletionData> GetControlCompletionData () + { + return GetControlCompletionData (AssemblyTypeLookup ("System.Web.UI", "Control")); + } + + public IEnumerable<CompletionData> GetControlCompletionData (IType baseType) + { + var names = new HashSet<string> (); + + foreach (var rd in GetControls ()) { + var ard = rd as WebFormsPageInfo.AssemblyRegisterDirective; + if (ard != null) { + string prefix = ard.TagPrefix + ":"; + foreach (IType cls in ListControlClasses (baseType, ard.Namespace)) + if (names.Add (prefix + cls.Name)) + yield return new AspTagCompletionData (prefix, cls); + continue; + } + + var cd = rd as WebFormsPageInfo.ControlRegisterDirective; + if (cd != null && names.Add (cd.TagPrefix + cd.TagName)) + yield return new CompletionData (string.Concat (cd.TagPrefix, ":", cd.TagName), Gtk.Stock.GoForward); + } + } + + public IType GetControlType (string tagPrefix, string tagName) + { + if (String.IsNullOrEmpty (tagPrefix)) + return null; + + foreach (var rd in GetControls ()) { + if (string.Compare (rd.TagPrefix, tagPrefix, StringComparison.OrdinalIgnoreCase) != 0) + continue; + + var ard = rd as WebFormsPageInfo.AssemblyRegisterDirective; + if (ard != null) { + var type = AssemblyTypeLookup (ard.Namespace, tagName); + if (type != null) + return type; + continue; + } + + var crd = rd as WebFormsPageInfo.ControlRegisterDirective; + if (crd != null && string.Compare (crd.TagName, tagName, StringComparison.OrdinalIgnoreCase) == 0) { + return GetUserControlType (crd.Src); + } + } + + return AssemblyTypeLookup ("System.Web.UI", "Control"); + } + + public string GetTagPrefix (IType control) + { + if (control.Namespace == "System.Web.UI.HtmlControls") + return string.Empty; + + foreach (var rd in GetControls ()) { + var ard = rd as WebFormsPageInfo.AssemblyRegisterDirective; + if (ard != null && ard.Namespace == control.Namespace) + return ard.TagPrefix; + } + + return null; + } + + IEnumerable<WebFormsPageInfo.RegisterDirective> GetDirectivesForPrefix (string prefix) + { + return GetControls ().Where (t => string.Equals (t.TagPrefix, prefix, StringComparison.OrdinalIgnoreCase)); + } + + /// <summary> + /// Gets a tag prefix, also returning the directive that would have to be added if necessary. + /// </summary> + public string GetTagPrefixWithNewDirective (IType control, string assemblyName, string desiredPrefix, + out WebFormsPageInfo.RegisterDirective directiveNeededToAdd) + { + directiveNeededToAdd = null; + string existingPrefix = GetTagPrefix (control); + if (existingPrefix != null) + return existingPrefix; + + //TODO: detect control name conflicts + string prefix = desiredPrefix; + if (desiredPrefix == null) + prefix = GetPrefix (control); + + var an = SystemAssemblyService.ParseAssemblyName (assemblyName); + + directiveNeededToAdd = new WebFormsPageInfo.AssemblyRegisterDirective (prefix, control.Namespace, an.Name); + + return prefix; + } + + #region "Refactoring" operations -- things that modify the file + + string GetPrefix (IType control) + { + //FIXME: make this work + /* + foreach (IAttributeSection attSec in control.CompilationUnit.Attributes) { + foreach (IAttribute att in attSec.Attributes) { + if (att.PositionalArguments != null && att.PositionalArguments.Length == 2 + && ExprToStr (att.PositionalArguments[0]) == control.Namespace) { + string prefix = ExprToStr (att.PositionalArguments [1]); + if (prefix != null) + return prefix; + } + + if (att.Name == "System.Web.UI.TagPrefixAttribute") { + bool match = false; + foreach (NamedAttributeArgument arg in att.NamedArguments) { + if (arg.Name == "NamespaceName" + && ExprToStr (arg.Expression) == control.Namespace) { + match = true; + break; + } + } + foreach (NamedAttributeArgument arg in att.NamedArguments) { + if (arg.Name == "TagPrefix") { + string prefix = ExprToStr (arg.Expression); + if (prefix != null) + return prefix; + } + } + } + } + } + */ + //generate a new prefix base on initials of namespace + string[] namespaces = control.Namespace.Split ('.'); + char[] charr = new char[namespaces.Length]; + for (int i = 0; i < charr.Length; i++) + charr[i] = char.ToLower (namespaces[i][0]); + + //find a variant that doesn't match an existing prefix + string trialPrefix = new string (charr); + string trial = trialPrefix; + + for (int trialSuffix = 1; trialSuffix < int.MaxValue; trialSuffix++) { + using (var en = GetDirectivesForPrefix (trial).GetEnumerator()) + if (!en.MoveNext ()) + return trial; + trial = trialPrefix + trialSuffix; + } + throw new InvalidOperationException ("Ran out of integer suffixes for tag prefixes"); + } + + string ExprToStr (System.CodeDom.CodeExpression expr) + { + var p = expr as System.CodeDom.CodePrimitiveExpression; + return p != null? p.Value as string : null; + } + + public void AddRegisterDirective (WebFormsPageInfo.RegisterDirective directive, TextEditorData editor, bool preserveCaretPosition) + { + if (doc == null) + return; + + var node = GetRegisterInsertionPointNode (); + if (node == null) + return; + + doc.Info.RegisteredTags.Add (directive); + + var line = Math.Max (node.Region.EndLine, node.Region.BeginLine); + var pos = editor.Document.LocationToOffset (line, editor.Document.GetLine (line - 1).Length); + if (pos < 0) + return; + + using (var undo = editor.OpenUndoGroup ()) { + var oldCaret = editor.Caret.Offset; + + var inserted = editor.Insert (pos, editor.EolMarker + directive); + if (preserveCaretPosition) { + editor.Caret.Offset = (pos < oldCaret)? oldCaret + inserted : oldCaret; + } + } + } + + WebFormsDirective GetRegisterInsertionPointNode () + { + foreach (XNode node in doc.XDocument.AllDescendentNodes) { + var directive = node as WebFormsDirective; + if (directive != null) { + switch (directive.Name.Name.ToLower ()) { + case "page": + case "control": + case "master": + case "register": + return directive; + } + } + } + return null; + } + + #endregion + + IList<RegistrationInfo> GetRegistrationInfos () + { + if (project != null && doc != null) + return project.RegistrationCache.GetInfosForPath (Path.GetDirectoryName (doc.FileName)); + return new[] { WebFormsRegistrationCache.MachineRegistrationInfo }; + } + + IEnumerable<ControlRegistration> GetRegisteredControls () + { + //FIXME: handle removes and clears as well as adds + return GetRegistrationInfos ().SelectMany (x => x.Controls).Where (c => c.Add); + } + + IEnumerable<string> GetRegisteredAssemblies () + { + //FIXME: handle removes and clears as well as adds + //FIXME: wildcards + return GetRegistrationInfos ().SelectMany (x => x.Assemblies).Where (c => c.Add).Select (c => c.Name); + } + + public IEnumerable<string> GetRegisteredNamespaces () + { + //FIXME: handle removes and clears as well as adds + return GetRegistrationInfos ().SelectMany (x => x.Namespaces).Where (c => c.Add).Select (c => c.Namespace); + } + + public IEnumerable<string> GetUsings () + { + var usings = new HashSet<string> (); + + if (doc != null) + foreach (var u in doc.Info.Imports) + usings.Add (u); + + foreach (var u in GetRegisteredNamespaces ()) + usings.Add (u); + + return usings; + } + + IEnumerable<IAssemblyReference> GetReferencedAssemblies () + { + var references = new HashSet<IAssemblyReference> (); + + if (project != null) + references.Add (TypeSystemService.GetCompilation (project).MainAssembly.UnresolvedAssembly); + + if (doc != null) + foreach (var asm in doc.Info.Assemblies.Select (a => a.Name).Select (name => GetReferencedAssembly (name))) + references.Add (asm); + + foreach (var asm in GetRegisteredAssemblies ().Select (name => GetReferencedAssembly (name))) + references.Add (asm); + + references.Remove (null); + + return references; + } + + IAssemblyReference GetReferencedAssembly (string assemblyName) + { + var parsed = SystemAssemblyService.ParseAssemblyName (assemblyName); + if (string.IsNullOrEmpty (parsed.Name)) + return null; + + var r = GetProjectReference (parsed); + if (r != null) + return r; + + string path = GetAssemblyPath (assemblyName); + if (path != null) + return TypeSystemService.LoadAssemblyContext (TargetRuntime, TargetFramework, path); + + return null; + } + + IAssemblyReference GetProjectReference (AssemblyName parsed) + { + if (project == null) + return null; + + var dllName = parsed.Name + ".dll"; + + foreach (var reference in project.References) { + if (reference.ReferenceType == ReferenceType.Package || reference.ReferenceType == ReferenceType.Assembly) { + foreach (string refPath in reference.GetReferencedFileNames (null)) + if (Path.GetFileName (refPath) == dllName) + return TypeSystemService.LoadAssemblyContext (project.TargetRuntime, project.TargetFramework, refPath); + } + else + if (reference.ReferenceType == ReferenceType.Project && parsed.Name == reference.Reference) { + var p = project.ParentSolution.FindProjectByName (reference.Reference) as DotNetProject; + if (p == null) + continue; + return TypeSystemService.GetCompilation (p).MainAssembly.UnresolvedAssembly; + } + } + + return null; + } + + string GetAssemblyPath (string assemblyName) + { + var parsed = SystemAssemblyService.ParseAssemblyName (assemblyName); + if (string.IsNullOrEmpty (parsed.Name)) + return null; + + if (project != null) { + string localName = Path.Combine (Path.Combine (project.BaseDirectory, "bin"), parsed.Name + ".dll"); + if (File.Exists (localName)) + return localName; + } + + assemblyName = TargetRuntime.AssemblyContext.GetAssemblyFullName (assemblyName, TargetFramework); + if (assemblyName == null) + return null; + assemblyName = TargetRuntime.AssemblyContext.GetAssemblyNameForVersion (assemblyName, TargetFramework); + if (assemblyName == null) + return null; + return TargetRuntime.AssemblyContext.GetAssemblyLocation (assemblyName, TargetFramework); + } + + IEnumerable<WebFormsPageInfo.RegisterDirective> GetControls () + { + yield return new WebFormsPageInfo.AssemblyRegisterDirective ("asp", "System.Web.UI.WebControls", "System.Web"); + + if (doc != null) { + foreach (var c in doc.Info.RegisteredTags.OfType<WebFormsPageInfo.ControlRegisterDirective> ()) + yield return c; + + foreach (var c in doc.Info.RegisteredTags.OfType<WebFormsPageInfo.AssemblyRegisterDirective> ()) + yield return c; + } + + foreach (var c in GetRegisteredControls () + .Where (c => c.IsUserControl) + .Select (r => new WebFormsPageInfo.ControlRegisterDirective (r.TagPrefix, r.TagName, r.Source))) + yield return c; + + foreach (var c in GetRegisteredControls () + .Where (c => c.IsAssembly) + .Select (r => new WebFormsPageInfo.AssemblyRegisterDirective (r.TagPrefix, r.Namespace, r.Assembly))) + yield return c; + } + + static string HtmlControlLookup (string tagName, string typeAttribute) + { + switch (tagName.ToLower ()) { + case "a": + return "HtmlAnchor"; + case "button": + return "HtmlButton"; + case "form": + return "HtmlForm"; + case "head": + return "HtmlHead"; + case "img": + return "HtmlImage"; + case "input": + string val = LookupHtmlInput (typeAttribute); + return val; + case "link": + return "HtmlLink"; + case "meta": + return "HtmlMeta"; + case "select": + return "HtmlSelect"; + case "table": + return "HtmlTable"; + case "th": + case "td": + return "HtmlTableCell"; + case "tr": + return "HtmlTableRow"; + case "textarea": + return "HtmlTextArea"; + case "title": + return "HtmlTitle"; + default: + return "HtmlGenericControl"; + } + } + + static string LookupHtmlInput (string type) + { + switch (type != null? type.ToLower () : null) + { + case "button": + case "reset": + case "submit": + return "HtmlInputButton"; + case "checkbox": + return "HtmlInputCheckBox"; + case "file": + return "HtmlInputFile"; + case "hidden": + return "HtmlInputHidden"; + case "image": + return "HtmlInputImage"; + case "password": + return "HtmlInputText"; + case "radio": + return "HtmlInputRadioButton"; + case "text": + return "HtmlInputText"; + default: + return "HtmlInputControl"; + } + } + + IType HtmlControlTypeLookup (string tagName, string typeAttribute) + { + var str = HtmlControlLookup (tagName, typeAttribute); + if (str != null) + return AssemblyTypeLookup ("System.Web.UI.HtmlControls", str); + return null; + } + + static IEnumerable<IType> ListControlClasses (IType baseType, string namespac) + { + var baseTypeDefinition = baseType.GetDefinition (); + if (baseTypeDefinition == null) + yield break; + + //return classes if they derive from system.web.ui.control + foreach (var type in baseTypeDefinition.GetSubTypeDefinitions ().Where (t => t.Namespace == namespac)) + if (!type.IsAbstract && type.IsPublic) + yield return type; + + if (!baseTypeDefinition.IsAbstract && baseTypeDefinition.IsPublic && baseTypeDefinition.Namespace == namespac) { + yield return baseType; + } + } + + IType AssemblyTypeLookup (string namespac, string tagName) + { + var fullName = namespac + "." + tagName; + return ReflectionHelper.ParseReflectionName (fullName).Resolve (Compilation); + } + + public string GetControlPrefix (IType control) + { + if (control.Namespace == "System.Web.UI.WebControls") + return "asp"; + if (control.Namespace == "System.Web.UI.HtmlControls") + return string.Empty; + + //todo: handle user controls + foreach (var info in GetControls ().OfType<WebFormsPageInfo.AssemblyRegisterDirective> ()) { + if (info.Namespace == control.Namespace) { + if (AssemblyTypeLookup (info.Namespace, control.Name) != null) + return info.TagPrefix; + } + } + + return null; + } + + public string GetUserControlTypeName (string virtualPath) + { + string typeName = null; + if (project != null && doc != null) { + string absolute = project.VirtualToLocalPath (virtualPath, doc.FileName); + typeName = project.GetCodebehindTypeName (absolute); + } + return typeName ?? "System.Web.UI.UserControl"; + } + + IType GetUserControlType (string virtualPath) + { + var name = GetUserControlTypeName (virtualPath); + return ReflectionHelper.ParseReflectionName (name).Resolve (Compilation); + } + } + + class AspTagCompletionData : CompletionData + { + readonly IType cls; + + public AspTagCompletionData (string prefix, IType cls) + : base (prefix + cls.Name, Gtk.Stock.GoForward) + { + this.cls = cls; + } + + public override TooltipInformation CreateTooltipInformation (bool smartWrap) + { + var tt = base.CreateTooltipInformation (smartWrap); + tt.SignatureMarkup = cls.FullName; + tt.SummaryMarkup = AmbienceService.GetSummaryMarkup (cls.GetDefinition ()); + return tt; + } + } + + class AspAttributeCompletionData : CompletionData + { + readonly IMember member; + + public AspAttributeCompletionData (IMember member, string name = null) + : base (name ?? member.Name, member.GetStockIcon ()) + { + this.member = member; + } + + public override TooltipInformation CreateTooltipInformation (bool smartWrap) + { + var tt = base.CreateTooltipInformation (smartWrap); + tt.SignatureMarkup = member.Name; + tt.SummaryMarkup = AmbienceService.GetSummaryMarkup (member); + return tt; + } + } +} diff --git a/main/src/addins/AspNet/packages.config b/main/src/addins/AspNet/packages.config new file mode 100644 index 0000000000..2154d11324 --- /dev/null +++ b/main/src/addins/AspNet/packages.config @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="Microsoft.AspNet.Mvc" version="4.0.30506" targetFramework="net40" />
+ <package id="Microsoft.AspNet.WebPages" version="2.0.30506" targetFramework="net40" />
+ <package id="Microsoft.AspNet.Razor" version="2.0.30506" targetFramework="net40" />
+</packages>
\ No newline at end of file diff --git a/main/src/addins/CSharpBinding/AspNet/ASPNetReferenceFinder.cs b/main/src/addins/CSharpBinding/AspNet/ASPNetReferenceFinder.cs index 48c09c1ad0..1484fe7b1d 100644 --- a/main/src/addins/CSharpBinding/AspNet/ASPNetReferenceFinder.cs +++ b/main/src/addins/CSharpBinding/AspNet/ASPNetReferenceFinder.cs @@ -23,20 +23,13 @@ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -using System; using System.Collections.Generic; using MonoDevelop.Core; -using MonoDevelop.Ide; -using MonoDevelop.CSharp.Resolver; using MonoDevelop.Ide.FindInFiles; -using MonoDevelop.AspNet; -using MonoDevelop.CSharp.Completion; -using MonoDevelop.AspNet.Parser; -using MonoDevelop.AspNet.Gui; -using System.Linq; using ICSharpCode.NRefactory.TypeSystem; using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.AspNet.WebForms; namespace MonoDevelop.CSharp.Refactoring { diff --git a/main/src/addins/CSharpBinding/AspNet/AspLanguageBuilder.cs b/main/src/addins/CSharpBinding/AspNet/AspLanguageBuilder.cs index 8836afcfe9..4e1fc93617 100644 --- a/main/src/addins/CSharpBinding/AspNet/AspLanguageBuilder.cs +++ b/main/src/addins/CSharpBinding/AspNet/AspLanguageBuilder.cs @@ -25,22 +25,15 @@ // THE SOFTWARE. using System; -using System.Linq; -using MonoDevelop.AspNet.Gui; -using System.Text; using System.Collections.Generic; +using System.IO; +using System.Text; +using Mono.TextEditor; +using MonoDevelop.AspNet.WebForms; +using MonoDevelop.AspNet.WebForms.Dom; using MonoDevelop.Ide.CodeCompletion; using MonoDevelop.Ide.Gui; -using Mono.TextEditor; using MonoDevelop.Ide.TypeSystem; -using ICSharpCode.NRefactory.TypeSystem; -using MonoDevelop.CSharp.Parser; -using System.IO; -using ICSharpCode.NRefactory.Completion; -using MonoDevelop.AspNet.StateEngine; -using MonoDevelop.Xml.StateEngine; - - namespace MonoDevelop.CSharp.Completion { @@ -89,7 +82,7 @@ namespace MonoDevelop.CSharp.Completion sb.AppendLine ("{"); //Console.WriteLine ("start:" + location.BeginLine +"/" +location.BeginColumn); foreach (var node in info.XExpressions) { - bool isBlock = node is AspNetRenderBlock; + bool isBlock = node is WebFormsRenderBlock; if (node.Region.Begin.Line > data.Caret.Line || node.Region.Begin.Line == data.Caret.Line && node.Region.Begin.Column > data.Caret.Column - 5) continue; @@ -126,7 +119,7 @@ namespace MonoDevelop.CSharp.Completion return result; } - public ICompletionDataList HandlePopupCompletion (MonoDevelop.Ide.Gui.Document realDocument, DocumentInfo info, LocalDocumentInfo localInfo) + public ICompletionDataList HandlePopupCompletion (Document realDocument, DocumentInfo info, LocalDocumentInfo localInfo) { CodeCompletionContext codeCompletionContext; using (var completion = CreateCompletion (realDocument, info, localInfo, out codeCompletionContext)) { @@ -134,7 +127,7 @@ namespace MonoDevelop.CSharp.Completion } } - public ICompletionDataList HandleCompletion (MonoDevelop.Ide.Gui.Document realDocument, CodeCompletionContext completionContext, DocumentInfo info, LocalDocumentInfo localInfo, char currentChar, ref int triggerWordLength) + public ICompletionDataList HandleCompletion (Document realDocument, CodeCompletionContext completionContext, DocumentInfo info, LocalDocumentInfo localInfo, char currentChar, ref int triggerWordLength) { CodeCompletionContext ccc; using (var completion = CreateCompletion (realDocument, info, localInfo, out ccc)) { @@ -142,7 +135,7 @@ namespace MonoDevelop.CSharp.Completion } } - public ParameterDataProvider HandleParameterCompletion (MonoDevelop.Ide.Gui.Document realDocument, CodeCompletionContext completionContext, DocumentInfo info, LocalDocumentInfo localInfo, char completionChar) + public ParameterDataProvider HandleParameterCompletion (Document realDocument, CodeCompletionContext completionContext, DocumentInfo info, LocalDocumentInfo localInfo, char completionChar) { CodeCompletionContext ccc; using (var completion = CreateCompletion (realDocument, info, localInfo, out ccc)) { @@ -150,7 +143,7 @@ namespace MonoDevelop.CSharp.Completion } } - public bool GetParameterCompletionCommandOffset (MonoDevelop.Ide.Gui.Document realDocument, DocumentInfo info, LocalDocumentInfo localInfo, out int cpos) + public bool GetParameterCompletionCommandOffset (Document realDocument, DocumentInfo info, LocalDocumentInfo localInfo, out int cpos) { CodeCompletionContext codeCompletionContext; using (var completion = CreateCompletion (realDocument, info, localInfo, out codeCompletionContext)) { @@ -158,14 +151,14 @@ namespace MonoDevelop.CSharp.Completion } } - public ICompletionWidget CreateCompletionWidget (MonoDevelop.Ide.Gui.Document realDocument, LocalDocumentInfo localInfo) + public ICompletionWidget CreateCompletionWidget (Document realDocument, LocalDocumentInfo localInfo) { return new AspCompletionWidget (realDocument, localInfo); } - CSharpCompletionTextEditorExtension CreateCompletion (MonoDevelop.Ide.Gui.Document realDocument, DocumentInfo info, LocalDocumentInfo localInfo, out CodeCompletionContext codeCompletionContext) + CSharpCompletionTextEditorExtension CreateCompletion (Document realDocument, DocumentInfo info, LocalDocumentInfo localInfo, out CodeCompletionContext codeCompletionContext) { - var doc = new Mono.TextEditor.TextDocument () { + var doc = new TextDocument () { Text = localInfo.LocalDocument, }; var documentLocation = doc.OffsetToLocation (localInfo.CaretPosition); @@ -183,10 +176,10 @@ namespace MonoDevelop.CSharp.Completion class AspCompletionWidget : ICompletionWidget { - MonoDevelop.Ide.Gui.Document realDocument; + Document realDocument; LocalDocumentInfo localInfo; - public AspCompletionWidget (MonoDevelop.Ide.Gui.Document realDocument, LocalDocumentInfo localInfo) + public AspCompletionWidget (Document realDocument, LocalDocumentInfo localInfo) { this.realDocument = realDocument; this.localInfo = localInfo; @@ -317,7 +310,7 @@ namespace MonoDevelop.CSharp.Completion //Console.WriteLine ("start:" + location.BeginLine +"/" +location.BeginColumn); foreach (var node in info.XExpressions) { - bool isBlock = node is AspNetRenderBlock; + bool isBlock = node is WebFormsRenderBlock; var start = data.Document.LocationToOffset (node.Region.Begin.Line, node.Region.Begin.Column) + 2; var end = data.Document.LocationToOffset (node.Region.End.Line, node.Region.End.Column) - 2; diff --git a/main/src/addins/CSharpBinding/AspNet/CSharpBinding.AspNet.csproj b/main/src/addins/CSharpBinding/AspNet/CSharpBinding.AspNet.csproj index 744f5f99e3..3df0e344ef 100644 --- a/main/src/addins/CSharpBinding/AspNet/CSharpBinding.AspNet.csproj +++ b/main/src/addins/CSharpBinding/AspNet/CSharpBinding.AspNet.csproj @@ -46,13 +46,9 @@ <Compile Include="AspLanguageBuilder.cs" /> <Compile Include="ASPNetReferenceFinder.cs" /> <Compile Include="AddinInfo.cs" /> + <Compile Include="RazorCSharpCompletionBuilder.cs" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\..\AspNet\MonoDevelop.AspNet\MonoDevelop.AspNet.csproj"> - <Project>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</Project> - <Name>MonoDevelop.AspNet</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\..\core\MonoDevelop.Core\MonoDevelop.Core.csproj"> <Project>{7525BB88-6142-4A26-93B9-A30C6983390A}</Project> <Name>MonoDevelop.Core</Name> @@ -98,11 +94,6 @@ <Name>MonoDevelop.Deployment</Name> <Private>False</Private> </ProjectReference> - <ProjectReference Include="..\..\MonoDevelop.XmlEditor\MonoDevelop.XmlEditor.csproj"> - <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> - <Name>MonoDevelop.XmlEditor</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\MonoDevelop.SourceEditor2\MonoDevelop.SourceEditor.csproj"> <Project>{F8F92AA4-A376-4679-A9D4-60E7B7FBF477}</Project> <Name>MonoDevelop.SourceEditor</Name> @@ -123,6 +114,16 @@ <Name>Mono.Addins</Name> <Private>False</Private> </ProjectReference> + <ProjectReference Include="..\..\AspNet\MonoDevelop.AspNet.csproj"> + <Project>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</Project> + <Name>MonoDevelop.AspNet</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\Xml\MonoDevelop.Xml.csproj"> + <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> + <Name>MonoDevelop.Xml</Name> + <Private>False</Private> + </ProjectReference> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <ItemGroup> @@ -130,4 +131,4 @@ <LogicalName>ExtensionModel.addin.xml</LogicalName> </EmbeddedResource> </ItemGroup> -</Project>
\ No newline at end of file +</Project> diff --git a/main/src/addins/CSharpBinding/AspNet/ExtensionModel.addin.xml b/main/src/addins/CSharpBinding/AspNet/ExtensionModel.addin.xml index 047552a725..9b13555ae8 100644 --- a/main/src/addins/CSharpBinding/AspNet/ExtensionModel.addin.xml +++ b/main/src/addins/CSharpBinding/AspNet/ExtensionModel.addin.xml @@ -6,4 +6,7 @@ <ReferenceFinder supportedmimetypes = "application/x-aspx,application/x-ascx,application/x-asax,application/x-ashx,application/x-asmx,application/x-asix" class = "MonoDevelop.CSharp.Refactoring.ASPNetReferenceFinder" /> </Extension> + <Extension path = "/MonoDevelop/Razor/CompletionBuilders"> + <Class class = "MonoDevelop.CSharp.Completion.RazorCSharpCompletionBuilder" /> + </Extension> </ExtensionModel> diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Completion/RazorCSharpCompletionBuilder.cs b/main/src/addins/CSharpBinding/AspNet/RazorCSharpCompletionBuilder.cs index e8341d7b12..974f8ba511 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/Completion/RazorCSharpCompletionBuilder.cs +++ b/main/src/addins/CSharpBinding/AspNet/RazorCSharpCompletionBuilder.cs @@ -25,21 +25,17 @@ // THE SOFTWARE.
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
using MonoDevelop.CSharp.Completion;
using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.AspNet.Gui;
-using ICSharpCode.NRefactory.Completion;
using Mono.TextEditor;
using MonoDevelop.Ide.Gui;
+using MonoDevelop.AspNet.Razor;
-namespace MonoDevelop.AspNet.Mvc.Completion
+namespace MonoDevelop.CSharp.Completion
{
// Based on AspLanguageBuilder
- public class RazorCSharpCompletionBuilder : IRazorCompletionBuilder
+ class RazorCSharpCompletionBuilder : IRazorCompletionBuilder
{
public bool SupportsLanguage (string language)
{
diff --git a/main/src/addins/CSharpBinding/Autotools/Autotools.csproj b/main/src/addins/CSharpBinding/Autotools/Autotools.csproj index 268465bfb4..ebad96fdd6 100644 --- a/main/src/addins/CSharpBinding/Autotools/Autotools.csproj +++ b/main/src/addins/CSharpBinding/Autotools/Autotools.csproj @@ -70,11 +70,6 @@ <Name>MonoDevelop.Refactoring</Name> <Private>False</Private> </ProjectReference> - <ProjectReference Include="..\..\AspNet\MonoDevelop.AspNet\MonoDevelop.AspNet.csproj"> - <Project>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</Project> - <Name>MonoDevelop.AspNet</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\MonoDevelop.DesignerSupport\MonoDevelop.DesignerSupport.csproj"> <Project>{2C24D515-4A2C-445C-8419-C09231913CFA}</Project> <Name>MonoDevelop.DesignerSupport</Name> diff --git a/main/src/addins/Makefile.am b/main/src/addins/Makefile.am index 23aa5dfd52..2baa722c8e 100644 --- a/main/src/addins/Makefile.am +++ b/main/src/addins/Makefile.am @@ -12,7 +12,7 @@ SUBDIRS = \ VersionControl \
MonoDevelop.Autotools \
MonoDevelop.Gettext \
- MonoDevelop.XmlEditor \
+ Xml \
TextTemplating \
AspNet \
CSharpBinding \
diff --git a/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/AspNetSoftDebuggerEngine.cs b/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/AspNetSoftDebuggerEngine.cs index 1006bca8cc..61ea302cb4 100644 --- a/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/AspNetSoftDebuggerEngine.cs +++ b/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/AspNetSoftDebuggerEngine.cs @@ -27,24 +27,23 @@ using System; using System.Collections.Generic; using System.IO; -using MonoDevelop.Debugger; +using Mono.Debugging.Client; +using Mono.Debugging.Soft; +using MonoDevelop.AspNet.Execution; using MonoDevelop.Core; +using MonoDevelop.Core.Assemblies; using MonoDevelop.Core.Execution; -using MonoDevelop.AspNet; -using Mono.Debugging.Client; +using MonoDevelop.Debugger; using MonoDevelop.Debugger.Soft; -using System.Net; -using MonoDevelop.Core.Assemblies; -using Mono.Debugging.Soft; namespace MonoDevelop.Debugger.Soft.AspNet { public class AspNetSoftDebuggerEngine: DebuggerEngineBackend { - public override bool CanDebugCommand (ExecutionCommand command) + public override bool CanDebugCommand (ExecutionCommand cmd) { - var cmd = command as AspNetExecutionCommand; - return cmd != null && SoftDebuggerEngine.CanDebugRuntime (cmd.TargetRuntime); + var command = cmd as AspNetExecutionCommand; + return command != null && SoftDebuggerEngine.CanDebugRuntime (command.TargetRuntime); } FilePath GetFxDir (MonoTargetRuntime runtime, ClrVersion version) diff --git a/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/MonoDevelop.Debugger.Soft.AspNet.csproj b/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/MonoDevelop.Debugger.Soft.AspNet.csproj index afdec71223..51cfca935a 100644 --- a/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/MonoDevelop.Debugger.Soft.AspNet.csproj +++ b/main/src/addins/MonoDevelop.Debugger.Soft/MonoDevelop.Debugger.Soft.AspNet/MonoDevelop.Debugger.Soft.AspNet.csproj @@ -62,11 +62,6 @@ <Name>Mono.TextEditor</Name> <Private>False</Private> </ProjectReference> - <ProjectReference Include="..\..\AspNet\MonoDevelop.AspNet\MonoDevelop.AspNet.csproj"> - <Project>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</Project> - <Name>MonoDevelop.AspNet</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\MonoDevelop.Debugger\MonoDevelop.Debugger.csproj"> <Project>{2357AABD-08C7-4808-A495-8FF2D3CDFDB0}</Project> <Name>MonoDevelop.Debugger</Name> @@ -87,11 +82,6 @@ <Name>MonoDevelop.DesignerSupport</Name> <Private>False</Private> </ProjectReference> - <ProjectReference Include="..\..\MonoDevelop.XmlEditor\MonoDevelop.XmlEditor.csproj"> - <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> - <Name>MonoDevelop.XmlEditor</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\MonoDevelop.SourceEditor2\MonoDevelop.SourceEditor.csproj"> <Project>{F8F92AA4-A376-4679-A9D4-60E7B7FBF477}</Project> <Name>MonoDevelop.SourceEditor</Name> @@ -117,6 +107,16 @@ <Name>Mono.Addins</Name> <Private>False</Private> </ProjectReference> + <ProjectReference Include="..\..\AspNet\MonoDevelop.AspNet.csproj"> + <Project>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</Project> + <Name>MonoDevelop.AspNet</Name> + <Private>False</Private> + </ProjectReference> + <ProjectReference Include="..\..\Xml\MonoDevelop.Xml.csproj"> + <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> + <Name>MonoDevelop.Xml</Name> + <Private>False</Private> + </ProjectReference> </ItemGroup> <ItemGroup> <Compile Include="AspNetSoftDebuggerEngine.cs" /> diff --git a/main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerEngine.cs b/main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerEngine.cs index 5f03f31278..9d1d77f225 100644 --- a/main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerEngine.cs +++ b/main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/CorDebuggerEngine.cs @@ -2,9 +2,9 @@ using System; using System.Collections.Generic;
using System.IO;
using Mono.Debugging.Client;
-using MonoDevelop.AspNet;
using MonoDevelop.Core;
using MonoDevelop.Core.Execution;
+using MonoDevelop.AspNet.Execution;
namespace MonoDevelop.Debugger.Win32
{
@@ -17,7 +17,7 @@ namespace MonoDevelop.Debugger.Win32 DotNetExecutionCommand cmd = command as DotNetExecutionCommand;
if (cmd != null)
return (cmd.TargetRuntime == null || cmd.TargetRuntime.RuntimeId == "MS.NET");
- AspNetExecutionCommand acmd = command as AspNetExecutionCommand;
+ var acmd = command as AspNetExecutionCommand;
if (acmd != null)
return (acmd.TargetRuntime == null || acmd.TargetRuntime.RuntimeId == "MS.NET");
return false;
@@ -37,7 +37,8 @@ namespace MonoDevelop.Debugger.Win32 }
return startInfo;
}
- AspNetExecutionCommand acmd = command as AspNetExecutionCommand;
+
+ var acmd = command as AspNetExecutionCommand;
if (acmd != null) {
DebuggerStartInfo startInfo = new DebuggerStartInfo ();
string xspName = AspNetExecutionHandler.GetXspName (acmd);
diff --git a/main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32.csproj b/main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32.csproj index a80ca234fb..ec376f9e2a 100644 --- a/main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32.csproj +++ b/main/src/addins/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32/MonoDevelop.Debugger.Win32.csproj @@ -101,11 +101,6 @@ <Name>Mono.Debugging</Name> <Private>False</Private> </ProjectReference> - <ProjectReference Include="..\..\AspNet\MonoDevelop.AspNet\MonoDevelop.AspNet.csproj"> - <Project>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</Project> - <Name>MonoDevelop.AspNet</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\MonoDevelop.Debugger\MonoDevelop.Debugger.csproj"> <Project>{2357AABD-08C7-4808-A495-8FF2D3CDFDB0}</Project> <Name>MonoDevelop.Debugger</Name> @@ -126,6 +121,11 @@ <Name>Mono.Addins</Name> <Private>False</Private> </ProjectReference> + <ProjectReference Include="..\..\AspNet\MonoDevelop.AspNet.csproj"> + <Project>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</Project> + <Name>MonoDevelop.AspNet</Name> + <Private>False</Private> + </ProjectReference> </ItemGroup> <ItemGroup> <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> diff --git a/main/src/addins/MonoDevelop.XmlEditor/AUTHORS b/main/src/addins/MonoDevelop.XmlEditor/AUTHORS deleted file mode 100644 index 15ca80c2f1..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/AUTHORS +++ /dev/null @@ -1,15 +0,0 @@ -Matthew Ward - -Classes that use code from MonoDevelop: - -XmlCompletionListWindow -XmlCompletionDataProvider -XmlEditorViewContent - -authored by - -Lluis Sanchez Gual -Todd Berman -John Luke - -Anybody else I have missed from MonoDevelop team. diff --git a/main/src/addins/MonoDevelop.XmlEditor/COPYING b/main/src/addins/MonoDevelop.XmlEditor/COPYING deleted file mode 100644 index 8add30ad59..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/COPYING +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the library's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - <signature of Ty Coon>, 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/main/src/addins/MonoDevelop.XmlEditor/ChangeLog b/main/src/addins/MonoDevelop.XmlEditor/ChangeLog deleted file mode 100644 index 3f2788c935..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/ChangeLog +++ /dev/null @@ -1,2030 +0,0 @@ -2010-07-22 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Use - delegation methods. - -2010-07-21 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Track API - changes. - -2010-07-18 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Track - API changes. - -2010-07-15 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: fixed - unit tests. - -2010-07-15 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Fixed - 'Bug 621658 - Parameter hints disappear afterkeystroke'. - -2010-07-14 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.addin.xml: Fix XML parser - availability. - -2010-07-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.addin.xml: - * MonoDevelop.XmlEditor/XmlDocumentParser.cs: Track - ProjectDomService/Parser API. - -2010-07-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs: - * MonoDevelop.Xml.StateEngine/XmlNameState.cs: - * MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: - * MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs: Better - errors. - - * MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs: - Newlines are valid in attributes, - -2010-07-02 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Track - API changes. - -2010-05-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlEditorService.cs: Clean up dialog - placement. - -2010-05-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Fix - failing test by making sure that OnParsedDocumentUpdated is - called when the file is first loaded, and moving all the new - parsed document logic handling there. - -2010-05-21 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.Xml.Formatting/XmlFormattingPolicyPanelWidget.cs: - Fix translation error. - -2010-05-11 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/IXmlCompletionProvider.cs: - * MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/EmptyXmlCompletionProvider.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionDataCollection.cs: - * MonoDevelop.XmlEditor.Completion/InferredXmlCompletionProvider.cs: - * MonoDevelop.XmlEditor.Completion/XmlMultipleClosingTagCompletionData.cs: - Track API changes. - -2010-05-03 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.Xml.Formatting/MonoXmlPolicy.xml: Added - attribute to explicitly allow differential serialization for - a policy (which is disabled by default). - -2010-04-30 Michael Hutchinson <mhutchinson@novell.com> - - * gtk-gui/gui.stetic: - * MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanel.cs: - * MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanelWidget.cs: - * gtk-gui/MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs: - Added GUI for the 'auto insert punctuation' option. - - * Makefile.am: - * MonoDevelop.XmlEditor.csproj: - * MonoDevelop.XmlEditor/XmlEditorOptions.cs: - * MonoDevelop.XmlEditor/XmlEditorAddInOptions.cs: Renamed - file. - - * MonoDevelop.Xml.Formatting/XmlFormatterWriter.cs: Spelling. - - * MonoDevelop.XmlEditor.addin.xml: Move panel from Style - section to Behavior. - -2010-04-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: Add - settings to stop inserting snippets like ="" and />. - - * MonoDevelop.XmlEditor/XmlSchemaManager.cs: - * MonoDevelop.XmlEditor/XmlFileExtensions.cs: - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanel.cs: - * MonoDevelop.XmlEditor/XmlEditorAddInOptions.cs: - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanel.cs: - Reorganized the XML editor settings. - -2010-04-28 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlMultipleClosingTagCompletionData.cs: - Track API changes. - -2010-04-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Free up - wasted space between scrollbars and treeview contents. - -2010-04-13 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor/XmlFormatter.cs: - * MonoDevelop.Xml.Formatting/XmlFormatter.cs: - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Track - API changes. - -2010-03-22 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.XmlEditor.addin.xml: Bumped MD version. - -2010-03-19 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * gtk-gui/gui.stetic: - * MonoDevelop.XmlEditor.csproj: - * MonoDevelop.XmlEditor.addin.xml: - * MonoDevelop.XmlEditor/XmlEditorService.cs: - * MonoDevelop.Xml.Formatting/XmlFormatter.cs: - * MonoDevelop.Xml.Formatting/MonoXmlPolicy.xml: - * MonoDevelop.Xml.Formatting/XmlFormatterWriter.cs: - * MonoDevelop.Xml.Formatting/XmlFormattingPolicy.cs: - * MonoDevelop.Xml.Formatting/XmlFormattingPolicyPanel.cs: - * MonoDevelop.Xml.Formatting/XmlFormattingPolicyPanelWidget.cs: - * gtk-gui/MonoDevelop.Xml.Formatting.XmlFormattingPolicyPanelWidget.cs: - New xml formatting policy. - -2010-03-17 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * gtk-gui/gui.stetic: - * MonoDevelop.XmlEditor.csproj: - * MonoDevelop.XmlEditor.addin.xml: - * MonoDevelop.XmlEditor/Commands.cs: - * MonoDevelop.XmlEditor/XmlFormatter.cs: - * MonoDevelop.XmlEditor/XmlEditorView.cs: - * MonoDevelop.XmlEditor/XmlEditorService.cs: - * MonoDevelop.Xml.Formatting/XmlFormatter.cs: - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanel.cs: - * MonoDevelop.XmlEditor/XmlEditorCommandBase.cs: - * MonoDevelop.XmlEditor/XmlEditorViewContent.cs: - * MonoDevelop.XmlEditor/OpenStylesheetCommand.cs: - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.XPath/XPathQueryWidget.cs: - * MonoDevelop.XmlEditor/XmlCompletionListWindow.cs: - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs: - * MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanel.cs: - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/IXmlCompletionProvider.cs: - * MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/EmptyXmlCompletionProvider.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionDataCollection.cs: - * MonoDevelop.XmlEditor.Completion/InferredXmlCompletionProvider.cs: - * MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionDataCollection.cs: - * MonoDevelop.XmlEditor.Completion/XmlMultipleClosingTagCompletionData.cs: - Merged MD.Projects into MD.Core, and MD.Projects.Gui, - MD.Core.Gui and MD.Components into MD.Ide. - -2010-03-05 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.csproj: Don't local-copy project refs, - as it duplicates assemblies and breaks running on .NET. - -2010-02-18 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlMultipleClosingTagCompletionData.cs: - Track api changes. - -2010-02-16 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: File - extensions are now declared in the node metadata. - -2010-02-04 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * MonoDevelop.XmlEditor.csproj: Add missing indirect - reference. - -2010-01-28 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/generated.cs: - * gtk-gui/MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.cs: - * gtk-gui/MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs: - Flush. - -2010-01-27 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlMultipleClosingTagCompletionData.cs: - Track API changes. - -2010-01-18 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor/XmlFormatter.cs: Track api changes. - -2009-10-30 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.XmlEditor.addin.xml: Bump MD version. - -2009-10-29 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor/XmlEditorService.cs: - * MonoDevelop.Xml.Formatting/XmlFormatterWriter.cs: - * MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs: - Fix warnings. - -2009-10-29 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/generated.cs: - * gtk-gui/MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.cs: - * gtk-gui/MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs: - Flush. - -2009-10-27 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Fixed 'Bug - 549703 - Customised XML file extensions are no longer - syntax-highlighted'. - -2009-10-08 Ankit Jain <jankit@novell.com> - - * MonoDevelop.XmlEditor.csproj: Use \ instead of '/' - in the Import. - -2009-10-08 Ankit Jain <jankit@novell.com> - - * MonoDevelop.XmlEditor.csproj: Add md.targets . - -2009-10-07 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.XmlEditor.addin.xml: Bump MD version. - -2009-10-06 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.csproj: - * MonoDevelop.XmlEditor.addin.xml: - * MonoDevelop.XmlEditor/Commands.cs: - * MonoDevelop.XmlEditor/XmlParser.cs: - * MonoDevelop.XmlEditor/XmlNamespace.cs: - * MonoDevelop.XmlEditor/QualifiedName.cs: - * MonoDevelop.XmlEditor/XmlElementPath.cs: - * MonoDevelop.XmlEditor/XmlEditorService.cs: - * MonoDevelop.XmlEditor/XmlSchemaManager.cs: - * MonoDevelop.XmlEditor/XmlFileExtensions.cs: - * MonoDevelop.XmlEditor.XPath/XPathQueryPad.cs: - * MonoDevelop.XmlEditor/EncodedStringWriter.cs: - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanel.cs: - * MonoDevelop.XmlEditor.XPath/XPathNodeMatch.cs: - * MonoDevelop.XmlEditor/XmlFileExtensionNode.cs: - * MonoDevelop.XmlEditor/XmlSchemaAssociation.cs: - * MonoDevelop.XmlEditor/DeclarationViewWindow.cs: - * MonoDevelop.XmlEditor/XmlEditorAddInOptions.cs: - * MonoDevelop.XmlEditor/OpenStylesheetCommand.cs: - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.XPath/XPathQueryWidget.cs: - * MonoDevelop.XmlEditor.XPath/XPathHistoryList.cs: - * MonoDevelop.XmlEditor/QualifiedNameCollection.cs: - * MonoDevelop.XmlEditor/OpenXPathQueryPadCommand.cs: - * MonoDevelop.XmlEditor.XPath/XPathNamespaceList.cs: - * MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanel.cs: - * MonoDevelop.XmlEditor.XPath/XPathNodeTextMarker.cs: - * MonoDevelop.XmlEditor.XPath/XPathQueryPadOptions.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: - * MonoDevelop.XmlEditor/RemoveXPathHighlightingCommand.cs: - * MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionDataCollection.cs: - * MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionDataCollection.cs: - Changed license to MIT/X11. - - * gtk-gui/gui.stetic: Flush. - -2009-10-06 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * MonoDevelop.XmlEditor.csproj: - * MonoDevelop.Xml.Formatting/XmlChar.cs: - * MonoDevelop.Xml.Formatting/XmlFormatterWriter.cs: Remove - duplicate imported XmlChar file. - -2009-10-06 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Use - ordinal comparer. - -2009-10-06 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * Icons/XPathQueryPad.png: - * MonoDevelop.XmlEditor.csproj: - * MonoDevelop.XmlEditor.addin.xml: Remove icon of unknown - provenance. - -2009-10-06 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Tweak - API so classes can return completion lists instead of - modifying one they're given. - -2009-09-23 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * MonoDevelop.Xml.Formatting: - * MonoDevelop.XmlEditor.csproj: - * MonoDevelop.Xml.Formatting/XmlChar.cs: - * MonoDevelop.Xml.Formatting/XmlFormatter.cs: - * MonoDevelop.Xml.Formatting/XmlFormatterWriter.cs: - * MonoDevelop.Xml.Formatting/XmlFormattingPolicy.cs: Added a - more advanced xml formatter, which is not yet being used. - -2009-09-12 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: - * MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlMultipleClosingTagCompletionData.cs: - Track API changes. - -2009-09-10 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor/XmlFormatter.cs: Track API changes. - -2009-09-09 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: - Implemented 'Bug 537682 - It would be great if I could just - type bar '/' to close any tag as <foo />...'. - -2009-08-26 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/gui.stetic: Update gtk# dependency. - -2009-08-26 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.csproj: Updated dependencies. We now - depend on gtk# 2.12.8, Mono 2.4, and Mono.Addins 0.4. - -2009-08-11 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor/XmlEditorService.cs: - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Track api - changes. - -2009-07-30 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor/XmlFormatter.cs: Don't crash when - trying to format malformed xml. - -2009-06-23 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor/XmlFormatter.cs: - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Use the new - DesktopService instead of PlatformService. - -2009-06-22 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * MonoDevelop.XmlEditor.csproj: - * MonoDevelop.XmlEditor.addin.xml: - * MonoDevelop.XmlEditor/XmlFormatter.cs: Implemented a simple - XML formatter. - -2009-06-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs: Fix - build. - -2009-06-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs: - Newlines are technically valid in attribute values. Only - emit a warning, not an error. - -2009-05-05 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs: Improve - an error message. - -2009-05-01 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs: Break - on newlines. Better error reporting. - - * MonoDevelop.Xml.StateEngine/XmlTagState.cs: Better error - reporting. - -2009-04-27 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor/DeclarationViewWindow.cs: Updated - declaration view from MonoDevelop.Projects.Gui - -2009-04-17 Mike Kestner <mkestner@novell.com> - - * MonoDevelop.XmlEditor.csproj: don't require specific - gtk-sharp version. - -2009-04-15 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.XmlEditor.addin.xml: Bump MD version. - -2009-03-17 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor/XmlDocumentParser.cs: Track API - changes. - -2009-03-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.csproj: Don't local-copy project refs. - -2009-03-13 Andrés G. Aragoneses <aaragoneses@novell.com> - - * XmlEditor.glade: Making some strings not translatable. - -2009-03-13 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.csproj: Moved text editor to core - -2009-03-04 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlDocTypeState.cs: Don't - capture quotes. - -2009-03-04 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Track - doctype parsing changes. Fix jumping to selections. - - * MonoDevelop.Xml.StateEngine/XDom.cs: - * MonoDevelop.Xml.StateEngine/XmlDocTypeState.cs: XDocType now - captures root element, URI, FPI, and the internal - declaration region. Fixes Bug 481897 - xml can't be parsed. - - * MonoDevelop.Xml.StateEngine/XmlParsedDocument.cs: Fold large - DocTypes. - - * gtk-gui/gui.stetic: Flush. - -2009-02-27 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * MonoDevelop.XmlEditor.csproj: - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: - * MonoDevelop.XmlEditor.Completion/InferredXmlCompletionProvider.cs: - Add support for very simplistic inferred XML completion when - a schema isn't present. - -2009-02-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs: Make - column headers translatable. - -2009-02-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs: Don't - end attribute values on > character. - -2009-02-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlTagState.cs: - * MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: - * MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs: - Improve error handling. - -2009-02-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlDocumentParser.cs: Fix logic error - that caused NRE with empty documents. - -2009-02-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Use Pad - font. - -2009-02-08 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.csproj: Local-copy schemas. - -2009-02-08 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.csproj: Nuke another project reference - local copy. - -2009-02-08 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.csproj: Exorcise more unwanted local - copy. - -2009-02-07 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs: - Fixed compiler warnings. - -2009-02-06 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.mds: - * MonoDevelop.XmlEditor.mdp: - * MonoDevelop.XmlEditor.csproj: Migrated to MSBuild file - format. - -2009-02-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Fix - duplicated ':' when completing incompletely parsed names - for the path bar. - -2009-02-03 Lluis Sanchez Gual <lluis@novell.com> - - * AssemblyInfo.cs: - * MonoDevelop.XmlEditor.addin.xml: Bump MD version. - -2009-02-03 Lluis Sanchez Gual <lluis@novell.com> - - * gtk-gui/generated.cs: - * MonoDevelop.XmlEditor.mdp: - * gtk-gui/MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.cs: - * - gtk-gui/MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs: - Flush. - -2009-02-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: - Don't use an IActionCompletionData, just generate the - completion text as needed and use | as a caret marker. - Fixes Bug 471681 - xml tag completion not working. - -2009-01-26 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.mdp: Flush project format changes. - -2009-01-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Add closing tag - completion to all XML docs. - -2009-01-06 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: Don't define DEBUG, as heavy use of Debug.Assert was - slowing down the XML text editor noticeably. - -2009-01-02 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * MonoDevelop.XmlEditor.mdp: Add missing reference. - -2008-12-29 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Fix cursor - position after autocompleting end tags. - -2008-12-29 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.addin.xml: - * MonoDevelop.XmlEditor/XmlDocumentParser.cs: Added a parser for XML - files. Enables folding and error underlining. - - * Makefile.am: - * MonoDevelop.XmlEditor.mdp: Updated. - - * MonoDevelop.XmlEditor/SourceViewTextIterator.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionDataProvider.cs: - * MonoDevelop.XmlEditor.Completion/ClosingBracketCompletionDataProvider.cs: - Removed, no longer used. - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Port to subclass the - BaseXmlEditorExtension instead of the custom XML parser. Improves - completion and triggering, and adds outline and path bar support. - There may be a few minor regressions in namespace resolution and the - goto schema command, and performance needs work. - -2008-12-29 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Moved - outline-building code from MoonlightEditorExtension to be the default - implementation in BaseXmlEditorExtension, since it works with any - XmlParsedDocument. Fix GetCompleteName so it handles prefixes, and - expose it as protected. Add some simple entity completion support. - Implement support for automatic closing tags via a protected flag. - -2008-12-12 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.mdp: - * Tests/MonoDevelop.XmlEditor.Tests.mdp: All projects now require fx - 3.5. - -2008-12-09 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.mdp: Don't require a specific version of - Mono.Addins. - -2008-12-05 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Track api - changes. - -2008-12-02 Michael Hutchinson <mhutchinson@novell.com> - - * AssemblyInfo.cs: Add AssemblyInfo.cs files that are autogenerated from - the addin manifests. - -2008-11-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlFreeState.cs: Improve error reporting. - -2008-11-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlTagState.cs: Remove multiple root - element validation from here because it's not easy to override. - -2008-11-25 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * MonoDevelop.XmlEditor.mdp: Add reference required for building. - -2008-11-25 Lluis Sanchez Gual <lluis@novell.com> - - * Makefile.am: - * MonoDevelop.XmlEditor.mdp: Add glib dep. - -2008-11-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Add - AddMiscBeginTags member that adds begin tags for comments and CData. - -2008-11-17 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs: Log an error region instead of - a line/col location when possible. - -2008-11-14 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs: Add overloads for logging with - more accurate locations. - - * MonoDevelop.Xml.StateEngine/XmlTagState.cs: Remove unused code. - -2008-11-14 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XDom.cs: Add a Value property to XDocType. - - * MonoDevelop.Xml.StateEngine/XmlDocTypeState.cs: Copture the doctype - string when in tree mode. - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Copture doctype - from the ParsedDocument if it's an XmlParsedDocument. Add utility - GetBufferText method. - -2008-11-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XDom.cs: Avoid possible NRE in - ToUpper/ToLower. - -2008-11-13 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * MonoDevelop.XmlEditor.mdp: Updated. - - * MonoDevelop.Xml.StateEngine/XmlParsedDocument.cs: Moved - MoonlightParsedDocument to XmlParsedDocument in the Xml addin. - -2008-11-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XDom.cs: Add ToUpper/ToLower methods on - XName. - - * MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs: Fixed bug that - popped unmatched opening nodes when not in tree mode. Fixes exception - in path bar when closing tags outnumber opening tags. - -2008-11-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Fix build. - -2008-11-12 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Show code - templates for forced completion in free space. Fix accidental leak of - attribute name triggering into free space. - -2008-11-11 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Track fix in text - editor's completion line/col indexing. It's now 1-indexed, as it - should be. - -2008-11-07 Eric Butler <eric@extremeboredom.net> - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Don't explode - in Timeout callback if the BaseXmlEditorExtension was disposed. - -2008-11-07 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: - * MonoDevelop.XmlEditor.Completion/XmlMultipleClosingTagCompletionData.cs: - Add additional closing elements to the completion list for all parent - elements, that also close all intermediate elements. - - * Makefile.am: - * MonoDevelop.XmlEditor.mdp: Updated. - -2008-11-06 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: Fix build dependencies. - -2008-11-05 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.addin.xml: Bump MD version. - -2008-11-05 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Added new helper - method. - -2008-10-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XDom.cs: - * MonoDevelop.Xml.StateEngine/Parser.cs: - * MonoDevelop.Xml.StateEngine/XmlTagState.cs: - * MonoDevelop.Xml.StateEngine/XmlCDataState.cs: - * MonoDevelop.Xml.StateEngine/XmlDocTypeState.cs: - * MonoDevelop.Xml.StateEngine/XmlCommentState.cs: - * MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: - * MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs: - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: - * MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs: Changed - Xml StateEngine from offset-based positions to line/column positions. - -2008-10-23 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XDom.cs: Fix recursive enumerables. Fix - bug that prevented tree being built. - - * MonoDevelop.Xml.StateEngine/Parser.cs: Make line, col accessible. - Write out errors in debug string. - -2008-10-23 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlTagState.cs: Catch multiple root nodes. - - * MonoDevelop.Xml.StateEngine/XDom.cs: Add field to XDocument for root - node. Add some element-enumerating methods to XElement. Rename - RecursiveNodes to AllDescendentNodes. - - * MonoDevelop.Xml.StateEngine/Parser.cs: Track line/col so we can use - the same error class as MonoDevelop.Projects.Dom. - -2008-10-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Don't try to create - completion list when the array of source elements is null. Fixes - exception in XML editor. - -2008-10-21 Ryan Bair <ryandbair@gmail.com> - - * MonoDevelop.XmlEditor.Completion/ClosingBracketCompletionDataProvider.cs: - Capture full name of opening tag. Don't read back past an end bracket. - -2008-10-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Move updating of - state engine so that subclasses don't have to do it. - -2008-10-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Implement - attribute value completion and attribute completion. - -2008-10-15 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: Move more code - here from the ASP.NET completion extension. - -2008-10-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: - * MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionDataProvider.cs: - * MonoDevelop.XmlEditor.Completion/ClosingBracketCompletionDataProvider.cs: - Track APIs. - -2008-10-09 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlCompletionDataCollection.cs: Track - CompletionData API. - -2008-10-08 Michael Hutchinson <mhutchinson@novell.com> - - * gtk-gui/gui.stetic: Add event and property for accessing errors. - -2008-10-07 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: - * MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs: Track API. - -2008-10-03 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs: New base class - containing common XML completion code from the - AspNetEditorExtension. - * Makefile.am, MonoDevelop.XmlEditor.mdp: Updated. - * MonoDevelop.Xml.StateEngine/Parser2.cs: Remove unused parser. - -2008-09-29 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs, - MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs: - implemented IComparable <ICompletionData> - -2008-09-23 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.addin.xml: Set an id to the xml editor - extension. - -2008-09-18 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.Completion/XmlCompletionDataProvider.cs, - MonoDevelop.XmlEditor.Completion/ClosingBracketCompletionDataProvider.cs: - Track api changes. - -2008-09-12 Lluis Sanchez Gual <lluis@novell.com> - - * Tests/MonoDevelop.XmlEditor.Tests.mdp, gtk-gui/generated.cs, - gtk-gui/MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs, - gtk-gui/MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.cs: Updated - generated code. - -2008-08-26 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlTagState.cs, - MonoDevelop.Xml.StateEngine/XmlChar.cs, - MonoDevelop.Xml.StateEngine/XmlNameState.cs, Makefile.am, - MonoDevelop.XmlEditor.mdp: Use Mono's System.Xml.XmlChar to check - whether name chars are valid for XML. - -2008-08-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs, - MonoDevelop.Xml.StateEngine/XmlFreeState.cs: Replace C#3 automatic - properties into C# 2 properties. Fixes build on Mono < 1.9. Thanks - to Joshua Simmons for the patch. - -2008-08-01 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: Break up - attribute value states. - * MonoDevelop.Xml.StateEngine/Parser.cs: Attach parser state to - exceptions. - -2008-07-31 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: Use a - MalformedTagState for recovery. - * MonoDevelop.Xml.StateEngine/XmlCommentState.cs, - MonoDevelop.Xml.StateEngine/XmlDocTypeState.cs, - MonoDevelop.Xml.StateEngine/XmlCDataState.cs, - MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs: - Insert nodes when state begins (instead of end) so that we can use - them in paths. - * MonoDevelop.Xml.StateEngine/Parser.cs: Track previous state. - * MonoDevelop.Xml.StateEngine/XDom.cs: Add support for getting a - "friendly" representation of the node for a user-visible path. - -2008-07-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs, - MonoDevelop.Xml.StateEngine/XmlCommentState.cs, - MonoDevelop.Xml.StateEngine/XmlMalformedTagState.cs, - MonoDevelop.Xml.StateEngine/XmlTagState.cs, - MonoDevelop.Xml.StateEngine/XmlNameState.cs: Move towards making - the MalformedTagState more replaceable, so that handling of - unexpected '<' can be intercepted. - * MonoDevelop.Xml.StateEngine/XmlCDataState.cs, - MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs: - Tidying up. - -2008-07-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlMalformedTagState.cs, - MonoDevelop.Xml.StateEngine/XmlDocTypeState.cs, - MonoDevelop.Xml.StateEngine/XmlTagState.cs, - MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs, - MonoDevelop.Xml.StateEngine/XmlNameState.cs, - MonoDevelop.Xml.StateEngine/XmlFreeState.cs, - MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs, - MonoDevelop.Xml.StateEngine/State.cs, - MonoDevelop.Xml.StateEngine/Parser.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeState.cs, - MonoDevelop.Xml.StateEngine/XmlCDataState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs, - MonoDevelop.Xml.StateEngine/XmlCommentState.cs: API change to allow - more that one character of rollback. - -2008-07-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlParser.cs, - MonoDevelop.Xml.StateEngine/Parser2.cs, - MonoDevelop.Xml.StateEngine/XState.cs, MonoDevelop.XmlEditor.mdp: - Yet another parser that may be easier to extend to handle comments - and expressions in arbitrary locations. Builds the same DOM as the - existing one. Incomplete, and disabled for now. - -2008-07-29 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs: Don't allow EndAll to close - XDocument. - * MonoDevelop.Xml.StateEngine/XmlFreeState.cs: Add a const for - overriding nodes to know what StateTag values they can use. - * MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: Operate on any - IAttributedXObject. - * MonoDevelop.Xml.StateEngine/XDom.cs: Abstract out objects with - attributes via IAttributedXObject interface. - -2008-07-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlFreeState.cs: Improve reset on <. - Expose state tag consts for subclasses to use. - * MonoDevelop.Xml.StateEngine/XDom.cs: Rename AttributeCollection to - XAttributeCollection. - -2008-07-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs, - MonoDevelop.Xml.StateEngine/XmlTagState.cs, - MonoDevelop.Xml.StateEngine/XmlMalformedTagState.cs: Make sure that - bad nodes are attached, ended and popped when we recover. - -2008-07-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs: Copy the stringbuilder when - cloning the parser. - -2008-07-23 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs, - MonoDevelop.Xml.StateEngine/XmlTagState.cs: Fix start locations. - * MonoDevelop.Xml.StateEngine/Parser.cs, - MonoDevelop.Xml.StateEngine/XDom.cs: Make it possible to clone - parser and switch it into tree mode. Some general cloning fixes. - -2008-07-23 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs, - MonoDevelop.Xml.StateEngine/State.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs, - MonoDevelop.Xml.StateEngine/XmlCommentState.cs, - MonoDevelop.Xml.StateEngine/XmlMalformedTagState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeState.cs, - MonoDevelop.Xml.StateEngine/XmlDocTypeState.cs, - MonoDevelop.Xml.StateEngine/Parser.cs, - MonoDevelop.Xml.StateEngine/XmlTagState.cs, - MonoDevelop.Xml.StateEngine/XmlCDataState.cs, - MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs, - MonoDevelop.Xml.StateEngine/XmlNameState.cs, - MonoDevelop.Xml.StateEngine/XmlFreeState.cs: New XML parser. - Currently only used (in subclassed form) by ASP.NET code completion - engine. - * MonoDevelop.Xml.StateEngine/CDataState.cs, - MonoDevelop.Xml.StateEngine/XmlSpecialTagState.cs, - MonoDevelop.Xml.StateEngine/XmlTagNameState.cs: Removed/renamed. - * MonoDevelop.Xml.StateEngine/XDom.cs: Minimalistic XML DOM used by new - XML parser. Modelled after System.Xml.Linq - * gtk-gui/objects.xml, Makefile.am, MonoDevelop.XmlEditor.mdp: Updated. - -2008-06-26 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs: Remove debug code. - * MonoDevelop.Xml.StateEngine/XDom.cs: Implement a new lightweight XML - DOM somewhat modelled after the LINQ-to-XML DOM, but designed to - ignore all content. It's intended to mark the location, name and - type of tags in a text buffer, and should be able to be extended to - be used with HTML and ASP.NET. - * Makefile.am, MonoDevelop.XmlEditor.mdp: Updated. - -2008-06-26 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs: Remove reference to work-in- - progress code. - -2008-06-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs, - MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs, - MonoDevelop.Xml.StateEngine/CDataState.cs, - MonoDevelop.Xml.StateEngine/XmlTagState.cs, - MonoDevelop.Xml.StateEngine/XmlSpecialTagState.cs, - MonoDevelop.Xml.StateEngine/XmlTagNameState.cs, - MonoDevelop.Xml.StateEngine/State.cs, - MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs, - MonoDevelop.Xml.StateEngine/XmlFreeState.cs, - MonoDevelop.Xml.StateEngine/XmlCommentState.cs, - MonoDevelop.Xml.StateEngine/XmlMalformedTagState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: Rework stack - cloning and character rejection mechanisms in XML/ASP state engine. - -2008-06-09 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.mds: Don't build editor tests by default. - -2008-06-04 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.addin.xml, MonoDevelop.XmlEditor.mds: Bump MD - version. - -2008-06-03 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor/XmlEditorService.cs: Use the OnDestroyed event - instead of Dispose, since with the latest changes in gtk#, Dispose - is not called anymore when a widget is destroyed. - -2008-06-02 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.mds: Some fixes in project files. - -2008-05-22 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor/XmlEditorService.cs: Replaced - ICompilerResult/DefaultCompilerResult/CompilerResults by a new - BuildResult class, which has owner information at error level, so - it is possible to know which project generated an error when - building a solution. Updated Task and TaskService to use the new - owner information. - -2008-05-21 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.mdp: New project model changes. - -2008-05-07 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlSpecialTagState.cs: Fix opening of - CDATA tags. - -2008-04-30 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs, - MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs, - MonoDevelop.Xml.StateEngine/XmlTagState.cs, - MonoDevelop.Xml.StateEngine/XmlTagNameState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs, - MonoDevelop.Xml.StateEngine/XmlFreeState.cs, - MonoDevelop.Xml.StateEngine/XmlMalformedTagState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: Make sure more - states have closing positions. - -2008-04-25 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs, - MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs, - MonoDevelop.Xml.StateEngine/CDataState.cs, - MonoDevelop.Xml.StateEngine/XmlTagState.cs, - MonoDevelop.Xml.StateEngine/XmlSpecialTagState.cs, - MonoDevelop.Xml.StateEngine/State.cs, - MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs, - MonoDevelop.Xml.StateEngine/XmlFreeState.cs, - MonoDevelop.Xml.StateEngine/XmlCommentState.cs, - MonoDevelop.Xml.StateEngine/XmlMalformedTagState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: Change XML state - engine API to allow cloning a single node (as an alternative to the - whole stack). - * MonoDevelop.Xml.StateEngine/XmlTagNameState.cs: Track API and fix - name closing logic. - -2008-04-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlSpecialTagState.cs, - MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs: Add - support for processing instructions. - * Makefile.am, MonoDevelop.XmlEditor.mdp: Updated. - -2008-04-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: Add convenience - members. - * MonoDevelop.XmlEditor.mdp: Updated. - -2008-04-17 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.Xml.StateEngine/Parser.cs, - MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs, - MonoDevelop.Xml.StateEngine/CDataState.cs, - MonoDevelop.Xml.StateEngine/XmlTagState.cs, - MonoDevelop.Xml.StateEngine/XmlSpecialTagState.cs, - MonoDevelop.Xml.StateEngine/XmlTagNameState.cs, - MonoDevelop.Xml.StateEngine/State.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs, - MonoDevelop.Xml.StateEngine/XmlFreeState.cs, - MonoDevelop.Xml.StateEngine/XmlCommentState.cs, - MonoDevelop.Xml.StateEngine/XmlMalformedTagState.cs, - MonoDevelop.Xml.StateEngine/XmlAttributeState.cs: Add new XML state - engine for triggering autocompletion and indentation in XML-like - languages. - * Makefile.am, MonoDevelop.XmlEditor.mdp: Updated. - -2008-04-16 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Track API change. - Remove char code translation hack. - -2008-04-11 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: Depend on MonoDevelop.SourceEditor2.dll; its build number - auto-increments, so whenever it changes, we need to rebuild this. - -2008-04-08 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs, - MonoDevelop.XmlEditor.Completion/ClosingBracketCompletionDataProvider.cs: - Split the completion data class into a separated file and - generalised it a little. - * MonoDevelop.XmlEditor.Completion/ILazilyLoadedProvider.cs, - MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs: Rework - lazy loading, with forced advance-loading via an interface. - * MonoDevelop.XmlEditor.Completion/EmptyXmlCompletionProvider.cs: - Implemented an empty completion provider. - * Makefile.am, MonoDevelop.XmlEditor.mdp: Updated. - -2008-04-03 Marcos David Marín Amador <MarcosMarin@gmail.com> - - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs: Workaround bug in mono - 1.2.4 where usings are ignored inside anonymous methods. - -2008-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Completion/ClosingBracketCompletionDataProvider.cs, - MonoDevelop.XmlEditor/ClosingBracketCompletionDataProvider.cs: - Moved and made the data object public. - * Makefile.am, MonoDevelop.XmlEditor.mdp: Updated. - -2008-04-02 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.addin.xml: Bump version to 0.19 to match - other addins. Fixes dependency resolution on Mono HEAD (but wasn't - a problem on 1.9, not sure why). - -2008-04-01 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs, Makefile.am, - MonoDevelop.XmlEditor.mdp: Updated. - * MonoDevelop.XmlEditor/XmlSchemaManager.cs, - MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Track namespace - changes. - * MonoDevelop.XmlEditor/XmlSchemaCompletionDataCollection.cs, - MonoDevelop.XmlEditor/XmlCompletionData.cs, - MonoDevelop.XmlEditor/XmlCompletionDataProvider.cs, - MonoDevelop.XmlEditor/XmlCompletionDataCollection.cs, - MonoDevelop.XmlEditor/XmlSchemaCompletionData.cs: Moved to - MonoDevelop.XmlEditor.Completion namespace. - * MonoDevelop.XmlEditor/XmlEditorService.cs: Track namespace changes. - Improve validation verbosity. Reduce use of deprecated APIs. - * MonoDevelop.XmlEditor/XmlEditorWindow.cs: No longer needed. - * MonoDevelop.XmlEditor.Completion/IXmlCompletionProvider.cs, - MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs: - Factored out an interface so that XML completion doesn't explicitly - depend on xsd schemas. Added some alternate (namespaceless) lookups - that will be used for HTML completion in ASP.NET. Misc tidying. - * MonoDevelop.XmlEditor.Completion/XmlCompletionDataProvider.cs, - MonoDevelop.XmlEditor.Completion/XmlCompletionDataCollection.cs, - MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionDataCollection.cs: - Move and change namespace. - * MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs: Tidied up. - -2008-03-28 Marcos David Marín Amador <MarcosMarin@gmail.com> - - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs: Workaround for bug in - mono 1.2.4 where usings are ignored inside anonymous methods. - -2008-03-27 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs: Remove debug - code. - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Re-enable syntax - highlighting. - * gtk-gui/gui.stetic, Makefile.am, MonoDevelop.XmlEditor.addin.xml, - MonoDevelop.XmlEditor.mdp: Add SourceEditor2 dependency. - -2008-03-27 Atsushi Enomoto <atsushi@ximian.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs : quick build fix. - -2008-03-26 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: When using the - Mono.TextEditor/SourceEditor2 editor, enable XML syntax - highlighting for all user-registered XML filetypes. - * MonoDevelop.XmlEditor/XmlSchemaCompletionDataCollection.cs: Oops, fix - null check that prevented access to full set of schemas. - -2008-03-24 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Remove redundant - member. May fix some compilation errors. - -2008-03-21 Marcos David Marín Amador <MarcosMarin@gmail.com> - - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs: Workaround bug in mono - 1.2.4 where usings are ignored inside anonymous methods. - -2008-03-21 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: When - Document.FileName is null or empty, try using Document.Title. - Enables XML extension on dynamically created documents. - * MonoDevelop.XmlEditor.addin.xml: Add back a menu separator. - * MonoDevelop.XmlEditor/XmlEditorService.cs: Remove unused variable. - -2008-03-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs: Move dialog to - XmlEditorService. - * MonoDevelop.XmlEditor/RunXslTransformCommand.cs, - MonoDevelop.XmlEditor/AssignStylesheetCommand.cs: Moved - implementation into XmlEditorService and XmlTextEditorExtension. - * MonoDevelop.XmlEditor/ClosingBracketCompletionDataProvider.cs: Fix - previous character index. - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Implement commands, - based on code from command classes. - * MonoDevelop.XmlEditor/XmlEditorService.cs: Move more command - implementations to editor service and refactor heavily. - * Makefile.am, MonoDevelop.XmlEditor.mdp: Updated. - * MonoDevelop.XmlEditor.addin.xml: Enable most of the XML commands. - -2008-03-20 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlSchemaManager.cs: Actually use merged schema - collection. - * MonoDevelop.XmlEditor/XmlCompletionData.cs: Remove unnecessary - reference to inherited interface. - * MonoDevelop.XmlEditor/GoToSchemaDefinitionCommand.cs, - MonoDevelop.XmlEditor/CreateSchemaCommand.cs, - MonoDevelop.XmlEditor/FormatXmlCommand.cs, - MonoDevelop.XmlEditor/ValidateXmlCommand.cs: Moved implementation - into XmlEditorService and XmlTextEditorExtension. - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Implement XMl - commands, based on code from command classes. - * MonoDevelop.XmlEditor/XmlSchemaCompletionDataCollection.cs: Add - IEnumerable implementation to merged collection. - * MonoDevelop.XmlEditor/XmlEditorService.cs: Move much of command - implementations to editor service and refactor heavily. - * Makefile.am, MonoDevelop.XmlEditor.mdp: Updated. - -2008-03-19 Marcos David Marín Amador <MarcosMarin@gmail.com> - - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs: Workaround bug in mono - 1.2.4 where usings are ignored inside anonymous methods. - -2008-03-19 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/ClosingBracketCompletionDataProvider.cs, - MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Move bracket - autocompletion into a completion provider, so that the user can - escape bracket completion. - * Makefile.am, MonoDevelop.XmlEditor.mdp: Updated. - -2008-03-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.mdp: Updated. - * gtk-gui, gtk-gui/generated.cs, - gtk-gui/MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs, - gtk-gui/gui.stetic, - gtk-gui/MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.cs, - gtk-gui/objects.xml: Add stetic-generated files. - -2008-03-18 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlCompletionDataProvider.cs: Track API. - -2008-03-18 Michael Hutchinson <mhutchinson@novell.com> - - * schemas/MonoDevelopAddIn.xsd, schemas/manifest.xsd, - schemas/appconfig.xsd: Make XML valid, so the mime type is picked - up correctly. - * MonoDevelop.XmlEditor.addin.xml, Makefile.am, - MonoDevelop.XmlEditor.mdp: Updated. - * MonoDevelop.XmlEditor.Gui/XmlSchemasPanel.cs, - MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs: New UI for - schema and filetype settings. Now allows overriding built-in - schemas and defining additional handled filetypes. - * MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanel.cs, - MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanelWidget.cs: New UI - using Stetic. - * MonoDevelop.XmlEditor/SelectXmlSchemaDialog.cs, - MonoDevelop.XmlEditor/XslOutputViewContent.cs, - MonoDevelop.XmlEditor/XmlSchemasPanelWidget.cs, - MonoDevelop.XmlEditor/XmlEditorListWindow.cs: No longer needed. - * MonoDevelop.XmlEditor/XmlSchemasPanel.cs, - MonoDevelop.XmlEditor/XmlEditorOptionsPanel.cs: Moved. - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Track API. - * MonoDevelop.XmlEditor/XmlSchemaManager.cs: Support overriding of - built-in schemas with user schemas. - * MonoDevelop.XmlEditor/XmlSchemaCompletionDataCollection.cs: Use - generic collections. Separate completion functions into an - interface and implement a "merge" collection. - * MonoDevelop.XmlEditor/XmlSchemaAssociation.cs: Use LowerInvariant for - extensions. - * MonoDevelop.XmlEditor/XmlFileExtensions.cs: Use generics. Allow - adding xml file extensions. - * MonoDevelop.XmlEditor/XmlEditorOptionsPanelWidget.cs: Replaced by - stetic version. - * MonoDevelop.XmlEditor/XmlEditorAddInOptions.cs: Allow adding xml file - extensions. - -2008-03-14 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: fix install location of schemas. - -2008-03-13 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlSchemaManager.cs: Make class static. Change - console messages to log messages. - * MonoDevelop.XmlEditor/XmlCompletionData.cs: Port to use - IEditableTextBuffer rather than XmlEditorView. - * MonoDevelop.XmlEditor/XmlCompletionDataProvider.cs: Track MD APIs. - * MonoDevelop.XmlEditor/XmlTextEditorExtension.cs: Port code completion - functionality from XmlEditorView to a TextEditorExtension that will - work with all editors. - * MonoDevelop.XmlEditor/XmlDisplayBinding.cs: Unneeded. - * MonoDevelop.XmlEditor/XmlEditorService.cs: Replace - XmlEditorViewContent accessors with XmlTextEditorExtension - accessors (which won't do anything until I commit a MonoDevelop.Ide - patch). Also many cosmetic tweaks. - * MonoDevelop.XmlEditor/XmlSchemaCompletionData.cs: Remove some - unnecessary instantiations. - * MonoDevelop.XmlEditor/FormatXmlCommand.cs: Port to - IEditableTextBuffer. Make it operate on the selection if there is - one. - * Makefile.am, MonoDevelop.XmlEditor.addin.xml, - MonoDevelop.XmlEditor.mdp: Disable all of the files and extensions - that are not yet ported. Remove the GtkSourceView and SourceEditor - dependencies. - -2008-03-10 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: - * MonoDevelop.XmlEditor.mds: - * MonoDevelop.XmlEditor.mdp: Fix MonoDevelop project. - -2008-03-07 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/XmlSchemasPanel.cs: - * MonoDevelop.XmlEditor/XmlEditorOptionsPanel.cs: - * MonoDevelop.XmlEditor.addin.xml: Track options panel API changes. - -2008-03-06 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor/Schemas: Move to schemas. - * MonoDevelop.XmlEditor/schemas: Moved from Schemas. - - * Makefile.am: Fix build. - - * MonoDevelop.XmlEditor/RunXslTransformCommand.cs: - * MonoDevelop.XmlEditor/XmlSchemasPanelWidget.cs: - * MonoDevelop.XmlEditor/XmlEditorViewContent.cs: - * MonoDevelop.XmlEditor/XmlEditorView.cs: - * MonoDevelop.XmlEditor/CreateSchemaCommand.cs: - * MonoDevelop.XmlEditor/XmlSchemasPanel.cs: - * MonoDevelop.XmlEditor/XmlEditorService.cs: - * MonoDevelop.XmlEditor/OpenStylesheetCommand.cs: - * MonoDevelop.XmlEditor.addin.xml: - Quick and dirty port to MD trunk and GtkSourceView 2, just to get - it working before I port it to a TextEditorExtension. - -2008-03-06 Michael Hutchinson <mhutchinson@novell.com> - - * Makefile.am: Update for the trunk build system and file - layout changes. - -2007-09-13 21:18 mrward - - * trunk/configure.in, - trunk/src/MonoDevelop.XmlEditor.Tests/AssemblyInfo.cs, - trunk/src/MonoDevelop.XmlEditor/AssemblyInfo.cs, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionData.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorAddInOptions.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorService.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs: XML - Editor now compiles and works with MonoDevelop 0.15 - -2007-06-13 22:31 mrward - - * trunk/configure.in: Configure now checks the MonoDevelop version - is 0.14 - -2007-06-13 22:23 mrward - - * trunk/ChangeLog: Updated changelog ready for a snapshot release - 0.4 that builds against MonoDevelop 0.14 - -2007-06-10 10:50 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/CompletionData/XmlCompletionDataStringTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionData.cs, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorWindow.cs: - XmlCompletionData now implements the IActionCompletionData - interface. All xml completion is now done via the InsertAction - method. - -2007-06-09 17:51 mrward - - * trunk/src/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs: The - completion list window now selects the matching namespace during - namespace completion. - -2007-06-09 17:03 mrward - - * trunk/src/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs: The - completion list window now selects the matching list item when - the user types in a special xml character (e.g. colon). - -2007-06-09 15:34 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/AttributeGroupReferenceSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/AttributeReferenceSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/AttributeSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/AttributeTypeSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/ElementReferenceSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/ElementReferenceWithPrefixSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/ElementSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/ElementTypeSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/ElementTypeWithPrefixSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/GroupReferenceSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/GetSchemaFromFileNameTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor/GoToSchemaDefinitionCommand.cs, - trunk/src/MonoDevelop.XmlEditor/ICompletionData.cs, - trunk/src/MonoDevelop.XmlEditor/ICompletionDataProvider.cs, - trunk/src/MonoDevelop.XmlEditor/ICompletionWidget.cs, - trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionDataProvider.cs, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorListWindow.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs: Removed the - ICompletionData, ICompletionDataProvider and the - ICompletionWidget files. The XML editor now uses these interfaces - from MonoDevelop. The 0.14 MonoDevelop assemblies are now - referenced in the addin xml file. - -2007-05-28 11:58 mrward - - * trunk/configure.in, - trunk/src/MonoDevelop.XmlEditor.Tests/AssemblyInfo.cs, - trunk/src/MonoDevelop.XmlEditor/AssemblyInfo.cs, - trunk/src/MonoDevelop.XmlEditor/CreateSchemaCommand.cs, - trunk/src/MonoDevelop.XmlEditor/FormatXmlCommand.cs, - trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/OpenXPathQueryPadCommand.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorService.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs, - trunk/src/MonoDevelop.XmlEditor/XmlFileExtensionCodon.cs, - trunk/src/MonoDevelop.XmlEditor/XmlFileExtensionNode.cs, - trunk/src/MonoDevelop.XmlEditor/XmlFileExtensions.cs: XML Editor - can now be compiled against MonoDevelop revision 77999. Updated - MonoDevelop.XmlEditor.addin.xml so it uses the new format and - extension points. Fixed compilation errors due to namespace - changes in MonoDevelop and its use of Mono.Addins. - -2007-04-08 19:04 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/MimeTypeHandledTests.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs: The XML - editor now supports the 'application/xml' mime type. - -2007-04-08 18:46 mrward - - * trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs: - XmlEditorViewContent now implements the new ITextFile's GetCharAt - method. - -2007-02-23 18:21 mrward - - * trunk/ChangeLog: Updated changelog ready for a snapshot release - 0.3 that builds against MonoDevelop 0.13 - -2007-02-23 18:17 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/AssemblyInfo.cs, - trunk/src/MonoDevelop.XmlEditor/AssemblyInfo.cs: Updated Xml - Editor addin assembly version to 0.3 - -2007-02-23 18:15 mrward - - * trunk/configure.in: Updated configure to check for MonoDevelop - 0.13. Xml Editor addin version set to 0.3. - -2007-02-23 17:43 mrward - - * trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml: - Renamed menu item to 'Go to Schema Definition' to be consistent - with MonoDevelop which has 'Go to' as two separate words. - -2007-02-23 17:39 mrward - - * trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml: - Added missing addin dependencies to - MonoDevelop.XmlEditor.addin.xml file. - -2007-02-19 18:35 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/Parser/QualifiedNameTestFixture.cs: - Added unit test for QualifiedName.GetHashCode() - -2007-02-19 18:31 mrward - - * trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml: - Updated the version number of the MonoDevelop dependencies to - 0.13.0 - -2007-02-17 21:13 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor.mds, - trunk/src/MonoDevelop.XmlEditor/ICompletionData.cs, - trunk/src/MonoDevelop.XmlEditor/ICompletionDataProvider.cs, - trunk/src/MonoDevelop.XmlEditor/ICompletionWidget.cs, - trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorService.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs: Copied the - ICompletionData, ICompletionDataProvider and ICompletionWidget - interfaces into the XML Editor project from MonoDevelop 0.12. Due - to changes in the code completion infrastructure in the latest - version of MonoDevelop the XML Editor would not compile. The old - versions of the completion interfaces have been used as an - interim fix before attempting to use the new infrastructure. - -2006-12-26 22:55 mrward - - * trunk/src, trunk/src/MonoDevelop.XmlEditor/schemas/nant.xsd, - trunk/src/MonoDevelop.XmlEditor/schemas/readme.txt: Updated the - NAnt 0.85 schema. - -2006-12-06 00:49 mrward - - * trunk/TODO, - trunk/src/MonoDevelop.XmlEditor/CreateSchemaCommand.cs, - trunk/src/MonoDevelop.XmlEditor/FormatXmlCommand.cs, - trunk/src/MonoDevelop.XmlEditor/RunXslTransformCommand.cs, - trunk/src/MonoDevelop.XmlEditor/ValidateXmlCommand.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorService.cs: Fixed - compilation errors due to methods being renamed in MonoDevelop's - TaskService class. - -2006-10-23 14:53 mrward - - * trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs: Added - workaround used in MonoDevelop.SourceEditor to fix a problem with - the gtk treeview stealing focus. The workaround changes the focus - back to the editor and scrolls to the cursor position again after - a short timeout. Without this workaround the XML editor would - fail to scroll to the correct line when opening a large xml file - for the first time. For example, when selecting the Goto Schema - Definition menu item, with the schema file not already open, - would fail to scroll the editor so the correct line was - displayed. - -2006-10-13 20:43 mrward - - * trunk/TODO, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/AttributeGroupReferenceSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/AttributeReferenceSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/AttributeSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/AttributeTypeSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/ElementReferenceSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/ElementReferenceWithPrefixSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/ElementSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/ElementTypeSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/ElementTypeWithPrefixSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/FindSchemaObject/GroupReferenceSelectedTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/ActiveElementUnderCursorTests.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/AttributeNameTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/AttributeNameUnderCursorTests.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/AttributeValueUnderCursorTests.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/InsideAttributeValueTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/ParentElementPathTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/ElementWithAttributeSchemaTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/FindAttributeFromComplexTypeTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/GetSchemaFromFileNameTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/XmlSchemaNamespaceTests.cs, - trunk/src/MonoDevelop.XmlEditor/Commands.cs, - trunk/src/MonoDevelop.XmlEditor/GoToSchemaDefinitionCommand.cs, - trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionDataProvider.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs, - trunk/src/MonoDevelop.XmlEditor/XmlParser.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemaCompletionData.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemaCompletionDataCollection.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemaManager.cs: Added Goto - Schema Definition menu item. This allows the user to select an - element, attribute or attribute value and jump to the - corresponding schema definition. - -2006-10-13 18:14 mrward - - * trunk/src/MonoDevelop.XmlEditor/XPathQueryWidget.cs: When an - XPath query is executed the notebook page showing the results is - made the current page. - -2006-10-07 19:40 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor.Tests/XPathQuery/XPathHistoryListTests.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/XPathQuery/XPathNamespaceListTests.cs, - trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/XPathHistoryList.cs, - trunk/src/MonoDevelop.XmlEditor/XPathNamespaceList.cs, - trunk/src/MonoDevelop.XmlEditor/XPathQueryPad.cs, - trunk/src/MonoDevelop.XmlEditor/XPathQueryPadOptions.cs, - trunk/src/MonoDevelop.XmlEditor/XPathQueryWidget.cs: The XPath - query window saves the xpath history and any namespaces entered - and restores them on restarting MonoDevelop. - -2006-10-07 17:30 mrward - - * trunk, trunk/src, trunk/src/MonoDevelop.XmlEditor, - trunk/src/MonoDevelop.XmlEditor.Tests, - trunk/src/MonoDevelop.XmlEditor/Commands.cs, - trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/RemoveXPathHighlightingCommand.cs, - trunk/src/MonoDevelop.XmlEditor/XPathQueryPad.cs: Added Remove - XPath Highlighting menu item which will remove the xpath matches - highlighted in the XML editor. - -2006-10-07 16:25 mrward - - * trunk/src/MonoDevelop.XmlEditor/XPathQueryWidget.cs: Pressing the - return key inside the xpath ComboBoxEntry now executes the xpath - query. Added basic pop-up auto-completion to the xpath - ComboBoxEntry. - -2006-09-27 21:17 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor.Tests/XPathQuery, - trunk/src/MonoDevelop.XmlEditor.Tests/XPathQuery/RunXPathQueryTests.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/XPathQuery/XmlNamespaceTests.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/XPathQuery/XmlNamespaceToStringTests.cs, - trunk/src/MonoDevelop.XmlEditor/Commands.cs, - trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/OpenXPathQueryPadCommand.cs, - trunk/src/MonoDevelop.XmlEditor/XPathNodeMatch.cs, - trunk/src/MonoDevelop.XmlEditor/XPathNodeTextMarker.cs, - trunk/src/MonoDevelop.XmlEditor/XPathQueryPad.cs, - trunk/src/MonoDevelop.XmlEditor/XPathQueryPad.png, - trunk/src/MonoDevelop.XmlEditor/XPathQueryPadOptions.cs, - trunk/src/MonoDevelop.XmlEditor/XPathQueryWidget.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditor.glade, - trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs, - trunk/src/MonoDevelop.XmlEditor/XmlNamespace.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemasPanelWidget.cs: Added - XPath Query pad. Allows the user to run XPath queries on the - active XML document and highlights the results. - -2006-09-19 17:48 mrward - - * trunk/src/MonoDevelop.XmlEditor/CreateSchemaCommand.cs, - trunk/src/MonoDevelop.XmlEditor/FormatXmlCommand.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorService.cs: The XML is - checked to see if it is well formed before attempting to create a - schema from it. Any errors are displayed in the output window and - the task list. - -2006-09-19 16:54 mrward - - * trunk/src/MonoDevelop.XmlEditor/XmlParser.cs: Editing an XML file - with a url dtd reference (e.g. a .glade file) whilst having no - network connection would hang MonoDevelop. Fixed this by setting - the XmlResolver to null when reading the xml into the - XmlTextReader. - -2006-09-09 09:23 mrward - - * trunk/ChangeLog, trunk/configure.in, - trunk/src/MonoDevelop.XmlEditor.Tests/AssemblyInfo.cs, - trunk/src/MonoDevelop.XmlEditor/AssemblyInfo.cs, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml: - Updated version numbers for a snapshot release compatible with - MonoDevelop 0.12. - -2006-08-22 12:53 mrward - - * trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml: - Stetic files (.stetic) are now opened in the XML editor. - -2006-08-22 10:27 mrward - - * trunk/configure.in, - trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor.mds, - trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/XmlDisplayBinding.cs, - trunk/src/MonoDevelop.XmlEditor/XmlFileExtensionCodon.cs, - trunk/src/MonoDevelop.XmlEditor/XmlFileExtensions.cs: XML Editor - now compiled with gmcs. Added DisplayName to XmlDisplayBinding. - XmlFileExtensionCodon now has a FileExtension property instead of - an Extension property which clashed with the AbstractCodon base - class. - -2006-05-02 12:10 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/AllElementTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/XmlSchemaCompletionData.cs: XML - completion now working for complex types defined inside an xs:all - element. - -2006-04-17 14:12 mrward - - * trunk/src/MonoDevelop.XmlEditor/XmlSchemaCompletionData.cs: An - XML schema is now only compiled the first time it is used in the - XML editor. This improves the time taken to display the XML - Schema options dialog for the first time by a factor of 4. - -2006-04-17 11:44 mrward - - * trunk/TODO, - trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/InsideAttributeValueTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionDataProvider.cs, - trunk/src/MonoDevelop.XmlEditor/XmlParser.cs: XML completion - window no longer displayed when typing in space characters inside - the attribute value. - -2006-04-17 11:29 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/AttributeNameTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/AllElementTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/XsdSchemaTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.mds, - trunk/src/MonoDevelop.XmlEditor/XmlSchemaCompletionData.cs: XML - element completion now working for xs:all child elements. - -2006-04-15 18:21 mrward - - * trunk/ChangeLog: Updated changelog ready for source code snapshot - release for MonoDevelop 0.10 - -2006-04-12 18:34 mrward - - * trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml: - Add-In configuration file changed to support MonoDevelop 0.10 - -2006-03-19 13:25 mrward - - * trunk/TODO, trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs: - Attribute value completion no longer triggered when pressing keys - such as page up, page down and the cursor keys. - -2006-03-19 12:37 mrward - - * trunk/TODO, trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs: - Comments no longer get autocompleted when typing in the greater - than sign character. - -2006-03-19 12:28 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/MissingSchemaElementTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemaCompletionData.cs: Fixed - null reference exception that occurred when generated the - completion data if the schema referenced an element that was not - defined in the schema. - -2006-03-19 12:19 mrward - - * trunk/TODO, - trunk/src/MonoDevelop.XmlEditor/AssignStylesheetCommand.cs, - trunk/src/MonoDevelop.XmlEditor/Commands.cs, - trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/OpenStylesheetCommand.cs, - trunk/src/MonoDevelop.XmlEditor/RunXslTransformCommand.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorService.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs, - trunk/src/MonoDevelop.XmlEditor/XslOutputViewContent.cs: Added - support for running XSL transforms. Changing the schema - associated with a file extension now updates any xml files that - are currently open. - -2006-03-09 16:34 mrward - - * trunk/TODO, - trunk/src/MonoDevelop.XmlEditor/ValidateXmlCommand.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs: Can now indent - multiple lines using the tab key. - -2006-03-09 14:54 mrward - - * trunk/TODO, trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/ValidateXmlCommand.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorListWindow.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs, - trunk/src/MonoDevelop.XmlEditor/schemas/MonoDevelopAddIn.xsd, - trunk/src/MonoDevelop.XmlEditor/schemas/readme.txt: Validation of - .xsd files is now done using the XmlSchema class which provides - better error information. Added a schema for MonoDevelop add-in - xml files. - -2006-03-08 16:55 mrward - - * trunk/TODO, trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorListWindow.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs: The - completion list now matches strings that contain punctuation - characters, for those characters considered valid for xml element - names, attribute values and namespaces. - -2006-03-08 15:38 mrward - - * trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs: Xml - editor now uses the same font as the source editor. - -2006-03-06 18:10 mrward - - * trunk/TODO, trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/SourceViewTextIterator.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs, - trunk/src/MonoDevelop.XmlEditor/postbuild.sh: Added support for - search/replace and goto line. - -2006-03-03 15:29 mrward - - * trunk/src/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/Makefile.am: Xml Editor makefile - no longer tries to build the code when running the uninstall - target. Fixed incorrect src/Makefile that had been imported. - -2006-03-03 15:15 mrward - - * trunk/src/MonoDevelop.XmlEditor.Tests/bin: Removed test assembly - binaries. - -2006-03-03 15:08 mrward - - * trunk, trunk/AUTHORS, trunk/COPYING, trunk/ChangeLog, - trunk/INSTALL, trunk/Makefile.am, trunk/NEWS, trunk/README, - trunk/TODO, trunk/autogen.sh, trunk/configure.in, trunk/src, - trunk/src/Makefile.am, trunk/src/MonoDevelop.XmlEditor, - trunk/src/MonoDevelop.XmlEditor.Tests, - trunk/src/MonoDevelop.XmlEditor.Tests/AssemblyInfo.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/CompletionData, - trunk/src/MonoDevelop.XmlEditor.Tests/CompletionData/XmlCompletionDataImageTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/CompletionData/XmlCompletionDataStringTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/MonoDevelop.XmlEditor.Tests.mdp, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/ActiveElementStartPathTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/AttributeNameTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/NamespaceDeclarationTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/ParentElementPathTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Parser/QualifiedNameTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Paths, - trunk/src/MonoDevelop.XmlEditor.Tests/Paths/NoElementPathTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Paths/SingleElementPathTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Paths/TwoElementPathTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Resources, - trunk/src/MonoDevelop.XmlEditor.Tests/Resources/XMLSchema.xsd, - trunk/src/MonoDevelop.XmlEditor.Tests/Resources/xhtml1-strict-modified.xsd, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema.Includes, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema.Includes/AttributeGroupRefSchemaIncludeTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema.Includes/TwoElementSchemaIncludeTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema.Uri, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema.Uri/GetUriTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/AbstractElementTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/AttributeAnnotationTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/AttributeGroupRefTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/AttributeRefTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/AttributeValueAnnotationTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/ChildElementAttributesTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/ChoiceTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/ComplexContentExtensionTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/DuplicateElementTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/ElementAnnotationTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/ElementRefAnnotationTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/ElementWithAttributeSchemaTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/EnumAttributeValueTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/ExtensionElementTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/GroupRefCompositorTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/GroupRefTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/NamespaceCompletionTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/NestedAttributeGroupRefTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/NestedChoiceTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/NestedElementSchemaTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/NestedSequenceTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/ReferencedElementsTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/RestrictionElementTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/SchemaTestFixtureBase.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/SequencedChoiceTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/SimpleContentWithAttributeTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/SingleElementSchemaTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/TwoElementSchemaTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/XhtmlStrictSchemaTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Schema/XsdSchemaTestFixture.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Utils, - trunk/src/MonoDevelop.XmlEditor.Tests/Utils/ResourceManager.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/Utils/SchemaIncludeTestFixtureHelper.cs, - trunk/src/MonoDevelop.XmlEditor.Tests/bin, - trunk/src/MonoDevelop.XmlEditor.Tests/bin/Debug, - trunk/src/MonoDevelop.XmlEditor.Tests/bin/Debug/MonoDevelop.Projects.Gui.dll, - trunk/src/MonoDevelop.XmlEditor.Tests/bin/Debug/MonoDevelop.XmlEditor.Tests.dll, - trunk/src/MonoDevelop.XmlEditor.Tests/bin/Debug/MonoDevelop.XmlEditor.Tests.dll.mdb, - trunk/src/MonoDevelop.XmlEditor.Tests/bin/Debug/MonoDevelop.XmlEditor.dll, - trunk/src/MonoDevelop.XmlEditor.Tests/bin/Debug/MonoDevelop.XmlEditor.dll.mdb, - trunk/src/MonoDevelop.XmlEditor.mds, - trunk/src/MonoDevelop.XmlEditor/AssemblyInfo.cs, - trunk/src/MonoDevelop.XmlEditor/Commands.cs, - trunk/src/MonoDevelop.XmlEditor/CreateSchemaCommand.cs, - trunk/src/MonoDevelop.XmlEditor/EncodedStringWriter.cs, - trunk/src/MonoDevelop.XmlEditor/FormatXmlCommand.cs, - trunk/src/MonoDevelop.XmlEditor/Makefile.am, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml, - trunk/src/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.mdp, - trunk/src/MonoDevelop.XmlEditor/QualifiedName.cs, - trunk/src/MonoDevelop.XmlEditor/QualifiedNameCollection.cs, - trunk/src/MonoDevelop.XmlEditor/SelectXmlSchemaDialog.cs, - trunk/src/MonoDevelop.XmlEditor/ValidateXmlCommand.cs, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionData.cs, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionDataCollection.cs, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionDataProvider.cs, - trunk/src/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs, - trunk/src/MonoDevelop.XmlEditor/XmlDisplayBinding.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditor.glade, - trunk/src/MonoDevelop.XmlEditor/XmlEditorAddInOptions.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorCommandBase.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorOptionsPanel.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorOptionsPanelWidget.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorService.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorView.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorViewContent.cs, - trunk/src/MonoDevelop.XmlEditor/XmlEditorWindow.cs, - trunk/src/MonoDevelop.XmlEditor/XmlElementPath.cs, - trunk/src/MonoDevelop.XmlEditor/XmlFileExtensionCodon.cs, - trunk/src/MonoDevelop.XmlEditor/XmlFileExtensions.cs, - trunk/src/MonoDevelop.XmlEditor/XmlParser.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemaAssociation.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemaCompletionData.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemaCompletionDataCollection.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemaManager.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemasPanel.cs, - trunk/src/MonoDevelop.XmlEditor/XmlSchemasPanelWidget.cs, - trunk/src/MonoDevelop.XmlEditor/postbuild.sh, - trunk/src/MonoDevelop.XmlEditor/schemas, - trunk/src/MonoDevelop.XmlEditor/schemas/W3C-License.html, - trunk/src/MonoDevelop.XmlEditor/schemas/XMLSchema.xsd, - trunk/src/MonoDevelop.XmlEditor/schemas/appconfig.xsd, - trunk/src/MonoDevelop.XmlEditor/schemas/manifest.xsd, - trunk/src/MonoDevelop.XmlEditor/schemas/nant.xsd, - trunk/src/MonoDevelop.XmlEditor/schemas/readme.txt, - trunk/src/MonoDevelop.XmlEditor/schemas/xslt.xsd: Initial import. - diff --git a/main/src/addins/MonoDevelop.XmlEditor/Makefile.am b/main/src/addins/MonoDevelop.XmlEditor/Makefile.am deleted file mode 100644 index c9cc87438f..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -include $(top_srcdir)/xbuild.include diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XDom.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XDom.cs deleted file mode 100644 index 11516aa478..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XDom.cs +++ /dev/null @@ -1,636 +0,0 @@ -// -// XDom.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2008 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Diagnostics; -using System.Collections.Generic; -using System.Text; -using ICSharpCode.NRefactory.TypeSystem; -using ICSharpCode.NRefactory; - -namespace MonoDevelop.Xml.StateEngine -{ - public abstract class XObject - { - DomRegion region; - - protected XObject (TextLocation start) - { - region = new DomRegion (start, TextLocation.Empty); - } - - protected XObject (DomRegion region) - { - this.region = region; - } - - public XObject Parent { get; internal protected set; } - - public IEnumerable<XNode> Parents { - get { - XNode next = Parent as XNode; - while (next != null) { - yield return next; - next = next.Parent as XNode; - } - } - } - - public DomRegion Region { - get { return region; } - } - - public void End (TextLocation endLocation) - { - region = new DomRegion (region.Begin, endLocation); - } - - public bool IsEnded { - get { return region.End > region.Begin; } - } - - public virtual bool IsComplete { - get { return region.End > region.Begin; } - } - - public virtual void BuildTreeString (StringBuilder builder, int indentLevel) - { - builder.Append (' ', indentLevel * 2); - builder.AppendFormat (ToString ()); - builder.AppendLine (); - } - - public override string ToString () - { - return string.Format ("[{0} Location='{1}']", GetType (), Region); - } - - //creates a parallel tree -- should NOT retain references into old tree - public XObject ShallowCopy () - { - XObject copy = NewInstance (); - copy.ShallowCopyFrom (this); - return copy; - } - - protected abstract XObject NewInstance (); - - protected virtual void ShallowCopyFrom (XObject copyFrom) - { - region = copyFrom.region; //immutable value type - } - - protected XObject () {} - - public virtual string FriendlyPathRepresentation { - get { return GetType ().ToString (); } - } - } - - public abstract class XNode : XObject - { - protected XNode (TextLocation start) : base (start) {} - protected XNode (DomRegion region) : base (region) {} - protected XNode () {} - - public XNode NextSibling { get; internal protected set; } - } - - public struct XName : IEquatable<XName> - { - readonly string prefix; - readonly string name; - - public XName (string prefix, string name) - { - this.prefix = prefix; - this.name = name; - } - - public XName (string name) - { - prefix = null; - this.name = name; - } - - public string Prefix { get { return prefix; } } - public string Name { get { return name; } } - public string FullName { get { return prefix == null? name : prefix + ':' + name; } } - - public bool IsValid { get { return !string.IsNullOrEmpty (name); } } - public bool HasPrefix { get { return !string.IsNullOrEmpty (prefix); } } - - #region Equality - - public static bool operator == (XName x, XName y) - { - return x.Equals (y); - } - - public static bool operator != (XName x, XName y) - { - return !x.Equals (y); - } - - public bool Equals (XName other) - { - return prefix == other.prefix && name == other.name; - } - - public override bool Equals (object obj) - { - if (!(obj is XName)) - return false; - return Equals ((XName) obj); - } - - public override int GetHashCode () - { - int hash = 0; - if (prefix != null) hash += prefix.GetHashCode (); - if (name != null) hash += name.GetHashCode (); - return hash; - } - - #endregion - - public static bool Equals (XName a, XName b, bool ignoreCase) - { - StringComparison comp = ignoreCase? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; - return string.Equals (a.prefix, b.prefix, comp) && string.Equals (a.name, b.name, comp); - } - } - - public abstract class XContainer : XNode - { - protected XContainer (TextLocation start) : base (start) { } - - XNode firstNode; - XNode lastChild; - public XNode FirstChild { get { return firstNode; } } - public XNode LastChild { get { return lastChild; } } - - public IEnumerable<XNode> Nodes { - get { - XNode next = firstNode; - while (next != null) { - yield return next; - next = next.NextSibling; - } - } - } - - public IEnumerable<XNode> AllDescendentNodes { - get { - foreach (XNode n in Nodes) { - yield return n; - XContainer c = n as XContainer; - if (c != null) - foreach (XNode n2 in c.AllDescendentNodes) - yield return n2; - } - } - } - - public virtual void AddChildNode (XNode newChild) - { - newChild.Parent = this; - if (lastChild != null) - lastChild.NextSibling = newChild; - if (firstNode == null) - firstNode = newChild; - lastChild = newChild; - } - - protected XContainer () {} - - public override void BuildTreeString (StringBuilder builder, int indentLevel) - { - base.BuildTreeString (builder, indentLevel); - foreach (XNode child in Nodes) - child.BuildTreeString (builder, indentLevel + 1); - } - } - - public class XElement : XContainer, IAttributedXObject - { - XNode closingTag; - readonly XAttributeCollection attributes; - - public XElement (TextLocation start) : base (start) - { - attributes = new XAttributeCollection (this); - } - - public XElement (TextLocation start, XName name) : this (start) - { - this.Name = name; - } - - public XNode ClosingTag { get { return closingTag; } } - public bool IsClosed { get { return closingTag != null; } } - public bool IsSelfClosing { get { return closingTag == this; } } - - public void Close (XNode closingTag) - { - this.closingTag = closingTag; - if (closingTag is XClosingTag) - closingTag.Parent = this; - } - - public XName Name { get; set; } - - public override bool IsComplete { get { return base.IsComplete && IsNamed; } } - public bool IsNamed { get { return Name.IsValid; } } - - public XAttributeCollection Attributes { - get { return attributes; } - } - - protected XElement () - { - attributes = new XAttributeCollection (this); - } - - protected override XObject NewInstance () { return new XElement (); } - - protected override void ShallowCopyFrom (XObject copyFrom) - { - base.ShallowCopyFrom (copyFrom); - XElement copyFromEl = (XElement) copyFrom; - Name = copyFromEl.Name; //XName is immutable value type - //include attributes - foreach (var a in copyFromEl.Attributes) - Attributes.AddAttribute ((XAttribute) a.ShallowCopy ()); - } - - public override string ToString () - { - return string.Format ("[XElement Name='{0}' Location='{1}'", Name.FullName, Region); - } - - public override void BuildTreeString (StringBuilder builder, int indentLevel) - { - builder.Append (' ', indentLevel * 2); - builder.AppendFormat ("[XElement Name='{0}' Location='{1}' Children=", Name.FullName, Region); - builder.AppendLine (); - - foreach (XNode child in Nodes) - child.BuildTreeString (builder, indentLevel + 1); - - builder.Append (' ', indentLevel * 2); - builder.Append ("Attributes="); - builder.AppendLine (); - - foreach (XAttribute att in Attributes) - att.BuildTreeString (builder, indentLevel + 1); - - if (closingTag is XClosingTag) { - builder.AppendLine ("ClosingTag="); - closingTag.BuildTreeString (builder, indentLevel + 1); - } else if (closingTag == null) - builder.AppendLine ("ClosingTag=(null)"); - else - builder.AppendLine ("ClosingTag=(Self)"); - - builder.Append (' ', indentLevel * 2); - builder.AppendLine ("]"); - } - - public override string FriendlyPathRepresentation { - get { return Name.FullName; } - } - - public IEnumerable<XElement> Elements { - get { - XElement el; - foreach (XNode node in Nodes) { - el = node as XElement; - if (el != null) - yield return el; - } - } - } - - public IEnumerable<XElement> AllDescendentElements { - get { - foreach (XElement el in Elements) { - yield return el; - foreach (XElement el2 in el.AllDescendentElements) - yield return el2; - } - } - } - - } - - public class XAttribute : XObject, INamedXObject - { - - public XAttribute (TextLocation start, XName name, string value) : base (start) - { - this.Name = name; - this.Value = value; - } - - public XAttribute (TextLocation start) : base (start) - { - } - - public XName Name { get; set; } - - public override bool IsComplete { get { return base.IsComplete && IsNamed; } } - public bool IsNamed { get { return Name.IsValid; } } - - public string Value { get; set; } - public XAttribute NextSibling { get; internal protected set; } - - protected XAttribute () {} - protected override XObject NewInstance () { return new XAttribute (); } - - protected override void ShallowCopyFrom (XObject copyFrom) - { - base.ShallowCopyFrom (copyFrom); - XAttribute copyFromAtt = (XAttribute) copyFrom; - //immutable types - Name = copyFromAtt.Name; - Value = copyFromAtt.Value; - } - - public override string ToString () - { - return string.Format ( - "[XAttribute Name='{0}' Location='{1}' Value='{2}']", Name.FullName, Region, Value); - } - - public override string FriendlyPathRepresentation { - get { return "@" + Name.FullName; } - } - - - } - - public class XAttributeCollection : IEnumerable<XAttribute> - { - readonly XObject parent; - XAttribute firstChild; - XAttribute lastChild; - - public XAttributeCollection (XObject parent) - { - this.parent = parent; - } - - public Dictionary<XName, XAttribute> ToDictionary () - { - Dictionary<XName, XAttribute> dict = new Dictionary<XName,XAttribute> (); - XAttribute current = firstChild; - while (current != null) { - dict.Add (current.Name, current); - current = current.NextSibling; - } - return dict; - } - - public XAttribute this [XName name] { - get { - XAttribute current = firstChild; - while (current != null) { - if (current.Name == name) - return current; - current = current.NextSibling; - } - return null; - } - } - - public XAttribute this [int index] { - get { - XAttribute current = firstChild; - while (current != null) { - if (index == 0) - return current; - index--; - current = current.NextSibling; - } - throw new IndexOutOfRangeException (); - } - } - - public XAttribute Get (XName name, bool ignoreCase) - { - XAttribute current = firstChild; - while (current != null) { - if (XName.Equals (current.Name, name, ignoreCase)) - return current; - current = current.NextSibling; - } - return null; - } - - public string GetValue (XName name, bool ignoreCase) - { - var att = Get (name, ignoreCase); - return att != null? att.Value : null; - } - - public void AddAttribute (XAttribute newChild) - { - newChild.Parent = parent; - if (lastChild != null) { - lastChild.NextSibling = newChild; - } - if (firstChild == null) - firstChild = newChild; - lastChild = newChild; - } - - public IEnumerator<XAttribute> GetEnumerator () - { - XAttribute current = firstChild; - while (current != null) { - yield return current; - current = current.NextSibling; - } - } - - System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator () - { - IEnumerator<XAttribute> en = GetEnumerator (); - return en; - } - } - - public class XCData : XNode - { - public XCData (TextLocation start) : base (start) {} - public XCData (DomRegion region) : base (region) {} - - protected XCData () {} - protected override XObject NewInstance () { return new XCData (); } - - public override string FriendlyPathRepresentation { - get { return "<![CDATA[ ]]>"; } - } - - } - - public class XComment : XNode - { - public XComment (TextLocation start) : base (start) {} - public XComment (DomRegion region) : base (region) {} - - protected XComment () {} - protected override XObject NewInstance () { return new XComment (); } - - public override string FriendlyPathRepresentation { - get { return "<!-- -->"; } - } - } - - public class XProcessingInstruction : XNode - { - public XProcessingInstruction (TextLocation start) : base (start) {} - public XProcessingInstruction (DomRegion region) : base (region) {} - - protected XProcessingInstruction () {} - protected override XObject NewInstance () { return new XProcessingInstruction (); } - - public override string FriendlyPathRepresentation { - get { return "<? ?>"; } - } - } - - public class XDocType : XNode, INamedXObject - { - public XDocType (TextLocation start) : base (start) {} - public XDocType (DomRegion region) : base (region) {} - - protected XDocType () {} - protected override XObject NewInstance () { return new XDocType (); } - - public XName RootElement { get; set; } - public string PublicFpi { get; set; } - public bool IsPublic { get { return PublicFpi != null; } } - public DomRegion InternalDeclarationRegion { get; set; } - public string Uri { get; set; } - - public override string FriendlyPathRepresentation { - get { return "<!DOCTYPE>"; } - } - - protected override void ShallowCopyFrom (XObject copyFrom) - { - base.ShallowCopyFrom (copyFrom); - XDocType copyFromDT = (XDocType) copyFrom; - //immutable types - RootElement = copyFromDT.RootElement; - PublicFpi = copyFromDT.PublicFpi; - InternalDeclarationRegion = copyFromDT.InternalDeclarationRegion; - Uri = copyFromDT.Uri; - } - - XName INamedXObject.Name { - get { return RootElement; } - set { RootElement = value; } - } - - bool INamedXObject.IsNamed { - get { return RootElement.IsValid; } - } - - public override string ToString () - { - return string.Format("[DocType: RootElement='{0}', PublicFpi='{1}', InternalDeclarationRegion='{2}', Uri='{3}']", - RootElement.FullName, PublicFpi, InternalDeclarationRegion, Uri); - } - } - - public class XClosingTag : XNode, INamedXObject - { - - public XClosingTag (TextLocation start) : base (start) {} - - public XClosingTag (XName name, TextLocation start) : base (start) - { - this.Name = name; - } - - public XName Name { get; set; } - - public override bool IsComplete { get { return base.IsComplete && IsNamed; } } - public bool IsNamed { get { return Name.IsValid; } } - - protected XClosingTag () {} - protected override XObject NewInstance () { return new XClosingTag (); } - - protected override void ShallowCopyFrom (XObject copyFrom) - { - base.ShallowCopyFrom (copyFrom); - XClosingTag copyFromAtt = (XClosingTag) copyFrom; - //immutable types - Name = copyFromAtt.Name; - } - - public override string FriendlyPathRepresentation { - get { return "/" + Name.FullName; } - } - - } - - public class XDocument : XContainer - { - public XElement RootElement { get; private set; } - - public XDocument () : base (new TextLocation (1, 1)) {} - protected override XObject NewInstance () { return new XDocument (); } - - public override string FriendlyPathRepresentation { - get { throw new InvalidOperationException ("Should not display document in path bar."); } - } - - public override void AddChildNode (XNode newChild) - { - if (RootElement == null && newChild is XElement) - RootElement = (XElement) newChild; - base.AddChildNode (newChild); - } - - } - - public interface INamedXObject - { - XName Name { get; set; } - bool IsNamed { get; } - } - - public interface IAttributedXObject : INamedXObject - { - XAttributeCollection Attributes { get; } - } -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XState.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XState.cs deleted file mode 100644 index e0f25f4a81..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XState.cs +++ /dev/null @@ -1,84 +0,0 @@ -// -// XState.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2008 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; - -namespace MonoDevelop.Xml.StateEngine -{ - - - public enum XState - { - /// <summary>Not within a tag definition or special section</summary>
- Free,
- Malformed,
-
- //--------------------parts of tag and attribute definitions---------
-
- /// <summary>A tag, the type of which has not been determined.</summary>
- OpeningBracket,
- /// <summary>An opening tag's declaration.</summary>
- Tag,
- /// <summary>A closing tag's declaration.</summary>
- ClosingTag,
- /// <summary>A self-closing tag , after the forward slash.</summary>
- SelfClosing,
- /// <summary>A tag's name.</summary>
- TagName,
- /// <summary>A closing tag's name.</summary>
- ClosingTagName,
- /// <summary>An attribute name.</summary>
- AttributeName,
- /// <summary>An attribute seeking an equals sign.</summary>
- AttributeNamed,
- /// <summary>A named attribute seeking a value.</summary>
- AttributeValue,
- /// <summary>A single-quoted attribute value.</summary>
- AttributeQuotes,
- /// <summary>An unquoted attribute value</summary>
- AttributeUnquoted,
- /// <summary>A double-quoted attribute value.</summary>
- AttributeDoubleQuotes,
-
- //-----------------special XML sections--------------------------------
-
- /// <summary>An XML/HTML comment.</summary>
- Comment,
- CommentOpening,
- CommentClosing,
- /// <summary>A CDATA section.</summary>
- CData,
- CDataOpening,
- CDataClosing,
- /// <summary>An XML/HTML character entity.</summary>
- Entity,
- /// <summary>An XML/HTML processing instruction.</summary>
- ProcessingInstruction,
- ProcessingInstructionClosing, - } -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlParser.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlParser.cs deleted file mode 100644 index d920999f6d..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlParser.cs +++ /dev/null @@ -1,299 +0,0 @@ -// -// XmlParser.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (C) 2008 Novell, Inc (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// - -using System; -using System.Diagnostics; - -namespace MonoDevelop.Xml.StateEngine -{ - - - public class XmlParser : Parser2 - { - public XmlParser () : base (false) {} - public XmlParser (bool buildTree) : base (buildTree) {} - - protected XState CurrentXState { - get { - Debug.Assert (CurrentState < StateOffset && CurrentState > -1); - return (XState) CurrentState; - } - } - - protected virtual int StateOffset { - get { return (int) XState.ProcessingInstructionClosing + 1; } - } - - protected override int Dispatch (char c)
- {
- switch (CurrentXState) {
- case XState.Free:
- switch (c) {
- case '<': return (int)XState.OpeningBracket;
-// case '&': return (int) XState.Entity;
- default: return (int)XState.Free;
- }
-
- case XState.Malformed:
- if (StateLength == 0) { - if (BuildTree) - ConnectAll (); - EndAll (true); - }
- switch (c) {
- case '>': return (int)XState.Free;
- case '<': return (int)XState.OpeningBracket;
- default: return (int)XState.Malformed;
- }
-
- case XState.OpeningBracket:
- if (StateLength == 0) {
- switch (c) {
- case '!': return (int)XState.OpeningBracket;
- case '?': - Nodes.Push (new XProcessingInstruction (this.Position - 2)); - return (int)XState.ProcessingInstruction; -
- case '/': - Nodes.Push (new XClosingTag (this.Position - 2)); - return (int)XState.ClosingTagName; -
- if (char.IsLetter (c) || c == '_') { - Nodes.Push (new XElement (this.Position - 2)); - KeywordBuilder.Append (c); - return (int) XState.TagName; - } - } -
- } else if (StateLength == 1) {
- switch (c) {
- case '-':
- return (int)XState.CommentOpening;
- case '[':
- return (int)XState.CDataOpening;
- }
- }
- LogError ("Malformed tag start.");
- if (c == '>') return (int)XState.Free;
- else if (c == '<') return (int)XState.OpeningBracket;
- else return (int)XState.Malformed;
-
- case XState.TagName: -return (int)XState.TagName; -/*
- if (char.IsLetterOrDigit (c) || c == '_') { - KeywordBuilder.Append (c); - return (int)XState.TagName; - } - - if (c == ':') { - XElement el = Nodes.Peek () as INamedXObject; - if (namedObject.Name.Name != null || KeywordBuilder.Length == 0) { - LogError ("Unexpected ':' in name."); - return GetStateForCurrentObject (); - } else { - namedObject.Name = new XName (context.KeywordBuilder.ToString ()); - context.KeywordBuilder.Length = 0; - } - } -
- else if (char.IsWhiteSpace (c)) return (int)XState.Tag;
- else if (c == '>') return (int)XState.Free;
- else if (c == '/') return (int)XState.SelfClosing;
- else break;
-
- case XState.Tag:
- if (char.IsWhiteSpace (c)) return (int)XState.Tag;
- else if (char.IsLetter (c)) return PushCurrent (XState.AttributeName);
- else if (c == '>') return (int)XState.Free;
- else if (c == '/') return (int)XState.SelfClosing;
- else break;
-
- case XState.SelfClosing:
- if (c == '>') return (int)XState.Free;
- else break;
-
- case XState.AttributeName:
- if (char.IsWhiteSpace (c))
- return (int)XState.AttributeNamed;
- else if (char.IsLetterOrDigit (c) | c == ':')
- return (int)XState.AttributeName;
- else if (c == '=')
- return (int)XState.AttributeValue;
- else return (int)XState.Malformed;
-
- case XState.AttributeNamed:
- if (c == '=') return (int)XState.AttributeValue;
- else if (char.IsWhiteSpace (c)) return (int)XState.AttributeNamed;
- else return (int)XState.Malformed;
-
- case XState.AttributeValue:
- if (c == '\'') return (int)XState.AttributeQuotes;
- else if (c == '"') return (int)XState.AttributeDoubleQuotes;
- else if (c == '<') break;
- else if (char.IsWhiteSpace (c)) return (int)XState.AttributeValue;
- else if (char.IsLetterOrDigit (c)) {
- LogWarning ("Unquoted attribute value.");
- return (int)XState.AttributeUnquoted;
- } else {
- LogWarning ("Incomplete attribute.");
- return PopState ();
- }
-
- case XState.AttributeQuotes:
- switch (c) {
- case '\'': return PopState ();
- case '<': return UnexpectedOpeningTag;
- case '&': return PushCurrent (XState.Entity);
- default: return (int)XState.AttributeQuotes;
- }
-
- case XState.AttributeDoubleQuotes:
- switch (c) {
- case '"': return PopState ();
- case '<': return UnexpectedOpeningTag;
- case '&': return PushCurrent (XState.Entity);
- default: return (int)XState.AttributeDoubleQuotes;
- }
-
- case XState.AttributeUnquoted:
- switch (c) {
- case '<': return UnexpectedOpeningTag;
- case '&': return PushCurrent (XState.Entity);
- case '.': case '_': case ':': case ';': return CurrentState;
- case '>': return (int)XState.Free;
- }
- if (char.IsLetterOrDigit (c)) return CurrentState;
- else if (char.IsWhiteSpace (c)) return PopState ();
- break;
-*/
- case XState.CData:
- return (int)((c == ']')? XState.CDataClosing: XState.CData);
-
- case XState.CDataOpening:
- if (StateLength < "CDATA[".Length) {
- if ("CDATA["[StateLength] == c) return (int)XState.CDataOpening;
- else break;
- } else { - Nodes.Push (new XCData (Position - "<![CDATA[".Length)); - return (int)XState.CData; - }
-
- case XState.CDataClosing:
- if ("]>"[StateLength] == c) { - if (StateLength == 1) { - XCData n = (XCData) Nodes.Pop (); - n.End (Position); - ((XContainer)Nodes.Peek ()).AddChildNode (n); - return (int) XState.Free; - } else { - return (int)XState.CDataClosing; - }
- } else return (int)XState.CData;
-/*
- case XState.Entity:
- if ((StateLength == 0 && c == '#') || char.IsLetterOrDigit (c))
- return (int)XState.Entity;
- else if (c == ';') return PopState ();
- else LogWarning ("Malformed entity");
- break;
-*/
- case XState.ProcessingInstruction:
- switch (c) {
- case '<': break;
- case '?': return (int)XState.ProcessingInstructionClosing;
- default: return (int)XState.ProcessingInstruction;
- }
- break;
-
- case XState.ProcessingInstructionClosing:
- switch (c) {
- case '<': break;
- case '?': return (int)XState.ProcessingInstructionClosing; - case '>': { - XProcessingInstruction n = (XProcessingInstruction) Nodes.Pop (); - n.End (Position); - if (BuildTree) - ((XContainer)Nodes.Peek ()).AddChildNode (n); - return (int) XState.Free; }
- default: return (int)XState.ProcessingInstruction;
- }
- break;
-
- case XState.CommentOpening:
- if (c == '-') { - Nodes.Push (new XComment (Position - "<!--".Length)); - return (int)XState.Comment; - }
- else break;
-
- case XState.Comment:
- if (c == '-') return (int)XState.CommentClosing;
- else return (int)XState.Comment;
-
- case XState.CommentClosing:
- if (StateLength == 0) {
- if (c == '-') return (int)XState.CommentClosing;
- else return (int)XState.Comment;
- } else if (StateLength > 0) {
- if (c == '>') { - XComment n = (XComment) Nodes.Pop (); - n.End (Position); - if (BuildTree) - ((XContainer)Nodes.Peek ()).AddChildNode (n); - }
- else LogWarning ("The string '--' should not appear in comments.");
- if (c == '-') return (int)XState.CommentClosing;
- else return (int)XState.Comment;
- }
- else break;
- } -
- if (c == '<')
- return UnexpectedOpeningTag;
- return (int)XState.Malformed;
- } - - protected override object CreateNew () - { - return new XmlParser (); - }
-
- protected virtual int UnexpectedOpeningTag {
- get {
- LogError ("Unexpected opening tag");
- return (int)XState.OpeningBracket;
- }
- } - - protected override XDocument CreateDocument () - { - return new XDocument (); - } - } -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathHistoryList.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathHistoryList.cs deleted file mode 100644 index 7cef27431f..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathHistoryList.cs +++ /dev/null @@ -1,96 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2006-2007 Matthew Ward
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -/* -using MonoDevelop.Core;
-using System; -using System.Collections.Generic;
-using System.Xml; - -namespace MonoDevelop.XmlEditor -{ - public class XPathHistoryList : ICustomXmlSerializer - { - const string xpathHistoryListElementName = "XPathHistoryList"; - const string xpathElementName = "XPath"; - - List<string> xpaths = new List<string>(); - - public XPathHistoryList() - { - } - - /// <summary> - /// Adds a single xpath to the list. - /// </summary> - public void Add(string xpath) - { - xpaths.Add(xpath); - } - - /// <summary> - /// Gets the xpath strings. - /// </summary> - public string[] GetXPaths() - { - return xpaths.ToArray(); - } - - /// <summary>
- /// Creates an XPathHistoryList from the saved xml.
- /// </summary>
- public ICustomXmlSerializer ReadFrom(XmlReader reader) - { - XPathHistoryList list = new XPathHistoryList(); - bool finished = false; - while (reader.Read() && !finished) { - switch (reader.NodeType) { - case XmlNodeType.Element: - if (reader.Name == xpathElementName) { - list.Add(reader.ReadElementString()); - } - break; - case XmlNodeType.EndElement: - if (reader.Name != xpathElementName) { - finished = true; - } - break; - } - } - return list; - }
- - /// <summary>
- /// Creates an xml element from this XPathHistoryList.
- /// </summary>
- public void WriteTo(XmlWriter writer) - { - writer.WriteStartElement(xpathHistoryListElementName); - foreach (string xpath in xpaths) { - writer.WriteElementString(xpathElementName, xpath); - }
- writer.WriteEndElement(); - } - } -} - */
\ No newline at end of file diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNamespaceList.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNamespaceList.cs deleted file mode 100644 index 5f9108c412..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNamespaceList.cs +++ /dev/null @@ -1,96 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2006-2007 Matthew Ward
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -using MonoDevelop.Core;
-using System; -using System.Collections.Generic;
-using System.Xml; - -namespace MonoDevelop.XmlEditor -{ - public class XPathNamespaceList : ICustomXmlSerializer - { - const string xpathNamespaceListElementName = "XPathNamespaceList"; - const string xpathNamespaceElementName = "Namespace"; - - List<XmlNamespace> namespaces = new List<XmlNamespace>(); - - public XPathNamespaceList() - { - } - - /// <summary> - /// Adds a single namespace to the list. - /// </summary> - public void Add(string prefix, string uri) - { - namespaces.Add(new XmlNamespace(prefix, uri)); - } - - /// <summary> - /// Gets the namespaces. - /// </summary> - public XmlNamespace[] GetNamespaces() - { - return namespaces.ToArray(); - } - - /// <summary>
- /// Creates an XPathNamespaceList from the saved xml.
- /// </summary>
- public ICustomXmlSerializer ReadFrom(XmlReader reader) - { - XPathNamespaceList list = new XPathNamespaceList(); - bool finished = false; - while (reader.Read() && !finished) { - switch (reader.NodeType) { - case XmlNodeType.Element: - if (reader.Name == xpathNamespaceElementName) { - XmlNamespace ns = XmlNamespace.FromString(reader.ReadElementString()); - list.Add(ns.Prefix, ns.Uri); - } - break; - case XmlNodeType.EndElement: - if (reader.Name != xpathNamespaceElementName) { - finished = true; - } - break; - } - } - return list; - }
- - /// <summary>
- /// Creates an xml element from an XPathNamespaceList.
- /// </summary>
- public void WriteTo(XmlWriter writer) - { - writer.WriteStartElement(xpathNamespaceListElementName); - foreach (XmlNamespace ns in namespaces) { - writer.WriteElementString(xpathNamespaceElementName, ns.ToString()); - }
- writer.WriteEndElement(); - } - } -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNodeMatch.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNodeMatch.cs deleted file mode 100644 index 37698f446a..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNodeMatch.cs +++ /dev/null @@ -1,184 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2006 Matthew Ward -//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-using System;
-using System.Xml;
-using System.Xml.XPath;
-
-namespace MonoDevelop.XmlEditor
-{
- /// <summary>
- /// Stores an XmlNode and its associated line number and position after an
- /// XPath query has been evaluated.
- /// </summary>
- public class XPathNodeMatch : IXmlLineInfo
- {
- int? lineNumber;
- int linePosition;
- string value;
- string displayValue;
- XPathNodeType nodeType;
-
- /// <summary>
- /// Creates an XPathNodeMatch from the navigator which should be position on the
- /// node.
- /// </summary>
- /// <remarks>
- /// We deliberately use the OuterXml when we find a Namespace since the
- /// navigator location returned starts from the xmlns attribute.
- /// </remarks>
- public XPathNodeMatch(XPathNavigator currentNavigator)
- {
- SetLineNumbers(currentNavigator as IXmlLineInfo);
- nodeType = currentNavigator.NodeType;
- switch (nodeType) {
- case XPathNodeType.Text:
- SetTextValue(currentNavigator);
- break;
- case XPathNodeType.Comment:
- SetCommentValue(currentNavigator);
- break;
- case XPathNodeType.Namespace:
- SetNamespaceValue(currentNavigator);
- break;
- case XPathNodeType.Element:
- SetElementValue(currentNavigator);
- break;
- case XPathNodeType.ProcessingInstruction:
- SetProcessingInstructionValue(currentNavigator);
- break;
- case XPathNodeType.Attribute:
- SetAttributeValue(currentNavigator);
- break;
- default:
- value = currentNavigator.LocalName;
- displayValue = value;
- break;
- }
- }
-
- /// <summary>
- /// Line numbers are zero based.
- /// </summary>
- public int LineNumber {
- get {
- return lineNumber.GetValueOrDefault(0);
- }
- }
-
- /// <summary>
- /// Line positions are zero based.
- /// </summary>
- public int LinePosition {
- get {
- return linePosition;
- }
- }
-
- public bool HasLineInfo()
- {
- return lineNumber.HasValue;
- }
-
- /// <summary>
- /// Gets the text value of the node.
- /// </summary>
- public string Value {
- get {
- return value;
- }
- }
-
- /// <summary>
- /// Gets the node display value. This includes the angle brackets if it is
- /// an element, for example.
- /// </summary>
- public string DisplayValue {
- get {
- return displayValue;
- }
- }
-
- public XPathNodeType NodeType {
- get {
- return nodeType;
- }
- }
-
- void SetElementValue(XPathNavigator navigator)
- {
- value = navigator.Name;
- if (navigator.IsEmptyElement) {
- displayValue = String.Concat("<", value, "/>");
- } else {
- displayValue = String.Concat("<", value, ">");
- }
- }
-
- void SetTextValue(XPathNavigator navigator)
- {
- value = navigator.Value;
- displayValue = value;
- }
-
- void SetCommentValue(XPathNavigator navigator)
- {
- value = navigator.Value;
- displayValue = navigator.OuterXml;
- }
-
- void SetNamespaceValue(XPathNavigator navigator)
- {
- value = navigator.OuterXml;
- displayValue = value;
- }
-
- void SetProcessingInstructionValue(XPathNavigator navigator)
- {
- value = navigator.Name;
- displayValue = navigator.OuterXml;
- }
-
- void SetAttributeValue(XPathNavigator navigator)
- {
- value = navigator.Name;
- displayValue = String.Concat("@", value);
- }
-
- /// <summary>
- /// Takes one of the xml line number so the numbers are now zero
- /// based instead of one based.
- /// </summary>
- /// <remarks>A namespace query (e.g. //namespace::*) will return
- /// a line info of -1, -1 for the xml namespace. Which looks like
- /// a bug in the XPathDocument class.</remarks>
- void SetLineNumbers(IXmlLineInfo lineInfo)
- { - if (lineInfo.HasLineInfo() && lineInfo.LineNumber > 0) {
- lineNumber = lineInfo.LineNumber - 1;
- linePosition = lineInfo.LinePosition - 1;
- }
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNodeTextMarker.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNodeTextMarker.cs deleted file mode 100644 index d9e14a521a..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathNodeTextMarker.cs +++ /dev/null @@ -1,82 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2006 Matthew Ward -//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-/* -using Gtk; -using GtkSourceView;
-using System;
-
-namespace MonoDevelop.XmlEditor
-{
- /// <summary>
- /// A text marker for an XPath query match.
- /// </summary>
- public class XPathNodeTextMarker
- { - SourceBuffer buffer; - TextTag xpathMatchTextTag; -
- public XPathNodeTextMarker(SourceBuffer buffer) - { - this.buffer = buffer; - - xpathMatchTextTag = new TextTag("XPathMatch"); - xpathMatchTextTag.Background = "lightgrey"; - buffer.TagTable.Add(xpathMatchTextTag); - }
-
- /// <summary>
- /// Adds markers for each XPathNodeMatch.
- /// </summary>
- public void AddMarkers(XPathNodeMatch[] nodes)
- {
- foreach (XPathNodeMatch node in nodes) {
- AddMarker(node);
- }
- }
-
- /// <summary>
- /// Adds a single marker for the XPathNodeMatch.
- /// </summary>
- public void AddMarker(XPathNodeMatch node)
- {
- if (node.HasLineInfo() && node.Value.Length > 0) { - TextIter lineIter = buffer.GetIterAtLine(node.LineNumber); - int offset = lineIter.Offset + node.LinePosition;
- TextIter startIter = buffer.GetIterAtOffset(offset); - offset += node.Value.Length; - TextIter endIter = buffer.GetIterAtOffset(offset); - buffer.ApplyTag(xpathMatchTextTag, startIter, endIter); - }
- }
-
- /// <summary>
- /// Removes all the XPathNodeMarkers.
- /// </summary>
- public void RemoveMarkers()
- { - buffer.RemoveTag(xpathMatchTextTag, buffer.StartIter, buffer.EndIter);
- }
- }
-}
- */
\ No newline at end of file diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryPad.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryPad.cs deleted file mode 100644 index 81881a70ab..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryPad.cs +++ /dev/null @@ -1,131 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2006-2007 Matthew Ward -//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -/* -using Gtk; -using MonoDevelop.Core; -using MonoDevelop.Ide.Gui; -using System; - -namespace MonoDevelop.XmlEditor -{ - public class XPathQueryPad : IPadContent, IXmlEditorViewContentProvider - { - XPathQueryWidget xpathQueryWidget; - bool disposed; - - public XPathQueryPad() - { - xpathQueryWidget = new XPathQueryWidget(this); - xpathQueryWidget.ShowAll(); - - IdeApp.Workbench.ActiveDocumentChanged += ActiveDocumentChanged;
- LoadProperties(); - } - - public void JumpTo(string fileName, int line, int column) - { - IdeApp.Workbench.OpenDocument(fileName, Math.Max(1, line), Math.Max(1, column), true); - } - - void IPadContent.Initialize(IPadWindow window) - { - window.Title = "XPath Query"; - window.Icon = "MonoDevelop.XmlEditor.XPathQueryPad"; - } - - public string Id { - get { - return "MonoDevelop.XmlEditor.XPathQueryPad"; - } - } - - public string DefaultPlacement { - get { - return "Bottom"; - } - } - - public void RedrawContent() - { - } - - public Widget Control { - get { - return xpathQueryWidget; - } - } - - public void Dispose()
- {
- if (!disposed) {
- disposed = true;
- IdeApp.Workbench.ActiveDocumentChanged -= ActiveDocumentChanged;
- SaveProperties(); - }
- }
-
- void ActiveDocumentChanged(object source, EventArgs e)
- {
- xpathQueryWidget.UpdateQueryButtonState();
- } - - /// <summary> - /// Reads the xpath query pad properties and updates - /// XPath Query widget. - /// </summary> - void LoadProperties() - { - xpathQueryWidget.Query = XPathQueryPadOptions.LastXPathQuery; - - foreach (string xpath in XPathQueryPadOptions.XPathHistory.GetXPaths()) { - xpathQueryWidget.AddXPath(xpath); - } - - foreach (XmlNamespace ns in XPathQueryPadOptions.Namespaces.GetNamespaces()) { - xpathQueryWidget.AddNamespace(ns.Prefix, ns.Uri); - } - } - - /// <summary> - /// Updates the xpath query pad properties from the - /// XPath Query widget. - void SaveProperties() - { - XPathQueryPadOptions.LastXPathQuery = xpathQueryWidget.Query; - - XPathHistoryList history = new XPathHistoryList(); - foreach (string xpath in xpathQueryWidget.GetXPathHistory()) { - history.Add(xpath); - } - XPathQueryPadOptions.XPathHistory = history; - - XPathNamespaceList namespaces = new XPathNamespaceList(); - foreach (XmlNamespace ns in xpathQueryWidget.GetNamespaces()) { - namespaces.Add(ns.Prefix, ns.Uri); - } - XPathQueryPadOptions.Namespaces = namespaces; - } - } -}
-*/ diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryPadOptions.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryPadOptions.cs deleted file mode 100644 index ffe6fb70d8..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryPadOptions.cs +++ /dev/null @@ -1,94 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2006-2007 Matthew Ward -//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -
-/*
- -using MonoDevelop.Core; -using System;
-using System.Xml; - -namespace MonoDevelop.XmlEditor -{ - /// <summary>
- /// The XPath Query Pad options.
- /// </summary> - public class XPathQueryPadOptions - { - public const string OptionsProperty = "XPathQueryPad.Options"; - public const string NamespacesProperty = "Namespaces";
- public const string LastXPathQueryProperty = "LastXPathQuery";
- public const string XPathHistoryProperty = "XPathQueryHistory";
- static Properties properties;
-
- static XPathQueryPadOptions()
- { - properties = PropertyService.Get(OptionsProperty, new Properties()); - }
-
- static Properties Properties {
- get {
- return properties;
- }
- } - - /// <summary> - /// The last xpath query entered in the XPath Query Pad's - /// combo box. - /// </summary> - public static string LastXPathQuery {
- get {
- return Properties.Get(LastXPathQueryProperty, String.Empty);
- }
- set {
- Properties.Set(LastXPathQueryProperty, value);
- }
- } - - /// <summary> - /// Gets or sets the xpath history. - /// </summary> - public static XPathHistoryList XPathHistory { - get { - return (XPathHistoryList)Properties.Get(XPathHistoryProperty, new XPathHistoryList()); - } - set {
- Properties.Set(XPathHistoryProperty, value);
- }
- } - - /// <summary> - /// Gets or sets the xpath namespaces used. - /// </summary> - public static XPathNamespaceList Namespaces { - get { - return (XPathNamespaceList)Properties.Get(NamespacesProperty, new XPathNamespaceList()); - } - set {
- Properties.Set(NamespacesProperty, value);
- }
- } - } -}
-
-*/ diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryWidget.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryWidget.cs deleted file mode 100644 index 4ccf166e1e..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.XPath/XPathQueryWidget.cs +++ /dev/null @@ -1,515 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2006-2007 Matthew Ward -//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- -using Glade;
-using Gtk; -using GtkSourceView; -using MonoDevelop.Components; -using MonoDevelop.Core; -using MonoDevelop.Core.Gui.Components; -using MonoDevelop.Core.Gui.Dialogs; -using System; -using System.Collections; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Collections.Specialized; -using System.Xml; -using System.Xml.XPath; -
-/*
-
-namespace MonoDevelop.XmlEditor
-{ - /// <summary> - /// The XPathQueryWidget uses this interface to - /// access the currently active XmlEditorViewContent and - /// jump to a particular file. - /// </summary> - public interface IXmlEditorViewContentProvider - { - XmlEditorViewContent View {get;} - - void JumpTo(string fileName, int line, int column); - } -
- public class XPathQueryWidget : GladeWidgetExtract - {
- /// <summary>
- /// The filename that the last query was executed on.
- /// </summary>
- string fileName = String.Empty;
-
- /// <summary>
- /// The total number of xpath queries to remember.
- /// </summary>
- const int xpathQueryHistoryLimit = 20; - int xpathHistoryListCount; - - /// <summary> - /// The number of namespaces we have added to the - /// grid. - /// </summary> - int namespaceCount; -
- enum MoveCaret {
- ByJumping = 1,
- ByScrolling = 2
- }
- - [Widget] TreeView resultsTreeView; - [Widget] TreeView namespacesTreeView; - [Widget] Button queryButton; - [Widget] ComboBoxEntry xpathComboBoxEntry; - [Widget] Notebook notebook; - - // Results List: xpath result, line number, XPathNodeMatch or Exception. - const int xpathMatchColumnNumber = 0; - const int xpathMatchLineColumnNumber = 1; - const int xpathNodeMatchColumnNumber = 2; - ListStore resultsList = new ListStore(typeof(string), typeof(string), typeof(object)); - - // Namespace list: prefix, namespace. - const int prefixColumnNumber = 0; - const int namespaceColumnNumber = 1; - ListStore namespacesList = new ListStore(typeof(string), typeof(string)); - - // XPath query history: xpath query - ListStore xpathHistoryList = new ListStore(typeof(string)); - - IXmlEditorViewContentProvider viewProvider; - - public XPathQueryWidget(IXmlEditorViewContentProvider viewProvider) - : base ("XmlEditor.glade", "XPathQueryPad") - { - this.viewProvider = viewProvider; - InitResultsList(); - InitNamespaceList(); - - queryButton.Clicked += QueryButtonClicked; - - EntryCompletion completion = new EntryCompletion(); - completion.Model = xpathHistoryList; - completion.TextColumn = 0; - - xpathComboBoxEntry.Model = xpathHistoryList; - xpathComboBoxEntry.TextColumn = 0; - xpathComboBoxEntry.Entry.Completion = completion; - xpathComboBoxEntry.Entry.Changed += XPathComboBoxEntryChanged; - xpathComboBoxEntry.Entry.Activated += XPathComboBoxEntryActivated; - } - - /// <summary>
- /// Adds a namespace to the namespace list.
- /// </summary>
- public void AddNamespace(string prefix, string uri)
- { - TreeIter iter = namespacesList.Insert(namespaceCount); - namespacesList.SetValue(iter, prefixColumnNumber, prefix); - namespacesList.SetValue(iter, namespaceColumnNumber, uri); - namespaceCount++; - }
-
- /// <summary>
- /// Gets the list of namespaces in the namespace list.
- /// </summary>
- public ReadOnlyCollection<XmlNamespace> GetNamespaces()
- {
- List<XmlNamespace> namespaces = new List<XmlNamespace>();
- TreeIter iter; - bool addNamespaces = namespacesList.GetIterFirst(out iter); - while (addNamespaces) { - string prefix = GetNamespacePrefix(iter); - string uri = GetNamespaceUri(iter); - if (prefix.Length == 0 && uri.Length == 0) {
- // Ignore.
- } else {
- namespaces.Add(new XmlNamespace(prefix, uri));
- }
- addNamespaces = namespacesList.IterNext(ref iter); - }
- return new ReadOnlyCollection<XmlNamespace>(namespaces);
- } - - /// <summary>
- /// Gets the previously used XPath queries from the combo box drop down list.
- /// </summary>
- public string [] GetXPathHistory()
- {
- List<string> xpaths = new List<string>(); - TreeIter iter;
- bool add = xpathHistoryList.GetIterFirst(out iter); - while (add) { - string xpath = (string)xpathHistoryList.GetValue(iter, 0); - xpaths.Add(xpath); - add = xpathHistoryList.IterNext(ref iter); - }
- return xpaths.ToArray();
- } - - /// <summary> - /// Adds the xpath into the combo box drop down list. - /// </summary> - public void AddXPath(string xpath) - { - xpathHistoryList.AppendValues(xpath);
- } - - /// <summary> - /// Gets or sets the active xpath query. - /// </summary> - public string Query { - get { - return xpathComboBoxEntry.Entry.Text; - } - set { - xpathComboBoxEntry.Entry.Text = value; - } - } - - public void UpdateQueryButtonState()
- {
- queryButton.Sensitive = IsXPathQueryEntered && IsXmlEditorViewContentActive;
- } - - void InitResultsList() - { - resultsTreeView.Model = resultsList; - resultsTreeView.Selection.Mode = SelectionMode.Single; - resultsTreeView.RowActivated += ResultsTreeViewRowActivated; - resultsTreeView.Selection.Changed += ResultsTreeViewSelectionChanged; - - // Match column. - CellRendererText renderer = new CellRendererText(); - resultsTreeView.AppendColumn("Match", renderer, "text", xpathMatchColumnNumber); - - // Line number column. - renderer = new CellRendererText(); - resultsTreeView.AppendColumn("Line", renderer, "text", xpathMatchLineColumnNumber); - } - - void InitNamespaceList() - { - namespacesTreeView.Model = namespacesList; - namespacesTreeView.Selection.Mode = SelectionMode.Single; - - // Prefix column. - CellRendererText renderer = new CellRendererText(); - renderer.Edited += PrefixEdited; - renderer.Editable = true; - namespacesTreeView.AppendColumn("Prefix", renderer, "text", prefixColumnNumber); - - // Namespace column. - renderer = new CellRendererText(); - renderer.Edited += NamespaceEdited; - renderer.Editable = true; - namespacesTreeView.AppendColumn("Namespace", renderer, "text", namespaceColumnNumber); - - // Add a few blank rows. - for (int i = 0; i < 20; ++i) { - namespacesList.Append(); - } - } - - void PrefixEdited(object source, EditedArgs e) - { - ListItemEdited(e, namespacesList, prefixColumnNumber); - } - - void NamespaceEdited(object source, EditedArgs e) - { - ListItemEdited(e, namespacesList, namespaceColumnNumber); - } - - /// <summary> - /// Updates the list store item's text that has been - /// edited by the user. - /// </summary> - void ListItemEdited(EditedArgs e, ListStore list, int column) - { - TreePath path = new TreePath(e.Path); - TreeIter iter; - if (list.GetIter(out iter, path)) { - list.SetValue(iter, column, e.NewText); - } - } - - void XPathComboBoxEntryChanged(object sender, EventArgs e)
- {
- UpdateQueryButtonState();
- }
-
- bool IsXPathQueryEntered {
- get {
- return xpathComboBoxEntry.Entry.Text.Length > 0;
- }
- } - - bool IsXmlEditorViewContentActive { - get { - return viewProvider.View != null; - } - }
-
- void QueryButtonClicked(object sender, EventArgs e)
- {
- RunXPathQuery();
- }
-
- void RunXPathQuery()
- {
- XmlEditorViewContent view = viewProvider.View;
- if (view == null) {
- return;
- }
-
- try {
- fileName = view.FileName;
- // Clear previous XPath results.
- ClearResults(); - view.Select(0, 0); - XmlEditorView xmlEditor = view.XmlEditorView;
- xmlEditor.RemoveXPathMarkers();
-
- // Run XPath query. - XPathNodeMatch[] nodes = xmlEditor.SelectNodes(Query, GetNamespaces());
- if (nodes.Length > 0) {
- AddXPathResults(nodes);
- xmlEditor.AddXPathMarkers(nodes);
- } else {
- AddNoXPathResult();
- }
- AddXPathToHistory();
- } catch (XPathException xpathEx) {
- AddErrorResult(xpathEx);
- } catch (XmlException xmlEx) {
- AddErrorResult(xmlEx);
- } finally { - notebook.CurrentPage = 0; - }
- }
-
- void ClearResults()
- {
- resultsList.Clear();
- }
-
- void AddXPathResults(XPathNodeMatch[] nodes)
- {
- foreach (XPathNodeMatch node in nodes) { - string line = String.Empty; - if (node.HasLineInfo()) {
- int lineNumber = node.LineNumber + 1; - line = lineNumber.ToString(); - } - resultsList.AppendValues(node.DisplayValue, line, node);
- }
- }
-
- void AddNoXPathResult()
- { - resultsList.AppendValues("XPath query found 0 items.");
- }
-
- void AddErrorResult(XmlException ex)
- { - resultsList.AppendValues(ex.Message, ex.LineNumber.ToString(), ex);
- }
-
- void AddErrorResult(XPathException ex)
- { - resultsList.AppendValues(String.Concat("XPath: ", ex.Message), String.Empty, ex);
- }
-
- void ResultsTreeViewRowActivated(object sender, EventArgs e)
- { - JumpToResultLocation();
- }
- /// <summary>
- /// Switches focus to the location of the XPath query result.
- /// </summary>
- void JumpToResultLocation()
- {
- MoveCaretToResultLocation(MoveCaret.ByJumping);
- }
-
- /// <summary>
- /// Scrolls the text editor so the location of the XPath query results is visible.
- /// </summary>
- void ScrollToResultLocation()
- {
- MoveCaretToResultLocation(MoveCaret.ByScrolling);
- }
-
- void MoveCaretToResultLocation(MoveCaret moveCaret)
- { - TreeIter iter; - if (resultsTreeView.Selection.GetSelected(out iter)) { - object tag = resultsList.GetValue(iter, xpathNodeMatchColumnNumber); - XPathNodeMatch xpathNodeMatch = tag as XPathNodeMatch;
- XPathException xpathException = tag as XPathException;
- XmlException xmlException = tag as XmlException;
- if (xpathNodeMatch != null) {
- MoveCaretToXPathNodeMatch(moveCaret, xpathNodeMatch);
- } else if (xmlException != null) {
- MoveCaretToXmlException(moveCaret, xmlException);
- } else if (xpathException != null && moveCaret == MoveCaret.ByJumping) {
xpathComboBoxEntry.Entry.HasFocus = true;
- }
- }
- }
-
- void MoveCaretToXPathNodeMatch(MoveCaret moveCaret, XPathNodeMatch node)
- {
- if (moveCaret == MoveCaret.ByJumping) {
- viewProvider.JumpTo(fileName, node.LineNumber, node.LinePosition);
- } else {
- ScrollTo(fileName, node.LineNumber, node.LinePosition, node.Value.Length);
- }
- }
-
- void MoveCaretToXmlException(MoveCaret moveCaret, XmlException ex)
- {
- int line = ex.LineNumber - 1;
- int column = ex.LinePosition - 1;
- if (moveCaret == MoveCaret.ByJumping) {
- viewProvider.JumpTo(fileName, line, column);
- } else {
- ScrollTo(fileName, line, column);
- }
- }
-
- void ScrollTo(string fileName, int line, int column, int length)
- {
- XmlEditorViewContent view = viewProvider.View;
- if (view != null && IsFileNameMatch(view)) { - view.SetCaretTo(line, column); - SourceBuffer buffer = (SourceBuffer)view.XmlEditorView.Buffer; - if (length > 0 && line < buffer.LineCount) { - TextIter lineIter = buffer.GetIterAtLine(line); - int startOffset = lineIter.Offset + column; - int endOffset = startOffset + length; - view.Select(startOffset, endOffset); - }
- }
- }
-
- /// <summary>
- /// Tests whether the specified view matches the filename the XPath
/// results were found in.
- /// </summary>
- bool IsFileNameMatch(XmlEditorViewContent view)
- {
- return fileName == view.FileName;
- } - - /// <summary>
- /// Adds the text in the combo box to the combo box drop down list.
- /// </summary>
- void AddXPathToHistory()
- {
- string newXPath = Query; - if (!XPathHistoryListContains(newXPath)) {
- TreeIter iter = xpathHistoryList.Prepend(); - xpathHistoryList.SetValue(iter, 0, newXPath); - xpathHistoryListCount++; - if (xpathHistoryListCount > xpathQueryHistoryLimit) { - iter = GetLastIter(xpathHistoryList); - xpathHistoryList.Remove(ref iter); - }
- }
- } - - /// <summary> - /// Brute force approach to get last list item. - /// </summary> - TreeIter GetLastIter(ListStore list) - { - TreeIter iter = TreeIter.Zero; - TreeIter lastIter = iter; - bool success = list.GetIterFirst(out iter); - while (success) { - lastIter = iter; - success = list.IterNext(ref iter); - } - return lastIter; - } - - /// <summary> - /// Returns true if the xpath already exists. - /// </summary> - bool XPathHistoryListContains(string xpath) - { - TreeIter iter; - bool success = xpathHistoryList.GetIterFirst(out iter); - while (success) { - string existingXPath = (string)xpathHistoryList.GetValue(iter, 0); - if (xpath.Equals(existingXPath, StringComparison.InvariantCultureIgnoreCase)) { - return true; - } - success = xpathHistoryList.IterNext(ref iter); - } - return false; - }
- void ResultsTreeViewSelectionChanged(object sender, EventArgs e)
- { - ScrollToResultLocation();
- } - - /// <summary> - /// Gets the namespace prefix from the specified - /// list store row. - /// </summary> - string GetNamespacePrefix(TreeIter iter) - { - string prefix = (string)namespacesList.GetValue(iter, prefixColumnNumber); - if (prefix != null) { - return prefix; - } - return String.Empty; - } - - /// <summary> - /// Gets the namespace uri from the specified - /// list store row. - /// </summary> - string GetNamespaceUri(TreeIter iter) - { - string uri = (string)namespacesList.GetValue(iter, namespaceColumnNumber); - if (uri != null) { - return uri; - } - return String.Empty; - }
-
- void ScrollTo(string fileName, int line, int column)
- {
- ScrollTo(fileName, line, column, 0);
- } - - void XPathComboBoxEntryActivated(object source, EventArgs e) - { - RunXPathQuery(); - } - } -} -
-*/
\ No newline at end of file diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/EncodedStringWriter.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/EncodedStringWriter.cs deleted file mode 100755 index 587306f9fb..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/EncodedStringWriter.cs +++ /dev/null @@ -1,64 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2005 Matthew Ward
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
-using System;
-using System.IO;
-using System.Text;
-
-namespace MonoDevelop.XmlEditor
-{
- /// <summary>
- /// A string writer that allows you to specify the text encoding to
- /// be used when generating the string.
- /// </summary>
- /// <remarks>
- /// This class is used when generating xml strings using a writer and
- /// the encoding in the xml processing instruction needs to be changed.
- /// The xml encoding string will be the encoding specified in the constructor
- /// of this class (i.e. UTF-8, UTF-16)</remarks>
- public class EncodedStringWriter : StringWriter
- {
- Encoding encoding = Encoding.UTF8;
-
- /// <summary>
- /// Creates a new string writer that will generate a string with the
- /// specified encoding.
- /// </summary>
- /// <remarks>The encoding will be used when generating the
- /// xml encoding header (i.e. UTF-8, UTF-16).</remarks>
- public EncodedStringWriter(Encoding encoding)
- {
- this.encoding = encoding;
- }
-
- /// <summary>
- /// Gets the text encoding that will be used when generating
- /// the string.
- /// </summary>
- public override Encoding Encoding {
- get {
- return encoding;
- }
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/OpenStylesheetCommand.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/OpenStylesheetCommand.cs deleted file mode 100644 index f4d507ae8d..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/OpenStylesheetCommand.cs +++ /dev/null @@ -1,59 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2005-2006 Matthew Ward -//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE. - -using MonoDevelop.Components.Commands;
-using MonoDevelop.Ide.Gui; -using System;
-namespace MonoDevelop.XmlEditor
-{
- /// <summary>
- /// Opens the stylesheet associated with the active XML document.
- /// </summary>
- public class OpenStylesheetCommand : CommandHandler
- {
- protected override void Run()
- {
- XmlEditorViewContent view = XmlEditorService.GetActiveView();
- if (view != null) {
- if (view.StylesheetFileName != null) {
- try {
- IdeApp.Workbench.OpenDocument(view.StylesheetFileName);
- } catch (Exception ex) { - MonoDevelop.Core.LoggingService.LogError ("Could not open document.", ex);
- MonoDevelop.Ide.MessageService.ShowError ("Could not open document.", ex.ToString());
- }
- }
- }
- } - - protected override void Update(CommandInfo info) - { - XmlEditorViewContent view = XmlEditorService.GetActiveView();
- if (view != null && view.StylesheetFileName != null) { - info.Enabled = true; - } else { - info.Enabled = false; - } - }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/QualifiedNameCollection.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/QualifiedNameCollection.cs deleted file mode 100755 index c7ab7df061..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/QualifiedNameCollection.cs +++ /dev/null @@ -1,288 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2005 Matthew Ward
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-using System;
-using System.Collections;
-
-namespace MonoDevelop.XmlEditor
-{
- /// <summary>
- /// A collection that stores <see cref='QualifiedName'/> objects.
- /// </summary>
- [Serializable()]
- public class QualifiedNameCollection : CollectionBase {
-
- /// <summary>
- /// Initializes a new instance of <see cref='QualifiedNameCollection'/>.
- /// </summary>
- public QualifiedNameCollection()
- {
- }
-
- /// <summary>
- /// Initializes a new instance of <see cref='QualifiedNameCollection'/> based on another <see cref='QualifiedNameCollection'/>.
- /// </summary>
- /// <param name='val'>
- /// A <see cref='QualifiedNameCollection'/> from which the contents are copied
- /// </param>
- public QualifiedNameCollection(QualifiedNameCollection val)
- {
- this.AddRange(val);
- }
-
- /// <summary>
- /// Initializes a new instance of <see cref='QualifiedNameCollection'/> containing any array of <see cref='QualifiedName'/> objects.
- /// </summary>
- /// <param name='val'>
- /// A array of <see cref='QualifiedName'/> objects with which to intialize the collection
- /// </param>
- public QualifiedNameCollection(QualifiedName[] val)
- {
- this.AddRange(val);
- }
-
- /// <summary>
- /// Represents the entry at the specified index of the <see cref='QualifiedName'/>.
- /// </summary>
- /// <param name='index'>The zero-based index of the entry to locate in the collection.</param>
- /// <value>The entry at the specified index of the collection.</value>
- /// <exception cref='ArgumentOutOfRangeException'><paramref name='index'/> is outside the valid range of indexes for the collection.</exception>
- public QualifiedName this[int index] {
- get {
- return ((QualifiedName)(List[index]));
- }
- set {
- List[index] = value;
- }
- }
-
- /// <summary>
- /// Adds a <see cref='QualifiedName'/> with the specified value to the
- /// <see cref='QualifiedNameCollection'/>.
- /// </summary>
- /// <param name='val'>The <see cref='QualifiedName'/> to add.</param>
- /// <returns>The index at which the new element was inserted.</returns>
- /// <seealso cref='QualifiedNameCollection.AddRange(QualifiedName[])'/> - public int Add(QualifiedName val)
- {
- return List.Add(val);
- }
-
- /// <summary>
- /// Copies the elements of an array to the end of the <see cref='QualifiedNameCollection'/>.
- /// </summary>
- /// <param name='val'>
- /// An array of type <see cref='QualifiedName'/> containing the objects to add to the collection.
- /// </param>
- /// <seealso cref='QualifiedNameCollection.Add'/>
- public void AddRange(QualifiedName[] val)
- {
- for (int i = 0; i < val.Length; i++) {
- this.Add(val[i]);
- }
- }
-
- /// <summary>
- /// Adds the contents of another <see cref='QualifiedNameCollection'/> to the end of the collection.
- /// </summary>
- /// <param name='val'>
- /// A <see cref='QualifiedNameCollection'/> containing the objects to add to the collection.
- /// </param>
- /// <seealso cref='QualifiedNameCollection.Add'/>
- public void AddRange(QualifiedNameCollection val)
- {
- for (int i = 0; i < val.Count; i++)
- {
- this.Add(val[i]);
- }
- }
-
- /// <summary>
- /// Gets a value indicating whether the
- /// <see cref='QualifiedNameCollection'/> contains the specified <see cref='QualifiedName'/>.
- /// </summary>
- /// <param name='val'>The <see cref='QualifiedName'/> to locate.</param>
- /// <returns>
- /// <see langword='true'/> if the <see cref='QualifiedName'/> is contained in the collection;
- /// otherwise, <see langword='false'/>.
- /// </returns>
- /// <seealso cref='QualifiedNameCollection.IndexOf'/>
- public bool Contains(QualifiedName val)
- {
- return List.Contains(val);
- }
-
- /// <summary>
- /// Copies the <see cref='QualifiedNameCollection'/> values to a one-dimensional <see cref='Array'/> instance at the
- /// specified index.
- /// </summary>
- /// <param name='array'>The one-dimensional <see cref='Array'/> that is the destination of the values copied from <see cref='QualifiedNameCollection'/>.</param>
- /// <param name='index'>The index in <paramref name='array'/> where copying begins.</param>
- /// <exception cref='ArgumentException'>
- /// <para><paramref name='array'/> is multidimensional.</para>
- /// <para>-or-</para>
- /// <para>The number of elements in the <see cref='QualifiedNameCollection'/> is greater than
- /// the available space between <paramref name='arrayIndex'/> and the end of
- /// <paramref name='array'/>.</para>
- /// </exception>
- /// <exception cref='ArgumentNullException'><paramref name='array'/> is <see langword='null'/>. </exception>
- /// <exception cref='ArgumentOutOfRangeException'><paramref name='arrayIndex'/> is less than <paramref name='array'/>'s lowbound. </exception>
- /// <seealso cref='Array'/>
- public void CopyTo(QualifiedName[] array, int index)
- {
- List.CopyTo(array, index);
- }
-
- /// <summary>
- /// Returns the index of a <see cref='QualifiedName'/> in
- /// the <see cref='QualifiedNameCollection'/>.
- /// </summary>
- /// <param name='val'>The <see cref='QualifiedName'/> to locate.</param>
- /// <returns>
- /// The index of the <see cref='QualifiedName'/> of <paramref name='val'/> in the
- /// <see cref='QualifiedNameCollection'/>, if found; otherwise, -1.
- /// </returns>
- /// <seealso cref='QualifiedNameCollection.Contains'/>
- public int IndexOf(QualifiedName val)
- {
- return List.IndexOf(val);
- }
-
- /// <summary>
- /// Inserts a <see cref='QualifiedName'/> into the <see cref='QualifiedNameCollection'/> at the specified index.
- /// </summary>
- /// <param name='index'>The zero-based index where <paramref name='val'/> should be inserted.</param>
- /// <param name='val'>The <see cref='QualifiedName'/> to insert.</param>
- /// <seealso cref='QualifiedNameCollection.Add'/>
- public void Insert(int index, QualifiedName val)
- {
- List.Insert(index, val);
- }
-
- /// <summary>
- /// Returns an enumerator that can iterate through the <see cref='QualifiedNameCollection'/>.
- /// </summary>
- /// <seealso cref='IEnumerator'/>
- public new QualifiedNameEnumerator GetEnumerator()
- {
- return new QualifiedNameEnumerator(this);
- }
-
- /// <summary>
- /// Removes a specific <see cref='QualifiedName'/> from the <see cref='QualifiedNameCollection'/>.
- /// </summary>
- /// <param name='val'>The <see cref='QualifiedName'/> to remove from the <see cref='QualifiedNameCollection'/>.</param>
- /// <exception cref='ArgumentException'><paramref name='val'/> is not found in the Collection.</exception>
- public void Remove(QualifiedName val)
- {
- List.Remove(val);
- }
-
- /// <summary>
- /// Removes the last item in this collection.
- /// </summary>
- public void RemoveLast()
- {
- if (Count > 0) {
- RemoveAt(Count - 1);
- }
- }
-
- /// <summary>
- /// Removes the first item in the collection.
- /// </summary>
- public void RemoveFirst()
- {
- if (Count > 0) {
- RemoveAt(0);
- }
- }
-
- /// <summary>
- /// Gets the namespace prefix of the last item.
- /// </summary>
- public string LastPrefix {
- get {
- string prefix = String.Empty;
-
- if (Count > 0) {
- QualifiedName name = this[Count - 1];
- prefix = name.Prefix;
- }
-
- return prefix;
- }
- }
-
- /// <summary>
- /// Enumerator that can iterate through a QualifiedNameCollection.
- /// </summary>
- /// <seealso cref='IEnumerator'/>
- /// <seealso cref='QualifiedNameCollection'/>
- /// <seealso cref='QualifiedName'/>
- public class QualifiedNameEnumerator : IEnumerator
- {
- IEnumerator baseEnumerator;
- IEnumerable temp;
-
- /// <summary>
- /// Initializes a new instance of <see cref='QualifiedNameEnumerator'/>.
- /// </summary>
- public QualifiedNameEnumerator(QualifiedNameCollection mappings)
- {
- this.temp = ((IEnumerable)(mappings));
- this.baseEnumerator = temp.GetEnumerator();
- }
-
- /// <summary>
- /// Gets the current <see cref='QualifiedName'/> in the <seealso cref='QualifiedNameCollection'/>.
- /// </summary>
- public QualifiedName Current {
- get {
- return ((QualifiedName)(baseEnumerator.Current));
- }
- }
-
- object IEnumerator.Current {
- get {
- return baseEnumerator.Current;
- }
- }
-
- /// <summary>
- /// Advances the enumerator to the next <see cref='QualifiedName'/> of the <see cref='QualifiedNameCollection'/>.
- /// </summary>
- public bool MoveNext()
- {
- return baseEnumerator.MoveNext();
- }
-
- /// <summary>
- /// Sets the enumerator to its initial position, which is before the first element in the <see cref='QualifiedNameCollection'/>.
- /// </summary>
- public void Reset()
- {
- baseEnumerator.Reset();
- }
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs deleted file mode 100644 index 524797b8f7..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlCompletionListWindow.cs +++ /dev/null @@ -1,417 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2004-2007 MonoDevelop Team
-// - -using System; -using System.Collections; - -using Gtk; -using MonoDevelop.Projects; -using MonoDevelop.Core; -using MonoDevelop.Ide.CodeCompletion; - -namespace MonoDevelop.XmlEditor -{ - public class XmlCompletionListWindow : XmlEditorListWindow, IListDataProvider - { - ICompletionWidget completionWidget; - ICodeCompletionContext completionContext; - ICompletionData[] completionData; - DeclarationViewWindow declarationviewwindow = new DeclarationViewWindow (); - ICompletionData currentData; - ICompletionDataProvider provider; - IMutableCompletionDataProvider mutableProvider; - Widget parsingMessage; - char firstChar; - CompletionDelegate closedDelegate; - - const int declarationWindowMargin = 3; - static DataComparer dataComparer = new DataComparer (); - - public static event EventHandler WindowClosed; - - class DataComparer: IComparer - { - public int Compare (object x, object y) - { - ICompletionData d1 = x as ICompletionData; - ICompletionData d2 = y as ICompletionData; - return String.Compare (d1.Text[0], d2.Text[0], true); - } - } - - static XmlCompletionListWindow wnd; - - static XmlCompletionListWindow () - { - wnd = new XmlCompletionListWindow (); - } - - internal XmlCompletionListWindow () - { - SizeAllocated += new SizeAllocatedHandler (ListSizeChanged); - } - - public static void ShowWindow (char firstChar, ICompletionDataProvider provider, ICompletionWidget completionWidget, ICodeCompletionContext completionContext, CompletionDelegate closedDelegate) - { - try { - if (!wnd.ShowListWindow (firstChar, provider, completionWidget, completionContext, closedDelegate)) { - provider.Dispose (); - return; - } - - // makes control-space in midle of words to work - string text = wnd.completionWidget.GetCompletionText (completionContext); - if (text.Length == 0) { - text = provider.DefaultCompletionString; - if (text != null && text.Length > 0) - wnd.SelectEntry (text); - return; - } - - wnd.PartialWord = text; - //if there is only one matching result we take it by default - if (wnd.IsUniqueMatch && !wnd.IsChanging) - { - wnd.UpdateWord (); - wnd.Hide (); - } - - } catch (Exception ex) { - Console.WriteLine (ex); - } - } - - bool ShowListWindow (char firstChar, ICompletionDataProvider provider, ICompletionWidget completionWidget, ICodeCompletionContext completionContext, CompletionDelegate closedDelegate) - { - if (mutableProvider != null) { - mutableProvider.CompletionDataChanging -= OnCompletionDataChanging; - mutableProvider.CompletionDataChanged -= OnCompletionDataChanged; - } - - this.provider = provider; - this.completionContext = completionContext; - this.closedDelegate = closedDelegate; - mutableProvider = provider as IMutableCompletionDataProvider; - - if (mutableProvider != null) { - mutableProvider.CompletionDataChanging += OnCompletionDataChanging; - mutableProvider.CompletionDataChanged += OnCompletionDataChanged; - - if (mutableProvider.IsChanging) - OnCompletionDataChanging (null, null); - } - - this.completionWidget = completionWidget; - this.firstChar = firstChar; - - return FillList (); - } - - bool FillList () - { - completionData = provider.GenerateCompletionData (completionWidget, firstChar); - if ((completionData == null || completionData.Length == 0) && !IsChanging) - return false; - - this.Style = completionWidget.GtkStyle; - - if (completionData == null) - completionData = new ICompletionData [0]; - else - Array.Sort (completionData, dataComparer); - - DataProvider = this; - - int x = completionContext.TriggerXCoord; - int y = completionContext.TriggerYCoord; - - int w, h; - GetSize (out w, out h); - - if ((x + w) > Screen.Width) - x = Screen.Width - w; - - if ((y + h) > Screen.Height) - { - y = y - completionContext.TriggerTextHeight - h; - } - - Move (x, y); - - Show (); - - // HACK - make window bigger for namespace completion. - // This should probably be handled by the ListWidget/ListWindow - // itself. - if (firstChar == '=') { - this.Resize(this.List.WidthRequest + 220, this.List.HeightRequest); - } - return true; - } - - public static void HideWindow () - { - wnd.Hide (); - } - - /// <summary> - /// Modified this method so that punctuation characters - /// will not close the completion window. - /// </summary> - public static bool ProcessKeyEvent (Gdk.EventKey e) - { - if (!wnd.Visible) return false; - - XmlEditorListWindow.KeyAction ka = wnd.ProcessKey (e); - - if ((ka & XmlEditorListWindow.KeyAction.CloseWindow) != 0) { - if (e.Key == Gdk.Key.Escape || e.Key == Gdk.Key.BackSpace || !System.Char.IsPunctuation((char)e.KeyValue)) { - wnd.Hide (); - } - } - - if ((ka & XmlEditorListWindow.KeyAction.Complete) != 0) { - switch (e.Key) { - case Gdk.Key.Tab: - case Gdk.Key.Return: - case Gdk.Key.ISO_Enter: - case Gdk.Key.Key_3270_Enter: - case Gdk.Key.KP_Enter: - wnd.Hide (); - wnd.UpdateWord (); - break; - default: - break; - } - } - - if ((ka & XmlEditorListWindow.KeyAction.Ignore) != 0) - return true; - - if ((ka & XmlEditorListWindow.KeyAction.Process) != 0) { - if (e.Key == Gdk.Key.Left) { - if (wnd.declarationviewwindow.Multiple) { - wnd.declarationviewwindow.OverloadLeft (); - wnd.UpdateDeclarationView (); - } - return true; - } else if (e.Key == Gdk.Key.Right) { - if (wnd.declarationviewwindow.Multiple) { - wnd.declarationviewwindow.OverloadRight (); - wnd.UpdateDeclarationView (); - } - return true; - } - } - - return false; - } - - /// <summary> - /// HACK - Insert the completion string not the text displayed in the - /// completion list and move the cursor between the attribute - /// quotes when an attribute is inserted. - /// This should really be done using methods in the - /// ICompletionWidget class. Here I am cheating and using - /// the XmlEditorView and XmlCompletionData directly (The - /// XmlCompletionData.InsertAction is not used in MonoDevelop). - /// </summary> -// void UpdateWord () -// { -// XmlCompletionData data = (XmlCompletionData)completionData[List.Selection]; -// -// string completeWord = data.CompletionString; -// completionWidget.SetCompletionText(completionContext, wnd.PartialWord, completeWord); -// if (data.XmlCompletionDataType == XmlCompletionData.DataType.XmlAttribute) { -// // Position cursor inside attribute value string. -// XmlEditorView view = (XmlEditorView)completionWidget; -// TextIter iter = view.Buffer.GetIterAtMark(view.Buffer.InsertMark); -// iter.Offset--; -// view.Buffer.PlaceCursor(iter); -// } -// //completionWidget.SetCompletionText(wnd.PartialWord, wnd.CompleteWord); -// } - - void UpdateWord () - { - string word = wnd.CompleteWord; - if (word != null) { - if (wnd.Selection != -1) { - IActionCompletionData ac = completionData [wnd.Selection] as IActionCompletionData; - if (ac != null) { - ac.InsertAction (completionWidget, completionContext); - return; - } - } - completionWidget.SetCompletionText (completionContext, wnd.PartialWord, word); - } - } - - public new void Hide () - { - base.Hide (); - declarationviewwindow.HideAll (); - if (provider != null) { - provider.Dispose (); - provider = null; - } - if (closedDelegate != null) { - closedDelegate (); - closedDelegate = null; - } - } - - protected override bool IsValidCompletionChar (char c) - { - return XmlParser.IsXmlNameChar(c); - } - - void ListSizeChanged (object obj, SizeAllocatedArgs args) - { - UpdateDeclarationView (); - } - - protected override bool OnButtonPressEvent (Gdk.EventButton evnt) - { - bool ret = base.OnButtonPressEvent (evnt); - if (evnt.Button == 1 && evnt.Type == Gdk.EventType.TwoButtonPress) { - wnd.UpdateWord (); - wnd.Hide (); - } - return ret; - } - - protected override void OnSelectionChanged () - { - base.OnSelectionChanged (); - UpdateDeclarationView (); - } - - void UpdateDeclarationView () - { - if (completionData == null || List.Selection >= completionData.Length || List.Selection == -1) - return; - - if (List.GdkWindow == null) return; - Gdk.Rectangle rect = List.GetRowArea (List.Selection); - int listpos_x = 0, listpos_y = 0; - while (listpos_x == 0 || listpos_y == 0) - GetPosition (out listpos_x, out listpos_y); - int vert = listpos_y + rect.Y; - - int lvWidth = 0, lvHeight = 0; - while (lvWidth == 0) - this.GdkWindow.GetSize (out lvWidth, out lvHeight); - if (vert >= listpos_y + lvHeight - 2) { - vert = listpos_y + lvHeight - rect.Height; - } else if (vert < listpos_y) { - vert = listpos_y; - } - - ICompletionData data = completionData[List.Selection]; - ICompletionDataWithMarkup datawMarkup = data as ICompletionDataWithMarkup; - XmlCompletionData ccdata = (XmlCompletionData) data; - - string descMarkup = datawMarkup != null ? datawMarkup.DescriptionPango : data.Description; - - declarationviewwindow.Hide (); - - if (data != currentData) { - declarationviewwindow.Clear (); - declarationviewwindow.Realize (); - - declarationviewwindow.AddOverload (descMarkup); - - //foreach (CodeCompletionData odata in ccdata.GetOverloads ()) { - // ICompletionDataWithMarkup odatawMarkup = odata as ICompletionDataWithMarkup; - // declarationviewwindow.AddOverload (odatawMarkup == null ? odata.Description : odatawMarkup.DescriptionPango); - //} - } - - currentData = data; - - if (declarationviewwindow.DescriptionMarkup.Length == 0) - return; - - int dvwWidth, dvwHeight; - - declarationviewwindow.Move (this.Screen.Width+1, vert); - - declarationviewwindow.SetFixedWidth (-1); - declarationviewwindow.ReshowWithInitialSize (); - declarationviewwindow.ShowAll (); - //declarationviewwindow.Multiple = (ccdata.Overloads != 0); - - declarationviewwindow.GdkWindow.GetSize (out dvwWidth, out dvwHeight); - - int horiz = listpos_x + lvWidth + declarationWindowMargin; - if (this.Screen.Width - horiz >= lvWidth) { - if (this.Screen.Width - horiz < dvwWidth) - declarationviewwindow.SetFixedWidth (this.Screen.Width - horiz); - } else { - if (listpos_x - dvwWidth - declarationWindowMargin < 0) { - declarationviewwindow.SetFixedWidth (listpos_x - declarationWindowMargin); - dvwWidth = declarationviewwindow.SizeRequest ().Width; - } - horiz = listpos_x - dvwWidth - declarationWindowMargin; - } - - declarationviewwindow.Move (horiz, vert); - } - - public int ItemCount - { - get { return completionData.Length; } - } - - public string GetText (int n) - { - return completionData[n].Text[0]; - } - - public string GetCompletionText (int n) - { - return completionData[n].CompletionString; - } - - public Gdk.Pixbuf GetIcon (int n) - { - return RenderIcon (completionData[n].Image, Gtk.IconSize.Menu, ""); - } - - internal bool IsChanging { - get { return mutableProvider != null && mutableProvider.IsChanging; } - } - - void OnCompletionDataChanging (object s, EventArgs args) - { - if (parsingMessage == null) { - VBox box = new VBox (); - box.PackStart (new Gtk.HSeparator (), false, false, 0); - HBox hbox = new HBox (); - hbox.BorderWidth = 3; - hbox.PackStart (new Gtk.Image ("md-parser", Gtk.IconSize.Menu), false, false, 0); - Gtk.Label lab = new Gtk.Label (GettextCatalog.GetString ("Gathering class information...")); - lab.Xalign = 0; - hbox.PackStart (lab, true, true, 3); - hbox.ShowAll (); - parsingMessage = hbox; - } - wnd.ShowFooter (parsingMessage); - } - - void OnCompletionDataChanged (object s, EventArgs args) - { - wnd.HideFooter (); - if (Visible) { - Reset (); - FillList (); - } - } - } - - public delegate void CompletionDelegate (); -}
\ No newline at end of file diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorCommandBase.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorCommandBase.cs deleted file mode 100644 index 31f2387f74..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorCommandBase.cs +++ /dev/null @@ -1,24 +0,0 @@ - -using MonoDevelop.Components.Commands; -using MonoDevelop.Core; -using MonoDevelop.Ide;
-using MonoDevelop.Ide.Gui; -using MonoDevelop.Ide.Tasks; -using System; - -namespace ICSharpCode.XmlEditor -{ - public class XmlEditorCommandBase : CommandHandler - { - - - - - - - - - - - } -}
\ No newline at end of file diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorView.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorView.cs deleted file mode 100644 index 1356c591af..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorView.cs +++ /dev/null @@ -1,138 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2006-2007 Matthew Ward -// Copyright (C) 2004-2007 MonoDevelop Team
-// - -using Gdk; -using Gtk; -using GtkSourceView; -using MonoDevelop.Components.Commands; -using MonoDevelop.Ide.Commands; -using MonoDevelop.Ide.Gui.Content; -using MonoDevelop.Ide.Gui.Search; -using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.SourceEditor; -using MonoDevelop.SourceEditor.Gui.Dialogs; -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.IO; -using System.Text; -using System.Xml; -using System.Xml.Schema; -using System.Xml.XPath; - -namespace MonoDevelop.XmlEditor -{ - public class XmlEditorView : SourceView, ICompletionWidget, IClipboardHandler - { - XmlSchemaCompletionDataCollection schemaCompletionDataItems = new XmlSchemaCompletionDataCollection();
- XmlSchemaCompletionData defaultSchemaCompletionData = null;
- string defaultNamespacePrefix = String.Empty;
- bool autoCompleteElements = true; - bool showSchemaAnnotation = true; - SourceBuffer buffer; - Gtk.Clipboard clipboard = Gtk.Clipboard.Get(Gdk.Atom.Intern("CLIPBOARD", false)); - XPathNodeTextMarker xpathNodeTextMarker; - event EventHandler completionContextChanged; - ICodeCompletionContext completionContext; - XmlEditorViewContent viewContent; - - public XmlEditorView (XmlEditorViewContent viewContent) - { - this.viewContent = viewContent; - InitSyntaxHighlighting(); - xpathNodeTextMarker = new XPathNodeTextMarker(buffer); - Buffer.Changed += BufferChanged; - } - - /// <summary>
- /// Gets the schemas that the xml editor will use.
- /// </summary>
- /// <remarks>
- /// Probably should NOT have a 'set' property, but allowing one
- /// allows us to share the completion data amongst multiple
- /// xml editor controls.
- /// </remarks>
- public XmlSchemaCompletionDataCollection SchemaCompletionDataItems {
- get {
- return schemaCompletionDataItems;
- }
- set {
- schemaCompletionDataItems = value;
- }
- }
-
-#region XPath stuff
- - /// <summary>
- /// Finds the xml nodes that match the specified xpath.
- /// </summary>
- /// <returns>An array of XPathNodeMatch items. These include line number
- /// and line position information aswell as the node found.</returns>
- public static XPathNodeMatch[] SelectNodes(string xml, string xpath, ReadOnlyCollection<XmlNamespace> namespaces)
- { - XmlTextReader xmlReader = new XmlTextReader(new StringReader(xml));
- xmlReader.XmlResolver = null;
- XPathDocument doc = new XPathDocument(xmlReader);
- XPathNavigator navigator = doc.CreateNavigator();
-
- // Add namespaces.
- XmlNamespaceManager namespaceManager = new XmlNamespaceManager(navigator.NameTable);
- foreach (XmlNamespace xmlNamespace in namespaces) {
- namespaceManager.AddNamespace(xmlNamespace.Prefix, xmlNamespace.Uri);
- }
-
- // Run the xpath query.
- XPathNodeIterator iterator = navigator.Select(xpath, namespaceManager);
-
- List<XPathNodeMatch> nodes = new List<XPathNodeMatch>();
- while (iterator.MoveNext()) {
- nodes.Add(new XPathNodeMatch(iterator.Current));
- }
- return nodes.ToArray();
- }
-
- /// <summary>
- /// Finds the xml nodes that match the specified xpath.
- /// </summary>
- /// <returns>An array of XPathNodeMatch items. These include line number
- /// and line position information aswell as the node found.</returns>
- public static XPathNodeMatch[] SelectNodes(string xml, string xpath)
- {
- List<XmlNamespace> list = new List<XmlNamespace>();
- return SelectNodes(xml, xpath, new ReadOnlyCollection<XmlNamespace>(list));
- }
-
- /// <summary>
- /// Finds the xml nodes in the current document that match the specified xpath.
- /// </summary>
- /// <returns>An array of XPathNodeMatch items. These include line number
- /// and line position information aswell as the node found.</returns>
- public XPathNodeMatch[] SelectNodes(string xpath, ReadOnlyCollection<XmlNamespace> namespaces)
- {
- return SelectNodes(Buffer.Text, xpath, namespaces);
- } - - /// <summary> - /// Highlights the xpath matches in the xml. - /// </summary> - public void AddXPathMarkers(XPathNodeMatch[] nodes) - { - xpathNodeTextMarker.AddMarkers(nodes); - } - - /// <summary> - /// Removes the xpath match highlighting. - /// </summary> - public void RemoveXPathMarkers() - { - xpathNodeTextMarker.RemoveMarkers(); - } -#endregion -
- - } -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorViewContent.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorViewContent.cs deleted file mode 100644 index 6b403f1920..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorViewContent.cs +++ /dev/null @@ -1,614 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2007 Matthew Ward -// Copyright (C) 2004-2007 MonoDevelop Team
-// - -using Gnome.Vfs; -using Gtk; -using GtkSourceView; -using MonoDevelop.Core; -using MonoDevelop.Ide.Gui; -using MonoDevelop.Ide.Gui.Content; -using MonoDevelop.Ide.Gui.Search; -using MonoDevelop.Projects.Text; -using System; -using System.IO; - -namespace MonoDevelop.XmlEditor -{ - public class XmlEditorViewContent : AbstractViewContent, IEditableTextBuffer, IDocumentInformation, IClipboardHandler - { - XmlEditorWindow xmlEditorWindow; - SourceBuffer buffer; - XmlEditorView view; - const string TextXmlMimeType = "text/xml"; - const string ApplicationXmlMimeType = "application/xml"; - string fileName = String.Empty; - EventHandler<PropertyChangedEventArgs> propertyChangedHandler; - string stylesheetFileName; - - public XmlEditorViewContent() - { - xmlEditorWindow = new XmlEditorWindow(this); - view = xmlEditorWindow.View; - buffer = (SourceBuffer)view.Buffer; - buffer.Changed += BufferChanged; - - view.SchemaCompletionDataItems = XmlSchemaManager.SchemaCompletionDataItems; - SetInitialValues(); - - // Watch for changes to the source editor properties. - propertyChangedHandler = (EventHandler<PropertyChangedEventArgs>)DispatchService.GuiDispatch(new EventHandler<PropertyChangedEventArgs>(SourceEditorPropertyChanged)); - TextEditorProperties.Properties.PropertyChanged += propertyChangedHandler; - - buffer.ModifiedChanged += new EventHandler (OnModifiedChanged); - XmlEditorAddInOptions.PropertyChanged += new EventHandler<PropertyChangedEventArgs>(XmlEditorPropertyChanged); - - XmlSchemaManager.UserSchemaAdded += new EventHandler(UserSchemaAdded);
- XmlSchemaManager.UserSchemaRemoved += new EventHandler(UserSchemaRemoved); - - xmlEditorWindow.ShowAll(); - } - - public static bool IsMimeTypeHandled(string mimeType) - { - Console.WriteLine("mimeType: " + mimeType); - if (mimeType != null) { - if (mimeType == TextXmlMimeType || mimeType == ApplicationXmlMimeType) { - return true; - } - } - return false; - } - - /// <summary> - /// Determines whether the file can be displayed by - /// the xml editor. - /// </summary> - public static bool IsFileNameHandled(string fileName) - { - if (fileName == null) { - return false; - } - - string vfsname = fileName; - vfsname = vfsname.Replace ("%", "%25"); - vfsname = vfsname.Replace ("#", "%23"); - vfsname = vfsname.Replace ("?", "%3F"); - string mimeType = MimeType.GetMimeTypeForUri (vfsname); - if (IsMimeTypeHandled(mimeType)) { - return true; - } - - return XmlFileExtensions.IsXmlFileExtension(Path.GetExtension(fileName)); - } - - public XmlEditorView XmlEditorView { - get { - return view; - } - } - - public override Gtk.Widget Control { - get { - return xmlEditorWindow; - } - } - - public override bool IsDirty { - get { - return base.IsDirty; - } - set { - buffer.Modified = value; - } - } - - public override string UntitledName { - get { - return base.UntitledName; - } - set { - base.UntitledName = value; - fileName = value; - if (value != null) { - SetDefaultSchema(value); - } - } - } - - public override string TabPageLabel { - get { - return "XML"; - } - } - - public string FileName { - get { - return fileName; - } - } - - /// <summary>
- /// Gets or sets the stylesheet associated with this xml file.
- /// </summary>
- public string StylesheetFileName {
- get {
- return stylesheetFileName;
- }
- set {
- stylesheetFileName = value;
- }
- } - - public bool IsSchema { - get { - if (fileName != null) { - string extension = Path.GetExtension(fileName); - if (extension != null) { - return String.Compare(extension, ".xsd", true) == 0; - } - } - return false; - } - } - - public override void Load(string fileName) - { - using (StreamReader reader = System.IO.File.OpenText(fileName)) { - LoadContent(reader.ReadToEnd()); - } - ContentName = fileName; - this.fileName = fileName; - SetDefaultSchema(ContentName); - } - - public void LoadContent(string content) - { - buffer.Text = content; - buffer.Modified = false; - } - - public override void Dispose() - { - XmlEditorAddInOptions.PropertyChanged -= new EventHandler<PropertyChangedEventArgs>(XmlEditorPropertyChanged); - XmlSchemaManager.UserSchemaAdded -= new EventHandler(UserSchemaAdded);
- XmlSchemaManager.UserSchemaRemoved -= new EventHandler(UserSchemaRemoved); - TextEditorProperties.Properties.PropertyChanged -= propertyChangedHandler; - xmlEditorWindow.Dispose(); - } - - public override void Save(string fileName) - { - using (TextWriter s = new StreamWriter (fileName, true)) { - } - - using (TextWriter s = new StreamWriter (fileName, false)) { - s.Write (buffer.Text); - } - ContentName = fileName; - xmlEditorWindow.View.Buffer.Modified = false; - } - - /// <summary> - /// Code taken from SourceEditorDisplayBinding. - /// </summary> - void SetInitialValues() - { - view.ShowSchemaAnnotation = XmlEditorAddInOptions.ShowSchemaAnnotation; - view.AutoCompleteElements = XmlEditorAddInOptions.AutoCompleteElements; - - view.ModifyFont (TextEditorProperties.Font); - view.ShowLineNumbers = TextEditorProperties.ShowLineNumbers; - ((SourceBuffer)view.Buffer).HighlightMatchingBrackets = TextEditorProperties.ShowMatchingBracket; - view.ShowRightMargin = TextEditorProperties.ShowVerticalRuler; - view.InsertSpacesInsteadOfTabs = TextEditorProperties.ConvertTabsToSpaces; - view.AutoIndent = (TextEditorProperties.IndentStyle == IndentStyle.Auto); - view.HighlightCurrentLine = TextEditorProperties.HighlightCurrentLine; - ((SourceBuffer)view.Buffer).HighlightSyntax = TextEditorProperties.SyntaxHighlight; - - if (TextEditorProperties.TabIndent > -1) - view.TabWidth = (uint) TextEditorProperties.TabIndent; - else - view.TabWidth = (uint) 4; - - if (TextEditorProperties.VerticalRulerRow > -1) - view.RightMarginPosition = (uint) TextEditorProperties.VerticalRulerRow; - else - view.RightMarginPosition = 80; - - UpdateStyleScheme (); - } - - void OnModifiedChanged (object o, EventArgs e) - { - base.IsDirty = view.Buffer.Modified; - } - - void UpdateStyleScheme () - { - string id = TextEditorProperties.Properties.Get<string> ("GtkSourceViewStyleScheme", "classic"); - SourceStyleScheme scheme = GtkSourceView.SourceStyleSchemeManager.Default.GetScheme (id); - if (scheme == null) - MonoDevelop.Core.LoggingService.LogWarning ("GTKSourceView style scheme '" + id + "' is missing."); - else - ((SourceBuffer)view.Buffer).StyleScheme = scheme; - } - - void XmlEditorPropertyChanged(object o, PropertyChangedEventArgs e) - { - switch (e.Key) { - case "AutoCompleteElements": - view.AutoCompleteElements = XmlEditorAddInOptions.AutoCompleteElements; - break; - case "ShowSchemaAnnotation": - view.ShowSchemaAnnotation = XmlEditorAddInOptions.ShowSchemaAnnotation; - break; - default: - string extension = Path.GetExtension(fileName).ToLower();
- if (e.Key == extension) {
- SetDefaultSchema(extension); - } else { - Console.WriteLine("XmlEditor: Unhandled property change: " + e.Key); - } - break; - } - } - - void SourceEditorPropertyChanged(object o, PropertyChangedEventArgs e) - { - switch (e.Key) { - case "DefaultFont": - view.ModifyFont(TextEditorProperties.Font); - break; - case "ShowLineNumbers": - view.ShowLineNumbers = TextEditorProperties.ShowLineNumbers; - break; - case "ConvertTabsToSpaces": - view.InsertSpacesInsteadOfTabs = TextEditorProperties.ConvertTabsToSpaces; - break; - case "ShowBracketHighlight": - ((SourceBuffer)view.Buffer).HighlightMatchingBrackets = TextEditorProperties.ShowMatchingBracket; - break; - case "ShowVRuler": - view.ShowRightMargin = TextEditorProperties.ShowVerticalRuler; - break; - case "VRulerRow": - if (TextEditorProperties.VerticalRulerRow > -1) - view.RightMarginPosition = (uint) TextEditorProperties.VerticalRulerRow; - else - view.RightMarginPosition = 80; - break; - case "TabIndent": - if (TextEditorProperties.TabIndent > -1) - view.TabWidth = (uint) TextEditorProperties.TabIndent; - else - view.TabWidth = (uint) 4; - break; - case "IndentStyle": - view.AutoIndent = (TextEditorProperties.IndentStyle == IndentStyle.Auto); - break; - case "HighlightCurrentLine": - view.HighlightCurrentLine = TextEditorProperties.HighlightCurrentLine; - break; - case "GtkSourceViewStyleScheme": - UpdateStyleScheme (); - break; - default: - MonoDevelop.Core.LoggingService.LogWarning ("XmlEditor: Unhandled source editor property change: " + e.Key); - break; - } - } - - #region IClipboardHandler - public bool EnableCut { - get { - return ((IClipboardHandler)view).EnableCut; - } - } - public bool EnableCopy { - get { - return ((IClipboardHandler)view).EnableCopy; - } - } - public bool EnablePaste { - get { - return ((IClipboardHandler)view).EnablePaste; - } - } - public bool EnableDelete { - get { - return ((IClipboardHandler)view).EnableDelete; - } - } - public bool EnableSelectAll { - get { - return ((IClipboardHandler)view).EnableSelectAll; - } - } - - public void Cut () - { - ((IClipboardHandler)view).Cut (); - } - - public void Copy () - { - ((IClipboardHandler)view).Copy (); - } - - public void Paste () - { - ((IClipboardHandler)view).Paste (); - } - - public void Delete () - { - ((IClipboardHandler)view).Delete (); - } - - public void SelectAll () - { - ((IClipboardHandler)view).SelectAll (); - } - #endregion - - /// <summary>
- /// Sets the default schema and namespace prefix that the xml editor will use.
- /// </summary>
- void SetDefaultSchema(string fileName)
- { - if (fileName == null) { - return; - } - string extension = Path.GetExtension(fileName).ToLower();
- view.DefaultSchemaCompletionData = XmlSchemaManager.GetSchemaCompletionData(extension);
- view.DefaultNamespacePrefix = XmlSchemaManager.GetNamespacePrefix(extension);
- }
-
- /// <summary>
- /// Updates the default schema association since the schema
- /// may have been added.
- /// </summary>
- void UserSchemaAdded(object source, EventArgs e)
- { - SetDefaultSchema(ContentName); - }
-
- /// <summary>
- /// Updates the default schema association since the schema
- /// may have been removed.
- /// </summary>
- void UserSchemaRemoved(object source, EventArgs e)
- {
- SetDefaultSchema(ContentName);
- } - - #region IEditableTextBuffer - - public event EventHandler<TextChangedEventArgs> TextChanged; - - public void BeginAtomicUndo () - { - //Buffer.BeginUserAction (); - } - - public void EndAtomicUndo () - { - //Buffer.EndUserAction (); - } - - public string Name { - get { - return ContentName; - } - } - - public string Text { - get { -// if (needsUpdate) { -// cachedText = se.Buffer.Text; -// } - return buffer.Text; - } - set { - try { - buffer.BeginUserAction(); - buffer.Text = value; - } finally { - buffer.EndUserAction(); - } - } - } - - public void Undo () - { - view.UndoChange(); - } - - public bool EnableUndo { - get { return buffer.CanUndo; } - } - - public bool EnableRedo { - get { return buffer.CanRedo; } - } - - public void Redo () - { - view.RedoChange(); - } - - public string SelectedText { - get { - return view.GetSelectedText(); - } - set { - int offset = view.GetLowerSelectionBounds (); - ((IClipboardHandler)view).Delete (); - TextIter iter = buffer.GetIterAtOffset (offset); - buffer.Insert (ref iter, value); - buffer.PlaceCursor(iter); - view.ScrollMarkOnscreen (buffer.InsertMark); - } - } - - public int GetPositionFromLineColumn (int line, int column) - { - Console.WriteLine("GetPositionFromLineColumn"); - return -1; - } - - public void InsertText (int position, string text) - { - Console.WriteLine("InsertText"); - } - - public void DeleteText (int pos, int length) - { - TextIter start = buffer.GetIterAtOffset (pos); - TextIter end = buffer.GetIterAtOffset (pos + length); - buffer.Delete (ref start, ref end); - } - - public int CursorPosition { - get { - return buffer.GetIterAtMark(buffer.InsertMark).Offset; - } - set { - buffer.MoveMark (buffer.InsertMark, buffer.GetIterAtOffset (value)); - } - } - - public void GetLineColumnFromPosition (int position, out int line, out int column) - { - Console.WriteLine("GetLineColumnFromPosition"); - column = -1; - line = -1; - } - - public void ShowPosition (int position) - { - view.ScrollToIter (buffer.GetIterAtOffset (position), 0.3, false, 0, 0); - } - - public char GetCharAt (int offset) - { - if (offset < 0) - offset = 0; - TextIter iter = buffer.GetIterAtOffset (offset); - if (iter.Equals (TextIter.Zero)) - return ' '; - if (iter.Char == null || iter.Char.Length == 0) - return ' '; - return iter.Char[0]; - } - - public string GetText (int startPosition, int endPosition) - { - return buffer.GetText (buffer.GetIterAtOffset (startPosition), buffer.GetIterAtOffset (endPosition), true); - } - - int ITextFile.Length { - get { - Console.WriteLine("ITextFile.Length"); - return 0; - } - } - - public void Select (int startPosition, int endPosition) - { - buffer.MoveMark (buffer.InsertMark, buffer.GetIterAtOffset (startPosition)); - buffer.MoveMark (buffer.SelectionBound, buffer.GetIterAtOffset (endPosition)); - } - - public int SelectionStartPosition { - get { - TextIter p1 = buffer.GetIterAtMark (buffer.InsertMark); - TextIter p2 = buffer.GetIterAtMark (buffer.SelectionBound); - if (p1.Offset < p2.Offset) return p1.Offset; - else return p2.Offset; - } - } - - public int SelectionEndPosition { - get { - TextIter p1 = buffer.GetIterAtMark (buffer.InsertMark); - TextIter p2 = buffer.GetIterAtMark (buffer.SelectionBound); - if (p1.Offset > p2.Offset) return p1.Offset; - else return p2.Offset; - } - } - - #endregion - - #region IDocumentInformation - - string IDocumentInformation.FileName { - get { return ContentName != null ? ContentName : UntitledName; } - } - - public ITextIterator GetTextIterator () - { - int startOffset = buffer.GetIterAtMark (buffer.InsertMark).Offset; - return new SourceViewTextIterator (this, view, startOffset); - } - - public string GetLineTextAtOffset (int offset) - { - TextIter resultIter = buffer.GetIterAtOffset (offset); - TextIter start_line = resultIter, end_line = resultIter; - start_line.LineOffset = 0; - end_line.ForwardToLineEnd (); - return view.GetText (start_line.Offset, end_line.Offset - start_line.Offset); - } - - #endregion - - #region IPositionable - - public void SetCaretTo (int line, int column) - { - // NOTE: 1 based! - TextIter itr = view.Buffer.GetIterAtLine (line - 1); - itr.LineOffset = column - 1; - - view.Buffer.PlaceCursor (itr); - view.ScrollToMark (view.Buffer.InsertMark, 0.3, false, 0, 0); - GLib.Timeout.Add (20, new GLib.TimeoutHandler (changeFocus)); - } - - protected virtual void OnCaretPositionSet (EventArgs args) - { - if (CaretPositionSet != null) - CaretPositionSet (this, args); - } - public event EventHandler CaretPositionSet; - - //This code exists to workaround a gtk+ 2.4 regression/bug - // - //The gtk+ 2.4 treeview steals focus with double clicked - //row_activated. - // http://bugzilla.gnome.org/show_bug.cgi?id=138458 - bool changeFocus () - { - if (!view.IsRealized) - return false; - view.GrabFocus (); - view.ScrollToMark (view.Buffer.InsertMark, 0.3, false, 0, 0); - OnCaretPositionSet (EventArgs.Empty); - return false; - } - - #endregion - - void BufferChanged(object source, EventArgs e) - { - if (TextChanged != null) { - TextChanged(this, new TextChangedEventArgs(0, 0)); - } - } - } -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlNamespace.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlNamespace.cs deleted file mode 100644 index cc0023757e..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlNamespace.cs +++ /dev/null @@ -1,82 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2006 Matthew Ward -//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE. -
-using System;
-
-namespace MonoDevelop.XmlEditor
-{
- /// <summary>
- /// A namespace Uri and a prefix.
- /// </summary>
- public class XmlNamespace
- {
- string prefix = String.Empty;
- string uri = String.Empty;
-
- const string prefixToStringStart = "Prefix [";
- const string uriToStringMiddle = "] Uri [";
-
- public XmlNamespace(string prefix, string uri)
- {
- this.prefix = prefix;
- this.uri = uri;
- }
-
- public string Prefix {
- get {
- return prefix;
- }
- }
-
- public string Uri {
- get {
- return uri;
- }
- }
-
- public override string ToString()
- {
- return String.Concat(prefixToStringStart, prefix, uriToStringMiddle, uri, "]");
- }
-
- /// <summary>
- /// Creates an XmlNamespace instance from the given string that is in the
- /// format returned by ToString.
- /// </summary>
- public static XmlNamespace FromString(string s)
- {
- int prefixIndex = s.IndexOf(prefixToStringStart);
- if (prefixIndex >= 0) {
- prefixIndex += prefixToStringStart.Length;
- int uriIndex = s.IndexOf(uriToStringMiddle, prefixIndex);
- if (uriIndex >= 0) {
- string prefix = s.Substring(prefixIndex, uriIndex - prefixIndex);
- uriIndex += uriToStringMiddle.Length;
- string uri = s.Substring(uriIndex, s.Length - (uriIndex + 1));
- return new XmlNamespace(prefix, uri);
- }
- }
- return new XmlNamespace(String.Empty, String.Empty);
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlParser.cs b/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlParser.cs deleted file mode 100755 index d5081be66a..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlParser.cs +++ /dev/null @@ -1,704 +0,0 @@ -//
-// MonoDevelop XML Editor
-//
-// Copyright (C) 2005, 2006 Matthew Ward -//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE. -
-using System;
-using System.Collections;
-using System.IO;
-using System.Net;
-using System.Text;
-using System.Text.RegularExpressions;
-using System.Xml;
-
-namespace MonoDevelop.XmlEditor
-{
- /// <summary>
- /// Utility class that contains xml parsing routines used to determine
- /// the currently selected element so we can provide intellisense.
- /// </summary>
- /// <remarks>
- /// All of the routines return <see cref="XmlElementPath"/> objects
- /// since we are interested in the complete path or tree to the
- /// currently active element.
- /// </remarks>
- public class XmlParser
- {
- /// <summary>
- /// Helper class. Holds the namespace URI and the prefix currently
- /// in use for this namespace.
- /// </summary>
- class NamespaceURI
- {
- string namespaceURI = String.Empty;
- string prefix = String.Empty;
-
- public NamespaceURI()
- {
- }
-
- public NamespaceURI(string namespaceURI, string prefix)
- {
- this.namespaceURI = namespaceURI;
- this.prefix = prefix;
- }
-
- public string Namespace {
- get {
- return namespaceURI;
- }
- set {
- namespaceURI = value;
- }
- }
-
- public string Prefix {
- get {
- return prefix;
- }
- set {
- prefix = value;
- if (prefix == null) {
- prefix = String.Empty;
- }
- }
- }
- }
-
- XmlParser()
- {
- }
-
- /// <summary>
- /// Gets path of the xml element start tag that the specified
- /// <paramref name="index"/> is currently inside.
- /// </summary>
- /// <remarks>If the index outside the start tag then an empty path
- /// is returned.</remarks>
- public static XmlElementPath GetActiveElementStartPath(string xml, int index)
- {
- XmlElementPath path = new XmlElementPath();
-
- string elementText = GetActiveElementStartText(xml, index);
-
- if (elementText != null) {
- QualifiedName elementName = GetElementName(elementText);
- NamespaceURI elementNamespace = GetElementNamespace(elementText);
-
- path = GetParentElementPath(xml.Substring(0, index));
- if (elementNamespace.Namespace.Length == 0) {
- if (path.Elements.Count > 0) {
- QualifiedName parentName = path.Elements[path.Elements.Count - 1];
- elementNamespace.Namespace = parentName.Namespace;
- elementNamespace.Prefix = parentName.Prefix;
- }
- }
-
- path.Elements.Add(new QualifiedName(elementName.Name, elementNamespace.Namespace, elementNamespace.Prefix));
- path.Compact();
- }
-
- return path;
- }
-
- /// <summary>
- /// Gets path of the xml element start tag that the specified
- /// <paramref name="index"/> is currently located. This is different to the
- /// GetActiveElementStartPath method since the index can be inside the element
- /// name.
- /// </summary>
- /// <remarks>If the index outside the start tag then an empty path
- /// is returned.</remarks>
- public static XmlElementPath GetActiveElementStartPathAtIndex(string xml, int index)
- {
- // Find first non xml element name character to the right of the index.
- index = GetCorrectedIndex(xml.Length, index);
- int currentIndex = index;
- for (; currentIndex < xml.Length; ++currentIndex) {
- char ch = xml[currentIndex];
- if (!IsXmlNameChar(ch)) {
- break;
- }
- }
-
- string elementText = GetElementNameAtIndex(xml, currentIndex);
- if (elementText != null) {
- return GetActiveElementStartPath(xml, currentIndex, elementText);
- }
- return new XmlElementPath();
- }
-
- /// <summary>
- /// Gets the parent element path based on the index position.
- /// </summary>
- public static XmlElementPath GetParentElementPath(string xml)
- {
- XmlElementPath path = new XmlElementPath();
-
- try {
- StringReader reader = new StringReader(xml);
- XmlTextReader xmlReader = new XmlTextReader(reader);
- xmlReader.XmlResolver = null;
- while (xmlReader.Read()) {
- switch (xmlReader.NodeType) {
- case XmlNodeType.Element:
- if (!xmlReader.IsEmptyElement) {
- QualifiedName elementName = new QualifiedName(xmlReader.LocalName, xmlReader.NamespaceURI, xmlReader.Prefix);
- path.Elements.Add(elementName);
- }
- break;
- case XmlNodeType.EndElement:
- path.Elements.RemoveLast();
- break;
- }
- }
- } catch (XmlException) {
- // Do nothing.
- } catch (WebException) {
- // Do nothing.
- }
-
- path.Compact();
-
- return path;
- }
-
- /// <summary>
- /// Checks whether the attribute at the end of the string is a
- /// namespace declaration.
- /// </summary>
- public static bool IsNamespaceDeclaration(string xml, int index)
- {
- if (xml.Length == 0) {
- return false;
- }
-
- index = GetCorrectedIndex(xml.Length, index);
-
- // Move back one character if the last character is an '='
- if (xml[index] == '=') {
- xml = xml.Substring(0, xml.Length - 1);
- --index;
- }
-
- // From the end of the string work backwards until we have
- // picked out the last attribute and reached some whitespace.
- StringBuilder reversedAttributeName = new StringBuilder();
-
- bool ignoreWhitespace = true;
- int currentIndex = index;
- for (int i = 0; i < index; ++i) {
-
- char currentChar = xml[currentIndex];
-
- if (Char.IsWhiteSpace(currentChar)) {
- if (ignoreWhitespace == false) {
- // Reached the start of the attribute name.
- break;
- }
- } else if (Char.IsLetterOrDigit(currentChar) || (currentChar == ':')) {
- ignoreWhitespace = false;
- reversedAttributeName.Append(currentChar);
- } else {
- // Invalid string.
- break;
- }
-
- --currentIndex;
- }
-
- // Did we get a namespace?
-
- bool isNamespace = false;
-
- if ((reversedAttributeName.ToString() == "snlmx") || (reversedAttributeName.ToString().EndsWith(":snlmx"))) {
- isNamespace = true;
- }
-
- return isNamespace;
- }
-
- /// <summary>
- /// Gets the name of the attribute inside but before the specified
- /// index.
- /// </summary>
- public static string GetAttributeName(string xml, int index)
- {
- if (xml.Length == 0) {
- return String.Empty;
- }
-
- index = GetCorrectedIndex(xml.Length, index);
-
- return GetAttributeName(xml, index, true, true, true);
- }
-
- /// <summary>
- /// Gets the name of the attribute at the specified index. The index
- /// can be anywhere inside the attribute name or in the attribute value.
- /// </summary>
- public static string GetAttributeNameAtIndex(string xml, int index)
- {
- index = GetCorrectedIndex(xml.Length, index);
-
- bool ignoreWhitespace = true;
- bool ignoreEqualsSign = false;
- bool ignoreQuote = false;
-
- if (IsInsideAttributeValue(xml, index)) {
- // Find attribute name start.
- int elementStartIndex = GetActiveElementStartIndex(xml, index);
- if (elementStartIndex == -1) {
- return String.Empty;
- }
-
- // Find equals sign.
- for (int i = index; i > elementStartIndex; --i) {
- char ch = xml[i];
- if (ch == '=') {
- index = i;
- ignoreEqualsSign = true;
- break;
- }
- }
- } else {
- // Find end of attribute name.
- for (; index < xml.Length; ++index) {
- char ch = xml[index];
- if (!Char.IsLetterOrDigit(ch)) {
- if (ch == '\'' || ch == '\"') {
- ignoreQuote = true;
- ignoreEqualsSign = true;
- }
- break;
- }
- }
- --index;
- }
-
- return GetAttributeName(xml, index, ignoreWhitespace, ignoreQuote, ignoreEqualsSign);
- }
-
- /// <summary>
- /// Checks for valid xml attribute value character
- /// </summary>
- public static bool IsAttributeValueChar(char ch)
- {
- if (Char.IsLetterOrDigit(ch) ||
- (ch == ':') ||
- (ch == '/') ||
- (ch == '_') ||
- (ch == '.') ||
- (ch == '-') ||
- (ch == '#'))
- {
- return true;
- }
-
- return false;
- }
-
- /// <summary>
- /// Checks for valid xml element or attribute name character.
- /// </summary>
- public static bool IsXmlNameChar(char ch)
- {
- if (Char.IsLetterOrDigit(ch) ||
- (ch == ':') ||
- (ch == '/') ||
- (ch == '_') ||
- (ch == '.') ||
- (ch == '-'))
- {
- return true;
- }
-
- return false;
- }
-
- /// <summary>
- /// Determines whether the specified index is inside an attribute value.
- /// </summary>
- public static bool IsInsideAttributeValue(string xml, int index)
- {
- if (xml.Length == 0) {
- return false;
- }
-
- if (index > xml.Length) {
- index = xml.Length;
- }
-
- int elementStartIndex = GetActiveElementStartIndex(xml, index);
- if (elementStartIndex == -1) {
- return false;
- }
-
- // Count the number of double quotes and single quotes that exist
- // before the first equals sign encountered going backwards to
- // the start of the active element.
- bool foundEqualsSign = false;
- int doubleQuotesCount = 0;
- int singleQuotesCount = 0;
- char lastQuoteChar = ' ';
- for (int i = index - 1; i > elementStartIndex; --i) {
- char ch = xml[i];
- if (ch == '=') {
- foundEqualsSign = true;
- break;
- } else if (ch == '\"') {
- lastQuoteChar = ch;
- ++doubleQuotesCount;
- } else if (ch == '\'') {
- lastQuoteChar = ch;
- ++singleQuotesCount;
- }
- }
-
- bool isInside = false;
-
- if (foundEqualsSign) {
- // Odd number of quotes?
- if ((lastQuoteChar == '\"') && ((doubleQuotesCount % 2) > 0)) {
- isInside = true;
- } else if ((lastQuoteChar == '\'') && ((singleQuotesCount %2) > 0)) {
- isInside = true;
- }
- }
-
- return isInside;
- }
-
- /// <summary>
- /// Gets the attribute value at the specified index.
- /// </summary>
- /// <returns>An empty string if no attribute value can be found.</returns>
- public static string GetAttributeValueAtIndex(string xml, int index)
- {
- if (!IsInsideAttributeValue(xml, index)) {
- return String.Empty;
- }
-
- index = GetCorrectedIndex(xml.Length, index);
-
- int elementStartIndex = GetActiveElementStartIndex(xml, index);
- if (elementStartIndex == -1) {
- return String.Empty;
- }
-
- // Find equals sign.
- int equalsSignIndex = -1;
- for (int i = index; i > elementStartIndex; --i) {
- char ch = xml[i];
- if (ch == '=') {
- equalsSignIndex = i;
- break;
- }
- }
-
- if (equalsSignIndex == -1) {
- return String.Empty;
- }
-
- // Find attribute value.
- char quoteChar = ' ';
- bool foundQuoteChar = false;
- StringBuilder attributeValue = new StringBuilder();
- for (int i = equalsSignIndex; i < xml.Length; ++i) {
- char ch = xml[i];
- if (!foundQuoteChar) {
- if (ch == '\"' || ch == '\'') {
- quoteChar = ch;
- foundQuoteChar = true;
- }
- } else {
- if (ch == quoteChar) {
- // End of attribute value.
- return attributeValue.ToString();
- } else if (IsAttributeValueChar(ch) || (ch == '\"' || ch == '\'')) {
- attributeValue.Append(ch);
- } else {
- // Invalid character found.
- return String.Empty;
- }
- }
- }
-
- return String.Empty;
- }
-
- /// <summary>
- /// Gets the text of the xml element start tag that the index is
- /// currently inside.
- /// </summary>
- /// <returns>
- /// Returns the text up to and including the start tag < character.
- /// </returns>
- static string GetActiveElementStartText(string xml, int index)
- {
- int elementStartIndex = GetActiveElementStartIndex(xml, index);
- if (elementStartIndex >= 0) {
- if (elementStartIndex < index) {
- int elementEndIndex = GetActiveElementEndIndex(xml, index);
- if (elementEndIndex >= index) {
- return xml.Substring(elementStartIndex, elementEndIndex - elementStartIndex);
- }
- }
- }
- return null;
- }
-
- /// <summary>
- /// Locates the index of the start tag < character.
- /// </summary>
- /// <returns>
- /// Returns the index of the start tag character; otherwise
- /// -1 if no start tag character is found or a end tag
- /// > character is found first.
- /// </returns>
- static int GetActiveElementStartIndex(string xml, int index)
- {
- int elementStartIndex = -1;
-
- int currentIndex = index - 1;
- for (int i = 0; i < index; ++i) {
-
- char currentChar = xml[currentIndex];
- if (currentChar == '<') {
- elementStartIndex = currentIndex;
- break;
- } else if (currentChar == '>') {
- break;
- }
-
- --currentIndex;
- }
-
- return elementStartIndex;
- }
-
- /// <summary>
- /// Locates the index of the end tag character.
- /// </summary>
- /// <returns>
- /// Returns the index of the end tag character; otherwise
- /// -1 if no end tag character is found or a start tag
- /// character is found first.
- /// </returns>
- static int GetActiveElementEndIndex(string xml, int index)
- {
- int elementEndIndex = index;
-
- for (int i = index; i < xml.Length; ++i) {
-
- char currentChar = xml[i];
- if (currentChar == '>') {
- elementEndIndex = i;
- break;
- } else if (currentChar == '<'){
- elementEndIndex = -1;
- break;
- }
- }
-
- return elementEndIndex;
- }
-
- /// <summary>
- /// Gets the element name from the element start tag string.
- /// </summary>
- /// <param name="xml">This string must start at the
- /// element we are interested in.</param>
- static QualifiedName GetElementName(string xml)
- {
- string name = String.Empty;
-
- // Find the end of the element name.
- xml = xml.Replace("\r\n", " ");
- int index = xml.IndexOf(' ');
- if (index > 0) {
- name = xml.Substring(1, index - 1);
- } else {
- name = xml.Substring(1);
- }
-
- QualifiedName qualifiedName = new QualifiedName();
-
- int prefixIndex = name.IndexOf(':');
- if (prefixIndex > 0) {
- qualifiedName.Prefix = name.Substring(0, prefixIndex);
- qualifiedName.Name = name.Substring(prefixIndex + 1);
- } else {
- qualifiedName.Name = name;
- }
-
- return qualifiedName;
- }
-
- /// <summary>
- /// Gets the element namespace from the element start tag
- /// string.
- /// </summary>
- /// <param name="xml">This string must start at the
- /// element we are interested in.</param>
- static NamespaceURI GetElementNamespace(string xml)
- {
- NamespaceURI namespaceURI = new NamespaceURI();
-
- Match match = Regex.Match(xml, ".*?(xmlns\\s*?|xmlns:.*?)=\\s*?['\\\"](.*?)['\\\"]");
- if (match.Success) {
- namespaceURI.Namespace = match.Groups[2].Value;
-
- string xmlns = match.Groups[1].Value.Trim();
- int prefixIndex = xmlns.IndexOf(':');
- if (prefixIndex > 0) {
- namespaceURI.Prefix = xmlns.Substring(prefixIndex + 1);
- }
- }
-
- return namespaceURI;
- }
-
- static string ReverseString(string text)
- {
- StringBuilder reversedString = new StringBuilder(text);
-
- int index = text.Length;
- foreach (char ch in text) {
- --index;
- reversedString[index] = ch;
- }
-
- return reversedString.ToString();
- }
-
- /// <summary>
- /// Ensures that the index is on the last character if it is
- /// too large.
- /// </summary>
- /// <param name="length">The length of the string.</param>
- /// <param name="index">The current index.</param>
- /// <returns>The index unchanged if the index is smaller than the
- /// length of the string; otherwise it returns length - 1.</returns>
- static int GetCorrectedIndex(int length, int index)
- {
- if (index >= length) {
- index = length - 1;
- }
- return index;
- }
-
- /// <summary>
- /// Gets the active element path given the element text.
- /// </summary>
- static XmlElementPath GetActiveElementStartPath(string xml, int index, string elementText)
- {
- QualifiedName elementName = GetElementName(elementText);
- NamespaceURI elementNamespace = GetElementNamespace(elementText);
-
- XmlElementPath path = GetParentElementPath(xml.Substring(0, index));
- if (elementNamespace.Namespace.Length == 0) {
- if (path.Elements.Count > 0) {
- QualifiedName parentName = path.Elements[path.Elements.Count - 1];
- elementNamespace.Namespace = parentName.Namespace;
- elementNamespace.Prefix = parentName.Prefix;
- }
- }
- path.Elements.Add(new QualifiedName(elementName.Name, elementNamespace.Namespace, elementNamespace.Prefix));
- path.Compact();
- return path;
- }
-
- static string GetAttributeName(string xml, int index, bool ignoreWhitespace, bool ignoreQuote, bool ignoreEqualsSign)
- {
- string name = String.Empty;
-
- // From the end of the string work backwards until we have
- // picked out the attribute name.
- StringBuilder reversedAttributeName = new StringBuilder();
-
- int currentIndex = index;
- bool invalidString = true;
-
- for (int i = 0; i <= index; ++i) {
-
- char currentChar = xml[currentIndex];
-
- if (Char.IsLetterOrDigit(currentChar)) {
- if (!ignoreEqualsSign) {
- ignoreWhitespace = false;
- reversedAttributeName.Append(currentChar);
- }
- } else if (Char.IsWhiteSpace(currentChar)) {
- if (ignoreWhitespace == false) {
- // Reached the start of the attribute name.
- invalidString = false;
- break;
- }
- } else if ((currentChar == '\'') || (currentChar == '\"')) {
- if (ignoreQuote) {
- ignoreQuote = false;
- } else {
- break;
- }
- } else if (currentChar == '='){
- if (ignoreEqualsSign) {
- ignoreEqualsSign = false;
- } else {
- break;
- }
- } else if (IsAttributeValueChar(currentChar)) {
- if (!ignoreQuote) {
- break;
- }
- } else {
- break;
- }
-
- --currentIndex;
- }
-
- if (!invalidString) {
- name = ReverseString(reversedAttributeName.ToString());
- }
-
- return name;
- }
-
- /// <summary>
- /// Gets the element name at the specified index.
- /// </summary>
- static string GetElementNameAtIndex(string xml, int index)
- {
- int elementStartIndex = GetActiveElementStartIndex(xml, index);
- if (elementStartIndex >= 0 && elementStartIndex < index) {
- int elementEndIndex = GetActiveElementEndIndex(xml, index);
- if (elementEndIndex == -1) {
- elementEndIndex = xml.IndexOf(' ', elementStartIndex);
- }
- if (elementEndIndex >= elementStartIndex) {
- return xml.Substring(elementStartIndex, elementEndIndex - elementStartIndex);
- }
- }
- return null;
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/README b/main/src/addins/MonoDevelop.XmlEditor/README deleted file mode 100644 index 0cc9096f73..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/README +++ /dev/null @@ -1,79 +0,0 @@ - -This is an XML Editor add-in for MonoDevelop. The code has -been ported from the SharpDevelop XML Editor. Please see -http://md-xed.sourceforge.net for more information. - -Requirement ------------ - -MonoDevelop from the repository has been installed: - -http://svn.myrealbox.com/viewcvs/trunk/monodevelop/ - - -Compiling for users -------------------- - -./configure --prefix=/the/path/where/monodevelop/was/installed -make -make install - - -Compiling for developers ------------------------- - -To compile run the following command: - -./autogen.sh --prefix=/the/path/where/monodevelop/was/installed -make -make install - - -Compiling using MonoDevelop ---------------------------- - -The source code includes a MonoDevelop project file src/MonoDevelop.XmlEditor.mds -which can be used to build the code. - -If MonoDevelop was installed to /home/username then putting the source code from -the repository into /home/username/src/md-xmleditor should mean the project -will build without having to modify the project references. - -Example folder layout: - -/home/matt/lib/monodevelop/AddIns - (MonoDevelop addins folder) -/home/matt/src/md-xmleditor - (MonoDevelop.XmlEditor source) - -The assemblies are built to the build folder, copy the XmlEditor folder and -all its files and folders to lib/monodevelop/AddIns/XmlEditor. - - -Dependencies ------------- -MonoDevelop >= 1.0 -Mono >= 1.1.4 -Gtk# >= 2.3.90 -gecko-sharp >= 0.10 -gtksourceview-sharp >= 0.10 - - -Directory Roadmap ------------------ - - build/AddIns/XmlEditor - The Xml Editor assemblies are built to this folder. - - src/ - Source code. - - src/MonoDevelop.XmlEditor - The Xml Editor add-in source code. - - src/MonoDevelop.XmlEditor/schemas - Schemas that are installed with the Xml Editor add-in by default. - - src/MonoDevelop.XmlEditor.Tests - Contains NUnit tests for the core code of the Xml Editor. - - - diff --git a/main/src/addins/MonoDevelop.XmlEditor/TODO b/main/src/addins/MonoDevelop.XmlEditor/TODO deleted file mode 100644 index ed77622c2f..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/TODO +++ /dev/null @@ -1,64 +0,0 @@ -MonoDevelop XML Editor Issues and TODO list -------------------------------------------- - -This list should be moved to the SourceForge issues tracker. - -* Cannot create an XML file with any extension other than .xml. MonoDevelop problem. -* XML Editor has a list of file extensions that it recognises as XML content. Really - this should be using the mime type. The XML editor add-in should install extra - types into the mime type database. -* At the moment it only recognises the mime type "text/xml". XSL files, for example, - have a mime type of "text/xsl". However, the XML editor checks the file extension - as well so an XSL file will be opened in the XML editor. -* 11 unit tests are currently not working. Atsushi Eno has been fixing issues as - quick as I can report them, so a lot of these unit tests should work under the - next release of Mono. -* Autocompletion of elements, after typing in the greater than sign, is over zealous. -* The autocompletion list requires an icon. I would prefer not to have one for - XML completion, but at the moment it is using the stock forward icon. -* When validating XML documents errors are added to the task list by creating a - CompilerResult object. There is no other way to create an error task. -* The XML menu option is displayed all the time. In SharpDevelop I used the - activewindow property to show/hide the menu when the XML editor is being - used/not used. Unable to get this working. -* Mixed namespace handling is limited. The element completion list is based on the - parent element at the current location. Really this should take into account any - other available namespaces that are allowed at that location. -* Commenting out regions of XML. SharpDevelop implements this, but there are a few - bugs. -* The "Show Schema Annotation" XML Editor option does nothing. Schema annotation - is always displayed if available. -* Goto Schema Definition does not scroll to the correct line the first time the - schema is opened. The XmlEditorView.JumpTo method is called correctly, but - for some reason it does not scroll. -* Fix 7 obsolete methods/classes used warnings due to moving to .NET 2.0. The - "Use XmlReader created by XmlReader.Create() method" is easy to fix. The - "XmlSchema.Compile' is obsolete: `Use XmlSchemaSet.Compile() instead." might not - be fixed since the XmlSchemaSet.Compile broke a lot of the unit tests when I - tried the same thing with SharpDevelop. -* Hold off switching to using XmlReader.Create. Doing this we hit an error in - Mono (1.1.15): - - System.NullReferenceException: Object reference not set to an instance of an object - in <0x0006d> Mono.Xml.Schema.XmlSchemaValidatingReader:get_Prefix () - in <0x0004f> System.Xml.XmlDocument:ReadAttributeNode (System.Xml.XmlReader reader) - in <0x00253> System.Xml.XmlDocument:ReadNodeCore (System.Xml.XmlReader reader) - in <0x000be> System.Xml.XmlDocument:ReadNode (System.Xml.XmlReader reader) - in <0x00044> System.Xml.XmlDocument:Load (System.Xml.XmlReader xmlReader) - - Loading an xml schema using code: - - StringReader stringReader = new StringReader(xml);
- XmlTextReader xmlReader = new XmlTextReader(stringReader);
- xmlReader.XmlResolver = null;
- XmlReaderSettings settings = new XmlReaderSettings();
- settings.ValidationType = ValidationType.Schema;
- settings.ValidationFlags = XmlSchemaValidationFlags.None;
- settings.XmlResolver = null; - settings.Schemas.Add(schema); - XmlReader reader = XmlReader.Create(xmlReader, settings);
- XmlDocument doc = new XmlDocument();
- doc.Load(reader);
-
- - diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/AssemblyInfo.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/AssemblyInfo.cs deleted file mode 100644 index 8f12aff3ea..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/AssemblyInfo.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; - -// Information about this assembly is defined by the following -// attributes. -// -// change them to the information which is associated with the assembly -// you compile. - -[assembly: AssemblyTitle("")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// The assembly version has following format : -// -// Major.Minor.Build.Revision -// -// You can specify all values by your own or you can build default build and revision -// numbers with the '*' character (the default): - -[assembly: AssemblyVersion("0.6")] - -// The following attributes specify the key for the sign of your assembly. See the -// .NET Framework documentation for more information about signing. -// This is not required, if you don't want signing let these attributes like they're. -//[assembly: AssemblyDelaySign(false)] -//[assembly: AssemblyKeyFile("")] diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/ChangeLog b/main/src/addins/MonoDevelop.XmlEditor/Tests/ChangeLog deleted file mode 100644 index 43b56d48d7..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/ChangeLog +++ /dev/null @@ -1,86 +0,0 @@ -2010-03-17 Lluis Sanchez Gual <lluis@novell.com> - - * Schema/ChoiceTestFixture.cs: - * Schema/GroupRefTestFixture.cs: - * Schema/XsdSchemaTestFixture.cs: - * Schema/SchemaTestFixtureBase.cs: - * Schema.Uri/GetUriTestFixture.cs: - * Schema/AllElementTestFixture.cs: - * Schema/AttributeRefTestFixture.cs: - * Schema/NestedChoiceTestFixture.cs: - * Schema/NestedSequenceTestFixture.cs: - * Schema/AbstractElementTestFixture.cs: - * Schema/SequencedChoiceTestFixture.cs: - * Schema/TwoElementSchemaTestFixture.cs: - * Schema/DuplicateElementTestFixture.cs: - * Schema/ExtensionElementTestFixture.cs: - * Schema/XhtmlStrictSchemaTestFixture.cs: - * Schema/AttributeGroupRefTestFixture.cs: - * Schema/ElementAnnotationTestFixture.cs: - * Schema/GroupRefCompositorTestFixture.cs: - * Schema/RestrictionElementTestFixture.cs: - * Schema/EnumAttributeValueTestFixture.cs: - * Schema/ReferencedElementsTestFixture.cs: - * Schema/NamespaceCompletionTestFixture.cs: - * Schema/AttributeAnnotationTestFixture.cs: - * Schema/SingleElementSchemaTestFixture.cs: - * Schema/NestedElementSchemaTestFixture.cs: - * Schema/MissingSchemaElementTestFixture.cs: - * Schema/ElementRefAnnotationTestFixture.cs: - * Schema/ChildElementAttributesTestFixture.cs: - * Schema/NestedAttributeGroupRefTestFixture.cs: - * Schema/ComplexContentExtensionTestFixture.cs: - * Schema/AttributeValueAnnotationTestFixture.cs: - * FindSchemaObject/ElementSelectedTestFixture.cs: - * Schema/SimpleContentWithAttributeTestFixture.cs: - * Schema/ElementWithAttributeSchemaTestFixture.cs: - * FindSchemaObject/AttributeSelectedTestFixture.cs: - * Schema/FindAttributeFromComplexTypeTestFixture.cs: - * FindSchemaObject/ElementTypeSelectedTestFixture.cs: - * CompletionData/XmlCompletionDataImageTestFixture.cs: - * FindSchemaObject/AttributeTypeSelectedTestFixture.cs: - * CompletionData/XmlCompletionDataStringTestFixture.cs: - * FindSchemaObject/GroupReferenceSelectedTestFixture.cs: - * Schema.Includes/TwoElementSchemaIncludeTestFixture.cs: - * FindSchemaObject/ElementReferenceSelectedTestFixture.cs: - * FindSchemaObject/AttributeReferenceSelectedTestFixture.cs: - * FindSchemaObject/ElementTypeWithPrefixSelectedTestFixture.cs: - * Schema.Includes/AttributeGroupRefSchemaIncludeTestFixture.cs: - * FindSchemaObject/AttributeGroupReferenceSelectedTestFixture.cs: - * FindSchemaObject/ElementReferenceWithPrefixSelectedTestFixture.cs: - Merged MD.Projects into MD.Core, and MD.Projects.Gui, - MD.Core.Gui and MD.Components into MD.Ide. - -2009-10-29 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.Tests.csproj: Flush. - -2009-06-19 Mike Krüger <mkrueger@novell.com> - - * AssemblyInfo.cs: Commented out empty assembly key file - attribute (Bug 513981 - Project template causes CS1726 - errors). - -2009-05-19 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.Tests.csproj: Flush. - -2009-03-13 Mike Krüger <mkrueger@novell.com> - - * MonoDevelop.XmlEditor.Tests.csproj: Moved text editor to - core - -2009-02-28 Michael Hutchinson <mhutchinson@novell.com> - - * MonoDevelop.XmlEditor.Tests.csproj: Flush. - -2009-02-17 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.Tests.csproj: Updated. - -2009-02-06 Lluis Sanchez Gual <lluis@novell.com> - - * MonoDevelop.XmlEditor.Tests.mdp: - * MonoDevelop.XmlEditor.Tests.csproj: Migrated to MSBuild file - format. - diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeGroupReferenceSelectedTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeGroupReferenceSelectedTestFixture.cs deleted file mode 100644 index e2dcb84e16..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeGroupReferenceSelectedTestFixture.cs +++ /dev/null @@ -1,55 +0,0 @@ -using NUnit.Framework;
-using System;
-using System.Xml.Schema;
-using MonoDevelop.XmlEditor.Tests.Schema;
-using MonoDevelop.XmlEditor.Tests.Utils;
-using MonoDevelop.XmlEditor.Completion;
-
-namespace MonoDevelop.XmlEditor.Tests.FindSchemaObject
-{
-/* /// <summary>
- /// Tests that an xs:attributeGroup/@ref is located in the schema.
- /// </summary>
- [TestFixture]
- public class AttributeGroupReferenceSelectedTestFixture : SchemaTestFixtureBase
- {
- XmlSchemaAttributeGroup schemaAttributeGroup;
-
- public override void FixtureInit()
- {
- XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection();
- schemas.Add(SchemaCompletionData);
- XmlSchemaCompletionData xsdSchemaCompletionData = new XmlSchemaCompletionData(ResourceManager.GetXsdSchema());
- schemas.Add(xsdSchemaCompletionData);
- XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, xsdSchemaCompletionData, String.Empty, null);
-
- string xml = GetSchema();
- int index = xml.IndexOf("ref=\"coreattrs\"");
- index = xml.IndexOf("coreattrs", index);
- schemaAttributeGroup = (XmlSchemaAttributeGroup)XmlEditorView.GetSchemaObjectSelected(xml, index, provider, SchemaCompletionData);
- }
-
- [Test]
- public void AttributeGroupName()
- {
- Assert.AreEqual("coreattrs", schemaAttributeGroup.QualifiedName.Name);
- }
-
- protected override string GetSchema()
- {
- return "<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"http://www.w3schools.com\" xmlns=\"http://www.w3schools.com\" elementFormDefault=\"qualified\">\r\n" +
- "<xs:attributeGroup name=\"coreattrs\">" +
- "\t<xs:attribute name=\"id\" type=\"xs:string\"/>" +
- "\t<xs:attribute name=\"style\" type=\"xs:string\"/>" +
- "\t<xs:attribute name=\"title\" type=\"xs:string\"/>" +
- "</xs:attributeGroup>" +
- "\t<xs:element name=\"note\">\r\n" +
- "\t\t<xs:complexType>\r\n" +
- "\t\t\t<xs:attributeGroup ref=\"coreattrs\"/>" +
- "\t\t\t<xs:attribute name=\"name\" type=\"xs:string\"/>\r\n" +
- "\t\t</xs:complexType>\r\n" +
- "\t</xs:element>\r\n" +
- "</xs:schema>";
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeReferenceSelectedTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeReferenceSelectedTestFixture.cs deleted file mode 100644 index 34c64b3c57..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeReferenceSelectedTestFixture.cs +++ /dev/null @@ -1,70 +0,0 @@ -using NUnit.Framework;
-using System;
-using System.Xml.Schema;
-using MonoDevelop.XmlEditor.Completion;
-using MonoDevelop.XmlEditor.Tests.Schema;
-using MonoDevelop.XmlEditor.Tests.Utils;
-
-namespace MonoDevelop.XmlEditor.Tests.FindSchemaObject
-{
-/* /// <summary>
- /// Tests that an xs:attribute/@ref is located in the schema.
- /// </summary>
- [TestFixture]
- public class AttributeReferenceSelectedTestFixture : SchemaTestFixtureBase
- {
- XmlSchemaAttribute schemaAttribute;
-
- public override void FixtureInit()
- {
- XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection();
- schemas.Add(SchemaCompletionData);
- XmlSchemaCompletionData xsdSchemaCompletionData = new XmlSchemaCompletionData(ResourceManager.GetXsdSchema());
- schemas.Add(xsdSchemaCompletionData);
- XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, xsdSchemaCompletionData, String.Empty, null);
-
- string xml = GetSchema();
- int index = xml.IndexOf("ref=\"dir\"");
- index = xml.IndexOf("dir", index);
- schemaAttribute = (XmlSchemaAttribute)XmlEditorView.GetSchemaObjectSelected(xml, index, provider, SchemaCompletionData);
- }
-
- [Test]
- public void AttributeName()
- {
- Assert.AreEqual("dir", schemaAttribute.QualifiedName.Name);
- }
-
- protected override string GetSchema()
- {
- return "<xs:schema version=\"1.0\" xml:lang=\"en\"\r\n" +
- " xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\r\n" +
- " targetNamespace=\"http://foo/xhtml\"\r\n" +
- " xmlns=\"http://foo/xhtml\"\r\n" +
- " elementFormDefault=\"qualified\">\r\n" +
- " <xs:element name=\"html\">\r\n" +
- " <xs:complexType>\r\n" +
- " <xs:sequence>\r\n" +
- " <xs:element ref=\"head\"/>\r\n" +
- " <xs:element ref=\"body\"/>\r\n" +
- " </xs:sequence>\r\n" +
- " <xs:attributeGroup ref=\"i18n\"/>\r\n" +
- " <xs:attribute name=\"id\" ref=\"dir\"/>\r\n" +
- " </xs:complexType>\r\n" +
- " </xs:element>\r\n" +
- "\r\n" +
- " <xs:element name=\"head\" type=\"xs:string\"/>\r\n" +
- " <xs:element name=\"body\" type=\"xs:string\"/>\r\n" +
- "\r\n" +
- " <xs:attribute name=\"dir\">\r\n" +
- " <xs:simpleType>\r\n" +
- " <xs:restriction base=\"xs:token\">\r\n" +
- " <xs:enumeration value=\"ltr\"/>\r\n" +
- " <xs:enumeration value=\"rtl\"/>\r\n" +
- " </xs:restriction>\r\n" +
- " </xs:simpleType>\r\n" +
- " </xs:attribute>\r\n" +
- "</xs:schema>";
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeSelectedTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeSelectedTestFixture.cs deleted file mode 100644 index 3b9228f5c0..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeSelectedTestFixture.cs +++ /dev/null @@ -1,40 +0,0 @@ -using MonoDevelop.XmlEditor.Completion;
-using NUnit.Framework;
-using System;
-using System.Xml.Schema;
-using MonoDevelop.XmlEditor.Tests.Schema;
-
-namespace MonoDevelop.XmlEditor.Tests.FindSchemaObject
-{
-/* [TestFixture]
- public class AttributeSelectedTestFixture : SchemaTestFixtureBase
- {
- XmlSchemaAttribute schemaAttribute;
-
- public override void FixtureInit()
- {
- XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection();
- schemas.Add(SchemaCompletionData);
- XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, SchemaCompletionData, String.Empty, null);
- string xml = "<note xmlns='http://www.w3schools.com' name=''></note>";
- schemaAttribute = (XmlSchemaAttribute)XmlEditorView.GetSchemaObjectSelected(xml, xml.IndexOf("name"), provider);
- }
-
- [Test]
- public void AttributeName()
- {
- Assert.AreEqual("name", schemaAttribute.QualifiedName.Name, "Attribute name is incorrect.");
- }
-
- protected override string GetSchema()
- {
- return "<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"http://www.w3schools.com\" xmlns=\"http://www.w3schools.com\" elementFormDefault=\"qualified\">\r\n" +
- " <xs:element name=\"note\">\r\n" +
- " <xs:complexType>\r\n" +
- "\t<xs:attribute name=\"name\" type=\"xs:string\"/>\r\n" +
- " </xs:complexType>\r\n" +
- " </xs:element>\r\n" +
- "</xs:schema>";
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeTypeSelectedTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeTypeSelectedTestFixture.cs deleted file mode 100644 index 9171517d66..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/AttributeTypeSelectedTestFixture.cs +++ /dev/null @@ -1,68 +0,0 @@ -using MonoDevelop.XmlEditor.Completion;
-using NUnit.Framework;
-using System;
-using System.Xml.Schema;
-using MonoDevelop.XmlEditor.Tests.Schema;
-using MonoDevelop.XmlEditor.Tests.Utils;
-
-namespace MonoDevelop.XmlEditor.Tests.FindSchemaObject
-{
-/* /// <summary>
- /// Tests that a xs:attribute/@type can be located in the schema.
- /// </summary>
- [TestFixture]
- public class AttributeTypeSelectedTestFixture : SchemaTestFixtureBase
- {
- XmlSchemaSimpleType schemaSimpleType;
-
- public override void FixtureInit()
- {
- XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection();
- schemas.Add(SchemaCompletionData);
- XmlSchemaCompletionData xsdSchemaCompletionData = new XmlSchemaCompletionData(ResourceManager.GetXsdSchema());
- schemas.Add(xsdSchemaCompletionData);
- XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, xsdSchemaCompletionData, String.Empty, null);
-
- string xml = GetSchema();
- int index = xml.IndexOf("type=\"dir\"/>");
- index = xml.IndexOf("dir", index);
- schemaSimpleType = (XmlSchemaSimpleType)XmlEditorView.GetSchemaObjectSelected(xml, index, provider, SchemaCompletionData);
- }
-
- [Test]
- public void SimpleTypeName()
- {
- Assert.AreEqual("dir", schemaSimpleType.QualifiedName.Name);
- }
-
- protected override string GetSchema()
- {
- return "<xs:schema version=\"1.0\" xml:lang=\"en\"\r\n" +
- " xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\r\n" +
- " targetNamespace=\"http://foo/xhtml\"\r\n" +
- " xmlns=\"http://foo/xhtml\"\r\n" +
- " elementFormDefault=\"qualified\">\r\n" +
- " <xs:element name=\"html\">\r\n" +
- " <xs:complexType>\r\n" +
- " <xs:sequence>\r\n" +
- " <xs:element ref=\"head\"/>\r\n" +
- " <xs:element ref=\"body\"/>\r\n" +
- " </xs:sequence>\r\n" +
- " <xs:attributeGroup ref=\"i18n\"/>\r\n" +
- " <xs:attribute name=\"id\" type=\"dir\"/>\r\n" +
- " </xs:complexType>\r\n" +
- " </xs:element>\r\n" +
- "\r\n" +
- " <xs:element name=\"head\" type=\"xs:string\"/>\r\n" +
- " <xs:element name=\"body\" type=\"xs:string\"/>\r\n" +
- "\r\n" +
- " <xs:simpleType name=\"dir\">\r\n" +
- " <xs:restriction base=\"xs:token\">\r\n" +
- " <xs:enumeration value=\"ltr\"/>\r\n" +
- " <xs:enumeration value=\"rtl\"/>\r\n" +
- " </xs:restriction>\r\n" +
- " </xs:simpleType>\r\n" +
- "</xs:schema>";
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementReferenceSelectedTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementReferenceSelectedTestFixture.cs deleted file mode 100644 index d97abae1fe..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementReferenceSelectedTestFixture.cs +++ /dev/null @@ -1,78 +0,0 @@ -using MonoDevelop.XmlEditor.Completion;
-using NUnit.Framework;
-using System;
-using System.Xml.Schema;
-using MonoDevelop.XmlEditor.Tests.Schema;
-using MonoDevelop.XmlEditor.Tests.Utils;
-
-namespace MonoDevelop.XmlEditor.Tests.FindSchemaObject
-{
-/* /// <summary>
- /// Tests that an xs:element/@ref is located in the schema.
- /// </summary>
- [TestFixture]
- public class ElementReferenceSelectedTestFixture : SchemaTestFixtureBase
- {
- XmlSchemaAttribute schemaAttribute;
- XmlSchemaElement referencedSchemaElement;
-
- public override void FixtureInit()
- {
- XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection();
- schemas.Add(SchemaCompletionData);
- XmlSchemaCompletionData xsdSchemaCompletionData = new XmlSchemaCompletionData(ResourceManager.GetXsdSchema());
- schemas.Add(xsdSchemaCompletionData);
- XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, xsdSchemaCompletionData, String.Empty, null);
-
- string xml = GetSchema();
- schemaAttribute = (XmlSchemaAttribute)XmlEditorView.GetSchemaObjectSelected(xml, xml.IndexOf("ref=\"name"), provider, SchemaCompletionData);
-
- int index = xml.IndexOf("ref=\"name");
- index = xml.IndexOf('n', index);
- referencedSchemaElement = (XmlSchemaElement)XmlEditorView.GetSchemaObjectSelected(xml, index, provider, SchemaCompletionData);
- }
-
- [Test]
- public void AttributeName()
- {
- Assert.AreEqual("ref", schemaAttribute.QualifiedName.Name);
- }
-
- [Test]
- public void ReferencedElementName()
- {
- Assert.AreEqual("name", referencedSchemaElement.QualifiedName.Name);
- }
-
- protected override string GetSchema()
- {
- return "<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"http://www.w3schools.com\" xmlns=\"http://www.w3schools.com\">\r\n" +
- "\r\n" +
- "<!-- definition of simple elements -->\r\n" +
- "<xs:element name=\"name\" type=\"xs:string\"/>\r\n" +
- "<xs:element name=\"address\" type=\"xs:string\"/>\r\n" +
- "\r\n" +
- "<!-- definition of complex elements -->\r\n" +
- "<xs:element name=\"shipto\">\r\n" +
- " <xs:complexType>\r\n" +
- " <xs:sequence>\r\n" +
- " <xs:element ref=\"name\"/>\r\n" +
- " <xs:element ref=\"address\"/>\r\n" +
- " </xs:sequence>\r\n" +
- " <xs:attribute name=\"address\"/>\r\n" +
- " </xs:complexType>\r\n" +
- "</xs:element>\r\n" +
- "\r\n" +
- "<xs:element name=\"shiporder\">\r\n" +
- " <xs:complexType>\r\n" +
- " <xs:sequence>\r\n" +
- " <xs:element ref=\"shipto\"/>\r\n" +
- " </xs:sequence>\r\n" +
- " <xs:attribute name=\"id\"/>\r\n" +
- " </xs:complexType>\r\n" +
- "</xs:element>\r\n" +
- "\r\n" +
- "</xs:schema>";
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementReferenceWithPrefixSelectedTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementReferenceWithPrefixSelectedTestFixture.cs deleted file mode 100644 index d7f103f4ce..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementReferenceWithPrefixSelectedTestFixture.cs +++ /dev/null @@ -1,76 +0,0 @@ -using MonoDevelop.XmlEditor.Completion;
-using NUnit.Framework;
-using System;
-using System.Xml.Schema;
-using MonoDevelop.XmlEditor.Tests.Schema;
-using MonoDevelop.XmlEditor.Tests.Utils;
-
-namespace MonoDevelop.XmlEditor.Tests.FindSchemaObject
-{
-/* /// <summary>
- /// Tests that an xs:element/@ref='prefix:name' is located in the schema.
- /// </summary>
- [TestFixture]
- public class ElementReferenceWithPrefixSelectedTestFixture : SchemaTestFixtureBase
- {
- XmlSchemaElement referencedSchemaElement;
-
- public override void FixtureInit()
- {
- XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection();
- schemas.Add(SchemaCompletionData);
- XmlSchemaCompletionData xsdSchemaCompletionData = new XmlSchemaCompletionData(ResourceManager.GetXsdSchema());
- schemas.Add(xsdSchemaCompletionData);
- XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, xsdSchemaCompletionData, String.Empty, null);
-
- string xml = GetSchema();
-
- int index = xml.IndexOf("ref=\"xs:list");
- index = xml.IndexOf("xs", index);
- referencedSchemaElement = (XmlSchemaElement)XmlEditorView.GetSchemaObjectSelected(xml, index, provider, SchemaCompletionData);
- }
-
- [Test]
- public void ReferencedElementName()
- {
- Assert.AreEqual("list", referencedSchemaElement.QualifiedName.Name);
- }
-
- [Test]
- public void ReferencedElementNamespace()
- {
- Assert.AreEqual("http://www.w3.org/2001/XMLSchema", referencedSchemaElement.QualifiedName.Namespace);
- }
-
- protected override string GetSchema()
- {
- return "<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"http://www.w3schools.com\" xmlns=\"http://www.w3schools.com\">\r\n" +
- "\r\n" +
- "<!-- definition of simple elements -->\r\n" +
- "<xs:element name=\"name\" type=\"xs:string\"/>\r\n" +
- "<xs:element name=\"address\" type=\"xs:string\"/>\r\n" +
- "\r\n" +
- "<!-- definition of complex elements -->\r\n" +
- "<xs:element name=\"shipto\">\r\n" +
- " <xs:complexType>\r\n" +
- " <xs:sequence>\r\n" +
- " <xs:element ref=\"name\"/>\r\n" +
- " <xs:element ref=\"xs:list\"/>\r\n" +
- " </xs:sequence>\r\n" +
- " <xs:attribute name=\"address\"/>\r\n" +
- " </xs:complexType>\r\n" +
- "</xs:element>\r\n" +
- "\r\n" +
- "<xs:element name=\"shiporder\">\r\n" +
- " <xs:complexType>\r\n" +
- " <xs:sequence>\r\n" +
- " <xs:element ref=\"shipto\"/>\r\n" +
- " </xs:sequence>\r\n" +
- " <xs:attribute name=\"id\"/>\r\n" +
- " </xs:complexType>\r\n" +
- "</xs:element>\r\n" +
- "\r\n" +
- "</xs:schema>";
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementSelectedTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementSelectedTestFixture.cs deleted file mode 100644 index 6cd6dfd77d..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementSelectedTestFixture.cs +++ /dev/null @@ -1,49 +0,0 @@ -using MonoDevelop.XmlEditor.Completion;
-using NUnit.Framework;
-using System;
-using System.Xml.Schema;
-using MonoDevelop.XmlEditor.Tests.Schema;
-
-namespace MonoDevelop.XmlEditor.Tests.FindSchemaObject
-{
-/* [TestFixture]
- public class ElementSelectedTestFixture : SchemaTestFixtureBase
- {
- XmlSchemaElement schemaElement;
-
- public override void FixtureInit()
- {
- XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection();
- schemas.Add(SchemaCompletionData);
- XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, SchemaCompletionData, String.Empty, null);
- string xml = "<note xmlns='http://www.w3schools.com'></note>";
- schemaElement = (XmlSchemaElement)XmlEditorView.GetSchemaObjectSelected(xml, xml.IndexOf("note xmlns"), provider);
- }
-
- [Test]
- public void SchemaElementNamespace()
- {
- Assert.AreEqual("http://www.w3schools.com",
- schemaElement.QualifiedName.Namespace,
- "Unexpected namespace.");
- }
-
- [Test]
- public void SchemaElementName()
- {
- Assert.AreEqual("note", schemaElement.QualifiedName.Name);
- }
-
- protected override string GetSchema()
- {
- return "<?xml version=\"1.0\"?>\r\n" +
- "<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\r\n" +
- "targetNamespace=\"http://www.w3schools.com\"\r\n" +
- "xmlns=\"http://www.w3schools.com\"\r\n" +
- "elementFormDefault=\"qualified\">\r\n" +
- "<xs:element name=\"note\">\r\n" +
- "</xs:element>\r\n" +
- "</xs:schema>";
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementTypeSelectedTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementTypeSelectedTestFixture.cs deleted file mode 100644 index 4977893544..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementTypeSelectedTestFixture.cs +++ /dev/null @@ -1,54 +0,0 @@ -using MonoDevelop.XmlEditor.Completion;
-using NUnit.Framework;
-using System;
-using System.Xml.Schema;
-using MonoDevelop.XmlEditor.Tests.Schema;
-using MonoDevelop.XmlEditor.Tests.Utils;
-
-namespace MonoDevelop.XmlEditor.Tests.FindSchemaObject
-{
-/* /// <summary>
- /// Tests that an xs:element/@type is located in the schema.
- /// </summary>
- [TestFixture]
- public class ElementTypeSelectedTestFixture : SchemaTestFixtureBase
- {
- XmlSchemaComplexType schemaComplexType;
-
- public override void FixtureInit()
- {
- XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection();
- schemas.Add(SchemaCompletionData);
- XmlSchemaCompletionData xsdSchemaCompletionData = new XmlSchemaCompletionData(ResourceManager.GetXsdSchema());
- schemas.Add(xsdSchemaCompletionData);
- XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, xsdSchemaCompletionData, String.Empty, null);
-
- string xml = GetSchema();
- int index = xml.IndexOf("type=\"text-type\"");
- index = xml.IndexOf("text-type", index);
- schemaComplexType = (XmlSchemaComplexType)XmlEditorView.GetSchemaObjectSelected(xml, index, provider, SchemaCompletionData);
- }
-
- [Test]
- public void ComplexTypeName()
- {
- Assert.AreEqual("text-type", schemaComplexType.QualifiedName.Name);
- }
-
- protected override string GetSchema()
- {
- return "<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"http://www.w3schools.com\" xmlns=\"http://www.w3schools.com\" elementFormDefault=\"qualified\">\r\n" +
- "\t<xs:element name=\"note\">\r\n" +
- "\t\t<xs:complexType> \r\n" +
- "\t\t\t<xs:sequence>\r\n" +
- "\t\t\t\t<xs:element name=\"text\" type=\"text-type\"/>\r\n" +
- "\t\t\t</xs:sequence>\r\n" +
- "\t\t</xs:complexType>\r\n" +
- "\t</xs:element>\r\n" +
- "\t<xs:complexType name=\"text-type\">\r\n" +
- "\t\t<xs:attribute name=\"foo\"/>\r\n" +
- "\t</xs:complexType>\r\n" +
- "</xs:schema>";
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementTypeWithPrefixSelectedTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementTypeWithPrefixSelectedTestFixture.cs deleted file mode 100644 index 1638c3001d..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/ElementTypeWithPrefixSelectedTestFixture.cs +++ /dev/null @@ -1,57 +0,0 @@ -using MonoDevelop.XmlEditor.Completion;
-using NUnit.Framework;
-using System;
-using System.Xml.Schema;
-using MonoDevelop.XmlEditor.Tests.Schema;
-using MonoDevelop.XmlEditor.Tests.Utils;
-
-namespace MonoDevelop.XmlEditor.Tests.FindSchemaObject
-{
-/* /// <summary>
- /// Tests that an xs:element/@type="prefix:name" is located in the schema.
- /// </summary>
- [TestFixture]
- public class ElementTypeWithPrefixSelectedTestFixture : SchemaTestFixtureBase
- {
- XmlSchemaComplexType schemaComplexType;
-
- public override void FixtureInit()
- {
- XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection();
- schemas.Add(SchemaCompletionData);
- XmlSchemaCompletionData xsdSchemaCompletionData = new XmlSchemaCompletionData(ResourceManager.GetXsdSchema());
- schemas.Add(xsdSchemaCompletionData);
- XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, xsdSchemaCompletionData, String.Empty, null);
-
- string xml = GetSchema();
- int index = xml.IndexOf("type=\"xs:complexType\"");
- index = xml.IndexOf("xs:complexType", index);
- schemaComplexType = (XmlSchemaComplexType)XmlEditorView.GetSchemaObjectSelected(xml, index, provider, SchemaCompletionData);
- }
-
- [Test]
- public void ComplexTypeName()
- {
- Assert.AreEqual("complexType", schemaComplexType.QualifiedName.Name);
- }
-
- [Test]
- public void ComplexTypeNamespace()
- {
- Assert.AreEqual("http://www.w3.org/2001/XMLSchema", schemaComplexType.QualifiedName.Namespace);
- }
-
- protected override string GetSchema()
- {
- return "<xs:schema xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" targetNamespace=\"http://www.w3schools.com\" xmlns=\"http://www.w3schools.com\" elementFormDefault=\"qualified\">\r\n" +
- "\t<xs:element name=\"note\">\r\n" +
- "\t\t<xs:complexType> \r\n" +
- "\t\t\t<xs:sequence>\r\n" +
- "\t\t\t\t<xs:element name=\"text\" type=\"xs:complexType\"/>\r\n" +
- "\t\t\t</xs:sequence>\r\n" +
- "\t\t</xs:complexType>\r\n" +
- "\t</xs:element>\r\n" +
- "</xs:schema>";
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/GroupReferenceSelectedTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/GroupReferenceSelectedTestFixture.cs deleted file mode 100644 index cc0011a3cf..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/FindSchemaObject/GroupReferenceSelectedTestFixture.cs +++ /dev/null @@ -1,89 +0,0 @@ -using MonoDevelop.XmlEditor.Completion;
-using NUnit.Framework;
-using System;
-using System.Xml.Schema;
-using MonoDevelop.XmlEditor.Tests.Schema;
-using MonoDevelop.XmlEditor.Tests.Utils;
-
-namespace MonoDevelop.XmlEditor.Tests.FindSchemaObject
-{
-/* /// <summary>
- /// Tests that an xs:group/@ref is located in the schema.
- /// </summary>
- [TestFixture]
- public class GroupReferenceSelectedTestFixture : SchemaTestFixtureBase
- {
- XmlSchemaGroup schemaGroup;
-
- public override void FixtureInit()
- {
- XmlSchemaCompletionDataCollection schemas = new XmlSchemaCompletionDataCollection();
- schemas.Add(SchemaCompletionData);
- XmlSchemaCompletionData xsdSchemaCompletionData = new XmlSchemaCompletionData(ResourceManager.GetXsdSchema());
- schemas.Add(xsdSchemaCompletionData);
- XmlCompletionDataProvider provider = new XmlCompletionDataProvider(schemas, xsdSchemaCompletionData, String.Empty, null);
-
- string xml = GetSchema();
- int index = xml.IndexOf("ref=\"block\"");
- index = xml.IndexOf("block", index);
- schemaGroup = (XmlSchemaGroup)XmlEditorView.GetSchemaObjectSelected(xml, index, provider, SchemaCompletionData);
- }
-
- [Test]
- public void GroupName()
- {
- Assert.AreEqual("block", schemaGroup.QualifiedName.Name);
- }
-
- protected override string GetSchema()
- {
- return "<xs:schema version=\"1.0\" xml:lang=\"en\"\r\n" +
- " xmlns:xs=\"http://www.w3.org/2001/XMLSchema\"\r\n" +
- " targetNamespace=\"http://foo/xhtml\"\r\n" +
- " xmlns=\"http://foo/xhtml\"\r\n" +
- " elementFormDefault=\"qualified\">\r\n" +
- "\r\n" +
- " <xs:element name=\"html\">\r\n" +
- " <xs:complexType>\r\n" +
- " <xs:sequence>\r\n" +
- " <xs:element ref=\"head\"/>\r\n" +
- " <xs:element ref=\"body\"/>\r\n" +
- " </xs:sequence>\r\n" +
- " </xs:complexType>\r\n" +
- " </xs:element>\r\n" +
- "\r\n" +
- " <xs:element name=\"head\" type=\"xs:string\"/>\r\n" +
- " <xs:element name=\"body\">\r\n" +
- " <xs:complexType>\r\n" +
- " <xs:sequence>\r\n" +
- " <xs:group ref=\"block\"/>\r\n" +
- " <xs:element name=\"form\"/>\r\n" +
- " </xs:sequence>\r\n" +
- " </xs:complexType>\r\n" +
- " </xs:element>\r\n" +
- "\r\n" +
- "\r\n" +
- " <xs:group name=\"block\">\r\n" +
- " <xs:choice>\r\n" +
- " <xs:element ref=\"p\"/>\r\n" +
- " <xs:group ref=\"heading\"/>\r\n" +
- " </xs:choice>\r\n" +
- " </xs:group>\r\n" +
- "\r\n" +
- " <xs:element name=\"p\">\r\n" +
- " <xs:complexType>\r\n" +
- " <xs:attribute name=\"id\"/>" +
- " </xs:complexType>\r\n" +
- " </xs:element>\r\n" +
- "\r\n" +
- " <xs:group name=\"heading\">\r\n" +
- " <xs:choice>\r\n" +
- " <xs:element name=\"test\"/>\r\n" +
- " <xs:element name=\"id\"/>\r\n" +
- " </xs:choice>\r\n" +
- " </xs:group>\r\n" +
- "\r\n" +
- "</xs:schema>";
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/MimeTypeHandledTests.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/MimeTypeHandledTests.cs deleted file mode 100644 index dcf2f6a450..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/MimeTypeHandledTests.cs +++ /dev/null @@ -1,37 +0,0 @@ -using NUnit.Framework; -
-namespace MonoDevelop.XmlEditor.Tests -{ - /// <summary> - /// Tests that the mime types "text/xml" and - /// "application/xml" are handled by the - /// XmlEditorViewContent. - /// </summary> -/* [TestFixture] - public class MimeTypeHandledTests - { - [Test] - public void IsTextXmlHandled() - { - Assert.IsTrue(XmlEditorViewContent.IsMimeTypeHandled("text/xml")); - } - - [Test] - public void IsApplicationXmlHandled() - { - Assert.IsTrue(XmlEditorViewContent.IsMimeTypeHandled("application/xml")); - } - - [Test] - public void NullMimeTypeIsNotHandled() - { - Assert.IsFalse(XmlEditorViewContent.IsMimeTypeHandled(null)); - } - - [Test] - public void IsUnknownMimeTypeHandled() - { - Assert.IsFalse(XmlEditorViewContent.IsMimeTypeHandled("unknown/xml")); - } - }*/ -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ActiveElementStartPathTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ActiveElementStartPathTestFixture.cs deleted file mode 100755 index 011f62602b..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ActiveElementStartPathTestFixture.cs +++ /dev/null @@ -1,106 +0,0 @@ -using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-
-namespace MonoDevelop.XmlEditor.Tests.Parser
-{
- [TestFixture]
- public class ActiveElementStartPathTestFixture
- {
- XmlElementPath elementPath;
- XmlElementPath expectedElementPath;
- string namespaceURI = "http://foo.com/foo.xsd";
-
- [Test]
- public void PathTest1()
- {
- string text = "<foo xmlns='" + namespaceURI + "' ";
- elementPath = XmlParser.GetActiveElementStartPath(text, text.Length);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest2()
- {
- string text = "<foo xmlns='" + namespaceURI + "' ><bar ";
- elementPath = XmlParser.GetActiveElementStartPath(text, text.Length);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(expectedElementPath.Equals(elementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest3()
- {
- string text = "<f:foo xmlns:f='" + namespaceURI + "' ><f:bar ";
- elementPath = XmlParser.GetActiveElementStartPath(text, text.Length);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI, "f"));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI, "f"));
- Assert.IsTrue(expectedElementPath.Equals(elementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest4()
- {
- string text = "<x:foo xmlns:x='" + namespaceURI + "' ";
- elementPath = XmlParser.GetActiveElementStartPath(text, text.Length);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI, "x"));
- Assert.IsTrue(expectedElementPath.Equals(elementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest5()
- {
- string text = "<foo xmlns='" + namespaceURI + "'>\r\n"+
- "<y\r\n" +
- "Id = 'foo' ";
-
- elementPath = XmlParser.GetActiveElementStartPath(text, text.Length);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("y", namespaceURI));
- Assert.IsTrue(expectedElementPath.Equals(elementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest6()
- {
- string text = "<bar xmlns='http://bar'>\r\n" +
- "<foo xmlns='" + namespaceURI + "' ";
-
- elementPath = XmlParser.GetActiveElementStartPath(text, text.Length);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- Assert.IsTrue(expectedElementPath.Equals(elementPath),
- "Incorrect active element path.");
- }
-
- /// <summary>
- /// Tests that we get no path back if we are outside the start
- /// tag.
- /// </summary>
- [Test]
- public void OutOfStartTagPathTest1()
- {
- string text = "<foo xmlns='" + namespaceURI + "'> ";
-
- elementPath = XmlParser.GetActiveElementStartPath(text, text.Length);
- Assert.AreEqual(0, elementPath.Elements.Count, "Should have no path.");
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ActiveElementUnderCursorTests.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ActiveElementUnderCursorTests.cs deleted file mode 100644 index 8ff9c5c966..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ActiveElementUnderCursorTests.cs +++ /dev/null @@ -1,161 +0,0 @@ -using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-
-namespace MonoDevelop.XmlEditor.Tests.Parser
-{
- /// <summary>
- /// Tests the XmlParser.GetActiveElementStartPathAtIndex which finds the element
- /// path where the index is at. The index may be in the middle or start of the element
- /// tag.
- /// </summary>
- [TestFixture]
- public class ActiveElementUnderCursorTests
- {
- XmlElementPath elementPath;
- XmlElementPath expectedElementPath;
- string namespaceURI = "http://foo.com/foo.xsd";
-
- [Test]
- public void PathTest1()
- {
- string text = "<foo xmlns='" + namespaceURI + "'><bar ";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, text.IndexOf("bar "));
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest2()
- {
- string text = "<foo xmlns='" + namespaceURI + "'><bar>";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, text.IndexOf("bar>"));
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest3()
- {
- string text = "<foo xmlns='" + namespaceURI + "'><bar>";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, text.IndexOf("ar>"));
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest4()
- {
- string text = "<foo xmlns='" + namespaceURI + "'><bar>";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, text.Length - 1);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest5()
- {
- string text = "<foo xmlns='" + namespaceURI + "'><bar a='a'>";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, text.IndexOf("='a'"));
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest6()
- {
- string text = "<foo xmlns='" + namespaceURI + "'><bar a='a'";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, text.Length - 1);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest7()
- {
- string text = "<foo xmlns='" + namespaceURI + "'><bar a='a'";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, text.Length);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest8()
- {
- string text = "<foo xmlns='" + namespaceURI + "'><bar>";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, text.Length);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest9()
- {
- string text = "<foo xmlns='" + namespaceURI + "'><bar ";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, text.Length);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest10()
- {
- string text = "<foo xmlns='" + namespaceURI + "'><bar Id=\r\n</foo>";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, text.IndexOf("Id="));
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- expectedElementPath.Elements.Add(new QualifiedName("bar", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void PathTest11()
- {
- string text = "<foo xmlns='" + namespaceURI + "'>";
- elementPath = XmlParser.GetActiveElementStartPathAtIndex(text, 2);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeNameTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeNameTestFixture.cs deleted file mode 100755 index 3f18883dea..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeNameTestFixture.cs +++ /dev/null @@ -1,89 +0,0 @@ -using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-using System;
-
-namespace MonoDevelop.XmlEditor.Tests.Parser
-{
- /// <summary>
- /// Tests that we can detect the attribute's name.
- /// </summary>
- [TestFixture]
- public class AttributeNameTestFixture
- {
- [Test]
- public void SuccessTest1()
- {
- string text = " foo='a";
- Assert.AreEqual("foo", XmlParser.GetAttributeName(text, text.Length), "Should have retrieved the attribute name 'foo'");
- }
-
- [Test]
- public void SuccessTest2()
- {
- string text = " foo='";
- Assert.AreEqual("foo", XmlParser.GetAttributeName(text, text.Length), "Should have retrieved the attribute name 'foo'");
- }
-
- [Test]
- public void SuccessTest3()
- {
- string text = " foo=";
- Assert.AreEqual("foo", XmlParser.GetAttributeName(text, text.Length), "Should have retrieved the attribute name 'foo'");
- }
-
- [Test]
- public void SuccessTest4()
- {
- string text = " foo=\"";
- Assert.AreEqual("foo", XmlParser.GetAttributeName(text, text.Length), "Should have retrieved the attribute name 'foo'");
- }
-
- [Test]
- public void SuccessTest5()
- {
- string text = " foo = \"";
- Assert.AreEqual("foo", XmlParser.GetAttributeName(text, text.Length), "Should have retrieved the attribute name 'foo'");
- }
-
- [Test]
- public void SuccessTest6()
- {
- string text = " foo = '#";
- Assert.AreEqual("foo", XmlParser.GetAttributeName(text, text.Length), "Should have retrieved the attribute name 'foo'");
- }
-
- [Test]
- public void FailureTest1()
- {
- string text = "foo=";
- Assert.AreEqual(String.Empty, XmlParser.GetAttributeName(text, text.Length), "Should have retrieved the attribute name 'foo'");
- }
-
- [Test]
- public void FailureTest2()
- {
- string text = "foo=<";
- Assert.AreEqual(String.Empty, XmlParser.GetAttributeName(text, text.Length), "Should have retrieved the attribute name 'foo'");
- }
-
- [Test]
- public void FailureTest3()
- {
- string text = "a";
- Assert.AreEqual(String.Empty, XmlParser.GetAttributeName(text, text.Length));
- }
-
- [Test]
- public void FailureTest4()
- {
- string text = " a";
- Assert.AreEqual(String.Empty, XmlParser.GetAttributeName(text, text.Length));
- } - - [Test]
- public void EmptyString()
- {
- Assert.AreEqual(String.Empty, XmlParser.GetAttributeName(String.Empty, 10));
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeNameUnderCursorTests.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeNameUnderCursorTests.cs deleted file mode 100644 index 8ac5ac6f4a..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeNameUnderCursorTests.cs +++ /dev/null @@ -1,72 +0,0 @@ -using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-
-namespace MonoDevelop.XmlEditor.Tests.Parser
-{
- [TestFixture]
- public class AttributeNameUnderCursorTests
- {
- [Test]
- public void SuccessTest1()
- {
- string text = "<a foo";
- Assert.AreEqual("foo", XmlParser.GetAttributeNameAtIndex(text, text.Length));
- }
-
- [Test]
- public void SuccessTest2()
- {
- string text = "<a foo";
- Assert.AreEqual("foo", XmlParser.GetAttributeNameAtIndex(text, text.IndexOf("foo")));
- }
-
- [Test]
- public void SuccessTest3()
- {
- string text = "<a foo";
- Assert.AreEqual("foo", XmlParser.GetAttributeNameAtIndex(text, text.IndexOf("oo")));
- }
-
- [Test]
- public void SuccessTest4()
- {
- string text = "<a foo";
- Assert.AreEqual("foo", XmlParser.GetAttributeNameAtIndex(text, text.Length - 2));
- }
-
- [Test]
- public void SuccessTest5()
- {
- string text = "<a foo=";
- Assert.AreEqual("foo", XmlParser.GetAttributeNameAtIndex(text, 3));
- }
-
- [Test]
- public void SuccessTest6()
- {
- string text = "<a foo=";
- Assert.AreEqual("foo", XmlParser.GetAttributeNameAtIndex(text, text.Length));
- }
-
- [Test]
- public void SuccessTest7()
- {
- string text = "<a foo='";
- Assert.AreEqual("foo", XmlParser.GetAttributeNameAtIndex(text, text.Length));
- }
-
- [Test]
- public void SuccessTest8()
- {
- string text = "<a type='a";
- Assert.AreEqual("type", XmlParser.GetAttributeNameAtIndex(text, text.Length));
- }
-
- [Test]
- public void SuccessTest9()
- {
- string text = "<a type='a'";
- Assert.AreEqual("type", XmlParser.GetAttributeNameAtIndex(text, text.Length - 1));
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeValueUnderCursorTests.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeValueUnderCursorTests.cs deleted file mode 100644 index c186bc5a9a..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/AttributeValueUnderCursorTests.cs +++ /dev/null @@ -1,67 +0,0 @@ -
-using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-using System;
-
-namespace MonoDevelop.XmlEditor.Tests.Parser
-{
- [TestFixture]
- public class AttributeValueUnderCursorTests
- {
- [Test]
- public void SuccessTest1()
- {
- string text = "<a foo='abc'";
- Assert.AreEqual("abc", XmlParser.GetAttributeValueAtIndex(text, text.Length - 1));
- }
-
- [Test]
- public void SuccessTest2()
- {
- string text = "<a foo=\"abc\"";
- Assert.AreEqual("abc", XmlParser.GetAttributeValueAtIndex(text, text.Length - 1));
- }
-
- [Test]
- public void SuccessTest3()
- {
- string text = "<a foo='abc'";
- Assert.AreEqual("abc", XmlParser.GetAttributeValueAtIndex(text, text.Length - 2));
- }
-
- [Test]
- public void SuccessTest4()
- {
- string text = "<a foo='abc'";
- Assert.AreEqual("abc", XmlParser.GetAttributeValueAtIndex(text, text.IndexOf("abc")));
- }
-
- [Test]
- public void SuccessTest5()
- {
- string text = "<a foo=''";
- Assert.AreEqual(String.Empty, XmlParser.GetAttributeValueAtIndex(text, text.Length - 1));
- }
-
- [Test]
- public void SuccessTest6()
- {
- string text = "<a foo='a'";
- Assert.AreEqual("a", XmlParser.GetAttributeValueAtIndex(text, text.Length - 1));
- }
-
- [Test]
- public void SuccessTest7()
- {
- string text = "<a foo='a\"b\"c'";
- Assert.AreEqual("a\"b\"c", XmlParser.GetAttributeValueAtIndex(text, text.Length - 1));
- }
-
- [Test]
- public void FailureTest1()
- {
- string text = "<a foo='a";
- Assert.AreEqual(String.Empty, XmlParser.GetAttributeValueAtIndex(text, text.Length - 1));
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/InsideAttributeValueTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/InsideAttributeValueTestFixture.cs deleted file mode 100755 index 36724daa04..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/InsideAttributeValueTestFixture.cs +++ /dev/null @@ -1,100 +0,0 @@ -using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-using System;
-
-namespace MonoDevelop.XmlEditor.Tests.Parser
-{
- [TestFixture]
- public class InsideAttributeValueTestFixture
- {
- [Test]
- public void InvalidString()
- {
- Assert.IsFalse(XmlParser.IsInsideAttributeValue(String.Empty, 10));
- }
-
- [Test]
- public void DoubleQuotesTest1()
- {
- string xml = "<foo a=\"";
- Assert.IsTrue(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- }
-
- [Test]
- public void DoubleQuotesTest2()
- {
- string xml = "<foo a=\"\" ";
- Assert.IsFalse(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- }
-
- [Test]
- public void DoubleQuotesTest3()
- {
- string xml = "<foo a=\"\"";
- Assert.IsFalse(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- }
-
- [Test]
- public void DoubleQuotesTest4()
- {
- string xml = "<foo a=\" ";
- Assert.IsTrue(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- }
-
- [Test]
- public void NoXmlElementStart()
- {
- string xml = "foo a=\"";
- Assert.IsFalse(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- } -
- [Test]
- public void DoubleQuotesTest5()
- {
- string xml = "<foo a=\"\"";
- Assert.IsTrue(XmlParser.IsInsideAttributeValue(xml, 8));
- }
-
- [Test]
- public void EqualsSignTest()
- {
- string xml = "<foo a=";
- Assert.IsFalse(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- }
-
- [Test]
- public void SingleQuoteTest1()
- {
- string xml = "<foo a='";
- Assert.IsTrue(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- }
-
- [Test]
- public void MixedQuotesTest1()
- {
- string xml = "<foo a='\"";
- Assert.IsTrue(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- }
-
- [Test]
- public void MixedQuotesTest2()
- {
- string xml = "<foo a=\"'";
- Assert.IsTrue(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- }
-
- [Test]
- public void MixedQuotesTest3()
- {
- string xml = "<foo a=\"''";
- Assert.IsTrue(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- }
-
- [Test]
- public void MixedQuotesTest4()
- {
- string xml = "<foo a=\"''\"";
- Assert.IsFalse(XmlParser.IsInsideAttributeValue(xml, xml.Length));
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/NamespaceDeclarationTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/NamespaceDeclarationTestFixture.cs deleted file mode 100755 index 54beae0fdd..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/NamespaceDeclarationTestFixture.cs +++ /dev/null @@ -1,112 +0,0 @@ -
-using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-
-namespace MonoDevelop.XmlEditor.Tests.Parser
-{
- /// <summary>
- /// When the user hits the '=' key we need to produce intellisense
- /// if the attribute is of the form 'xmlns' or 'xmlns:foo'. This
- /// tests the parsing of the text before the cursor to see if the
- /// attribute is a namespace declaration.
- /// </summary>
- [TestFixture]
- public class NamespaceDeclarationTestFixture
- {
- [Test]
- public void SuccessTest1()
- {
- string text = "<foo xmlns=";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsTrue(isNamespace, "Namespace should be recognised.");
- }
-
- [Test]
- public void SuccessTest2()
- {
- string text = "<foo xmlns =";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsTrue(isNamespace, "Namespace should be recognised.");
- }
-
- [Test]
- public void SuccessTest3()
- {
- string text = "<foo \r\nxmlns\r\n=";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsTrue(isNamespace, "Namespace should be recognised.");
- }
-
- [Test]
- public void SuccessTest4()
- {
- string text = "<foo xmlns:nant=";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsTrue(isNamespace, "Namespace should be recognised.");
- }
-
- [Test]
- public void SuccessTest5()
- {
- string text = "<foo xmlns";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsTrue(isNamespace, "Namespace should be recognised.");
- }
-
- [Test]
- public void SuccessTest6()
- {
- string text = "<foo xmlns:nant";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsTrue(isNamespace, "Namespace should be recognised.");
- }
-
- [Test]
- public void SuccessTest7()
- {
- string text = " xmlns=";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsTrue(isNamespace, "Namespace should be recognised.");
- }
-
- [Test]
- public void SuccessTest8()
- {
- string text = " xmlns";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsTrue(isNamespace, "Namespace should be recognised.");
- }
-
- [Test]
- public void SuccessTest9()
- {
- string text = " xmlns:f";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsTrue(isNamespace, "Namespace should be recognised.");
- }
-
- [Test]
- public void FailureTest1()
- {
- string text = "<foo bar=";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsFalse(isNamespace, "Namespace should not be recognised.");
- }
-
- [Test]
- public void FailureTest2()
- {
- string text = "";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsFalse(isNamespace, "Namespace should not be recognised.");
- }
-
- [Test]
- public void FailureTest3()
- {
- string text = " ";
- bool isNamespace = XmlParser.IsNamespaceDeclaration(text, text.Length);
- Assert.IsFalse(isNamespace, "Namespace should not be recognised.");
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ParentElementPathTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ParentElementPathTestFixture.cs deleted file mode 100755 index dbe84d585b..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/ParentElementPathTestFixture.cs +++ /dev/null @@ -1,62 +0,0 @@ -
-using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-
-namespace MonoDevelop.XmlEditor.Tests.Parser
-{
- [TestFixture]
- public class ParentElementPathTestFixture
- {
- XmlElementPath elementPath;
- XmlElementPath expectedElementPath;
- string namespaceURI = "http://foo/foo.xsd";
-
- [Test]
- public void SuccessTest1()
- {
- string text = "<foo xmlns='" + namespaceURI + "' ><";
- elementPath = XmlParser.GetParentElementPath(text);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void SuccessTest2()
- {
- string text = "<foo xmlns='" + namespaceURI + "' ><bar></bar><";
- elementPath = XmlParser.GetParentElementPath(text);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void SuccessTest3()
- {
- string text = "<foo xmlns='" + namespaceURI + "' ><bar/><";
- elementPath = XmlParser.GetParentElementPath(text);
-
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
-
- [Test]
- public void SuccessTest4()
- {
- string text = "<bar xmlns='http://test.com'><foo xmlns='" + namespaceURI + "' ><";
- elementPath = XmlParser.GetParentElementPath(text); -
- expectedElementPath = new XmlElementPath();
- expectedElementPath.Elements.Add(new QualifiedName("foo", namespaceURI));
- Assert.IsTrue(elementPath.Equals(expectedElementPath),
- "Incorrect active element path.");
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/GetSchemaFromFileNameTestFixture.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/GetSchemaFromFileNameTestFixture.cs deleted file mode 100644 index b3f5e6e204..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/GetSchemaFromFileNameTestFixture.cs +++ /dev/null @@ -1,46 +0,0 @@ -using MonoDevelop.XmlEditor.Completion;
-using NUnit.Framework;
-using MonoDevelop.XmlEditor.Tests.Utils;
-
-namespace MonoDevelop.XmlEditor.Tests.Schema
-{
-/* [TestFixture]
- public class GetSchemaFromFileNameTestFixture
- {
- XmlSchemaCompletionDataCollection schemas;
- string expectedNamespace;
- XmlCompletionDataProvider provider;
-
- [TestFixtureSetUp]
- public void SetUpFixture()
- {
- schemas = new XmlSchemaCompletionDataCollection();
- XmlSchemaCompletionData completionData = new XmlSchemaCompletionData(ResourceManager.GetXsdSchema());
- expectedNamespace = completionData.NamespaceUri;
- completionData.FileName = @"/home/Schemas/MySchema.xsd";
- schemas.Add(completionData);
-
- provider = new XmlCompletionDataProvider(schemas, completionData, String.Empty, null);
- }
-
- [Test]
- public void SameFileName()
- {
- XmlSchemaCompletionData foundSchema = schemas.GetSchemaFromFileName(@"/home/Schemas/MySchema.xsd");
- Assert.AreEqual(expectedNamespace, foundSchema.NamespaceUri);
- }
- - [Test]
- public void SameFileNameFromProvider()
- {
- XmlSchemaCompletionData foundSchema = provider.FindSchemaFromFileName(@"/home/Schemas/MySchema.xsd");
- Assert.AreEqual(expectedNamespace, foundSchema.NamespaceUri);
- }
-
- [Test]
- public void MissingFileName()
- {
- Assert.IsNull(schemas.GetSchemaFromFileName(@"/Test/test.xsd"));
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/RunXPathQueryTests.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/RunXPathQueryTests.cs deleted file mode 100644 index 540499749f..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/RunXPathQueryTests.cs +++ /dev/null @@ -1,169 +0,0 @@ -using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-using System;
-using System.Collections.Generic;
-using System.Collections.ObjectModel;
-using System.Xml;
-using System.Xml.XPath;
-
-namespace MonoDevelop.XmlEditor.Tests.XPathQuery
-{
-/* [TestFixture]
- public class RunXPathQueryTests
- {
- [Test]
- public void OneElementNode()
- {
- string xml = "<root>\r\n" +
- "\t<foo/>\r\n" +
- "</root>";
-
- XPathNodeMatch[] nodes = XmlEditorView.SelectNodes(xml, "//foo");
- XPathNodeMatch node = nodes[0];
- IXmlLineInfo lineInfo = node as IXmlLineInfo;
- Assert.AreEqual(1, nodes.Length);
- Assert.AreEqual(1, node.LineNumber);
- Assert.AreEqual(2, node.LinePosition);
- Assert.AreEqual("foo", node.Value);
- Assert.AreEqual("<foo/>", node.DisplayValue);
- Assert.AreEqual(XPathNodeType.Element, node.NodeType);
- Assert.IsNotNull(lineInfo);
- }
-
- [Test]
- public void OneElementNodeWithNamespace()
- {
- string xml = "<root xmlns='http://foo.com'>\r\n" +
- "\t<foo></foo>\r\n" +
- "</root>";
- List<XmlNamespace> namespaces = new List<XmlNamespace>();
- namespaces.Add(new XmlNamespace("f", "http://foo.com"));
- ReadOnlyCollection<XmlNamespace> readOnlyNamespaces = new ReadOnlyCollection<XmlNamespace>(namespaces);
- XPathNodeMatch[] nodes = XmlEditorView.SelectNodes(xml, "//f:foo", readOnlyNamespaces);
- XPathNodeMatch node = nodes[0];
- IXmlLineInfo lineInfo = node as IXmlLineInfo;
- Assert.AreEqual(1, nodes.Length);
- Assert.AreEqual(1, node.LineNumber);
- Assert.AreEqual(2, node.LinePosition);
- Assert.AreEqual("foo", node.Value);
- Assert.AreEqual("<foo>", node.DisplayValue);
- Assert.AreEqual(XPathNodeType.Element, node.NodeType);
- Assert.IsNotNull(lineInfo);
- }
-
- [Test]
- public void ElementWithNamespacePrefix()
- {
- string xml = "<f:root xmlns:f='http://foo.com'>\r\n" +
- "\t<f:foo></f:foo>\r\n" +
- "</f:root>";
- List<XmlNamespace> namespaces = new List<XmlNamespace>();
- namespaces.Add(new XmlNamespace("fo", "http://foo.com"));
- ReadOnlyCollection<XmlNamespace> readOnlyNamespaces = new ReadOnlyCollection<XmlNamespace>(namespaces);
- XPathNodeMatch[] nodes = XmlEditorView.SelectNodes(xml, "//fo:foo", readOnlyNamespaces);
- XPathNodeMatch node = nodes[0];
- IXmlLineInfo lineInfo = node as IXmlLineInfo;
- Assert.AreEqual(1, nodes.Length);
- Assert.AreEqual(1, node.LineNumber);
- Assert.AreEqual(2, node.LinePosition);
- Assert.AreEqual("f:foo", node.Value);
- Assert.AreEqual("<f:foo>", node.DisplayValue);
- Assert.AreEqual(XPathNodeType.Element, node.NodeType);
- Assert.IsNotNull(lineInfo);
- }
-
- [Test]
- public void NoNodeFound()
- {
- string xml = "<root>\r\n" +
- "\t<foo/>\r\n" +
- "</root>";
- XPathNodeMatch[] nodes = XmlEditorView.SelectNodes(xml, "//bar");
- Assert.AreEqual(0, nodes.Length);
- }
-
- [Test]
- public void TextNode()
- {
- string xml = "<root>\r\n" +
- "\t<foo>test</foo>\r\n" +
- "</root>";
- XPathNodeMatch[] nodes = XmlEditorView.SelectNodes(xml, "//foo/text()");
- XPathNodeMatch node = nodes[0];
- Assert.AreEqual(1, nodes.Length);
- Assert.AreEqual(1, node.LineNumber);
- Assert.AreEqual(6, node.LinePosition);
- Assert.AreEqual("test", node.Value);
- Assert.AreEqual("test", node.DisplayValue);
- }
-
- [Test]
- public void CommentNode()
- {
- string xml = "<!-- Test --><root/>";
- XPathNodeMatch[] nodes = XmlEditorView.SelectNodes(xml, "//comment()");
- XPathNodeMatch node = nodes[0];
- Assert.AreEqual(1, nodes.Length);
- Assert.AreEqual(0, node.LineNumber);
- Assert.AreEqual(4, node.LinePosition);
- Assert.AreEqual(" Test ", node.Value);
- Assert.AreEqual("<!-- Test -->", node.DisplayValue);
- }
-
- [Test]
- public void EmptyCommentNode()
- {
- string xml = "<!----><root/>";
- XPathNodeMatch[] nodes = XmlEditorView.SelectNodes(xml, "//comment()");
- XPathNodeMatch node = nodes[0];
- Assert.AreEqual(1, nodes.Length);
- Assert.AreEqual(0, node.LineNumber);
- Assert.AreEqual(4, node.LinePosition);
- Assert.AreEqual(String.Empty, node.Value);
- Assert.AreEqual("<!---->", node.DisplayValue);
- }
-
- [Test]
- public void NamespaceNode()
- {
- string xml = "<root xmlns='http://foo.com'/>";
- XPathNodeMatch[] nodes = XmlEditorView.SelectNodes(xml, "//namespace::*");
- XPathNodeMatch node = nodes[0];
- XPathNodeMatch xmlNamespaceNode = nodes[1];
- Assert.AreEqual(2, nodes.Length);
- Assert.AreEqual(0, node.LineNumber);
- Assert.AreEqual(6, node.LinePosition);
- Assert.AreEqual("xmlns=\"http://foo.com\"", node.Value);
- Assert.AreEqual("xmlns=\"http://foo.com\"", node.DisplayValue);
- Assert.IsFalse(xmlNamespaceNode.HasLineInfo());
- Assert.AreEqual("xmlns:xml=\"http://www.w3.org/XML/1998/namespace\"", xmlNamespaceNode.Value);
- }
-
- [Test]
- public void ProcessingInstructionNode()
- {
- string xml = "<root><?test processinstruction='1.0'?></root>";
- XPathNodeMatch[] nodes = XmlEditorView.SelectNodes(xml, "//processing-instruction()");
- XPathNodeMatch node = nodes[0];
- Assert.AreEqual("test", node.Value);
- Assert.AreEqual("<?test processinstruction='1.0'?>", node.DisplayValue);
- Assert.AreEqual(0, node.LineNumber);
- Assert.AreEqual(8, node.LinePosition);
- }
-
- [Test]
- public void AttributeNode()
- {
- string xml = "<root>\r\n" +
- "\t<foo Id='ab'></foo>\r\n" +
- "</root>";
- XPathNodeMatch[] nodes = XmlEditorView.SelectNodes(xml, "//foo/@Id");
- XPathNodeMatch node = nodes[0];
- Assert.AreEqual(1, nodes.Length);
- Assert.AreEqual(1, node.LineNumber);
- Assert.AreEqual(6, node.LinePosition);
- Assert.AreEqual("Id", node.Value);
- Assert.AreEqual("@Id", node.DisplayValue);
- }
- }*/
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XPathHistoryListTests.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XPathHistoryListTests.cs deleted file mode 100644 index def98dd6fe..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XPathHistoryListTests.cs +++ /dev/null @@ -1,107 +0,0 @@ -using NUnit.Framework; -using System.IO; -using System.Text; -using System.Xml; - -namespace MonoDevelop.XmlEditor.Tests.XPathQuery -{ -/* [TestFixture] - public class XPathHistoryListTests - { - StringBuilder xml; - XmlWriter writer; - - [SetUp] - public void Init() - { - xml = new StringBuilder(); - XmlWriterSettings settings = new XmlWriterSettings(); - settings.Indent = true; - settings.OmitXmlDeclaration = true; - settings.IndentChars = "\t"; - writer = XmlWriter.Create(xml, settings); - } - - [Test] - public void ToXmlNoItems() - { - XPathHistoryList list = new XPathHistoryList(); - list.WriteTo(writer); - - string expectedXml = "<XPathHistoryList />"; - Assert.AreEqual(expectedXml, xml.ToString()); - } - - [Test] - public void ToXmlOneItem() - { - XPathHistoryList list = new XPathHistoryList(); - list.Add("//test"); - list.WriteTo(writer); - - string expectedXml = "<XPathHistoryList>\n" + - "\t<XPath>//test</XPath>\n" + - "</XPathHistoryList>"; - Assert.AreEqual(expectedXml, xml.ToString()); - } - - [Test] - public void FromXmlNoItems() - { - XPathHistoryList list = new XPathHistoryList(); - list.WriteTo(writer); - - string propertiesXml = "<SerializedNode>" + xml.ToString() + "</SerializedNode>"; - XmlTextReader reader = new XmlTextReader(new StringReader(propertiesXml)); - list = new XPathHistoryList(); - list = (XPathHistoryList)list.ReadFrom(reader); - - Assert.AreEqual(0, list.GetXPaths().Length); - } - - [Test] - public void FromXmlOneItem() - { - XPathHistoryList list = new XPathHistoryList(); - list.Add("//test"); - list.WriteTo(writer); - - string propertiesXml = "<SerializedNode>" + xml.ToString() + "</SerializedNode>"; - XmlTextReader reader = new XmlTextReader(new StringReader(propertiesXml)); - list = new XPathHistoryList(); - list = (XPathHistoryList)list.ReadFrom(reader); - string[] xpaths = list.GetXPaths(); - - Assert.AreEqual(1, xpaths.Length); - Assert.AreEqual("//test", xpaths[0]); - } - - [Test] - public void FromXmlTwoItems() - { - XPathHistoryList list = new XPathHistoryList(); - list.Add("//test"); - list.Add("//a"); - list.WriteTo(writer); - - string propertiesXml = "<SerializedNode>" + xml.ToString() + "</SerializedNode>"; - XmlTextReader reader = new XmlTextReader(new StringReader(propertiesXml)); - list = new XPathHistoryList(); - list = (XPathHistoryList)list.ReadFrom(reader); - - string[] xpaths = list.GetXPaths(); - Assert.AreEqual(2, xpaths.Length); - Assert.AreEqual("//test", xpaths[0]); - Assert.AreEqual("//a", xpaths[1]); - } - - [Test] - public void FromXmlContainingNoXPathHistoryList() - { - XPathHistoryList list = new XPathHistoryList(); - XmlTextReader reader = new XmlTextReader(new StringReader("<SerializedNode/>")); - list = (XPathHistoryList)list.ReadFrom(reader); - Assert.AreEqual(0, list.GetXPaths().Length); - } - }*/ -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XPathNamespaceListTests.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XPathNamespaceListTests.cs deleted file mode 100644 index 45ac127a17..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XPathNamespaceListTests.cs +++ /dev/null @@ -1,130 +0,0 @@ - -using MonoDevelop.Core;
-using NUnit.Framework; -using System; -using System.IO; -using System.Text; -using System.Xml; - -namespace MonoDevelop.XmlEditor.Tests.XPathQuery -{ -/* [TestFixture] - public class XPathNamespaceListTests - { - StringBuilder xml; - XmlWriter writer; - - [SetUp] - public void Init() - { - xml = new StringBuilder(); - XmlWriterSettings settings = new XmlWriterSettings(); - settings.Indent = true; - settings.OmitXmlDeclaration = true; - settings.IndentChars = "\t"; - writer = XmlWriter.Create(xml, settings); - } - - [Test] - public void ToXmlNoItems() - { - XPathNamespaceList list = new XPathNamespaceList(); - list.WriteTo(writer); - string expectedXml = "<XPathNamespaceList />"; - - Assert.AreEqual(expectedXml, xml.ToString()); - } - - [Test] - public void ToXmlOneItem() - { - XPathNamespaceList list = new XPathNamespaceList(); - list.Add("n", "http://mono-project.com"); - list.WriteTo(writer); - string expectedXml = "<XPathNamespaceList>\n" + - "\t<Namespace>Prefix [n] Uri [http://mono-project.com]</Namespace>\n" + - "</XPathNamespaceList>"; - - Assert.AreEqual(expectedXml, xml.ToString()); - } - - [Test] - public void FromXmlNoItems() - { - XPathNamespaceList list = new XPathNamespaceList(); - list.WriteTo(writer); - - string propertiesXml = "<SerializedNode>" + xml.ToString() + "</SerializedNode>"; - XmlTextReader reader = new XmlTextReader(new StringReader(propertiesXml)); - list = new XPathNamespaceList(); - list = (XPathNamespaceList)list.ReadFrom(reader); - - Assert.AreEqual(0, list.GetNamespaces().Length); - } - - [Test] - public void FromXmlOneItem() - { - XPathNamespaceList list = new XPathNamespaceList(); - list.Add("n", "http://mono-project.com"); - list.WriteTo(writer); - - string propertiesXml = "<SerializedNode>" + xml.ToString() + "</SerializedNode>"; - XmlTextReader reader = new XmlTextReader(new StringReader(propertiesXml)); - list = new XPathNamespaceList(); - list = (XPathNamespaceList)list.ReadFrom(reader); - - XmlNamespace[] namespaces = list.GetNamespaces(); - Assert.AreEqual(1, namespaces.Length); - Assert.AreEqual("n", namespaces[0].Prefix); - Assert.AreEqual("http://mono-project.com", namespaces[0].Uri); - } - - [Test] - public void FromXmlTwoItems() - { - XPathNamespaceList list = new XPathNamespaceList(); - list.Add("a", "Namespace-a"); - list.Add("b", "Namespace-b"); - list.WriteTo(writer); - - string propertiesXml = "<SerializedNode>" + xml.ToString() + "</SerializedNode>"; - XmlTextReader reader = new XmlTextReader(new StringReader(propertiesXml)); - list = new XPathNamespaceList(); - list = (XPathNamespaceList)list.ReadFrom(reader); - - XmlNamespace[] namespaces = list.GetNamespaces(); - Assert.AreEqual(2, namespaces.Length); - Assert.AreEqual("Namespace-a", namespaces[0].Uri); - Assert.AreEqual("Namespace-b", namespaces[1].Uri); - } - - [Test] - public void InvalidNamespace() - { - string xml = "<XPathNamespaceList>\n" + - "\t<Namespace>Prefix [n] Uri [http://mono-project.com]</Namespace>\n" + - "\t<Namespace></Namespace>\n" + - "</XPathNamespaceList>"; - - string propertiesXml = "<SerializedNode>" + xml.ToString() + "</SerializedNode>"; - XmlTextReader reader = new XmlTextReader(new StringReader(propertiesXml)); - XPathNamespaceList list = new XPathNamespaceList(); - list = (XPathNamespaceList)list.ReadFrom(reader); - - XmlNamespace[] namespaces = list.GetNamespaces(); - Assert.AreEqual(2, namespaces.Length); - Assert.AreEqual("http://mono-project.com", namespaces[0].Uri); - Assert.AreEqual(String.Empty, namespaces[1].Uri); - } - - [Test] - public void FromXmlContainingNoXPathNamespaceList() - { - XPathNamespaceList list = new XPathNamespaceList(); - XmlTextReader reader = new XmlTextReader(new StringReader("<SerializedNode/>")); - list = (XPathNamespaceList)list.ReadFrom(reader); - Assert.AreEqual(0, list.GetNamespaces().Length); - } - }*/ -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XmlNamespaceTests.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XmlNamespaceTests.cs deleted file mode 100644 index 069c100bc5..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XmlNamespaceTests.cs +++ /dev/null @@ -1,18 +0,0 @@ -
-using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-
-namespace MonoDevelop.XmlEditor.Tests.XPathQuery
-{
- [TestFixture]
- public class XmlNamespaceTests
- {
- [Test]
- public void SimpleNamespace()
- {
- XmlNamespace ns = new XmlNamespace("s", "http://sharpdevelop.com");
- Assert.AreEqual("s", ns.Prefix);
- Assert.AreEqual("http://sharpdevelop.com", ns.Uri);
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XmlNamespaceToStringTests.cs b/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XmlNamespaceToStringTests.cs deleted file mode 100644 index 55182fef25..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/XPathQuery/XmlNamespaceToStringTests.cs +++ /dev/null @@ -1,50 +0,0 @@ -
-using MonoDevelop.XmlEditor;
-using NUnit.Framework;
-using System;
-
-namespace MonoDevelop.XmlEditor.Tests.XPathQuery
-{
- [TestFixture]
- public class XmlNamespaceToStringTests
- {
- [Test]
- public void PrefixAndNamespaceToString()
- {
- XmlNamespace ns = new XmlNamespace("f", "http://foo.com");
- Assert.AreEqual("Prefix [f] Uri [http://foo.com]", ns.ToString());
- }
-
- [Test]
- public void PrefixAndNamespaceFromString()
- {
- XmlNamespace ns = XmlNamespace.FromString("Prefix [f] Uri [http://foo.com]");
- Assert.AreEqual("f", ns.Prefix);
- Assert.AreEqual("http://foo.com", ns.Uri);
- }
-
- [Test]
- public void EmptyPrefixAndNamespaceFromString()
- {
- XmlNamespace ns = XmlNamespace.FromString("Prefix [] Uri [http://foo.com]");
- Assert.AreEqual(String.Empty, ns.Prefix);
- Assert.AreEqual("http://foo.com", ns.Uri);
- }
-
- [Test]
- public void PrefixAndEmptyNamespaceFromString()
- {
- XmlNamespace ns = XmlNamespace.FromString("Prefix [f] Uri []");
- Assert.AreEqual("f", ns.Prefix);
- Assert.AreEqual(String.Empty, ns.Uri);
- }
-
- [Test]
- public void FromEmptyString()
- {
- XmlNamespace ns = XmlNamespace.FromString(String.Empty);
- Assert.AreEqual(String.Empty, ns.Prefix);
- Assert.AreEqual(String.Empty, ns.Uri);
- }
- }
-}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.Xml.Formatting.XmlFormattingPolicyPanelWidget.cs b/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.Xml.Formatting.XmlFormattingPolicyPanelWidget.cs deleted file mode 100644 index 963729d207..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.Xml.Formatting.XmlFormattingPolicyPanelWidget.cs +++ /dev/null @@ -1,159 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace MonoDevelop.Xml.Formatting -{ - internal partial class XmlFormattingPolicyPanelWidget - { - private global::Gtk.VBox vbox2; - private global::Gtk.HBox hbox1; - private global::Gtk.VBox boxScopes; - private global::Gtk.ScrolledWindow GtkScrolledWindow; - private global::Gtk.TreeView listView; - private global::Gtk.HBox hbox2; - private global::Gtk.Button buttonAdd; - private global::Gtk.Button buttonRemove; - private global::Gtk.VBox vbox4; - private global::Gtk.Label labelScopes; - private global::Gtk.Table tableScopes; - private global::MonoDevelop.Components.PropertyGrid.PropertyGrid propertyGrid; - private global::Gtk.HBox hbox3; - private global::Gtk.Button buttonAdvanced; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget MonoDevelop.Xml.Formatting.XmlFormattingPolicyPanelWidget - global::Stetic.BinContainer.Attach (this); - this.Name = "MonoDevelop.Xml.Formatting.XmlFormattingPolicyPanelWidget"; - // Container child MonoDevelop.Xml.Formatting.XmlFormattingPolicyPanelWidget.Gtk.Container+ContainerChild - this.vbox2 = new global::Gtk.VBox (); - this.vbox2.Name = "vbox2"; - this.vbox2.Spacing = 6; - // Container child vbox2.Gtk.Box+BoxChild - this.hbox1 = new global::Gtk.HBox (); - this.hbox1.Name = "hbox1"; - this.hbox1.Spacing = 6; - // Container child hbox1.Gtk.Box+BoxChild - this.boxScopes = new global::Gtk.VBox (); - this.boxScopes.Name = "boxScopes"; - this.boxScopes.Spacing = 6; - // Container child boxScopes.Gtk.Box+BoxChild - this.GtkScrolledWindow = new global::Gtk.ScrolledWindow (); - this.GtkScrolledWindow.Name = "GtkScrolledWindow"; - this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1)); - // Container child GtkScrolledWindow.Gtk.Container+ContainerChild - this.listView = new global::Gtk.TreeView (); - this.listView.CanFocus = true; - this.listView.Name = "listView"; - this.listView.HeadersVisible = false; - this.GtkScrolledWindow.Add (this.listView); - this.boxScopes.Add (this.GtkScrolledWindow); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.boxScopes [this.GtkScrolledWindow])); - w2.Position = 0; - // Container child boxScopes.Gtk.Box+BoxChild - this.hbox2 = new global::Gtk.HBox (); - this.hbox2.Name = "hbox2"; - this.hbox2.Spacing = 6; - // Container child hbox2.Gtk.Box+BoxChild - this.buttonAdd = new global::Gtk.Button (); - this.buttonAdd.CanFocus = true; - this.buttonAdd.Name = "buttonAdd"; - this.buttonAdd.UseStock = true; - this.buttonAdd.UseUnderline = true; - this.buttonAdd.Label = "gtk-add"; - this.hbox2.Add (this.buttonAdd); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.buttonAdd])); - w3.Position = 0; - w3.Expand = false; - w3.Fill = false; - // Container child hbox2.Gtk.Box+BoxChild - this.buttonRemove = new global::Gtk.Button (); - this.buttonRemove.CanFocus = true; - this.buttonRemove.Name = "buttonRemove"; - this.buttonRemove.UseStock = true; - this.buttonRemove.UseUnderline = true; - this.buttonRemove.Label = "gtk-remove"; - this.hbox2.Add (this.buttonRemove); - global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.buttonRemove])); - w4.Position = 1; - w4.Expand = false; - w4.Fill = false; - this.boxScopes.Add (this.hbox2); - global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.boxScopes [this.hbox2])); - w5.Position = 1; - w5.Expand = false; - w5.Fill = false; - this.hbox1.Add (this.boxScopes); - global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.boxScopes])); - w6.Position = 0; - w6.Expand = false; - w6.Fill = false; - // Container child hbox1.Gtk.Box+BoxChild - this.vbox4 = new global::Gtk.VBox (); - this.vbox4.Name = "vbox4"; - this.vbox4.Spacing = 6; - // Container child vbox4.Gtk.Box+BoxChild - this.labelScopes = new global::Gtk.Label (); - this.labelScopes.Name = "labelScopes"; - this.labelScopes.Xalign = 0F; - this.labelScopes.LabelProp = global::Mono.Unix.Catalog.GetString ("Enter one or several xpath expressions to which this format applies:"); - this.vbox4.Add (this.labelScopes); - global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.labelScopes])); - w7.Position = 0; - w7.Expand = false; - w7.Fill = false; - // Container child vbox4.Gtk.Box+BoxChild - this.tableScopes = new global::Gtk.Table (((uint)(3)), ((uint)(3)), false); - this.tableScopes.Name = "tableScopes"; - this.tableScopes.RowSpacing = ((uint)(6)); - this.tableScopes.ColumnSpacing = ((uint)(6)); - this.vbox4.Add (this.tableScopes); - global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.tableScopes])); - w8.Position = 1; - w8.Expand = false; - w8.Fill = false; - // Container child vbox4.Gtk.Box+BoxChild - this.propertyGrid = new global::MonoDevelop.Components.PropertyGrid.PropertyGrid (); - this.propertyGrid.Name = "propertyGrid"; - this.propertyGrid.ShowToolbar = false; - this.propertyGrid.ShowHelp = false; - this.vbox4.Add (this.propertyGrid); - global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox4 [this.propertyGrid])); - w9.Position = 2; - this.hbox1.Add (this.vbox4); - global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox4])); - w10.Position = 1; - this.vbox2.Add (this.hbox1); - global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox1])); - w11.Position = 0; - // Container child vbox2.Gtk.Box+BoxChild - this.hbox3 = new global::Gtk.HBox (); - this.hbox3.Name = "hbox3"; - this.hbox3.Spacing = 6; - // Container child hbox3.Gtk.Box+BoxChild - this.buttonAdvanced = new global::Gtk.Button (); - this.buttonAdvanced.CanFocus = true; - this.buttonAdvanced.Name = "buttonAdvanced"; - this.buttonAdvanced.UseUnderline = true; - this.buttonAdvanced.Label = global::Mono.Unix.Catalog.GetString ("Advanced Settings"); - this.hbox3.Add (this.buttonAdvanced); - global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.hbox3 [this.buttonAdvanced])); - w12.Position = 0; - w12.Expand = false; - w12.Fill = false; - this.vbox2.Add (this.hbox3); - global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.hbox3])); - w13.Position = 1; - w13.Expand = false; - w13.Fill = false; - this.Add (this.vbox2); - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.Hide (); - this.buttonAdd.Clicked += new global::System.EventHandler (this.OnButtonAddClicked); - this.buttonRemove.Clicked += new global::System.EventHandler (this.OnButtonRemoveClicked); - this.buttonAdvanced.Clicked += new global::System.EventHandler (this.OnButtonAdvancedClicked); - } - } -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs b/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs deleted file mode 100644 index 3a284d598b..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs +++ /dev/null @@ -1,67 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace MonoDevelop.XmlEditor.Gui -{ - public partial class XmlEditorOptionsPanelWidget - { - private global::Gtk.VBox vbox1; - private global::Gtk.CheckButton autoCompleteElementsCheck; - private global::Gtk.CheckButton autoAddPunctuationCheck; - private global::Gtk.CheckButton showSchemaAnnotationCheck; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget - global::Stetic.BinContainer.Attach (this); - this.Name = "MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget"; - // Container child MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.Gtk.Container+ContainerChild - this.vbox1 = new global::Gtk.VBox (); - this.vbox1.Name = "vbox1"; - this.vbox1.Spacing = 6; - // Container child vbox1.Gtk.Box+BoxChild - this.autoCompleteElementsCheck = new global::Gtk.CheckButton (); - this.autoCompleteElementsCheck.CanFocus = true; - this.autoCompleteElementsCheck.Name = "autoCompleteElementsCheck"; - this.autoCompleteElementsCheck.Label = global::Mono.Unix.Catalog.GetString ("Automatically insert closing tags"); - this.autoCompleteElementsCheck.DrawIndicator = true; - this.autoCompleteElementsCheck.UseUnderline = true; - this.vbox1.Add (this.autoCompleteElementsCheck); - global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.autoCompleteElementsCheck])); - w1.Position = 0; - w1.Expand = false; - w1.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.autoAddPunctuationCheck = new global::Gtk.CheckButton (); - this.autoAddPunctuationCheck.CanFocus = true; - this.autoAddPunctuationCheck.Name = "autoAddPunctuationCheck"; - this.autoAddPunctuationCheck.Label = global::Mono.Unix.Catalog.GetString ("Automatically insert punctuation (=\"\", />, etc.)"); - this.autoAddPunctuationCheck.Active = true; - this.autoAddPunctuationCheck.DrawIndicator = true; - this.autoAddPunctuationCheck.UseUnderline = true; - this.vbox1.Add (this.autoAddPunctuationCheck); - global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.autoAddPunctuationCheck])); - w2.Position = 1; - w2.Expand = false; - w2.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.showSchemaAnnotationCheck = new global::Gtk.CheckButton (); - this.showSchemaAnnotationCheck.Sensitive = false; - this.showSchemaAnnotationCheck.CanFocus = true; - this.showSchemaAnnotationCheck.Name = "showSchemaAnnotationCheck"; - this.showSchemaAnnotationCheck.Label = global::Mono.Unix.Catalog.GetString ("Show schema annotation"); - this.showSchemaAnnotationCheck.DrawIndicator = true; - this.showSchemaAnnotationCheck.UseUnderline = true; - this.vbox1.Add (this.showSchemaAnnotationCheck); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.showSchemaAnnotationCheck])); - w3.Position = 2; - w3.Expand = false; - w3.Fill = false; - this.Add (this.vbox1); - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.Show (); - } - } -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.cs b/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.cs deleted file mode 100644 index 0434dc2ac7..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.cs +++ /dev/null @@ -1,179 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace MonoDevelop.XmlEditor.Gui -{ - public partial class XmlSchemasPanelWidget - { - private global::Gtk.VBox vbox1; - private global::Gtk.Label label1; - private global::Gtk.HBox hbox1; - private global::Gtk.ScrolledWindow GtkScrolledWindow; - private global::Gtk.TreeView registeredSchemasView; - private global::Gtk.VBox vbox2; - private global::Gtk.Button registeredSchemasAddButton; - private global::Gtk.Button registeredSchemasRemoveButton; - private global::Gtk.Label label3; - private global::Gtk.Label label2; - private global::Gtk.HBox hbox2; - private global::Gtk.ScrolledWindow GtkScrolledWindow1; - private global::Gtk.TreeView defaultAssociationsView; - private global::Gtk.VBox vbox3; - private global::Gtk.Button defaultAssociationsAddButton; - private global::Gtk.Button defaultAssociationsRemoveButton; - - protected virtual void Build () - { - global::Stetic.Gui.Initialize (this); - // Widget MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget - global::Stetic.BinContainer.Attach (this); - this.Name = "MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget"; - // Container child MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.Gtk.Container+ContainerChild - this.vbox1 = new global::Gtk.VBox (); - this.vbox1.Name = "vbox1"; - this.vbox1.Spacing = 6; - // Container child vbox1.Gtk.Box+BoxChild - this.label1 = new global::Gtk.Label (); - this.label1.Name = "label1"; - this.label1.Xalign = 0F; - this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Registered Schemas</b>"); - this.label1.UseMarkup = true; - this.vbox1.Add (this.label1); - global::Gtk.Box.BoxChild w1 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.label1])); - w1.Position = 0; - w1.Expand = false; - w1.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.hbox1 = new global::Gtk.HBox (); - this.hbox1.Name = "hbox1"; - this.hbox1.Spacing = 6; - // Container child hbox1.Gtk.Box+BoxChild - this.GtkScrolledWindow = new global::Gtk.ScrolledWindow (); - this.GtkScrolledWindow.Name = "GtkScrolledWindow"; - this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1)); - // Container child GtkScrolledWindow.Gtk.Container+ContainerChild - this.registeredSchemasView = new global::Gtk.TreeView (); - this.registeredSchemasView.CanFocus = true; - this.registeredSchemasView.Name = "registeredSchemasView"; - this.GtkScrolledWindow.Add (this.registeredSchemasView); - this.hbox1.Add (this.GtkScrolledWindow); - global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.GtkScrolledWindow])); - w3.Position = 0; - // Container child hbox1.Gtk.Box+BoxChild - this.vbox2 = new global::Gtk.VBox (); - this.vbox2.Name = "vbox2"; - this.vbox2.Spacing = 6; - // Container child vbox2.Gtk.Box+BoxChild - this.registeredSchemasAddButton = new global::Gtk.Button (); - this.registeredSchemasAddButton.CanFocus = true; - this.registeredSchemasAddButton.Name = "registeredSchemasAddButton"; - this.registeredSchemasAddButton.UseStock = true; - this.registeredSchemasAddButton.UseUnderline = true; - this.registeredSchemasAddButton.Label = "gtk-add"; - this.vbox2.Add (this.registeredSchemasAddButton); - global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.registeredSchemasAddButton])); - w4.Position = 0; - w4.Expand = false; - w4.Fill = false; - // Container child vbox2.Gtk.Box+BoxChild - this.registeredSchemasRemoveButton = new global::Gtk.Button (); - this.registeredSchemasRemoveButton.CanFocus = true; - this.registeredSchemasRemoveButton.Name = "registeredSchemasRemoveButton"; - this.registeredSchemasRemoveButton.UseStock = true; - this.registeredSchemasRemoveButton.UseUnderline = true; - this.registeredSchemasRemoveButton.Label = "gtk-remove"; - this.vbox2.Add (this.registeredSchemasRemoveButton); - global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.registeredSchemasRemoveButton])); - w5.Position = 1; - w5.Expand = false; - w5.Fill = false; - this.hbox1.Add (this.vbox2); - global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.vbox2])); - w6.Position = 1; - w6.Expand = false; - w6.Fill = false; - this.vbox1.Add (this.hbox1); - global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hbox1])); - w7.Position = 1; - // Container child vbox1.Gtk.Box+BoxChild - this.label3 = new global::Gtk.Label (); - this.label3.Name = "label3"; - this.vbox1.Add (this.label3); - global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.label3])); - w8.Position = 2; - w8.Expand = false; - w8.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.label2 = new global::Gtk.Label (); - this.label2.Name = "label2"; - this.label2.Xalign = 0F; - this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("<b>Default File Associations</b>"); - this.label2.UseMarkup = true; - this.vbox1.Add (this.label2); - global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.label2])); - w9.Position = 3; - w9.Expand = false; - w9.Fill = false; - // Container child vbox1.Gtk.Box+BoxChild - this.hbox2 = new global::Gtk.HBox (); - this.hbox2.Name = "hbox2"; - this.hbox2.Spacing = 6; - // Container child hbox2.Gtk.Box+BoxChild - this.GtkScrolledWindow1 = new global::Gtk.ScrolledWindow (); - this.GtkScrolledWindow1.Name = "GtkScrolledWindow1"; - this.GtkScrolledWindow1.ShadowType = ((global::Gtk.ShadowType)(1)); - // Container child GtkScrolledWindow1.Gtk.Container+ContainerChild - this.defaultAssociationsView = new global::Gtk.TreeView (); - this.defaultAssociationsView.CanFocus = true; - this.defaultAssociationsView.Name = "defaultAssociationsView"; - this.GtkScrolledWindow1.Add (this.defaultAssociationsView); - this.hbox2.Add (this.GtkScrolledWindow1); - global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.GtkScrolledWindow1])); - w11.Position = 0; - // Container child hbox2.Gtk.Box+BoxChild - this.vbox3 = new global::Gtk.VBox (); - this.vbox3.Name = "vbox3"; - this.vbox3.Spacing = 6; - // Container child vbox3.Gtk.Box+BoxChild - this.defaultAssociationsAddButton = new global::Gtk.Button (); - this.defaultAssociationsAddButton.CanFocus = true; - this.defaultAssociationsAddButton.Name = "defaultAssociationsAddButton"; - this.defaultAssociationsAddButton.UseStock = true; - this.defaultAssociationsAddButton.UseUnderline = true; - this.defaultAssociationsAddButton.Label = "gtk-add"; - this.vbox3.Add (this.defaultAssociationsAddButton); - global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.defaultAssociationsAddButton])); - w12.Position = 0; - w12.Expand = false; - w12.Fill = false; - // Container child vbox3.Gtk.Box+BoxChild - this.defaultAssociationsRemoveButton = new global::Gtk.Button (); - this.defaultAssociationsRemoveButton.CanFocus = true; - this.defaultAssociationsRemoveButton.Name = "defaultAssociationsRemoveButton"; - this.defaultAssociationsRemoveButton.UseStock = true; - this.defaultAssociationsRemoveButton.UseUnderline = true; - this.defaultAssociationsRemoveButton.Label = "gtk-remove"; - this.vbox3.Add (this.defaultAssociationsRemoveButton); - global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.defaultAssociationsRemoveButton])); - w13.Position = 1; - w13.Expand = false; - w13.Fill = false; - this.hbox2.Add (this.vbox3); - global::Gtk.Box.BoxChild w14 = ((global::Gtk.Box.BoxChild)(this.hbox2 [this.vbox3])); - w14.Position = 1; - w14.Expand = false; - w14.Fill = false; - this.vbox1.Add (this.hbox2); - global::Gtk.Box.BoxChild w15 = ((global::Gtk.Box.BoxChild)(this.vbox1 [this.hbox2])); - w15.Position = 4; - this.Add (this.vbox1); - if ((this.Child != null)) { - this.Child.ShowAll (); - } - this.Show (); - this.registeredSchemasAddButton.Clicked += new global::System.EventHandler (this.addRegisteredSchema); - this.registeredSchemasRemoveButton.Clicked += new global::System.EventHandler (this.removeRegisteredSchema); - this.defaultAssociationsAddButton.Clicked += new global::System.EventHandler (this.addFileAssociation); - this.defaultAssociationsRemoveButton.Clicked += new global::System.EventHandler (this.removeFileAssocation); - } - } -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/generated.cs b/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/generated.cs deleted file mode 100644 index 75935e2e55..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/generated.cs +++ /dev/null @@ -1,81 +0,0 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace Stetic -{ - internal class Gui - { - private static bool initialized; - - internal static void Initialize (Gtk.Widget iconRenderer) - { - if ((Stetic.Gui.initialized == false)) { - Stetic.Gui.initialized = true; - } - } - } - - internal class BinContainer - { - private Gtk.Widget child; - private Gtk.UIManager uimanager; - - public static BinContainer Attach (Gtk.Bin bin) - { - BinContainer bc = new BinContainer (); - bin.SizeRequested += new Gtk.SizeRequestedHandler (bc.OnSizeRequested); - bin.SizeAllocated += new Gtk.SizeAllocatedHandler (bc.OnSizeAllocated); - bin.Added += new Gtk.AddedHandler (bc.OnAdded); - return bc; - } - - private void OnSizeRequested (object sender, Gtk.SizeRequestedArgs args) - { - if ((this.child != null)) { - args.Requisition = this.child.SizeRequest (); - } - } - - private void OnSizeAllocated (object sender, Gtk.SizeAllocatedArgs args) - { - if ((this.child != null)) { - this.child.Allocation = args.Allocation; - } - } - - private void OnAdded (object sender, Gtk.AddedArgs args) - { - this.child = args.Widget; - } - - public void SetUiManager (Gtk.UIManager uim) - { - this.uimanager = uim; - this.child.Realized += new System.EventHandler (this.OnRealized); - } - - private void OnRealized (object sender, System.EventArgs args) - { - if ((this.uimanager != null)) { - Gtk.Widget w; - w = this.child.Toplevel; - if (((w != null) && typeof(Gtk.Window).IsInstanceOfType (w))) { - ((Gtk.Window)(w)).AddAccelGroup (this.uimanager.AccelGroup); - this.uimanager = null; - } - } - } - } - - internal class ActionGroups - { - public static Gtk.ActionGroup GetActionGroup (System.Type type) - { - return Stetic.ActionGroups.GetActionGroup (type.FullName); - } - - public static Gtk.ActionGroup GetActionGroup (string name) - { - return null; - } - } -} diff --git a/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/gui.stetic b/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/gui.stetic deleted file mode 100644 index 0096e79cd6..0000000000 --- a/main/src/addins/MonoDevelop.XmlEditor/gtk-gui/gui.stetic +++ /dev/null @@ -1,491 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<stetic-interface> - <configuration> - <images-root-path>..</images-root-path> - <target-gtk-version>2.12</target-gtk-version> - </configuration> - <import> - <widget-library name="glade-sharp, Version=2.12.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" /> - <widget-library name="../../../../build/bin/MonoDevelop.Ide.dll" /> - <widget-library name="../../../../build/AddIns/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.dll" /> - <widget-library name="../../../../build/AddIns/DisplayBindings/SourceEditor/MonoDevelop.SourceEditor2.dll" /> - <widget-library name="../../../../build/bin/Mono.TextEditor.dll" /> - <widget-library name="../../../../build/AddIns/MonoDevelop.Debugger/MonoDevelop.Debugger.dll" /> - <widget-library name="../../../../build/AddIns/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.dll" internal="true" /> - </import> - <widget class="Gtk.Bin" id="MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget" design-size="367 300"> - <property name="MemberName" /> - <child> - <widget class="Gtk.VBox" id="vbox1"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.CheckButton" id="autoCompleteElementsCheck"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Label" translatable="yes">Automatically insert closing tags</property> - <property name="DrawIndicator">True</property> - <property name="HasLabel">True</property> - <property name="UseUnderline">True</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.CheckButton" id="autoAddPunctuationCheck"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Label" translatable="yes">Automatically insert punctuation (="", />, etc.)</property> - <property name="Active">True</property> - <property name="DrawIndicator">True</property> - <property name="HasLabel">True</property> - <property name="UseUnderline">True</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.CheckButton" id="showSchemaAnnotationCheck"> - <property name="MemberName" /> - <property name="Sensitive">False</property> - <property name="CanFocus">True</property> - <property name="Label" translatable="yes">Show schema annotation</property> - <property name="DrawIndicator">True</property> - <property name="HasLabel">True</property> - <property name="UseUnderline">True</property> - </widget> - <packing> - <property name="Position">2</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - </child> - </widget> - <widget class="Gtk.Bin" id="MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget" design-size="569 340"> - <property name="MemberName" /> - <child> - <widget class="Gtk.VBox" id="vbox1"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Label" id="label1"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes"><b>Registered Schemas</b></property> - <property name="UseMarkup">True</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox1"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow"> - <property name="MemberName" /> - <property name="ShadowType">In</property> - <child> - <widget class="Gtk.TreeView" id="registeredSchemasView"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="ShowScrollbars">True</property> - </widget> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - </packing> - </child> - <child> - <widget class="Gtk.VBox" id="vbox2"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Button" id="registeredSchemasAddButton"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-add</property> - <signal name="Clicked" handler="addRegisteredSchema" /> - <property name="label">gtk-add</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="registeredSchemasRemoveButton"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-remove</property> - <signal name="Clicked" handler="removeRegisteredSchema" /> - <property name="label">gtk-remove</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label3"> - <property name="MemberName" /> - </widget> - <packing> - <property name="Position">2</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Label" id="label2"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes"><b>Default File Associations</b></property> - <property name="UseMarkup">True</property> - </widget> - <packing> - <property name="Position">3</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox2"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow1"> - <property name="MemberName" /> - <property name="ShadowType">In</property> - <child> - <widget class="Gtk.TreeView" id="defaultAssociationsView"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="ShowScrollbars">True</property> - </widget> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - </packing> - </child> - <child> - <widget class="Gtk.VBox" id="vbox3"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Button" id="defaultAssociationsAddButton"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-add</property> - <signal name="Clicked" handler="addFileAssociation" /> - <property name="label">gtk-add</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="defaultAssociationsRemoveButton"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-remove</property> - <signal name="Clicked" handler="removeFileAssocation" /> - <property name="label">gtk-remove</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">4</property> - <property name="AutoSize">True</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - </child> - </widget> - <widget class="Gtk.Bin" id="MonoDevelop.Xml.Formatting.XmlFormattingPolicyPanelWidget" design-size="544 349"> - <property name="MemberName" /> - <property name="Visible">False</property> - <property name="GeneratePublic">False</property> - <child> - <widget class="Gtk.VBox" id="vbox2"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.HBox" id="hbox1"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.VBox" id="boxScopes"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.ScrolledWindow" id="GtkScrolledWindow"> - <property name="MemberName" /> - <property name="ShadowType">In</property> - <child> - <widget class="Gtk.TreeView" id="listView"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="ShowScrollbars">True</property> - <property name="HeadersVisible">False</property> - </widget> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox2"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Button" id="buttonAdd"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-add</property> - <signal name="Clicked" handler="OnButtonAddClicked" /> - <property name="label">gtk-add</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="buttonRemove"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-remove</property> - <signal name="Clicked" handler="OnButtonRemoveClicked" /> - <property name="label">gtk-remove</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">False</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.VBox" id="vbox4"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Label" id="labelScopes"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Enter one or several xpath expressions to which this format applies:</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Table" id="tableScopes"> - <property name="MemberName" /> - <property name="NRows">3</property> - <property name="NColumns">3</property> - <property name="RowSpacing">6</property> - <property name="ColumnSpacing">6</property> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">False</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="MonoDevelop.Components.PropertyGrid.PropertyGrid" id="propertyGrid"> - <property name="MemberName" /> - <property name="ShowToolbar">False</property> - <property name="ShowHelp">False</property> - </widget> - <packing> - <property name="Position">2</property> - <property name="AutoSize">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox3"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Button" id="buttonAdvanced"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="Type">TextOnly</property> - <property name="Label" translatable="yes">Advanced Settings</property> - <property name="UseUnderline">True</property> - <signal name="Clicked" handler="OnButtonAdvancedClicked" /> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> -</stetic-interface>
\ No newline at end of file diff --git a/main/src/addins/VersionControl/MonoDevelop.VersionControl/gtk-gui/generated.cs b/main/src/addins/VersionControl/MonoDevelop.VersionControl/gtk-gui/generated.cs index 3285e87c05..97249fd82d 100644 --- a/main/src/addins/VersionControl/MonoDevelop.VersionControl/gtk-gui/generated.cs +++ b/main/src/addins/VersionControl/MonoDevelop.VersionControl/gtk-gui/generated.cs @@ -1,82 +1,83 @@ - -// This file has been generated by the GUI designer. Do not modify. -namespace Stetic -{ - internal class Gui - { - private static bool initialized; - - internal static void Initialize (Gtk.Widget iconRenderer) - { - if ((Stetic.Gui.initialized == false)) { - Stetic.Gui.initialized = true; - } - } - } - - internal class BinContainer - { - private Gtk.Widget child; - - private Gtk.UIManager uimanager; - - public static BinContainer Attach (Gtk.Bin bin) - { - BinContainer bc = new BinContainer (); - bin.SizeRequested += new Gtk.SizeRequestedHandler (bc.OnSizeRequested); - bin.SizeAllocated += new Gtk.SizeAllocatedHandler (bc.OnSizeAllocated); - bin.Added += new Gtk.AddedHandler (bc.OnAdded); - return bc; - } - - private void OnSizeRequested (object sender, Gtk.SizeRequestedArgs args) - { - if ((this.child != null)) { - args.Requisition = this.child.SizeRequest (); - } - } - - private void OnSizeAllocated (object sender, Gtk.SizeAllocatedArgs args) - { - if ((this.child != null)) { - this.child.Allocation = args.Allocation; - } - } - - private void OnAdded (object sender, Gtk.AddedArgs args) - { - this.child = args.Widget; - } - - public void SetUiManager (Gtk.UIManager uim) - { - this.uimanager = uim; - this.child.Realized += new System.EventHandler (this.OnRealized); - } - - private void OnRealized (object sender, System.EventArgs args) - { - if ((this.uimanager != null)) { - Gtk.Widget w; - w = this.child.Toplevel; - if (((w != null) && typeof(Gtk.Window).IsInstanceOfType (w))) { - ((Gtk.Window)(w)).AddAccelGroup (this.uimanager.AccelGroup); - this.uimanager = null; - } - } - } - } - - internal class ActionGroups - { - public static Gtk.ActionGroup GetActionGroup (System.Type type) - { - return Stetic.ActionGroups.GetActionGroup (type.FullName); - } - - public static Gtk.ActionGroup GetActionGroup (string name) - { - return null; - } - } -} +
+// This file has been generated by the GUI designer. Do not modify.
+namespace Stetic
+{
+ internal class Gui
+ {
+ private static bool initialized;
+
+ internal static void Initialize (Gtk.Widget iconRenderer)
+ {
+ if ((Stetic.Gui.initialized == false)) {
+ Stetic.Gui.initialized = true;
+ }
+ }
+ }
+
+ internal class BinContainer
+ {
+ private Gtk.Widget child;
+
+ private Gtk.UIManager uimanager;
+
+ public static BinContainer Attach (Gtk.Bin bin)
+ {
+ BinContainer bc = new BinContainer ();
+ bin.SizeRequested += new Gtk.SizeRequestedHandler (bc.OnSizeRequested);
+ bin.SizeAllocated += new Gtk.SizeAllocatedHandler (bc.OnSizeAllocated);
+ bin.Added += new Gtk.AddedHandler (bc.OnAdded);
+ return bc;
+ }
+
+ private void OnSizeRequested (object sender, Gtk.SizeRequestedArgs args)
+ {
+ if ((this.child != null)) {
+ args.Requisition = this.child.SizeRequest ();
+ }
+ }
+
+ private void OnSizeAllocated (object sender, Gtk.SizeAllocatedArgs args)
+ {
+ if ((this.child != null)) {
+ this.child.Allocation = args.Allocation;
+ }
+ }
+
+ private void OnAdded (object sender, Gtk.AddedArgs args)
+ {
+ this.child = args.Widget;
+ }
+
+ public void SetUiManager (Gtk.UIManager uim)
+ {
+ this.uimanager = uim;
+ this.child.Realized += new System.EventHandler (this.OnRealized);
+ }
+
+ private void OnRealized (object sender, System.EventArgs args)
+ {
+ if ((this.uimanager != null)) {
+ Gtk.Widget w;
+ w = this.child.Toplevel;
+ if (((w != null)
+ && typeof(Gtk.Window).IsInstanceOfType (w))) {
+ ((Gtk.Window)(w)).AddAccelGroup (this.uimanager.AccelGroup);
+ this.uimanager = null;
+ }
+ }
+ }
+ }
+
+ internal class ActionGroups
+ {
+ public static Gtk.ActionGroup GetActionGroup (System.Type type)
+ {
+ return Stetic.ActionGroups.GetActionGroup (type.FullName);
+ }
+
+ public static Gtk.ActionGroup GetActionGroup (string name)
+ {
+ return null;
+ }
+ }
+}
diff --git a/main/src/addins/Web/Makefile.am b/main/src/addins/Web/Makefile.am new file mode 100644 index 0000000000..d9cd4205a7 --- /dev/null +++ b/main/src/addins/Web/Makefile.am @@ -0,0 +1,2 @@ +SUBDIRS = \
+ MonoDevelop.AspNet
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/EmptyXmlCompletionProvider.cs b/main/src/addins/Xml/Completion/EmptyXmlCompletionProvider.cs index 6a6ac12b52..8c6adceec0 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/EmptyXmlCompletionProvider.cs +++ b/main/src/addins/Xml/Completion/EmptyXmlCompletionProvider.cs @@ -26,13 +26,10 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; using MonoDevelop.Ide.CodeCompletion; -namespace MonoDevelop.XmlEditor.Completion +namespace MonoDevelop.Xml.Completion { - - public class EmptyXmlCompletionProvider : IXmlCompletionProvider { public CompletionDataList GetElementCompletionData () @@ -45,17 +42,17 @@ namespace MonoDevelop.XmlEditor.Completion return new CompletionDataList (); } - public CompletionDataList GetChildElementCompletionData (MonoDevelop.XmlEditor.XmlElementPath path) + public CompletionDataList GetChildElementCompletionData (XmlElementPath path) { return new CompletionDataList (); } - public CompletionDataList GetAttributeCompletionData (MonoDevelop.XmlEditor.XmlElementPath path) + public CompletionDataList GetAttributeCompletionData (XmlElementPath path) { return new CompletionDataList (); } - public CompletionDataList GetAttributeValueCompletionData (MonoDevelop.XmlEditor.XmlElementPath path, string name) + public CompletionDataList GetAttributeValueCompletionData (XmlElementPath path, string name) { return new CompletionDataList (); } diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/ILazilyLoadedProvider.cs b/main/src/addins/Xml/Completion/ILazilyLoadedProvider.cs index a8f4df9a05..8d6c8e6aee 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/ILazilyLoadedProvider.cs +++ b/main/src/addins/Xml/Completion/ILazilyLoadedProvider.cs @@ -28,7 +28,7 @@ using System; -namespace MonoDevelop.XmlEditor.Completion +namespace MonoDevelop.Xml.Completion { public interface ILazilyLoadedProvider { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/IXmlCompletionProvider.cs b/main/src/addins/Xml/Completion/IXmlCompletionProvider.cs index 97b4a9ec29..95251d5b73 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/IXmlCompletionProvider.cs +++ b/main/src/addins/Xml/Completion/IXmlCompletionProvider.cs @@ -28,8 +28,9 @@ using System; using MonoDevelop.Ide.CodeCompletion; +using MonoDevelop.Xml.Editor; -namespace MonoDevelop.XmlEditor.Completion +namespace MonoDevelop.Xml.Completion { public interface IXmlCompletionProvider { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/InferredXmlCompletionProvider.cs b/main/src/addins/Xml/Completion/InferredXmlCompletionProvider.cs index daea4da569..e1c361f76b 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/InferredXmlCompletionProvider.cs +++ b/main/src/addins/Xml/Completion/InferredXmlCompletionProvider.cs @@ -27,12 +27,10 @@ using System; using System.Collections.Generic; using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.Xml.StateEngine; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.XmlEditor.Completion +namespace MonoDevelop.Xml.Completion { - - public class InferredXmlCompletionProvider : IXmlCompletionProvider { Dictionary<string,HashSet<string>> elementCompletions = new Dictionary<string,HashSet<string>> (); @@ -40,11 +38,7 @@ namespace MonoDevelop.XmlEditor.Completion public DateTime TimeStampUtc { get; set; } public int ErrorCount { get; set; } - - public InferredXmlCompletionProvider () - { - } - + //TODO: respect namespaces public void Populate (XDocument doc) { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/LocalOnlyXmlResolver.cs b/main/src/addins/Xml/Completion/LocalOnlyXmlResolver.cs index 5df457f498..f5ddb3e5de 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/LocalOnlyXmlResolver.cs +++ b/main/src/addins/Xml/Completion/LocalOnlyXmlResolver.cs @@ -26,7 +26,7 @@ using System; using System.Xml; -namespace MonoDevelop.XmlEditor.Completion +namespace MonoDevelop.Xml.Completion { public class LocalOnlyXmlResolver : XmlUrlResolver { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/QualifiedName.cs b/main/src/addins/Xml/Completion/QualifiedName.cs index 5d59729f1c..58bbfcd3a9 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/QualifiedName.cs +++ b/main/src/addins/Xml/Completion/QualifiedName.cs @@ -24,7 +24,7 @@ using System;
using System.Xml;
-namespace MonoDevelop.XmlEditor
+namespace MonoDevelop.Xml.Completion
{
/// <summary>
/// An <see cref="XmlQualifiedName"/> with the namespace prefix.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs b/main/src/addins/Xml/Completion/XmlCompletionData.cs index f7d3dff4d3..c3c77f6e94 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlCompletionData.cs +++ b/main/src/addins/Xml/Completion/XmlCompletionData.cs @@ -22,19 +22,17 @@ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-using Gdk; -using Gtk; -using MonoDevelop.Ide.Gui; -using MonoDevelop.Ide.CodeCompletion;
-using System;
-using MonoDevelop.XmlEditor;
-using MonoDevelop.Core;
+using System; +using Gdk;
using Mono.TextEditor;
-using MonoDevelop.Ide.Gui.Content;
+using MonoDevelop.Core;
using MonoDevelop.Ide;
+using MonoDevelop.Ide.CodeCompletion;
using MonoDevelop.Ide.Commands;
+using MonoDevelop.Ide.Gui.Content;
+using MonoDevelop.Xml.Editor;
-namespace MonoDevelop.XmlEditor.Completion
+namespace MonoDevelop.Xml.Completion
{
/// <summary>
/// Holds the text for namespace, child element or attribute
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlCompletionDataList.cs b/main/src/addins/Xml/Completion/XmlCompletionDataList.cs index 0cbd8fa3d3..4cbf341bd3 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlCompletionDataList.cs +++ b/main/src/addins/Xml/Completion/XmlCompletionDataList.cs @@ -31,7 +31,7 @@ using System.Text; using System.Xml.Schema; using System.Xml; -namespace MonoDevelop.XmlEditor.Completion +namespace MonoDevelop.Xml.Completion { public class XmlCompletionDataList: CompletionDataList { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlElementPath.cs b/main/src/addins/Xml/Completion/XmlElementPath.cs index 50ca7a3163..61050fff3b 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlElementPath.cs +++ b/main/src/addins/Xml/Completion/XmlElementPath.cs @@ -21,10 +21,12 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using System;
-using MonoDevelop.XmlEditor.Completion;
+using System.Collections.Generic;
+using System.Text;
+using MonoDevelop.Xml.Completion;
+using MonoDevelop.Xml.Dom;
-namespace MonoDevelop.XmlEditor
+namespace MonoDevelop.Xml.Completion
{
/// <summary>
/// Represents the path to an xml element starting from the root of the
@@ -32,20 +34,49 @@ namespace MonoDevelop.XmlEditor /// </summary>
public class XmlElementPath
{
- QualifiedNameCollection elements = new QualifiedNameCollection();
+ readonly List<QualifiedName> elements;
XmlNamespacePrefixMap nsMap = new XmlNamespacePrefixMap ();
public XmlNamespacePrefixMap Namespaces { get { return nsMap; } }
-
- public XmlElementPath()
+
+ public XmlElementPath (params QualifiedName[] elements)
{
+ this.elements = new List<QualifiedName> (elements);
+ }
+
+ public static XmlElementPath Resolve (IList<XObject> path, string defaultNamespace = null, string defaultPrefix = null)
+ {
+ var elementPath = new XmlElementPath ();
+
+ if (!string.IsNullOrEmpty (defaultNamespace))
+ elementPath.Namespaces.AddPrefix (defaultNamespace, defaultPrefix);
+
+ foreach (var obj in path) {
+ var el = obj as XElement;
+ if (el == null)
+ continue;
+ foreach (var att in el.Attributes) {
+ if (!string.IsNullOrEmpty (att.Value)) {
+ if (att.Name.HasPrefix) {
+ if (att.Name.Prefix == "xmlns")
+ elementPath.Namespaces.AddPrefix (att.Value, att.Name.Name);
+ } else if (att.Name.Name == "xmlns") {
+ elementPath.Namespaces.AddPrefix (att.Value, "");
+ }
+ }
+ }
+ string ns = elementPath.Namespaces.GetNamespace (el.Name.HasPrefix? el.Name.Prefix : "");
+ var qn = new QualifiedName (el.Name.Name, ns, el.Name.Prefix ?? "");
+ elementPath.Elements.Add (qn);
+ }
+ return elementPath;
}
/// <summary>
/// Gets the elements specifying the path.
/// </summary>
/// <remarks>The order of the elements determines the path.</remarks>
- public QualifiedNameCollection Elements {
+ public List<QualifiedName> Elements {
get {
return elements;
}
@@ -77,10 +108,12 @@ namespace MonoDevelop.XmlEditor /// </summary>
public override bool Equals(object obj) {
- if (!(obj is XmlElementPath)) return false;
- if (this == obj) return true;
-
- XmlElementPath rhs = (XmlElementPath)obj;
+ var rhs = obj as XmlElementPath;
+ if (rhs == null)
+ return false;
+ if (this == obj)
+ return true;
+
if (elements.Count == rhs.elements.Count) {
for (int i = 0; i < elements.Count; ++i) {
@@ -105,7 +138,8 @@ namespace MonoDevelop.XmlEditor {
while (index >= 0) {
--index;
- elements.RemoveFirst();
+ if (elements.Count > 0)
+ elements.RemoveAt (0);
}
}
@@ -129,5 +163,14 @@ namespace MonoDevelop.XmlEditor }
return index;
}
+
+ public override string ToString ()
+ {
+ var sb = new StringBuilder ();
+ foreach (var el in elements) {
+ sb.AppendFormat ("/{0}[{1}]", el.Name, el.Namespace);
+ }
+ return sb.ToString ();
+ }
}
}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlMultipleClosingTagCompletionData.cs b/main/src/addins/Xml/Completion/XmlMultipleClosingTagCompletionData.cs index b3aafd8821..2397d663e4 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlMultipleClosingTagCompletionData.cs +++ b/main/src/addins/Xml/Completion/XmlMultipleClosingTagCompletionData.cs @@ -26,23 +26,19 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; using System.Text; using MonoDevelop.Core; using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.Ide.Gui.Content; -using MonoDevelop.Xml.StateEngine; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.XmlEditor.Completion +namespace MonoDevelop.Xml.Completion { - - public class XmlMultipleClosingTagCompletionData : CompletionData { string name, description; - XElement finalEl; - XElement[] intEls; + readonly XElement finalEl; + readonly XElement[] intEls; public XmlMultipleClosingTagCompletionData (XElement finalEl, XElement[] intermediateElements) { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlNamespacePrefixMap.cs b/main/src/addins/Xml/Completion/XmlNamespacePrefixMap.cs index fe71e384e9..1dc5e08606 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlNamespacePrefixMap.cs +++ b/main/src/addins/Xml/Completion/XmlNamespacePrefixMap.cs @@ -27,7 +27,7 @@ using System; using System.Collections.Generic; -namespace MonoDevelop.XmlEditor.Completion +namespace MonoDevelop.Xml.Completion { public class XmlNamespacePrefixMap { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs b/main/src/addins/Xml/Completion/XmlSchemaCompletionData.cs index 2f77e6d39c..6a52d9ffc3 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionData.cs +++ b/main/src/addins/Xml/Completion/XmlSchemaCompletionData.cs @@ -21,15 +21,15 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.Ide.CodeCompletion;
using System;
-using System.Collections;
using System.IO;
-using System.Text;
+using System.Linq;
using System.Xml;
using System.Xml.Schema;
+using MonoDevelop.Ide.CodeCompletion;
+using MonoDevelop.Xml.Editor;
-namespace MonoDevelop.XmlEditor.Completion
+namespace MonoDevelop.Xml.Completion
{
/// <summary>
/// Holds the completion (intellisense) data for an xml schema.
@@ -262,8 +262,10 @@ namespace MonoDevelop.XmlEditor.Completion var data = new XmlCompletionDataList (path.Namespaces);
var element = FindElement (path);
- if (element != null)
- GetChildElementCompletionData (data, element, path.Elements.LastPrefix);
+ if (element != null) {
+ var last = path.Elements.LastOrDefault ();
+ GetChildElementCompletionData (data, element, last != null ? last.Prefix : "");
+ }
return data;
}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionDataCollection.cs b/main/src/addins/Xml/Completion/XmlSchemaCompletionDataCollection.cs index 1035529793..5df7aa6a9f 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlSchemaCompletionDataCollection.cs +++ b/main/src/addins/Xml/Completion/XmlSchemaCompletionDataCollection.cs @@ -25,7 +25,7 @@ using MonoDevelop.Ide.CodeCompletion; using System;
using System.Collections.Generic;
-namespace MonoDevelop.XmlEditor.Completion
+namespace MonoDevelop.Xml.Completion
{
public interface IXmlSchemaCompletionDataCollection: IEnumerable<XmlSchemaCompletionData>
{
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs b/main/src/addins/Xml/Completion/XmlTagCompletionData.cs index a19782d6b4..befc32f068 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Completion/XmlTagCompletionData.cs +++ b/main/src/addins/Xml/Completion/XmlTagCompletionData.cs @@ -32,7 +32,7 @@ using MonoDevelop.Ide.CodeCompletion; using MonoDevelop.Ide.Gui.Content; using MonoDevelop.Core; -namespace MonoDevelop.XmlEditor.Completion +namespace MonoDevelop.Xml.Completion { diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/IAspNetLanguageBinding.cs b/main/src/addins/Xml/Dom/IAttributedXObject.cs index 844eaa3cd0..342c5da81f 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/MonoDevelop.AspNet/IAspNetLanguageBinding.cs +++ b/main/src/addins/Xml/Dom/IAttributedXObject.cs @@ -1,11 +1,11 @@ -// -// IAspNetLanguage.cs -// +// +// XDom.cs +// // Author: // Michael Hutchinson <mhutchinson@novell.com> -// +// // Copyright (C) 2008 Novell, Inc (http://www.novell.com) -// +// // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including @@ -13,10 +13,10 @@ // distribute, sublicense, and/or sell copies of the Software, and to // permit persons to whom the Software is furnished to do so, subject to // the following conditions: -// +// // The above copyright notice and this permission notice shall be // included in all copies or substantial portions of the Software. -// +// // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -26,15 +26,10 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; - -using MonoDevelop.Projects; - -namespace MonoDevelop.AspNet +namespace MonoDevelop.Xml.Dom { - - public interface IAspNetLanguageBinding : IDotNetLanguageBinding + public interface IAttributedXObject : INamedXObject { - string AspNetLanguageCode { get; } + XAttributeCollection Attributes { get; } } } diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcCommands.cs b/main/src/addins/Xml/Dom/INamedXObject.cs index 39f3b9351d..14792c5a92 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet.Mvc/AspMvcCommands.cs +++ b/main/src/addins/Xml/Dom/INamedXObject.cs @@ -1,41 +1,34 @@ -// -// AspMvcCommands.cs -// -// Author: -// Michael Hutchinson <mhutchinson@novell.com> -// -// Copyright (c) 2009 Novell, Inc. (http://www.novell.com) -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. +//
+// INamedXObject.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
-using System; - -namespace MonoDevelop.AspNet.Mvc +namespace MonoDevelop.Xml.Dom { - - - public enum AspMvcCommands + public interface INamedXObject { - AddView, - AddController,
- GoToView,
- GoToController,
- AddViewFromController + XName Name { get; set; } + bool IsNamed { get; } } } diff --git a/main/src/addins/Xml/Dom/XAttribute.cs b/main/src/addins/Xml/Dom/XAttribute.cs new file mode 100644 index 0000000000..f34f456727 --- /dev/null +++ b/main/src/addins/Xml/Dom/XAttribute.cs @@ -0,0 +1,74 @@ +//
+// XAttribute.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public class XAttribute : XObject, INamedXObject + { + + public XAttribute (TextLocation start, XName name, string value) : base (start) + { + this.Name = name; + this.Value = value; + } + + public XAttribute (TextLocation start) : base (start) + { + } + + public XName Name { get; set; } + + public override bool IsComplete { get { return base.IsComplete && IsNamed; } } + public bool IsNamed { get { return Name.IsValid; } } + + public string Value { get; set; } + public XAttribute NextSibling { get; internal protected set; } + + protected XAttribute () {} + protected override XObject NewInstance () { return new XAttribute (); } + + protected override void ShallowCopyFrom (XObject copyFrom) + { + base.ShallowCopyFrom (copyFrom); + var copyFromAtt = (XAttribute) copyFrom; + //immutable types + Name = copyFromAtt.Name; + Value = copyFromAtt.Value; + } + + public override string ToString () + { + return string.Format ( + "[XAttribute Name='{0}' Location='{1}' Value='{2}']", Name.FullName, Region, Value); + } + + public override string FriendlyPathRepresentation { + get { return "@" + Name.FullName; } + } + } +} diff --git a/main/src/addins/Xml/Dom/XAttributeCollection.cs b/main/src/addins/Xml/Dom/XAttributeCollection.cs new file mode 100644 index 0000000000..0a906f0ec9 --- /dev/null +++ b/main/src/addins/Xml/Dom/XAttributeCollection.cs @@ -0,0 +1,122 @@ +//
+// XAttributeCollection.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System; +using System.Collections.Generic; + +namespace MonoDevelop.Xml.Dom +{ + public class XAttributeCollection : IEnumerable<XAttribute> + { + readonly XObject parent; + XAttribute firstChild; + XAttribute lastChild; + + public XAttributeCollection (XObject parent) + { + this.parent = parent; + } + + public Dictionary<XName, XAttribute> ToDictionary () + { + var dict = new Dictionary<XName,XAttribute> (); + XAttribute current = firstChild; + while (current != null) { + dict.Add (current.Name, current); + current = current.NextSibling; + } + return dict; + } + + public XAttribute this [XName name] { + get { + XAttribute current = firstChild; + while (current != null) { + if (current.Name == name) + return current; + current = current.NextSibling; + } + return null; + } + } + + public XAttribute this [int index] { + get { + XAttribute current = firstChild; + while (current != null) { + if (index == 0) + return current; + index--; + current = current.NextSibling; + } + throw new IndexOutOfRangeException (); + } + } + + public XAttribute Get (XName name, bool ignoreCase) + { + XAttribute current = firstChild; + while (current != null) { + if (XName.Equals (current.Name, name, ignoreCase)) + return current; + current = current.NextSibling; + } + return null; + } + + public string GetValue (XName name, bool ignoreCase) + { + var att = Get (name, ignoreCase); + return att != null? att.Value : null; + } + + public void AddAttribute (XAttribute newChild) + { + newChild.Parent = parent; + if (lastChild != null) { + lastChild.NextSibling = newChild; + } + if (firstChild == null) + firstChild = newChild; + lastChild = newChild; + } + + public IEnumerator<XAttribute> GetEnumerator () + { + XAttribute current = firstChild; + while (current != null) { + yield return current; + current = current.NextSibling; + } + } + + System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator () + { + IEnumerator<XAttribute> en = GetEnumerator (); + return en; + } + } +} diff --git a/main/src/addins/Xml/Dom/XCData.cs b/main/src/addins/Xml/Dom/XCData.cs new file mode 100644 index 0000000000..001f80521b --- /dev/null +++ b/main/src/addins/Xml/Dom/XCData.cs @@ -0,0 +1,44 @@ +//
+// XCData.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory.TypeSystem; +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public class XCData : XNode + { + public XCData (TextLocation start) : base (start) {} + public XCData (DomRegion region) : base (region) {} + + protected XCData () {} + protected override XObject NewInstance () { return new XCData (); } + + public override string FriendlyPathRepresentation { + get { return "<![CDATA[ ]]>"; } + } + } +} diff --git a/main/src/addins/Xml/Dom/XClosingTag.cs b/main/src/addins/Xml/Dom/XClosingTag.cs new file mode 100644 index 0000000000..c134dea6a4 --- /dev/null +++ b/main/src/addins/Xml/Dom/XClosingTag.cs @@ -0,0 +1,60 @@ +//
+// XClosingTag.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public class XClosingTag : XNode, INamedXObject + { + public XClosingTag (TextLocation start) : base (start) {} + + public XClosingTag (XName name, TextLocation start) : base (start) + { + this.Name = name; + } + + public XName Name { get; set; } + + public override bool IsComplete { get { return base.IsComplete && IsNamed; } } + public bool IsNamed { get { return Name.IsValid; } } + + protected XClosingTag () {} + protected override XObject NewInstance () { return new XClosingTag (); } + + protected override void ShallowCopyFrom (XObject copyFrom) + { + base.ShallowCopyFrom (copyFrom); + var copyFromAtt = (XClosingTag) copyFrom; + //immutable types + Name = copyFromAtt.Name; + } + + public override string FriendlyPathRepresentation { + get { return "/" + Name.FullName; } + } + } +} diff --git a/main/src/addins/Xml/Dom/XComment.cs b/main/src/addins/Xml/Dom/XComment.cs new file mode 100644 index 0000000000..57231b974f --- /dev/null +++ b/main/src/addins/Xml/Dom/XComment.cs @@ -0,0 +1,44 @@ +//
+// XComment.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory.TypeSystem; +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public class XComment : XNode + { + public XComment (TextLocation start) : base (start) {} + public XComment (DomRegion region) : base (region) {} + + protected XComment () {} + protected override XObject NewInstance () { return new XComment (); } + + public override string FriendlyPathRepresentation { + get { return "<!-- -->"; } + } + } +} diff --git a/main/src/addins/Xml/Dom/XContainer.cs b/main/src/addins/Xml/Dom/XContainer.cs new file mode 100644 index 0000000000..997def1ad0 --- /dev/null +++ b/main/src/addins/Xml/Dom/XContainer.cs @@ -0,0 +1,83 @@ +//
+// XContainer.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System.Collections.Generic; +using System.Text; +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public abstract class XContainer : XNode + { + protected XContainer (TextLocation start) : base (start) { } + + XNode firstNode; + XNode lastChild; + public XNode FirstChild { get { return firstNode; } } + public XNode LastChild { get { return lastChild; } } + + public IEnumerable<XNode> Nodes { + get { + XNode next = firstNode; + while (next != null) { + yield return next; + next = next.NextSibling; + } + } + } + + public IEnumerable<XNode> AllDescendentNodes { + get { + foreach (XNode n in Nodes) { + yield return n; + XContainer c = n as XContainer; + if (c != null) + foreach (XNode n2 in c.AllDescendentNodes) + yield return n2; + } + } + } + + public virtual void AddChildNode (XNode newChild) + { + newChild.Parent = this; + if (lastChild != null) + lastChild.NextSibling = newChild; + if (firstNode == null) + firstNode = newChild; + lastChild = newChild; + } + + protected XContainer () {} + + public override void BuildTreeString (StringBuilder builder, int indentLevel) + { + base.BuildTreeString (builder, indentLevel); + foreach (XNode child in Nodes) + child.BuildTreeString (builder, indentLevel + 1); + } + } +} diff --git a/main/src/addins/Xml/Dom/XDocType.cs b/main/src/addins/Xml/Dom/XDocType.cs new file mode 100644 index 0000000000..ff29a31322 --- /dev/null +++ b/main/src/addins/Xml/Dom/XDocType.cs @@ -0,0 +1,76 @@ +//
+// XDocType.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory.TypeSystem; +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public class XDocType : XNode, INamedXObject + { + public XDocType (TextLocation start) : base (start) {} + public XDocType (DomRegion region) : base (region) {} + + protected XDocType () {} + protected override XObject NewInstance () { return new XDocType (); } + + public XName RootElement { get; set; } + public string PublicFpi { get; set; } + public bool IsPublic { get { return PublicFpi != null; } } + public DomRegion InternalDeclarationRegion { get; set; } + public string Uri { get; set; } + + public override string FriendlyPathRepresentation { + get { return "<!DOCTYPE>"; } + } + + protected override void ShallowCopyFrom (XObject copyFrom) + { + base.ShallowCopyFrom (copyFrom); + XDocType copyFromDT = (XDocType) copyFrom; + //immutable types + RootElement = copyFromDT.RootElement; + PublicFpi = copyFromDT.PublicFpi; + InternalDeclarationRegion = copyFromDT.InternalDeclarationRegion; + Uri = copyFromDT.Uri; + } + + XName INamedXObject.Name { + get { return RootElement; } + set { RootElement = value; } + } + + bool INamedXObject.IsNamed { + get { return RootElement.IsValid; } + } + + public override string ToString () + { + return string.Format("[DocType: RootElement='{0}', PublicFpi='{1}', InternalDeclarationRegion='{2}', Uri='{3}']", + RootElement.FullName, PublicFpi, InternalDeclarationRegion, Uri); + } + } +} diff --git a/main/src/addins/Xml/Dom/XDocument.cs b/main/src/addins/Xml/Dom/XDocument.cs new file mode 100644 index 0000000000..dc6cfafccc --- /dev/null +++ b/main/src/addins/Xml/Dom/XDocument.cs @@ -0,0 +1,51 @@ +//
+// XDocument.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System; +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public class XDocument : XContainer + { + public XElement RootElement { get; private set; } + + public XDocument () : base (new TextLocation (1, 1)) {} + protected override XObject NewInstance () { return new XDocument (); } + + public override string FriendlyPathRepresentation { + get { throw new InvalidOperationException ("Should not display document in path bar."); } + } + + public override void AddChildNode (XNode newChild) + { + if (RootElement == null && newChild is XElement) + RootElement = (XElement) newChild; + base.AddChildNode (newChild); + } + + } +} diff --git a/main/src/addins/Xml/Dom/XElement.cs b/main/src/addins/Xml/Dom/XElement.cs new file mode 100644 index 0000000000..a49a2b81d4 --- /dev/null +++ b/main/src/addins/Xml/Dom/XElement.cs @@ -0,0 +1,144 @@ +//
+// XElement.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System.Collections.Generic; +using System.Text; +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public class XElement : XContainer, IAttributedXObject + { + XNode closingTag; + readonly XAttributeCollection attributes; + + public XElement (TextLocation start) : base (start) + { + attributes = new XAttributeCollection (this); + } + + public XElement (TextLocation start, XName name) : this (start) + { + this.Name = name; + } + + public XNode ClosingTag { get { return closingTag; } } + public bool IsClosed { get { return closingTag != null; } } + public bool IsSelfClosing { get { return closingTag == this; } } + + public void Close (XNode closingTag) + { + this.closingTag = closingTag; + if (closingTag is XClosingTag) + closingTag.Parent = this; + } + + public XName Name { get; set; } + + public override bool IsComplete { get { return base.IsComplete && IsNamed; } } + public bool IsNamed { get { return Name.IsValid; } } + + public XAttributeCollection Attributes { + get { return attributes; } + } + + protected XElement () + { + attributes = new XAttributeCollection (this); + } + + protected override XObject NewInstance () { return new XElement (); } + + protected override void ShallowCopyFrom (XObject copyFrom) + { + base.ShallowCopyFrom (copyFrom); + var copyFromEl = (XElement) copyFrom; + Name = copyFromEl.Name; //XName is immutable value type + //include attributes + foreach (var a in copyFromEl.Attributes) + Attributes.AddAttribute ((XAttribute) a.ShallowCopy ()); + } + + public override string ToString () + { + return string.Format ("[XElement Name='{0}' Location='{1}'", Name.FullName, Region); + } + + public override void BuildTreeString (StringBuilder builder, int indentLevel) + { + builder.Append (' ', indentLevel * 2); + builder.AppendFormat ("[XElement Name='{0}' Location='{1}' Children=", Name.FullName, Region); + builder.AppendLine (); + + foreach (XNode child in Nodes) + child.BuildTreeString (builder, indentLevel + 1); + + builder.Append (' ', indentLevel * 2); + builder.Append ("Attributes="); + builder.AppendLine (); + + foreach (XAttribute att in Attributes) + att.BuildTreeString (builder, indentLevel + 1); + + if (closingTag is XClosingTag) { + builder.AppendLine ("ClosingTag="); + closingTag.BuildTreeString (builder, indentLevel + 1); + } else if (closingTag == null) + builder.AppendLine ("ClosingTag=(null)"); + else + builder.AppendLine ("ClosingTag=(Self)"); + + builder.Append (' ', indentLevel * 2); + builder.AppendLine ("]"); + } + + public override string FriendlyPathRepresentation { + get { return Name.FullName; } + } + + public IEnumerable<XElement> Elements { + get { + XElement el; + foreach (XNode node in Nodes) { + el = node as XElement; + if (el != null) + yield return el; + } + } + } + + public IEnumerable<XElement> AllDescendentElements { + get { + foreach (XElement el in Elements) { + yield return el; + foreach (XElement el2 in el.AllDescendentElements) + yield return el2; + } + } + } + + } +} diff --git a/main/src/addins/Xml/Dom/XName.cs b/main/src/addins/Xml/Dom/XName.cs new file mode 100644 index 0000000000..0fb09cc8f1 --- /dev/null +++ b/main/src/addins/Xml/Dom/XName.cs @@ -0,0 +1,103 @@ +//
+// XName.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System; + +namespace MonoDevelop.Xml.Dom +{ + + public struct XName : IEquatable<XName> + { + readonly string prefix; + readonly string name; + + public XName (string prefix, string name) + { + this.prefix = prefix; + this.name = name; + } + + public XName (string name) + { + prefix = null; + this.name = name; + } + + public string Prefix { get { return prefix; } } + public string Name { get { return name; } } + public string FullName { get { return prefix == null? name : prefix + ':' + name; } } + + public bool IsValid { get { return !string.IsNullOrEmpty (name); } } + public bool HasPrefix { get { return !string.IsNullOrEmpty (prefix); } } + + #region Equality + + public static bool operator == (XName x, XName y) + { + return x.Equals (y); + } + + public static bool operator != (XName x, XName y) + { + return !x.Equals (y); + } + + public bool Equals (XName other) + { + return prefix == other.prefix && name == other.name; + } + + public override bool Equals (object obj) + { + if (!(obj is XName)) + return false; + return Equals ((XName) obj); + } + + public override int GetHashCode () + { + int hash = 0; + if (prefix != null) hash += prefix.GetHashCode (); + if (name != null) hash += name.GetHashCode (); + return hash; + } + + #endregion + + public static bool Equals (XName a, XName b, bool ignoreCase) + { + var comp = ignoreCase? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; + return string.Equals (a.prefix, b.prefix, comp) && string.Equals (a.name, b.name, comp); + }
+
+ public override string ToString ()
+ {
+ if (!HasPrefix)
+ return name;
+ return prefix + ":" + name;
+ } + } +} diff --git a/main/src/addins/Xml/Dom/XNode.cs b/main/src/addins/Xml/Dom/XNode.cs new file mode 100644 index 0000000000..d98b02b761 --- /dev/null +++ b/main/src/addins/Xml/Dom/XNode.cs @@ -0,0 +1,40 @@ +//
+// XNode.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory.TypeSystem; +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public abstract class XNode : XObject + { + protected XNode (TextLocation start) : base (start) {} + protected XNode (DomRegion region) : base (region) {} + protected XNode () {} + + public XNode NextSibling { get; internal protected set; } + } +} diff --git a/main/src/addins/Xml/Dom/XObject.cs b/main/src/addins/Xml/Dom/XObject.cs new file mode 100644 index 0000000000..f999256eea --- /dev/null +++ b/main/src/addins/Xml/Dom/XObject.cs @@ -0,0 +1,110 @@ +//
+// XObject.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using System.Collections.Generic; +using System.Text; +using ICSharpCode.NRefactory.TypeSystem; +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public abstract class XObject + { + DomRegion region; + + protected XObject (TextLocation start) + { + region = new DomRegion (start, TextLocation.Empty); + } + + protected XObject (DomRegion region) + { + this.region = region; + } + + public XObject Parent { get; internal protected set; } + + public IEnumerable<XNode> Parents { + get { + XNode next = Parent as XNode; + while (next != null) { + yield return next; + next = next.Parent as XNode; + } + } + } + + public DomRegion Region { + get { return region; } + } + + public void End (TextLocation endLocation) + { + region = new DomRegion (region.Begin, endLocation); + } + + public bool IsEnded { + get { return region.End > region.Begin; } + } + + public virtual bool IsComplete { + get { return region.End > region.Begin; } + } + + public virtual void BuildTreeString (StringBuilder builder, int indentLevel) + { + builder.Append (' ', indentLevel * 2); + builder.AppendFormat (ToString ()); + builder.AppendLine (); + } + + public override string ToString () + { + return string.Format ("[{0} Location='{1}']", GetType (), Region); + } + + //creates a parallel tree -- should NOT retain references into old tree + public XObject ShallowCopy () + { + XObject copy = NewInstance (); + copy.ShallowCopyFrom (this); + return copy; + } + + protected abstract XObject NewInstance (); + + protected virtual void ShallowCopyFrom (XObject copyFrom) + { + region = copyFrom.region; //immutable value type + } + + protected XObject () {} + + public virtual string FriendlyPathRepresentation { + get { return GetType ().ToString (); } + } + } +} diff --git a/main/src/addins/Xml/Dom/XProcessingInstruction.cs b/main/src/addins/Xml/Dom/XProcessingInstruction.cs new file mode 100644 index 0000000000..9089897116 --- /dev/null +++ b/main/src/addins/Xml/Dom/XProcessingInstruction.cs @@ -0,0 +1,44 @@ +//
+// XProcessingInstruction.cs
+//
+// Author:
+// Michael Hutchinson <mhutchinson@novell.com>
+//
+// Copyright (C) 2008 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+ +using ICSharpCode.NRefactory.TypeSystem; +using ICSharpCode.NRefactory; + +namespace MonoDevelop.Xml.Dom +{ + public class XProcessingInstruction : XNode + { + public XProcessingInstruction (TextLocation start) : base (start) {} + public XProcessingInstruction (DomRegion region) : base (region) {} + + protected XProcessingInstruction () {} + protected override XObject NewInstance () { return new XProcessingInstruction (); } + + public override string FriendlyPathRepresentation { + get { return "<? ?>"; } + } + } +} diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs b/main/src/addins/Xml/Editor/BaseXmlEditorExtension.cs index c3db708a2c..4a1f05cd07 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/BaseXmlEditorExtension.cs +++ b/main/src/addins/Xml/Editor/BaseXmlEditorExtension.cs @@ -30,35 +30,37 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using System.Linq; + +using Gtk; + +using ICSharpCode.NRefactory; +using ICSharpCode.NRefactory.TypeSystem; +using Mono.TextEditor; +using MonoDevelop.Components; using MonoDevelop.Core; using MonoDevelop.DesignerSupport; -using MonoDevelop.Ide.Gui.Content; -using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.XmlEditor.Completion; using MonoDevelop.Ide; -using MonoDevelop.Components; -using Gtk; -using System.Linq; -using System.Text; -using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.Ide.CodeCompletion; +using MonoDevelop.Ide.Gui.Content; using MonoDevelop.Ide.TypeSystem; -using ICSharpCode.NRefactory; -using Mono.TextEditor; using MonoDevelop.Projects; +using MonoDevelop.Xml.Completion; +using MonoDevelop.Xml.Dom; +using MonoDevelop.Xml.Parser; -namespace MonoDevelop.XmlEditor.Gui +namespace MonoDevelop.Xml.Editor { public abstract class BaseXmlEditorExtension : CompletionTextEditorExtension, IPathedDocument, IOutlinedDocument { - DocumentStateTracker<Parser> tracker; + DocumentStateTracker<XmlParser> tracker; ParsedDocument lastCU; XDocType docType; MonoDevelop.Ide.Gui.Components.PadTreeView outlineTreeView; - Gtk.TreeStore outlineTreeStore; + TreeStore outlineTreeStore; List<DotNetProject> ownerProjects; #region Setup and teardown @@ -69,26 +71,27 @@ namespace MonoDevelop.XmlEditor.Gui return doc.GetContent<BaseXmlEditorExtension> () == null; } - protected virtual RootState CreateRootState () + protected virtual XmlRootState CreateRootState () { - return new XmlFreeState (); + return new XmlRootState (); } - + public override void Initialize () { base.Initialize (); + UpdateOwnerProjects (); - Parser parser = new Parser (CreateRootState (), false); - tracker = new DocumentStateTracker<Parser> (parser, Editor); - Document.DocumentParsed += delegate { - lastCU = Document.ParsedDocument; - OnParsedDocumentUpdated (); - }; + + var parser = new XmlParser (CreateRootState (), false); + tracker = new DocumentStateTracker<XmlParser> (parser, Editor); + + Document.DocumentParsed += UpdateParsedDocument; if (Document.ParsedDocument != null) { lastCU = Document.ParsedDocument; OnParsedDocumentUpdated (); } + if (IdeApp.Workspace != null) { IdeApp.Workspace.FileAddedToProject += HandleProjectChanged; IdeApp.Workspace.FileRemovedFromProject += HandleProjectChanged; @@ -97,7 +100,8 @@ namespace MonoDevelop.XmlEditor.Gui void HandleProjectChanged (object sender, ProjectFileEventArgs e) { - UpdateOwnerProjects (); + if (e.Any (f => f.ProjectFile.FilePath == Document.FileName)) + UpdateOwnerProjects (); } void UpdateOwnerProjects () @@ -123,12 +127,21 @@ namespace MonoDevelop.XmlEditor.Gui UpdatePath (); } + void UpdateParsedDocument (object sender, EventArgs args) + { + lastCU = Document.ParsedDocument; + OnParsedDocumentUpdated (); + } + public override void Dispose () { if (tracker != null) { tracker = null; base.Dispose (); } + + Document.DocumentParsed -= UpdateParsedDocument; + if (IdeApp.Workspace != null) { IdeApp.Workspace.FileAddedToProject -= HandleProjectChanged; IdeApp.Workspace.FileRemovedFromProject -= HandleProjectChanged; @@ -182,19 +195,18 @@ namespace MonoDevelop.XmlEditor.Gui } } - protected DocumentStateTracker<Parser> Tracker { + protected DocumentStateTracker<XmlParser> Tracker { get { return tracker; } } protected string GetBufferText (DomRegion region) { - MonoDevelop.Ide.Gui.Content.ITextBuffer buf = Buffer; + ITextBuffer buf = Buffer; int start = buf.GetPositionFromLineColumn (region.BeginLine, region.BeginColumn); int end = buf.GetPositionFromLineColumn (region.EndLine, region.EndColumn); if (end > start && start >= 0) return buf.GetText (start, end); - else - return null; + return null; } #endregion @@ -270,10 +282,10 @@ namespace MonoDevelop.XmlEditor.Gui protected virtual ICompletionDataList HandleCodeCompletion ( CodeCompletionContext completionContext, bool forced, ref int triggerWordLength) { - IEditableTextBuffer buf = this.EditableBuffer; + IEditableTextBuffer buf = EditableBuffer; // completionChar may be a space even if the current char isn't, when ctrl-space is fired t - TextLocation currentLocation = new TextLocation (completionContext.TriggerLine, completionContext.TriggerLineOffset); + var currentLocation = new TextLocation (completionContext.TriggerLine, completionContext.TriggerLineOffset); char currentChar = completionContext.TriggerOffset < 1? ' ' : buf.GetCharAt (completionContext.TriggerOffset - 1); char previousChar = completionContext.TriggerOffset < 2? ' ' : buf.GetCharAt (completionContext.TriggerOffset - 2); @@ -282,7 +294,7 @@ namespace MonoDevelop.XmlEditor.Gui tracker.Engine.CurrentStateLength, previousChar, currentChar, forced); //closing tag completion - if (tracker.Engine.CurrentState is XmlFreeState && currentChar == '>')
+ if (tracker.Engine.CurrentState is XmlRootState && currentChar == '>')
return ClosingTagCompletion (buf, currentLocation); // Auto insert '>' when '/' is typed inside tag state (for quick tag closing) @@ -293,10 +305,10 @@ namespace MonoDevelop.XmlEditor.Gui } //entity completion - if (currentChar == '&' && (tracker.Engine.CurrentState is XmlFreeState || + if (currentChar == '&' && (tracker.Engine.CurrentState is XmlRootState || tracker.Engine.CurrentState is XmlAttributeValueState)) { - CompletionDataList list = new CompletionDataList (); + var list = new CompletionDataList (); //TODO: need to tweak semicolon insertion list.Add ("apos").Description = "'"; @@ -377,22 +389,22 @@ namespace MonoDevelop.XmlEditor.Gui } } -// if (Tracker.Engine.CurrentState is XmlFreeState) { +// if (Tracker.Engine.CurrentState is XmlRootState) { // if (line < 3) { // cp.Add ("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"); // } //element completion - if (currentChar == '<' && tracker.Engine.CurrentState is XmlFreeState || + if (currentChar == '<' && tracker.Engine.CurrentState is XmlRootState || (tracker.Engine.CurrentState is XmlNameState && forced)) { - CompletionDataList list = new CompletionDataList (); + var list = new CompletionDataList (); GetElementCompletions (list); AddCloseTag (list, Tracker.Engine.Nodes); return list.Count > 0? list : null; } - if (forced && Tracker.Engine.CurrentState is XmlFreeState) { - CompletionDataList list = new CompletionDataList (); + if (forced && Tracker.Engine.CurrentState is XmlRootState) { + var list = new CompletionDataList (); MonoDevelop.Ide.CodeTemplates.CodeTemplateService.AddCompletionDataForFileName (Document.Name, list); return list.Count > 0? list : null; } @@ -403,7 +415,7 @@ namespace MonoDevelop.XmlEditor.Gui protected virtual ICompletionDataList ClosingTagCompletion (IEditableTextBuffer buf, TextLocation currentLocation)
{
//get name of current node in document that's being ended
- XElement el = tracker.Engine.Nodes.Peek () as XElement;
+ var el = tracker.Engine.Nodes.Peek () as XElement;
if (el != null && el.Region.End >= currentLocation && !el.IsClosed && el.IsNamed) {
string tag = String.Concat ("</", el.Name.FullName, ">");
if (XmlEditorOptions.AutoCompleteElements) {
@@ -424,7 +436,7 @@ namespace MonoDevelop.XmlEditor.Gui return null;
} else {
- CompletionDataList cp = new CompletionDataList ();
+ var cp = new CompletionDataList ();
cp.Add (new XmlTagCompletionData (tag, 0, true));
return cp;
}
@@ -501,7 +513,7 @@ namespace MonoDevelop.XmlEditor.Gui skip--; continue; } - XElement el = obj as XElement; + var el = obj as XElement; if (el == null || !el.IsNamed) yield break; yield return el.Name; @@ -515,7 +527,7 @@ namespace MonoDevelop.XmlEditor.Gui skip--; continue; } - XElement el = obj as XElement; + var el = obj as XElement; return el != null? el.Name : new XName (); } return new XName (); @@ -536,9 +548,9 @@ namespace MonoDevelop.XmlEditor.Gui protected static void AddCloseTag (CompletionDataList completionList, NodeStack stack) { //FIXME: search forward to see if tag's closed already - List<XElement> elements = new List<XElement> (); + var elements = new List<XElement> (); foreach (XObject ob in stack) { - XElement el = ob as XElement; + var el = ob as XElement; if (el == null) continue; if (!el.IsNamed || el.IsClosed) @@ -573,7 +585,7 @@ namespace MonoDevelop.XmlEditor.Gui #region IPathedDocument PathEntry[] currentPath; - bool pathUpdateQueued = false; + bool pathUpdateQueued; public override void CursorPositionChanged () { @@ -601,14 +613,14 @@ namespace MonoDevelop.XmlEditor.Gui void SelectPath (int depth, bool contents) { //clone the parser and put it in tree mode - Parser treeParser = this.tracker.Engine.GetTreeParser (); + XmlParser treeParser = tracker.Engine.GetTreeParser (); //locate the node - List<XObject> path = new List<XObject> (treeParser.Nodes); + var path = new List<XObject> (treeParser.Nodes); //note: list is backwards, and we want ignore the root XDocument XObject ob = path [path.Count - (depth + 2)]; - XNode node = ob as XNode; - XElement el = node as XElement; + var node = ob as XNode; + var el = node as XElement; //hoist this as it may not be cheap to evaluate (P/Invoke), but won't be changing during the loop int textLen = Editor.Length; @@ -633,22 +645,21 @@ namespace MonoDevelop.XmlEditor.Gui } if (el == null) { - MonoDevelop.Core.LoggingService.LogDebug ("Selecting {0}", ob.Region); + LoggingService.LogDebug ("Selecting {0}", ob.Region); EditorSelect (ob.Region); } else if (el.IsClosed) { - MonoDevelop.Core.LoggingService.LogDebug ("Selecting {0}-{1}", + LoggingService.LogDebug ("Selecting {0}-{1}", el.Region.Begin, el.ClosingTag.Region.End); - if (el.IsSelfClosing) - contents = false; + contents &= !el.IsSelfClosing; //pick out the locations, with some offsets to account for the parsing model var s = contents? el.Region.End : el.Region.Begin; var e = contents? el.ClosingTag.Region.Begin : el.ClosingTag.Region.End; EditorSelect (new DomRegion (s, e)); } else { - MonoDevelop.Core.LoggingService.LogDebug ("No end tag found for selection"); + LoggingService.LogDebug ("No end tag found for selection"); } } @@ -664,7 +675,7 @@ namespace MonoDevelop.XmlEditor.Gui public event EventHandler<DocumentPathChangedEventArgs> PathChanged; - public Gtk.Widget CreatePathWidget (int index) + public Widget CreatePathWidget (int index) { if (ownerProjects.Count > 1 && index == 0) { var window = new DropDownBoxListWindow (new DataProvider (this)); @@ -675,8 +686,8 @@ namespace MonoDevelop.XmlEditor.Gui } else { if (ownerProjects.Count > 1) index--; - Menu menu = new Menu (); - MenuItem mi = new MenuItem (GettextCatalog.GetString ("Select")); + var menu = new Menu (); + var mi = new MenuItem (GettextCatalog.GetString ("Select")); mi.Activated += delegate { SelectPath (index); }; @@ -747,10 +758,10 @@ namespace MonoDevelop.XmlEditor.Gui protected XName GetCompleteName () { - Debug.Assert (this.tracker.Engine.CurrentState is XmlNameState); + Debug.Assert (tracker.Engine.CurrentState is XmlNameState); - int end = this.tracker.Engine.Position; - int start = end - this.tracker.Engine.CurrentStateLength; + int end = tracker.Engine.Position; + int start = end - tracker.Engine.CurrentStateLength; int mid = -1; int limit = Math.Min (Editor.Length, end + 35); @@ -770,9 +781,8 @@ namespace MonoDevelop.XmlEditor.Gui if (mid > 0 && end > mid + 1) { return new XName (Editor.GetTextBetween (start, mid), Editor.GetTextBetween (mid + 1, end)); - } else { - return new XName (Editor.GetTextBetween (start, end)); } + return new XName (Editor.GetTextBetween (start, end)); } /* @@ -796,18 +806,18 @@ namespace MonoDevelop.XmlEditor.Gui protected List<XObject> GetCurrentPath () { - if (this.tracker == null) + if (tracker == null) return null; - this.tracker.UpdateEngine (); - List<XObject> path = new List<XObject> (this.tracker.Engine.Nodes); + tracker.UpdateEngine (); + var path = new List<XObject> (tracker.Engine.Nodes); //remove the root XDocument path.RemoveAt (path.Count - 1); //complete incomplete XName if present - if (this.tracker.Engine.CurrentState is XmlNameState && path[0] is INamedXObject) { - path[0] = (XObject) path[0].ShallowCopy (); + if (tracker.Engine.CurrentState is XmlNameState && path[0] is INamedXObject) { + path [0] = path [0].ShallowCopy (); XName completeName = GetCompleteName (); ((INamedXObject)path[0]).Name = completeName; } @@ -845,17 +855,17 @@ namespace MonoDevelop.XmlEditor.Gui #region IOutlinedDocument - bool refreshingOutline = false; + bool refreshingOutline; - Gtk.Widget IOutlinedDocument.GetOutlineWidget () + Widget IOutlinedDocument.GetOutlineWidget () { if (outlineTreeView != null) return outlineTreeView; - outlineTreeStore = new Gtk.TreeStore (typeof (object)); + outlineTreeStore = new TreeStore (typeof (object)); outlineTreeView = new MonoDevelop.Ide.Gui.Components.PadTreeView (outlineTreeStore); - System.Reflection.PropertyInfo prop = typeof (Gtk.TreeView).GetProperty ("EnableTreeLines"); + System.Reflection.PropertyInfo prop = typeof (TreeView).GetProperty ("EnableTreeLines"); if (prop != null) prop.SetValue (outlineTreeView, true, null); @@ -866,7 +876,7 @@ namespace MonoDevelop.XmlEditor.Gui outlineTreeView.HeadersVisible = false; outlineTreeView.Selection.Changed += delegate { - Gtk.TreeIter iter; + TreeIter iter; if (!outlineTreeView.Selection.GetSelected (out iter)) return; OutlineSelectionChanged (outlineTreeStore.GetValue (iter, 0)); @@ -874,13 +884,13 @@ namespace MonoDevelop.XmlEditor.Gui refillOutlineStore (); - var sw = new MonoDevelop.Components.CompactScrolledWindow (); + var sw = new CompactScrolledWindow (); sw.Add (outlineTreeView); sw.ShowAll (); return sw; } - IEnumerable<Gtk.Widget> IOutlinedDocument.GetToolbarWidgets () + IEnumerable<Widget> IOutlinedDocument.GetToolbarWidgets () { return null; } @@ -889,7 +899,7 @@ namespace MonoDevelop.XmlEditor.Gui { outlineTree.TextRenderer.Xpad = 0; outlineTree.TextRenderer.Ypad = 0; - outlineTree.AppendColumn ("Node", outlineTree.TextRenderer, new Gtk.TreeCellDataFunc (outlineTreeDataFunc)); + outlineTree.AppendColumn ("Node", outlineTree.TextRenderer, new TreeCellDataFunc (outlineTreeDataFunc)); } protected virtual void OutlineSelectionChanged (object selection) @@ -912,12 +922,12 @@ namespace MonoDevelop.XmlEditor.Gui return false; } - protected virtual void RefillOutlineStore (ParsedDocument doc, Gtk.TreeStore store) + protected virtual void RefillOutlineStore (ParsedDocument doc, TreeStore store) { XDocument xdoc = ((XmlParsedDocument)doc).XDocument; if (xdoc == null) return; - BuildTreeChildren (store, Gtk.TreeIter.Zero, xdoc); + BuildTreeChildren (store, TreeIter.Zero, xdoc); } void refillOutlineStore () @@ -945,7 +955,7 @@ namespace MonoDevelop.XmlEditor.Gui if (outlineTreeView == null) return; - Gtk.ScrolledWindow w = (Gtk.ScrolledWindow) outlineTreeView.Parent; + var w = (ScrolledWindow) outlineTreeView.Parent; w.Destroy (); outlineTreeView.Destroy (); outlineTreeStore.Dispose (); @@ -953,25 +963,25 @@ namespace MonoDevelop.XmlEditor.Gui outlineTreeView = null; } - static void BuildTreeChildren (Gtk.TreeStore store, Gtk.TreeIter parent, XContainer p) + static void BuildTreeChildren (TreeStore store, TreeIter parent, XContainer p) { foreach (XNode n in p.Nodes) { - Gtk.TreeIter childIter; - if (!parent.Equals (Gtk.TreeIter.Zero)) + TreeIter childIter; + if (!parent.Equals (TreeIter.Zero)) childIter = store.AppendValues (parent, n); else childIter = store.AppendValues (n); - XContainer c = n as XContainer; + var c = n as XContainer; if (c != null && c.FirstChild != null) BuildTreeChildren (store, childIter, c); } } - void outlineTreeDataFunc (Gtk.TreeViewColumn column, Gtk.CellRenderer cell, Gtk.TreeModel model, Gtk.TreeIter iter) + void outlineTreeDataFunc (TreeViewColumn column, CellRenderer cell, TreeModel model, TreeIter iter) { - Gtk.CellRendererText txtRenderer = (Gtk.CellRendererText) cell; - XNode n = (XNode) model.GetValue (iter, 0); + var txtRenderer = (CellRendererText) cell; + var n = (XNode) model.GetValue (iter, 0); txtRenderer.Text = n.FriendlyPathRepresentation; } @@ -979,7 +989,7 @@ namespace MonoDevelop.XmlEditor.Gui { var region = n.Region; - XElement el = n as XElement; + var el = n as XElement; if (el != null && el.IsClosed && el.ClosingTag.Region.End > region.End) { region = new DomRegion (region.Begin, el.ClosingTag.Region.End); } diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/Commands.cs b/main/src/addins/Xml/Editor/XmlCommands.cs index 55b48218b9..15ec848d8f 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/Commands.cs +++ b/main/src/addins/Xml/Editor/XmlCommands.cs @@ -21,22 +21,15 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.Components.Commands;
-using MonoDevelop.Ide.Gui; -using System; - -namespace MonoDevelop.XmlEditor +namespace MonoDevelop.Xml.Editor { - public enum Commands + public enum XmlCommands { CreateSchema, Validate, AssignStylesheet, OpenStylesheet, RunXslTransform, - OpenXPathQueryPad, - RemoveXPathHighlighting, - GoToSchemaDefinition,
- ContextualMainMenu + GoToSchemaDefinition } } diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlDocumentParser.cs b/main/src/addins/Xml/Editor/XmlDocumentParser.cs index a18a2b57f9..5f17fead35 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlDocumentParser.cs +++ b/main/src/addins/Xml/Editor/XmlDocumentParser.cs @@ -27,24 +27,21 @@ // using System; -using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Xml; -using MonoDevelop.Xml.StateEngine; using MonoDevelop.Ide.TypeSystem; +using MonoDevelop.Xml.Parser; -namespace MonoDevelop.XmlEditor +namespace MonoDevelop.Xml.Editor { - public class XmlDocumentParser : TypeSystemParser + class XmlDocumentParser : TypeSystemParser { public override ParsedDocument Parse (bool storeAst, string fileName, TextReader content, MonoDevelop.Projects.Project project = null) { - XmlParsedDocument doc = new XmlParsedDocument (fileName); + var doc = new XmlParsedDocument (fileName); doc.Flags |= ParsedDocumentFlags.NonSerializable; try { - Parser xmlParser = new Parser (new XmlFreeState (), true); + var xmlParser = new XmlParser (new XmlRootState (), true); xmlParser.Parse (content); doc.XDocument = xmlParser.Nodes.GetRoot (); doc.Add (xmlParser.Errors); diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorOptions.cs b/main/src/addins/Xml/Editor/XmlEditorOptions.cs index 5f82bda54f..cf914ad809 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorOptions.cs +++ b/main/src/addins/Xml/Editor/XmlEditorOptions.cs @@ -21,48 +21,47 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.Core; -using System;
+using System; using System.Collections.Generic;
using System.Diagnostics;
-using System.IO;
-using System.Reflection;
-using System.Xml;
-namespace MonoDevelop.XmlEditor
+using MonoDevelop.Core;
+
+namespace MonoDevelop.Xml.Editor
{
/// <summary>
/// The Xml Editor options.
/// </summary>
public static class XmlEditorOptions
{
- internal static readonly string OptionsProperty = "XmlEditor.AddIn.Options";
- internal static readonly string ShowSchemaAnnotationPropertyName = "ShowSchemaAnnotation";
- internal static readonly string AutoCompleteElementsPropertyName = "AutoCompleteElements";
- internal static readonly string AutoInsertFragmentsPropertyName = "AutoInsertFragment";
- internal static readonly string AssociationPrefix = "Association"; + static readonly string OptionsProperty = "XmlEditor.AddIn.Options";
+ static readonly string ShowSchemaAnnotationPropertyName = "ShowSchemaAnnotation";
+ static readonly string AutoCompleteElementsPropertyName = "AutoCompleteElements";
+ static readonly string AutoInsertFragmentsPropertyName = "AutoInsertFragment";
+ static readonly string AssociationPrefix = "Association"; - static Properties properties;
+ static readonly Properties properties;
+ static bool showSchemaAnnotation, autoCompleteElements, autoInsertFragments;
static XmlEditorOptions ()
{ properties = PropertyService.Get (OptionsProperty, new Properties());
Properties.PropertyChanged += HandlePropertiesPropertyChanged;
- ShowSchemaAnnotation = properties.Get<bool> (ShowSchemaAnnotationPropertyName, false);
- AutoCompleteElements = properties.Get<bool> (AutoCompleteElementsPropertyName, false);
- AutoInsertFragments = properties.Get<bool> (AutoInsertFragmentsPropertyName, false);
+ showSchemaAnnotation = properties.Get<bool> (ShowSchemaAnnotationPropertyName, false);
+ autoCompleteElements = properties.Get<bool> (AutoCompleteElementsPropertyName, false);
+ autoInsertFragments = properties.Get<bool> (AutoInsertFragmentsPropertyName, false);
}
static void HandlePropertiesPropertyChanged (object sender, PropertyChangedEventArgs e)
{
if (e.Key == ShowSchemaAnnotationPropertyName) {
- ShowSchemaAnnotation = (bool)e.NewValue;
+ showSchemaAnnotation = (bool)e.NewValue;
} else if (e.Key == AutoCompleteElementsPropertyName) {
- AutoCompleteElements = (bool)e.NewValue;
+ autoCompleteElements = (bool)e.NewValue;
} else if (e.Key == AutoInsertFragmentsPropertyName) {
- AutoInsertFragments = (bool)e.NewValue;
- } else if (XmlFileAssociationChanged != null && e.Key.StartsWith (AssociationPrefix)) {
+ autoInsertFragments = (bool)e.NewValue;
+ } else if (XmlFileAssociationChanged != null && e.Key.StartsWith (AssociationPrefix, StringComparison.Ordinal)) {
var ext = e.Key.Substring (AssociationPrefix.Length);
var assoc = e.NewValue as XmlFileAssociation;
XmlFileAssociationChanged (null, new XmlFileAssociationChangedEventArgs (ext, assoc));
@@ -101,7 +100,7 @@ namespace MonoDevelop.XmlEditor //for some reason we get an out of sync error unless we copy the list
var keys = new List<string> (Properties.Keys);
foreach (string key in keys)
- if (key.StartsWith (AssociationPrefix))
+ if (key.StartsWith (AssociationPrefix, StringComparison.Ordinal))
yield return key.Substring (AssociationPrefix.Length);
}
@@ -109,7 +108,7 @@ namespace MonoDevelop.XmlEditor {
var keys = new List<string> (Properties.Keys);
foreach (string key in keys) {
- if (key.StartsWith (AssociationPrefix)) {
+ if (key.StartsWith (AssociationPrefix, StringComparison.Ordinal)) {
var assoc = Properties.Get<XmlFileAssociation> (key);
//ignore bad data in properties
if (assoc != null)
@@ -118,14 +117,45 @@ namespace MonoDevelop.XmlEditor }
}
- public static bool ShowSchemaAnnotation { get; private set; }
- public static bool AutoCompleteElements { get; private set; }
+ public static bool ShowSchemaAnnotation {
+ get {
+ return showSchemaAnnotation;
+ }
+ set {
+ if (showSchemaAnnotation == value)
+ return;
+ showSchemaAnnotation = value;
+ properties.Set (ShowSchemaAnnotationPropertyName, value);
+ }
+ }
+
+ public static bool AutoCompleteElements {
+ get {
+ return autoCompleteElements;
+ }
+ set {
+ if (autoCompleteElements == value)
+ return;
+ autoCompleteElements = value;
+ properties.Set (AutoCompleteElementsPropertyName, value);
+ }
+ }
/// <summary>
/// Automatically insert fragments such as ="" when committing an attribute and > when pressing / in a tag.
/// Off by default since it forces the user to alter typing behaviour.
/// </summary>
- public static bool AutoInsertFragments { get; private set; }
+ public static bool AutoInsertFragments {
+ get {
+ return autoInsertFragments;
+ }
+ set {
+ if (autoInsertFragments == value)
+ return;
+ autoInsertFragments = value;
+ properties.Set (AutoInsertFragmentsPropertyName, value);
+ }
+ }
#endregion
}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanel.cs b/main/src/addins/Xml/Editor/XmlEditorOptionsPanel.cs index a187eed129..e9e6cc337a 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanel.cs +++ b/main/src/addins/Xml/Editor/XmlEditorOptionsPanel.cs @@ -27,12 +27,12 @@ using Gtk; using MonoDevelop.Ide.Gui.Dialogs;
using MonoDevelop.Core;
-namespace MonoDevelop.XmlEditor.Gui
+namespace MonoDevelop.Xml.Editor
{
/// <summary>
/// Configuration settings for the xml editor.
/// </summary>
- public class XmlEditorOptionsPanel : OptionsPanel
+ class XmlEditorOptionsPanel : OptionsPanel
{ XmlEditorOptionsPanelWidget widget; @@ -47,9 +47,9 @@ namespace MonoDevelop.XmlEditor.Gui public override void ApplyChanges () { - XmlEditorOptions.Properties.Set (XmlEditorOptions.AutoCompleteElementsPropertyName, widget.AutoCompleteElements);
- XmlEditorOptions.Properties.Set (XmlEditorOptions.AutoInsertFragmentsPropertyName, widget.AutoInsertFragments);
- XmlEditorOptions.Properties.Set (XmlEditorOptions.ShowSchemaAnnotationPropertyName, widget.ShowSchemaAnnotation);
+ XmlEditorOptions.AutoCompleteElements = widget.AutoCompleteElements;
+ XmlEditorOptions.AutoInsertFragments = widget.AutoInsertFragments;
+ XmlEditorOptions.ShowSchemaAnnotation = widget.ShowSchemaAnnotation;
} }
}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanelWidget.cs b/main/src/addins/Xml/Editor/XmlEditorOptionsPanelWidget.cs index f0d17d2a33..d36e113c14 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlEditorOptionsPanelWidget.cs +++ b/main/src/addins/Xml/Editor/XmlEditorOptionsPanelWidget.cs @@ -26,18 +26,29 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; +using Gtk; +using MonoDevelop.Core; -namespace MonoDevelop.XmlEditor.Gui +namespace MonoDevelop.Xml.Editor { - - - public partial class XmlEditorOptionsPanelWidget : Gtk.Bin + class XmlEditorOptionsPanelWidget : VBox { - - public XmlEditorOptionsPanelWidget() + readonly CheckButton autoCompleteElementsCheck, autoAddPunctuationCheck, showSchemaAnnotationCheck; + + public XmlEditorOptionsPanelWidget () { - this.Build(); + Spacing = 6; + + autoCompleteElementsCheck = new CheckButton (GettextCatalog.GetString ("Automatically insert closing tags")); + autoAddPunctuationCheck = new CheckButton (GettextCatalog.GetString ("Automatically insert punctuation (=\"\", />, etc.)")); + showSchemaAnnotationCheck = new CheckButton (GettextCatalog.GetString ("Show schema annotation")); + + PackStart (autoCompleteElementsCheck, false, false, 0); + PackStart (autoAddPunctuationCheck, false, false, 0); + + //PackStart (showSchemaAnnotationCheck, false, false, 0); + + ShowAll (); } public bool AutoCompleteElements { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorService.cs b/main/src/addins/Xml/Editor/XmlEditorService.cs index 71311ee95e..513b2e7458 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlEditorService.cs +++ b/main/src/addins/Xml/Editor/XmlEditorService.cs @@ -21,29 +21,25 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE. -using MonoDevelop.Components.Commands; -using MonoDevelop.Core; -using MonoDevelop.Ide; -using MonoDevelop.Ide.Gui; -using MonoDevelop.Ide.Gui.Content; -using MonoDevelop.Ide.Tasks;
-using MonoDevelop.XmlEditor.Completion;
-using MonoDevelop.Projects;
- -using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; -using System.Text; +using System.Text;
using System.Xml;
using System.Xml.Schema;
-using System.Xml.XPath;
-using System.Xml.Xsl;
-using MonoDevelop.Components;
-using Gtk;
+using System.Xml.XPath; +using System.Xml.Xsl; + +using MonoDevelop.Components; using MonoDevelop.Components.Extensions; +using MonoDevelop.Core;
+using MonoDevelop.Ide;
+using MonoDevelop.Ide.Gui;
+using MonoDevelop.Ide.Tasks;
+using MonoDevelop.Projects;
+using MonoDevelop.Xml.Completion; -namespace MonoDevelop.XmlEditor +namespace MonoDevelop.Xml.Editor { static class XmlEditorService { @@ -118,7 +114,7 @@ namespace MonoDevelop.XmlEditor public static XmlTextWriter CreateXmlTextWriter (Document doc, TextWriter textWriter) { XmlTextWriter xmlWriter = new XmlTextWriter(textWriter);
- xmlWriter.Formatting = Formatting.Indented;
+ xmlWriter.Formatting = System.Xml.Formatting.Indented;
if (doc.Editor.TabsToSpaces) {
xmlWriter.Indentation = doc.Editor.Options.TabSize;
xmlWriter.IndentChar = ' ';
@@ -131,7 +127,7 @@ namespace MonoDevelop.XmlEditor public static XmlTextWriter CreateXmlTextWriter (Document doc)
{
- return CreateXmlTextWriter (doc, new EncodedStringWriter (System.Text.Encoding.UTF8));
+ return CreateXmlTextWriter (doc, new EncodedStringWriter (Encoding.UTF8));
}
#endregion @@ -424,6 +420,22 @@ namespace MonoDevelop.XmlEditor return null;
}
- #endregion + #endregion
+
+ class EncodedStringWriter : StringWriter
+ {
+ readonly Encoding encoding;
+
+ public EncodedStringWriter(Encoding encoding)
+ {
+ this.encoding = encoding;
+ }
+
+ public override Encoding Encoding {
+ get {
+ return encoding;
+ }
+ }
+ } } } diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlFileAssociation.cs b/main/src/addins/Xml/Editor/XmlFileAssociation.cs index 5230becb67..92b9745974 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlFileAssociation.cs +++ b/main/src/addins/Xml/Editor/XmlFileAssociation.cs @@ -24,7 +24,7 @@ using MonoDevelop.Core;
using System.Xml;
-namespace MonoDevelop.XmlEditor
+namespace MonoDevelop.Xml.Editor
{
/// <summary>Represents an file extension that can be handled by the editor.</summary>
public class XmlFileAssociation : ICustomXmlSerializer
@@ -34,7 +34,7 @@ namespace MonoDevelop.XmlEditor static readonly string namespaceAttributeName = "namespace";
static readonly string prefixAttributeName = "prefix";
- //deseriialization ctor
+ //deserialization ctor
public XmlFileAssociation ()
{
}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlFileAssociationManager.cs b/main/src/addins/Xml/Editor/XmlFileAssociationManager.cs index e491d024ca..646f3f1935 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlFileAssociationManager.cs +++ b/main/src/addins/Xml/Editor/XmlFileAssociationManager.cs @@ -22,11 +22,10 @@ // THE SOFTWARE. using Mono.Addins; -using MonoDevelop.Core; using System; using System.Collections.Generic; -namespace MonoDevelop.XmlEditor +namespace MonoDevelop.Xml.Editor { static class XmlFileAssociationManager { @@ -36,7 +35,7 @@ namespace MonoDevelop.XmlEditor { map = new Dictionary<string,XmlFileAssociation> (StringComparer.OrdinalIgnoreCase); - foreach (XmlFileAssociationNode node in AddinManager.GetExtensionNodes ("/MonoDevelop/XmlEditor/XmlFileAssociations")) { + foreach (XmlFileAssociationNode node in AddinManager.GetExtensionNodes ("/MonoDevelop/Xml/Editor/XmlFileAssociations")) { var assoc = node.GetAssociation (); map[assoc.Extension] = assoc; } diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlFileAssociationNode.cs b/main/src/addins/Xml/Editor/XmlFileAssociationNode.cs index ecd82bafca..d24737d79f 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlFileAssociationNode.cs +++ b/main/src/addins/Xml/Editor/XmlFileAssociationNode.cs @@ -24,7 +24,7 @@ using System; using Mono.Addins; -namespace MonoDevelop.XmlEditor +namespace MonoDevelop.Xml.Editor { class XmlFileAssociationNode : ExtensionNode {
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlParsedDocument.cs b/main/src/addins/Xml/Editor/XmlParsedDocument.cs index a818998f2c..bd6bc32cbf 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlParsedDocument.cs +++ b/main/src/addins/Xml/Editor/XmlParsedDocument.cs @@ -30,8 +30,9 @@ using System; using System.Collections.Generic; using MonoDevelop.Ide.TypeSystem; using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.Xml.Editor { public class XmlParsedDocument : DefaultParsedDocument { @@ -39,7 +40,7 @@ namespace MonoDevelop.Xml.StateEngine { } - public MonoDevelop.Xml.StateEngine.XDocument XDocument { get; set; } + public XDocument XDocument { get; set; } public override IEnumerable<FoldingRegion> Foldings { get { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlSchemaManager.cs b/main/src/addins/Xml/Editor/XmlSchemaManager.cs index 550735b760..279737ccf9 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlSchemaManager.cs +++ b/main/src/addins/Xml/Editor/XmlSchemaManager.cs @@ -21,15 +21,13 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
-using MonoDevelop.Core;
using System;
+using System.Collections.Generic;
using System.IO;
-using System.Collections.Generic; -using System.Reflection;
-using System.Xml;
-using MonoDevelop.XmlEditor.Completion;
+using MonoDevelop.Core; +using MonoDevelop.Xml.Completion;
-namespace MonoDevelop.XmlEditor
+namespace MonoDevelop.Xml.Editor
{
// Keeps track of all the schemas that the Xml Editor is aware of.
public static class XmlSchemaManager
@@ -67,7 +65,7 @@ namespace MonoDevelop.XmlEditor get { if (builtinSchemas == null) {
builtinSchemas = new XmlSchemaCompletionDataCollection ();
- var nodes = Mono.Addins.AddinManager.GetExtensionNodes ("/MonoDevelop/XmlEditor/XmlSchemas");
+ var nodes = Mono.Addins.AddinManager.GetExtensionNodes ("/MonoDevelop/Xml/Editor/XmlSchemas");
foreach (XmlSchemaNode node in nodes)
LoadSchema (builtinSchemas, node.File, true);
}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlSchemaNode.cs b/main/src/addins/Xml/Editor/XmlSchemaNode.cs index 0e3dfe47d8..dd2d4c26b8 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlSchemaNode.cs +++ b/main/src/addins/Xml/Editor/XmlSchemaNode.cs @@ -28,7 +28,7 @@ using System; using Mono.Addins; using MonoDevelop.Core; -namespace MonoDevelop.XmlEditor +namespace MonoDevelop.Xml.Editor { class XmlSchemaNode : ExtensionNode { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlSchemasPanel.cs b/main/src/addins/Xml/Editor/XmlSchemasPanel.cs index 9d4cbbbe42..5adda7a6b0 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlSchemasPanel.cs +++ b/main/src/addins/Xml/Editor/XmlSchemasPanel.cs @@ -23,13 +23,11 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
using System;
-using System.Collections.Generic;
using Gtk;
using MonoDevelop.Ide.Gui.Dialogs;
-using MonoDevelop.XmlEditor;
-namespace MonoDevelop.XmlEditor.Gui
+namespace MonoDevelop.Xml.Editor
{
/// <summary>
/// Shows the xml schemas that MonoDevelop knows about.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs b/main/src/addins/Xml/Editor/XmlSchemasPanelWidget.cs index 6808152048..f7d2824baf 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.Gui/XmlSchemasPanelWidget.cs +++ b/main/src/addins/Xml/Editor/XmlSchemasPanelWidget.cs @@ -34,14 +34,11 @@ using System.Collections.Generic; using Gtk; using MonoDevelop.Core; using MonoDevelop.Ide; -using MonoDevelop.XmlEditor; -using MonoDevelop.XmlEditor.Completion; +using MonoDevelop.Xml.Completion; -namespace MonoDevelop.XmlEditor.Gui +namespace MonoDevelop.Xml.Editor { - - - public partial class XmlSchemasPanelWidget : Bin + class XmlSchemasPanelWidget : VBox { ListStore registeredSchemasStore; ListStore defaultAssociationsStore; @@ -49,10 +46,14 @@ namespace MonoDevelop.XmlEditor.Gui List<XmlSchemaCompletionData> addedSchemas = new List<XmlSchemaCompletionData> (); List<XmlSchemaCompletionData> removedSchemas = new List<XmlSchemaCompletionData> (); List<string> removedExtensions = new List<string> (); + + TreeView registeredSchemasView, defaultAssociationsView; + Button registeredSchemasAddButton, registeredSchemasRemoveButton; + Button defaultAssociationsAddButton, defaultAssociationsRemoveButton; public XmlSchemasPanelWidget () { - this.Build (); + Build (); //set up tree view for default schemas var textRenderer = new CellRendererText (); @@ -73,7 +74,7 @@ namespace MonoDevelop.XmlEditor.Gui }); registeredSchemasStore.SetSortFunc (0, - (model, a, b) => string.Compare (GetSchema (a).NamespaceUri, GetSchema (b).NamespaceUri)); + (model, a, b) => string.Compare (GetSchema (a).NamespaceUri, GetSchema (b).NamespaceUri, StringComparison.Ordinal)); registeredSchemasStore.SetSortColumnId (0, SortType.Ascending); @@ -120,9 +121,7 @@ namespace MonoDevelop.XmlEditor.Gui //editing handlers extensionTextRenderer.Edited += handleExtensionSet; - comboEditor.Edited += delegate (object sender, EditedArgs args) { - setAssocValAndMarkChanged (args.Path, COL_NS, args.NewText ?? ""); - }; + comboEditor.Edited += (sender, args) => setAssocValAndMarkChanged (args.Path, COL_NS, args.NewText ?? ""); prefixTextRenderer.Edited += delegate (object sender, EditedArgs args) { foreach (char c in args.NewText) if (!char.IsLetterOrDigit (c)) @@ -139,6 +138,48 @@ namespace MonoDevelop.XmlEditor.Gui }; defaultAssociationsRemoveButton.Sensitive = false; } + + void Build () + { + Spacing = 6; + + registeredSchemasView = new TreeView (); + defaultAssociationsView = new TreeView (); + + registeredSchemasAddButton = new Button (Stock.Add); + registeredSchemasRemoveButton = new Button (Stock.Remove); + defaultAssociationsAddButton = new Button (Stock.Add); + defaultAssociationsRemoveButton = new Button (Stock.Remove); + + registeredSchemasAddButton.Clicked += addRegisteredSchema; + registeredSchemasRemoveButton.Clicked += removeRegisteredSchema; + defaultAssociationsAddButton.Clicked += addFileAssociation; + defaultAssociationsRemoveButton.Clicked += removeFileAssocation; + + PackStart (new Label { Markup = GettextCatalog.GetString ("<b>Registered Schema</b>"), Xalign = 0 }, false, false, 0); + var schemasBox = new HBox (false, 6); + var schemaScroll = new ScrolledWindow { Child = registeredSchemasView, ShadowType = ShadowType.In }; + schemasBox.PackStart (schemaScroll, true, true, 0); + var schemasButtonBox = new VBox (false, 6); + schemasButtonBox.PackStart (registeredSchemasAddButton, false, false, 0); + schemasButtonBox.PackStart (registeredSchemasRemoveButton, false, false, 0); + schemasBox.PackStart (schemasButtonBox, false, false, 0); + PackStart (schemasBox, true, true, 0); + + PackStart (new Label (" "), false, false, 0); + + PackStart (new Label { Markup = GettextCatalog.GetString ("<b>Default File Associations</b>"), Xalign = 0 }, false, false, 0); + var assocBox = new HBox (false, 6); + var assocScroll = new ScrolledWindow { Child = defaultAssociationsView, ShadowType = ShadowType.In }; + assocBox.PackStart (assocScroll, true, true, 0); + var assocButtonBox = new VBox (false, 6); + assocButtonBox.PackStart (defaultAssociationsAddButton, false, false, 0); + assocButtonBox.PackStart (defaultAssociationsRemoveButton, false, false, 0); + assocBox.PackStart (assocButtonBox, false, false, 0); + PackStart (assocBox, true, true, 0); + + ShowAll (); + } XmlSchemaCompletionData GetSchema (TreeIter iter) { @@ -280,7 +321,7 @@ namespace MonoDevelop.XmlEditor.Gui } } - protected virtual void addFileAssociation (object sender, System.EventArgs e) + protected virtual void addFileAssociation (object sender, EventArgs e) { bool foundExisting = false; TreeIter newIter = TreeIter.Zero; @@ -299,7 +340,7 @@ namespace MonoDevelop.XmlEditor.Gui true); } - protected virtual void removeFileAssocation (object sender, System.EventArgs e) + protected virtual void removeFileAssocation (object sender, EventArgs e) { TreeIter iter; if (!defaultAssociationsView.Selection.GetSelected (out iter)) @@ -356,7 +397,7 @@ namespace MonoDevelop.XmlEditor.Gui } } - protected virtual void removeRegisteredSchema (object sender, System.EventArgs e) + protected virtual void removeRegisteredSchema (object sender, EventArgs e) { XmlSchemaCompletionData schema = GetSelectedSchema (); if (schema == null) @@ -365,7 +406,7 @@ namespace MonoDevelop.XmlEditor.Gui RemoveRegisteredSchema (schema); } - protected virtual void addRegisteredSchema (object sender, System.EventArgs args) + protected virtual void addRegisteredSchema (object sender, EventArgs args) { string fileName = XmlEditorService.BrowseForSchemaFile (); if (string.IsNullOrEmpty (fileName)) diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlTextEditorExtension.cs b/main/src/addins/Xml/Editor/XmlTextEditorExtension.cs index 51317c5625..a9dcf1d6b3 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor/XmlTextEditorExtension.cs +++ b/main/src/addins/Xml/Editor/XmlTextEditorExtension.cs @@ -28,25 +28,25 @@ // THE SOFTWARE. using System; -using System.Linq; using System.Collections.Generic; using System.Xml; using System.Xml.Schema; -using MonoDevelop.Core; +using Mono.TextEditor; + using MonoDevelop.Components.Commands; +using MonoDevelop.Core; +using MonoDevelop.Ide; using MonoDevelop.Ide.CodeCompletion; using MonoDevelop.Ide.Gui.Content; -using MonoDevelop.XmlEditor.Completion; -using MonoDevelop.Xml.StateEngine; using MonoDevelop.Ide.Tasks; -using MonoDevelop.Ide; -using MonoDevelop.Ide.CodeFormatting; -using Mono.TextEditor; +using MonoDevelop.Xml.Completion; +using MonoDevelop.Xml.Dom; +using MonoDevelop.Xml.Parser; -namespace MonoDevelop.XmlEditor +namespace MonoDevelop.Xml.Editor { - public class XmlTextEditorExtension : MonoDevelop.XmlEditor.Gui.BaseXmlEditorExtension + public class XmlTextEditorExtension : BaseXmlEditorExtension { const string TextXmlMimeType = "text/xml"; const string ApplicationXmlMimeType = "application/xml"; @@ -99,35 +99,11 @@ namespace MonoDevelop.XmlEditor XmlElementPath GetElementPath () { - return ConvertPath (GetCurrentPath ()); - } - - XmlElementPath ConvertPath (IList<XObject> path) - { - var elementPath = new XmlElementPath (); - - if (defaultSchemaCompletionData != null && !string.IsNullOrEmpty (defaultSchemaCompletionData.NamespaceUri)) - elementPath.Namespaces.AddPrefix (defaultSchemaCompletionData.NamespaceUri, defaultNamespacePrefix ?? ""); - - foreach (var obj in path) { - var el = obj as XElement; - if (el == null) - continue; - foreach (var att in el.Attributes) { - if (!string.IsNullOrEmpty (att.Value)) { - if (att.Name.HasPrefix) { - if (att.Name.Prefix == "xmlns") - elementPath.Namespaces.AddPrefix (att.Value, att.Name.Name); - } else if (att.Name.Name == "xmlns") { - elementPath.Namespaces.AddPrefix (att.Value, ""); - } - } - } - string ns = elementPath.Namespaces.GetNamespace (el.Name.HasPrefix? el.Name.Prefix : ""); - QualifiedName qn = new QualifiedName (el.Name.Name, ns, el.Name.Prefix ?? String.Empty); - elementPath.Elements.Add (qn); - } - return elementPath; + return XmlElementPath.Resolve ( + GetCurrentPath (), + defaultSchemaCompletionData != null? defaultSchemaCompletionData.NamespaceUri : null, + defaultNamespacePrefix ?? "" + ); } protected override void GetElementCompletions (CompletionDataList list) @@ -521,7 +497,7 @@ namespace MonoDevelop.XmlEditor //FIXME: implement } - [CommandHandler (Commands.CreateSchema)] + [CommandHandler (XmlCommands.CreateSchema)] public void CreateSchemaCommand () { try {
@@ -548,26 +524,26 @@ namespace MonoDevelop.XmlEditor } } - [CommandHandler (Commands.OpenStylesheet)] + [CommandHandler (XmlCommands.OpenStylesheet)] public void OpenStylesheetCommand () {
if (!string.IsNullOrEmpty (stylesheetFileName)) {
try {
- IdeApp.Workbench.OpenDocument (stylesheetFileName);
+ IdeApp.Workbench.OpenDocument (stylesheetFileName, Document.Project);
} catch (Exception ex) { - MonoDevelop.Core.LoggingService.LogError ("Could not open document.", ex);
+ LoggingService.LogError ("Could not open document.", ex);
MessageService.ShowException (ex, "Could not open document.");
}
}
} - [CommandUpdateHandler (Commands.OpenStylesheet)] + [CommandUpdateHandler (XmlCommands.OpenStylesheet)] public void UpdateOpenStylesheetCommand (CommandInfo info) { info.Enabled = !string.IsNullOrEmpty (stylesheetFileName); } - [CommandHandler (Commands.GoToSchemaDefinition)] + [CommandHandler (XmlCommands.GoToSchemaDefinition)] public void GoToSchemaDefinitionCommand () { try { @@ -580,6 +556,7 @@ namespace MonoDevelop.XmlEditor string schemaFileName = schemaObject.SourceUri.Replace ("file:/", String.Empty); IdeApp.Workbench.OpenDocument ( schemaFileName, + Document.Project, Math.Max (1, schemaObject.LineNumber), Math.Max (1, schemaObject.LinePosition)); } @@ -589,7 +566,7 @@ namespace MonoDevelop.XmlEditor } } - [CommandHandler (Commands.Validate)] + [CommandHandler (XmlCommands.Validate)] public void ValidateCommand () { TaskService.Errors.Clear (); @@ -601,7 +578,7 @@ namespace MonoDevelop.XmlEditor } } - [CommandHandler (Commands.AssignStylesheet)] + [CommandHandler (XmlCommands.AssignStylesheet)] public void AssignStylesheetCommand () { // Prompt user for filename.
@@ -610,7 +587,7 @@ namespace MonoDevelop.XmlEditor stylesheetFileName = fileName; } - [CommandHandler (Commands.RunXslTransform)] + [CommandHandler (XmlCommands.RunXslTransform)] public void RunXslTransformCommand () { if (string.IsNullOrEmpty (stylesheetFileName)) {
@@ -667,10 +644,10 @@ namespace MonoDevelop.XmlEditor } #endregion - + void QueueInference () { - XmlParsedDocument doc = this.CU as XmlParsedDocument; + var doc = CU as XmlParsedDocument; if (defaultSchemaCompletionData != null || doc == null || doc.XDocument == null || inferenceQueued) return; if (inferredCompletionData == null diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/MonoXmlPolicy.xml b/main/src/addins/Xml/Formatting/MonoXmlPolicy.xml index c85c95249f..c85c95249f 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/MonoXmlPolicy.xml +++ b/main/src/addins/Xml/Formatting/MonoXmlPolicy.xml diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormatter.cs b/main/src/addins/Xml/Formatting/XmlFormatter.cs index 04dec619c5..04dec619c5 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormatter.cs +++ b/main/src/addins/Xml/Formatting/XmlFormatter.cs diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormatterWriter.cs b/main/src/addins/Xml/Formatting/XmlFormatterWriter.cs index 99e35d33d5..270747ae03 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormatterWriter.cs +++ b/main/src/addins/Xml/Formatting/XmlFormatterWriter.cs @@ -35,8 +35,8 @@ using System.IO; using System.Text; using System.Xml; -using MonoDevelop.Xml.StateEngine; // for XmlChar using MonoDevelop.Ide.Gui.Content; +using MonoDevelop.Xml.Parser; namespace MonoDevelop.Xml.Formatting { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormattingPolicy.cs b/main/src/addins/Xml/Formatting/XmlFormattingPolicy.cs index 0ffc56dea7..0ffc56dea7 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormattingPolicy.cs +++ b/main/src/addins/Xml/Formatting/XmlFormattingPolicy.cs diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormattingPolicyPanel.cs b/main/src/addins/Xml/Formatting/XmlFormattingPolicyPanel.cs index 93405e5ac1..93405e5ac1 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormattingPolicyPanel.cs +++ b/main/src/addins/Xml/Formatting/XmlFormattingPolicyPanel.cs diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormattingPolicyPanelWidget.cs b/main/src/addins/Xml/Formatting/XmlFormattingPolicyPanelWidget.cs index c995471f1f..b637b0d3d2 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.Formatting/XmlFormattingPolicyPanelWidget.cs +++ b/main/src/addins/Xml/Formatting/XmlFormattingPolicyPanelWidget.cs @@ -31,15 +31,14 @@ using MonoDevelop.Ide; namespace MonoDevelop.Xml.Formatting { - [System.ComponentModel.ToolboxItem(true)] - partial class XmlFormattingPolicyPanelWidget : Gtk.Bin + class XmlFormattingPolicyPanelWidget : VBox { XmlFormattingPolicy policy; ListStore store; public XmlFormattingPolicyPanelWidget () { - this.Build (); + Build (); store = new ListStore (typeof(string), typeof (XmlFormattingSettings)); listView.Model = store; @@ -50,7 +49,81 @@ namespace MonoDevelop.Xml.Formatting // propertyGrid.PropertySort = MonoDevelop.Components.PropertyGrid.PropertySort.NoSort; propertyGrid.ShadowType = ShadowType.In; } - + + VBox boxScopes; + ScrolledWindow scrolledWindow; + TreeView listView; + Button buttonAdd; + Button buttonRemove; + Label labelScopes; + Table tableScopes; + MonoDevelop.Components.PropertyGrid.PropertyGrid propertyGrid; + Button buttonAdvanced; + + void Build () + { + Spacing = 6; + + listView = new TreeView { + CanFocus = true, + HeadersVisible = false + }; + + scrolledWindow = new ScrolledWindow { ShadowType = ShadowType.In, Child = listView }; + buttonAdd = new Button (Stock.Add); + buttonRemove = new Button (Stock.Remove); + + labelScopes = new Label { + Xalign = 0F, + Text = GettextCatalog.GetString ("Enter one or several xpath expressions to which this format applies:") + }; + + tableScopes = new Table (3, 3, false) { + RowSpacing = 6, + ColumnSpacing = 6 + }; + + propertyGrid = new MonoDevelop.Components.PropertyGrid.PropertyGrid { + ShowToolbar = false, + ShowHelp = false + }; + + buttonAdvanced = new Button { + Label = GettextCatalog.GetString ("Advanced Settings"), + CanFocus = true, + UseUnderline = true + }; + + var buttonBox = new HBox (false, 6); + buttonBox.PackStart (buttonAdd, false, false, 0); + buttonBox.PackStart (buttonRemove, false, false, 0); + + boxScopes = new VBox (false, 6); + boxScopes.PackStart (scrolledWindow, true, true, 0); + boxScopes.PackStart (buttonBox, false, false, 0); + + var rightVBox = new VBox (false, 6); + rightVBox.PackStart (labelScopes, false, false, 0); + rightVBox.PackStart (tableScopes, false, false, 0); + rightVBox.PackStart (propertyGrid, true, true, 0); + + var mainBox = new HBox (false, 6); + mainBox.PackStart (boxScopes, false, false, 0); + mainBox.PackStart (rightVBox, true, true, 0); + + var abbBox = new HBox (false, 6); + abbBox.PackStart (buttonAdvanced, false, false, 0); + + PackStart (mainBox, true, true, 0); + PackStart (abbBox, false, false, 0); + + ShowAll (); + + buttonAdd.Clicked += OnButtonAddClicked; + buttonRemove.Clicked += OnButtonRemoveClicked; + buttonAdvanced.Clicked += OnButtonAdvancedClicked; + } + public void CommitPendingChanges () { propertyGrid.CommitPendingChanges (); @@ -142,10 +215,10 @@ namespace MonoDevelop.Xml.Formatting } for (uint n=0; n<currentFormat.ScopeXPath.Count; n++) { int capn = (int) n; - Label la = new Label (GettextCatalog.GetString ("XPath scope:")); + var la = new Label (GettextCatalog.GetString ("XPath scope:")); la.Xalign = 0; tableScopes.Attach (la, 0, 1, n, n + 1, AttachOptions.Shrink, AttachOptions.Shrink, 0, 0); - Entry en = new Entry (); + var en = new Entry (); en.Text = currentFormat.ScopeXPath[capn]; tableScopes.Attach (en, 1, 2, n, n + 1, AttachOptions.Expand | AttachOptions.Fill, AttachOptions.Shrink, 0, 0); en.Changed += delegate { @@ -154,7 +227,7 @@ namespace MonoDevelop.Xml.Formatting }; uint c = 2; if (currentFormat.ScopeXPath.Count != 1) { - Button butRem = new Button (ImageService.GetImage (Gtk.Stock.Remove, IconSize.Menu)); + var butRem = new Button (ImageService.GetImage (Stock.Remove, IconSize.Menu)); tableScopes.Attach (butRem, 2, 3, n, n + 1, AttachOptions.Shrink, AttachOptions.Shrink, 0, 0); butRem.Clicked += delegate { currentFormat.ScopeXPath.RemoveAt (capn); @@ -164,7 +237,7 @@ namespace MonoDevelop.Xml.Formatting c++; } if (n == currentFormat.ScopeXPath.Count - 1) { - Button butAdd = new Button (ImageService.GetImage (Gtk.Stock.Add, IconSize.Menu)); + var butAdd = new Button (ImageService.GetImage (Stock.Add, IconSize.Menu)); tableScopes.Attach (butAdd, c, c + 1, n, n + 1, AttachOptions.Shrink, AttachOptions.Shrink, 0, 0); butAdd.Clicked += delegate { currentFormat.ScopeXPath.Add (""); @@ -177,7 +250,7 @@ namespace MonoDevelop.Xml.Formatting tableScopes.ShowAll (); } - protected virtual void OnButtonAddClicked (object sender, System.EventArgs e) + protected virtual void OnButtonAddClicked (object sender, EventArgs e) { var format = new XmlFormattingSettings (); policy.Formats.Add (format); @@ -185,7 +258,7 @@ namespace MonoDevelop.Xml.Formatting listView.Selection.SelectIter (it); } - protected virtual void OnButtonRemoveClicked (object sender, System.EventArgs e) + protected virtual void OnButtonRemoveClicked (object sender, EventArgs e) { TreeIter it; if (listView.Selection.GetSelected (out it)) { @@ -225,7 +298,7 @@ namespace MonoDevelop.Xml.Formatting } } - protected virtual void OnButtonAdvancedClicked (object sender, System.EventArgs e) + protected virtual void OnButtonAdvancedClicked (object sender, EventArgs e) { boxScopes.Show (); buttonAdvanced.Hide (); diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildDocumentParser.cs b/main/src/addins/Xml/MSBuild/MSBuildDocumentParser.cs index 19cd5e3e74..8f0f457d78 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildDocumentParser.cs +++ b/main/src/addins/Xml/MSBuild/MSBuildDocumentParser.cs @@ -27,7 +27,9 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -namespace MonoDevelop.XmlEditor.MSBuild +using MonoDevelop.Xml.Editor; + +namespace MonoDevelop.Xml.MSBuild { class MSBuildDocumentParser : XmlDocumentParser { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildElement.cs b/main/src/addins/Xml/MSBuild/MSBuildElement.cs index 158358b554..5501e2fcd2 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildElement.cs +++ b/main/src/addins/Xml/MSBuild/MSBuildElement.cs @@ -28,7 +28,7 @@ using System; using System.Collections.Generic; using System.Linq; -namespace MonoDevelop.XmlEditor.MSBuild +namespace MonoDevelop.Xml.MSBuild {
class MSBuildElement
{
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildResolveContext.cs b/main/src/addins/Xml/MSBuild/MSBuildResolveContext.cs index eb65485584..bb01db9027 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildResolveContext.cs +++ b/main/src/addins/Xml/MSBuild/MSBuildResolveContext.cs @@ -26,10 +26,11 @@ using System; using System.Collections.Generic; -using System.Linq; -using MonoDevelop.Xml.StateEngine; +using System.Linq;
+using MonoDevelop.Xml.Editor;
+using MonoDevelop.Xml.Dom; -namespace MonoDevelop.XmlEditor.MSBuild
+namespace MonoDevelop.Xml.MSBuild
{ class MSBuildResolveContext
{
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildTextEditorExtension.cs b/main/src/addins/Xml/MSBuild/MSBuildTextEditorExtension.cs index fce41735c7..b0cbcf3288 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.MSBuild/MSBuildTextEditorExtension.cs +++ b/main/src/addins/Xml/MSBuild/MSBuildTextEditorExtension.cs @@ -27,15 +27,16 @@ using System; using System.Collections.Generic; -using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.Xml.StateEngine; -using MonoDevelop.XmlEditor.Completion; -using MonoDevelop.Core; using System.Threading; +using MonoDevelop.Core; +using MonoDevelop.Ide.CodeCompletion; +using MonoDevelop.Xml.Completion; +using MonoDevelop.Xml.Dom; +using MonoDevelop.Xml.Editor; -namespace MonoDevelop.XmlEditor.MSBuild +namespace MonoDevelop.Xml.MSBuild { - class MSBuildTextEditorExtension : MonoDevelop.XmlEditor.Gui.BaseXmlEditorExtension + class MSBuildTextEditorExtension : BaseXmlEditorExtension { public static readonly string MSBuildMimeType = "application/x-msbuild"; diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Makefile.am b/main/src/addins/Xml/Makefile.am index c9cc87438f..c9cc87438f 100644 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Makefile.am +++ b/main/src/addins/Xml/Makefile.am diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.csproj b/main/src/addins/Xml/MonoDevelop.Xml.csproj index c9fb3eda17..78c04d0f75 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.csproj +++ b/main/src/addins/Xml/MonoDevelop.Xml.csproj @@ -7,14 +7,14 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</ProjectGuid> <OutputType>Library</OutputType> - <AssemblyName>MonoDevelop.XmlEditor</AssemblyName> - <RootNamespace>MonoDevelop.XmlEditor</RootNamespace> + <AssemblyName>MonoDevelop.Xml</AssemblyName> + <RootNamespace>MonoDevelop.Xml</RootNamespace> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>True</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> - <OutputPath>..\..\..\build\AddIns\MonoDevelop.XmlEditor</OutputPath> + <OutputPath>..\..\..\build\AddIns\Xml</OutputPath> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <ExecuteAfterBuild>postbuild.sh</ExecuteAfterBuild> @@ -24,12 +24,12 @@ </Execution> <DefineConstants>DEBUG</DefineConstants> <NoWarn>1591;1573</NoWarn> - <DocumentationFile>..\..\..\build\AddIns\MonoDevelop.XmlEditor\MonoDevelop.XmlEditor.xml</DocumentationFile> + <DocumentationFile>..\..\..\build\AddIns\Xml\MonoDevelop.Xml.xml</DocumentationFile> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>True</Optimize> - <OutputPath>..\..\..\build\AddIns\MonoDevelop.XmlEditor</OutputPath> + <OutputPath>..\..\..\build\AddIns\Xml</OutputPath> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> <ExecuteAfterBuild>postbuild.sh</ExecuteAfterBuild> @@ -39,7 +39,7 @@ </Execution> <DebugSymbols>true</DebugSymbols> <NoWarn>1591;1573</NoWarn> - <DocumentationFile>..\..\..\build\AddIns\MonoDevelop.XmlEditor\MonoDevelop.XmlEditor.xml</DocumentationFile> + <DocumentationFile>..\..\..\build\AddIns\Xml\MonoDevelop.Xml.xml</DocumentationFile> </PropertyGroup> <ItemGroup> <Reference Include="System" /> @@ -131,97 +131,86 @@ <EmbeddedResource Include="icons\light\prefs-xml-schemas-16%402x.png"> <LogicalName>prefs-xml-schemas-light-16@2x.png</LogicalName> </EmbeddedResource> - </ItemGroup> - <ItemGroup> - <Compile Include="AssemblyInfo.cs" /> - <Compile Include="MonoDevelop.XmlEditor\Commands.cs" /> - <Compile Include="MonoDevelop.XmlEditor\EncodedStringWriter.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlNamespace.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlParser.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlSchemaManager.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlEditorService.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlTextEditorExtension.cs" /> - <Compile Include="gtk-gui\generated.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Gui\XmlEditorOptionsPanelWidget.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Gui\XmlEditorOptionsPanel.cs" /> - <Compile Include="gtk-gui\MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanelWidget.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Gui\XmlSchemasPanelWidget.cs" /> - <Compile Include="gtk-gui\MonoDevelop.XmlEditor.Gui.XmlSchemasPanelWidget.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Gui\XmlSchemasPanel.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\XmlSchemaCompletionData.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\XmlSchemaCompletionDataCollection.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\XmlCompletionData.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\IXmlCompletionProvider.cs" /> - <Compile Include="MonoDevelop.XmlEditor\QualifiedName.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlElementPath.cs" /> - <Compile Include="MonoDevelop.XmlEditor\QualifiedNameCollection.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\ILazilyLoadedProvider.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\XmlTagCompletionData.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\Parser.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\State.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlCDataState.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlAttributeState.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlAttributeValueState.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlClosingTagState.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlCommentState.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlFreeState.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlNameState.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlTagState.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlProcessingInstructionState.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XDom.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlDocTypeState.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlChar.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Gui\BaseXmlEditorExtension.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\XmlMultipleClosingTagCompletionData.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\XmlParsedDocument.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlDocumentParser.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\InferredXmlCompletionProvider.cs" /> - <Compile Include="MonoDevelop.Xml.Formatting\XmlFormatterWriter.cs" /> - <Compile Include="MonoDevelop.Xml.Formatting\XmlFormattingPolicy.cs" /> - <Compile Include="MonoDevelop.Xml.Formatting\XmlFormatter.cs" /> - <Compile Include="MonoDevelop.Xml.Formatting\XmlFormattingPolicyPanel.cs" /> - <Compile Include="MonoDevelop.Xml.Formatting\XmlFormattingPolicyPanelWidget.cs" /> - <Compile Include="gtk-gui\MonoDevelop.Xml.Formatting.XmlFormattingPolicyPanelWidget.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlEditorOptions.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlFileAssociationNode.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlFileAssociation.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlFileAssociationManager.cs" /> - <Compile Include="MonoDevelop.XmlEditor\XmlSchemaNode.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\LocalOnlyXmlResolver.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\XmlCompletionDataList.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\EmptyXmlCompletionProvider.cs" /> - <Compile Include="MonoDevelop.XmlEditor.Completion\XmlNamespacePrefixMap.cs" /> - <Compile Include="AddinInfo.cs" /> - <Compile Include="MonoDevelop.XmlEditor.MSBuild\MSBuildDocumentParser.cs" /> - <Compile Include="MonoDevelop.XmlEditor.MSBuild\MSBuildResolveContext.cs" /> - <Compile Include="MonoDevelop.XmlEditor.MSBuild\MSBuildTextEditorExtension.cs" /> - <Compile Include="MonoDevelop.XmlEditor.MSBuild\MSBuildElement.cs" /> - </ItemGroup> - <ItemGroup> - <EmbeddedResource Include="MonoDevelop.XmlEditor.addin.xml"> - <LogicalName>MonoDevelop.XmlEditor.addin.xml</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="gtk-gui\gui.stetic"> - <LogicalName>gui.stetic</LogicalName> - </EmbeddedResource> - <EmbeddedResource Include="MonoDevelop.Xml.Formatting\MonoXmlPolicy.xml"> + <EmbeddedResource Include="Formatting\MonoXmlPolicy.xml"> <LogicalName>MonoXmlPolicy.xml</LogicalName> </EmbeddedResource> + <EmbeddedResource Include="Properties\MonoDevelop.XmlEditor.addin.xml"> + <LogicalName>MonoDevelop.XmlEditor.addin.xml</LogicalName> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <Compile Include="Parser\XmlParser.cs" /> + <Compile Include="Parser\XmlParserState.cs" /> + <Compile Include="Parser\XmlCDataState.cs" /> + <Compile Include="Parser\XmlAttributeState.cs" /> + <Compile Include="Parser\XmlAttributeValueState.cs" /> + <Compile Include="Parser\XmlClosingTagState.cs" /> + <Compile Include="Parser\XmlCommentState.cs" /> + <Compile Include="Parser\XmlNameState.cs" /> + <Compile Include="Parser\XmlTagState.cs" /> + <Compile Include="Parser\XmlProcessingInstructionState.cs" /> + <Compile Include="Parser\XmlDocTypeState.cs" /> + <Compile Include="Parser\XmlChar.cs" /> + <Compile Include="Dom\IAttributedXObject.cs" /> + <Compile Include="Dom\XObject.cs" /> + <Compile Include="Dom\XNode.cs" /> + <Compile Include="Dom\XName.cs" /> + <Compile Include="Dom\XContainer.cs" /> + <Compile Include="Dom\XElement.cs" /> + <Compile Include="Dom\XAttribute.cs" /> + <Compile Include="Dom\XAttributeCollection.cs" /> + <Compile Include="Dom\XCData.cs" /> + <Compile Include="Dom\XComment.cs" /> + <Compile Include="Dom\XProcessingInstruction.cs" /> + <Compile Include="Dom\XDocType.cs" /> + <Compile Include="Dom\XClosingTag.cs" /> + <Compile Include="Dom\XDocument.cs" /> + <Compile Include="Dom\INamedXObject.cs" /> + <Compile Include="MSBuild\MSBuildDocumentParser.cs" /> + <Compile Include="MSBuild\MSBuildResolveContext.cs" /> + <Compile Include="MSBuild\MSBuildTextEditorExtension.cs" /> + <Compile Include="MSBuild\MSBuildElement.cs" /> + <Compile Include="Completion\XmlSchemaCompletionData.cs" /> + <Compile Include="Completion\XmlSchemaCompletionDataCollection.cs" /> + <Compile Include="Completion\XmlCompletionData.cs" /> + <Compile Include="Completion\IXmlCompletionProvider.cs" /> + <Compile Include="Completion\ILazilyLoadedProvider.cs" /> + <Compile Include="Completion\XmlTagCompletionData.cs" /> + <Compile Include="Completion\XmlMultipleClosingTagCompletionData.cs" /> + <Compile Include="Completion\InferredXmlCompletionProvider.cs" /> + <Compile Include="Completion\LocalOnlyXmlResolver.cs" /> + <Compile Include="Completion\XmlCompletionDataList.cs" /> + <Compile Include="Completion\EmptyXmlCompletionProvider.cs" /> + <Compile Include="Completion\XmlNamespacePrefixMap.cs" /> + <Compile Include="Formatting\XmlFormatterWriter.cs" /> + <Compile Include="Formatting\XmlFormattingPolicy.cs" /> + <Compile Include="Formatting\XmlFormatter.cs" /> + <Compile Include="Formatting\XmlFormattingPolicyPanel.cs" /> + <Compile Include="Formatting\XmlFormattingPolicyPanelWidget.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + <Compile Include="Properties\AddinInfo.cs" /> + <Compile Include="Parser\XmlRootState.cs" /> + <Compile Include="Editor\XmlDocumentParser.cs" /> + <Compile Include="Editor\XmlParsedDocument.cs" /> + <Compile Include="Editor\XmlEditorOptions.cs" /> + <Compile Include="Editor\XmlTextEditorExtension.cs" /> + <Compile Include="Editor\BaseXmlEditorExtension.cs" /> + <Compile Include="Editor\XmlFileAssociation.cs" /> + <Compile Include="Editor\XmlEditorService.cs" /> + <Compile Include="Editor\XmlSchemaManager.cs" /> + <Compile Include="Editor\XmlFileAssociationNode.cs" /> + <Compile Include="Editor\XmlFileAssociationManager.cs" /> + <Compile Include="Editor\XmlSchemaNode.cs" /> + <Compile Include="Editor\XmlEditorOptionsPanel.cs" /> + <Compile Include="Editor\XmlEditorOptionsPanelWidget.cs" /> + <Compile Include="Editor\XmlSchemasPanel.cs" /> + <Compile Include="Editor\XmlSchemasPanelWidget.cs" /> + <Compile Include="Completion\QualifiedName.cs" /> + <Compile Include="Completion\XmlElementPath.cs" /> + <Compile Include="Editor\XmlCommands.cs" /> </ItemGroup> <ItemGroup> - <None Include="MonoDevelop.XmlEditor\OpenStylesheetCommand.cs" /> - <None Include="MonoDevelop.XmlEditor\OpenXPathQueryPadCommand.cs" /> - <None Include="MonoDevelop.XmlEditor\RemoveXPathHighlightingCommand.cs" /> - <None Include="MonoDevelop.XmlEditor.XPath\XPathHistoryList.cs" /> - <None Include="MonoDevelop.XmlEditor.XPath\XPathNamespaceList.cs" /> - <None Include="MonoDevelop.XmlEditor.XPath\XPathNodeMatch.cs" /> - <None Include="MonoDevelop.XmlEditor.XPath\XPathNodeTextMarker.cs" /> - <None Include="MonoDevelop.XmlEditor.XPath\XPathQueryPad.cs" /> - <None Include="MonoDevelop.XmlEditor.XPath\XPathQueryPadOptions.cs" /> - <None Include="MonoDevelop.XmlEditor.XPath\XPathQueryWidget.cs" /> <None Include="Makefile.am" /> - <None Include="MonoDevelop.Xml.StateEngine\XmlParser.cs" /> - <None Include="MonoDevelop.Xml.StateEngine\XState.cs" /> </ItemGroup> <ItemGroup> <Content Include="schemas\appconfig.xsd"> @@ -252,6 +241,18 @@ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <ItemGroup /> <ItemGroup> - <Folder Include="MonoDevelop.XmlEditor.MSBuild\" /> + <Folder Include="Dom\" /> + <Folder Include="MSBuild\" /> + <Folder Include="Properties\" /> + <Folder Include="Editor\" /> </ItemGroup> + <ProjectExtensions> + <MonoDevelop> + <Properties> + <Policies> + <DotNetNamingPolicy DirectoryNamespaceAssociation="PrefixedHierarchical" ResourceNamePolicy="FileName" /> + </Policies> + </Properties> + </MonoDevelop> + </ProjectExtensions> </Project> diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlAttributeState.cs b/main/src/addins/Xml/Parser/XmlAttributeState.cs index 6456219d58..3025771d3e 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlAttributeState.cs +++ b/main/src/addins/Xml/Parser/XmlAttributeState.cs @@ -26,18 +26,15 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; -using System.Text; using System.Diagnostics; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.Xml.Parser { - - - public class XmlAttributeState : State + public class XmlAttributeState : XmlParserState { - XmlNameState XmlNameState; - XmlAttributeValueState AttributeValueState; + readonly XmlNameState XmlNameState; + readonly XmlAttributeValueState AttributeValueState; const int NAMING = 0; const int GETTINGEQ = 1; @@ -59,9 +56,9 @@ namespace MonoDevelop.Xml.StateEngine Adopt (this.AttributeValueState);
}
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{ - XAttribute att = context.Nodes.Peek () as XAttribute; + var att = context.Nodes.Peek () as XAttribute; //state has just been entered if (context.CurrentStateLength == 1) {
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs b/main/src/addins/Xml/Parser/XmlAttributeValueState.cs index 99b6e03bce..eea5acee05 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlAttributeValueState.cs +++ b/main/src/addins/Xml/Parser/XmlAttributeValueState.cs @@ -25,10 +25,11 @@ // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.Xml.Parser { - public class XmlAttributeValueState : State + public class XmlAttributeValueState : XmlParserState { protected const int FREE = 0; protected const int UNQUOTED = 1; @@ -39,7 +40,7 @@ namespace MonoDevelop.Xml.StateEngine protected const int TagMask = 3; protected const int TagShift = 2; - public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{ System.Diagnostics.Debug.Assert (((XAttribute) context.Nodes.Peek ()).Value == null);
@@ -78,7 +79,7 @@ namespace MonoDevelop.Xml.StateEngine return null;
}
- State BuildUnquotedValue (char c, IParseContext context, ref string rollback)
+ XmlParserState BuildUnquotedValue (char c, IXmlParserContext context, ref string rollback)
{ if (char.IsLetterOrDigit (c) || c == '_' || c == '.') { context.KeywordBuilder.Append (c); diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlCDataState.cs b/main/src/addins/Xml/Parser/XmlCDataState.cs index c352efaa0b..cc72b04f5b 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlCDataState.cs +++ b/main/src/addins/Xml/Parser/XmlCDataState.cs @@ -26,19 +26,17 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System;
-using System.Collections.Generic;
-using System.Text;
+using MonoDevelop.Xml.Dom;
-namespace MonoDevelop.Xml.StateEngine
+namespace MonoDevelop.Xml.Parser
{
- public class XmlCDataState : State
+ public class XmlCDataState : XmlParserState
{ const int NOMATCH = 0; const int SINGLE_BRACKET = 1; const int DOUBLE_BRACKET = 2;
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{ if (context.CurrentStateLength == 1) { context.Nodes.Push (new XCData (context.LocationMinus ("<![CDATA[".Length + 1))); @@ -54,7 +52,7 @@ namespace MonoDevelop.Xml.StateEngine } else if (c == '>' && context.StateTag == DOUBLE_BRACKET) { // if the ']]' is followed by a '>', the state has ended // so attach a node to the DOM and end the state - XCData cdata = (XCData) context.Nodes.Pop (); + var cdata = (XCData) context.Nodes.Pop (); if (context.BuildTree) { cdata.End (context.Location); diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlChar.cs b/main/src/addins/Xml/Parser/XmlChar.cs index 4dc4b6e754..8fbeaf1032 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlChar.cs +++ b/main/src/addins/Xml/Parser/XmlChar.cs @@ -31,7 +31,7 @@ using System; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.Xml.Parser { public class XmlChar { diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs b/main/src/addins/Xml/Parser/XmlClosingTagState.cs index 7893d54365..9510f77a6b 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlClosingTagState.cs +++ b/main/src/addins/Xml/Parser/XmlClosingTagState.cs @@ -26,15 +26,14 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; -using System.Collections.Generic; using System.Diagnostics; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.Xml.Parser { - public class XmlClosingTagState : State + public class XmlClosingTagState : XmlParserState { - XmlNameState NameState; + readonly XmlNameState NameState; public XmlClosingTagState ()
: this (new XmlNameState ())
@@ -47,9 +46,9 @@ namespace MonoDevelop.Xml.StateEngine Adopt (NameState);
}
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{ - XClosingTag ct = context.Nodes.Peek () as XClosingTag; + var ct = context.Nodes.Peek () as XClosingTag; if (ct == null) { Debug.Assert (context.CurrentStateLength == 1, diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlCommentState.cs b/main/src/addins/Xml/Parser/XmlCommentState.cs index fee3a8f3a0..c4ff6fb2e7 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlCommentState.cs +++ b/main/src/addins/Xml/Parser/XmlCommentState.cs @@ -26,19 +26,17 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System;
-using System.Collections.Generic;
-using System.Text;
+using MonoDevelop.Xml.Dom;
-namespace MonoDevelop.Xml.StateEngine
+namespace MonoDevelop.Xml.Parser
{
- public class XmlCommentState : State
+ public class XmlCommentState : XmlParserState
{
const int NOMATCH = 0; const int SINGLE_DASH = 1; const int DOUBLE_DASH = 2;
- public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{ if (context.CurrentStateLength == 1) { context.Nodes.Push (new XComment (context.LocationMinus ("<!--".Length + 1))); @@ -55,7 +53,7 @@ namespace MonoDevelop.Xml.StateEngine if (c == '>') { // if the '--' is followed by a '>', the state has ended // so attach a node to the DOM and end the state - XComment comment = (XComment) context.Nodes.Pop (); + var comment = (XComment) context.Nodes.Pop (); if (context.BuildTree) { comment.End (context.Location); diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlDocTypeState.cs b/main/src/addins/Xml/Parser/XmlDocTypeState.cs index eda4ec27c9..fc8103e8fd 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlDocTypeState.cs +++ b/main/src/addins/Xml/Parser/XmlDocTypeState.cs @@ -27,25 +27,24 @@ // using System; -using System.Collections.Generic;
-using System.Text; using ICSharpCode.NRefactory.TypeSystem; using ICSharpCode.NRefactory; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.Xml.StateEngine
+namespace MonoDevelop.Xml.Parser
{
- public class XmlDocTypeState : State
+ public class XmlDocTypeState : XmlParserState
{ - XmlNameState nameState = new XmlNameState (); + readonly XmlNameState nameState = new XmlNameState (); public XmlDocTypeState () { Adopt (nameState); } - public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{ - XDocType doc = context.Nodes.Peek () as XDocType; + var doc = context.Nodes.Peek () as XDocType; if (doc == null) { doc = new XDocType (context.LocationMinus ("<!DOCTYPE".Length + 1)); context.Nodes.Push (doc); diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlNameState.cs b/main/src/addins/Xml/Parser/XmlNameState.cs index 04891fd217..5833c54d98 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlNameState.cs +++ b/main/src/addins/Xml/Parser/XmlNameState.cs @@ -27,19 +27,17 @@ // using System; -using System.Text; using System.Diagnostics; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.Xml.Parser { - - - public class XmlNameState : State + public class XmlNameState : XmlParserState { - public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{ - INamedXObject namedObject = context.Nodes.Peek () as INamedXObject; + var namedObject = context.Nodes.Peek () as INamedXObject; if (namedObject == null || namedObject.Name.Prefix != null) throw new InvalidOperationException ("Invalid state"); diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/Parser.cs b/main/src/addins/Xml/Parser/XmlParser.cs index 973040371e..de40145786 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/Parser.cs +++ b/main/src/addins/Xml/Parser/XmlParser.cs @@ -30,17 +30,18 @@ using System; using System.Collections.Generic;
using System.Text;
-using MonoDevelop.Ide.Gui.Content; +using ICSharpCode.NRefactory; using ICSharpCode.NRefactory.TypeSystem; -using ICSharpCode.NRefactory;
+using MonoDevelop.Ide.Gui.Content; +using MonoDevelop.Xml.Dom;
-namespace MonoDevelop.Xml.StateEngine
+namespace MonoDevelop.Xml.Parser
{
- public class Parser : IDocumentStateEngine, IParseContext
+ public class XmlParser : IDocumentStateEngine, IXmlParserContext
{ - RootState rootState; - State currentState; - State previousState; + XmlRootState rootState; + XmlParserState currentState; + XmlParserState previousState; bool buildTree; int position;
@@ -52,7 +53,7 @@ namespace MonoDevelop.Xml.StateEngine NodeStack nodes; List<Error> errors;
- public Parser (RootState rootState, bool buildTree)
+ public XmlParser (XmlRootState rootState, bool buildTree)
{
this.rootState = rootState; this.currentState = rootState; @@ -61,7 +62,7 @@ namespace MonoDevelop.Xml.StateEngine Reset (); } - Parser (Parser copyFrom)
+ XmlParser (XmlParser copyFrom)
{ buildTree = false; @@ -77,7 +78,7 @@ namespace MonoDevelop.Xml.StateEngine currentStateLength = copyFrom.currentStateLength; //clone the node stack - List<XObject> l = new List<XObject> (CopyXObjects (copyFrom.nodes)); + var l = new List<XObject> (CopyXObjects (copyFrom.nodes)); l.Reverse (); nodes = new NodeStack (l); } @@ -88,7 +89,7 @@ namespace MonoDevelop.Xml.StateEngine yield return o.ShallowCopy (); } - public RootState RootState { get { return rootState; } } + public XmlRootState RootState { get { return rootState; } } #region IDocumentStateEngine
@@ -141,7 +142,7 @@ namespace MonoDevelop.Xml.StateEngine string rollback = null; if (currentState == null) return;
- State nextState = currentState.PushChar (c, this, ref rollback); + XmlParserState nextState = currentState.PushChar (c, this, ref rollback); // no state change
if (nextState == currentState || nextState == null) @@ -193,21 +194,21 @@ namespace MonoDevelop.Xml.StateEngine { if (buildTree) throw new InvalidOperationException ("Parser can only be cloned when in stack mode");
- return new Parser (this);
+ return new XmlParser (this);
} #endregion
- public Parser GetTreeParser () + public XmlParser GetTreeParser () { if (buildTree) throw new InvalidOperationException ("Parser can only be cloned when in stack mode"); - Parser p = new Parser (this); + XmlParser p = new XmlParser (this); p.buildTree = true; //reconnect the node tree - ((IParseContext)p).ConnectAll (); + ((IXmlParserContext)p).ConnectAll (); p.errors = new List<Error> (); @@ -233,7 +234,7 @@ namespace MonoDevelop.Xml.StateEngine builder.Append (' ', 2); builder.AppendLine ("States=");
- State s = currentState;
+ XmlParserState s = currentState;
while (s != null) {
builder.Append (' ', 4); builder.Append (s.ToString ()); @@ -263,12 +264,12 @@ namespace MonoDevelop.Xml.StateEngine #region IParseContext - int IParseContext.StateTag { + int IXmlParserContext.StateTag { get { return stateTag; } set { stateTag = value; } } - TextLocation IParseContext.LocationMinus (int colOffset) + TextLocation IXmlParserContext.LocationMinus (int colOffset) { int col = Location.Column - colOffset;
int line = Location.Line;
@@ -281,11 +282,11 @@ namespace MonoDevelop.Xml.StateEngine return new TextLocation (line, col); } - StringBuilder IParseContext.KeywordBuilder { + StringBuilder IXmlParserContext.KeywordBuilder { get { return keywordBuilder; } } - State IParseContext.PreviousState { + XmlParserState IXmlParserContext.PreviousState { get { return previousState; } } @@ -294,37 +295,37 @@ namespace MonoDevelop.Xml.StateEngine public bool BuildTree { get { return buildTree; } } - void IParseContext.LogError (string message) + void IXmlParserContext.LogError (string message) { if (errors != null || ErrorLogged != null) InternalLogError (new Error (ErrorType.Error, message, Location)); } - void IParseContext.LogWarning (string message) + void IXmlParserContext.LogWarning (string message) { if (errors != null || ErrorLogged != null) - InternalLogError (new Error (ErrorType.Warning, message, ((IParseContext)this).LocationMinus (1))); + InternalLogError (new Error (ErrorType.Warning, message, ((IXmlParserContext)this).LocationMinus (1))); } - void IParseContext.LogError (string message, TextLocation location) + void IXmlParserContext.LogError (string message, TextLocation location) { if (errors != null || ErrorLogged != null) - InternalLogError (new Error (ErrorType.Error, message, ((IParseContext)this).LocationMinus (1))); + InternalLogError (new Error (ErrorType.Error, message, ((IXmlParserContext)this).LocationMinus (1))); } - void IParseContext.LogWarning (string message, TextLocation location) + void IXmlParserContext.LogWarning (string message, TextLocation location) { if (errors != null || ErrorLogged != null) InternalLogError (new Error (ErrorType.Warning, message, location)); } - void IParseContext.LogError (string message, DomRegion region) + void IXmlParserContext.LogError (string message, DomRegion region) { if (errors != null || ErrorLogged != null) InternalLogError (new Error (ErrorType.Error, message, region)); } - void IParseContext.LogWarning (string message, DomRegion region) + void IXmlParserContext.LogWarning (string message, DomRegion region) { if (errors != null || ErrorLogged != null) InternalLogError (new Error (ErrorType.Warning, message, region)); @@ -338,7 +339,7 @@ namespace MonoDevelop.Xml.StateEngine ErrorLogged (err); } - void IParseContext.ConnectAll () + void IXmlParserContext.ConnectAll () { XNode prev = null; foreach (XObject o in Nodes) { @@ -351,7 +352,7 @@ namespace MonoDevelop.Xml.StateEngine } } - void IParseContext.EndAll (bool pop) + void IXmlParserContext.EndAll (bool pop) { int popCount = 0; foreach (XObject ob in Nodes) { @@ -369,21 +370,21 @@ namespace MonoDevelop.Xml.StateEngine #endregion - public State CurrentState { get { return currentState; } } + public XmlParserState CurrentState { get { return currentState; } } public IList<Error> Errors { get { return errors; } } public event Action<Error> ErrorLogged;
} - public interface IParseContext + public interface IXmlParserContext { int StateTag { get; set; } StringBuilder KeywordBuilder { get; } int CurrentStateLength { get; } TextLocation Location { get; } TextLocation LocationMinus (int colOffset); - State PreviousState { get; } + XmlParserState PreviousState { get; } NodeStack Nodes { get; } bool BuildTree { get; } void LogError (string message); diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/State.cs b/main/src/addins/Xml/Parser/XmlParserState.cs index c0edcfdc0a..742802ef74 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/State.cs +++ b/main/src/addins/Xml/Parser/XmlParserState.cs @@ -26,48 +26,42 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; -using System.Diagnostics;
-using System.Collections.Generic;
-using System.Text;
+using System.Diagnostics; -namespace MonoDevelop.Xml.StateEngine
+namespace MonoDevelop.Xml.Parser
{
- public abstract class State
+ public abstract class XmlParserState
{
- State parent;
+ XmlParserState parent;
/// <summary>
/// When the <see cref="Parser"/> advances by one character, it calls this method
- /// on the currently active <see cref="State"/> to determine the next state.
+ /// on the currently active <see cref="XmlParserState"/> to determine the next state.
/// </summary>
/// <param name="c">The current character.</param> + /// <param name = "context">The parser context.</param> /// <param name="rollback"> If set non-null, the parser will be rolled back that number /// of characters (empty string means replay current char to the next state. /// Note that this will not change the DOM state.</param>
/// <returns>
- /// The next state. A new or parent <see cref="State"/> will change the parser state; + /// The next state. A new or parent <see cref="XmlParserState"/> will change the parser state; /// the current state or null will not. /// </returns>
- public abstract State PushChar (char c, IParseContext context, ref string rollback);
+ public abstract XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback);
- public State Parent { get { return parent; } } + public XmlParserState Parent { get { return parent; } } - protected void Adopt (State child) + protected void Adopt (XmlParserState child) { Debug.Assert (child.parent == null); child.parent = this; } - public RootState RootState { + public XmlRootState RootState { get { - return (this as RootState) ?? parent.RootState; + return (this as XmlRootState) ?? parent.RootState; } }
} - public abstract class RootState : State - { - public abstract XDocument CreateDocument (); - }
}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs b/main/src/addins/Xml/Parser/XmlProcessingInstructionState.cs index e6fb76fae2..cf440b16bb 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlProcessingInstructionState.cs +++ b/main/src/addins/Xml/Parser/XmlProcessingInstructionState.cs @@ -26,18 +26,16 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System; +using MonoDevelop.Xml.Dom; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.Xml.Parser { - - - public class XmlProcessingInstructionState : State + public class XmlProcessingInstructionState : XmlParserState { const int NOMATCH = 0; const int QUESTION = 1; - public override State PushChar (char c, IParseContext context, ref string rollback)
+ public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback)
{ if (context.CurrentStateLength == 1) { context.Nodes.Push (new XProcessingInstruction (context.LocationMinus ("<?".Length))); @@ -51,7 +49,7 @@ namespace MonoDevelop.Xml.StateEngine } else if (c == '>' && context.StateTag == QUESTION) { // if the '?' is followed by a '>', the state has ended // so attach a node to the DOM and end the state - XProcessingInstruction xpi = (XProcessingInstruction) context.Nodes.Pop (); + var xpi = (XProcessingInstruction) context.Nodes.Pop (); if (context.BuildTree) { xpi.End (context.Location); diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlFreeState.cs b/main/src/addins/Xml/Parser/XmlRootState.cs index c2de498872..d77d7e787b 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlFreeState.cs +++ b/main/src/addins/Xml/Parser/XmlRootState.cs @@ -26,14 +26,12 @@ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -using System;
-using System.Collections.Generic;
-using System.Text; -using ICSharpCode.NRefactory.TypeSystem;
+using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.Xml.Dom;
-namespace MonoDevelop.Xml.StateEngine
+namespace MonoDevelop.Xml.Parser
{
- public class XmlFreeState : RootState
+ public class XmlRootState : XmlParserState
{ protected const int FREE = 0; protected const int BRACKET = FREE + 1; @@ -50,13 +48,13 @@ namespace MonoDevelop.Xml.StateEngine XmlDocTypeState docTypeState; XmlProcessingInstructionState processingInstructionState; - public XmlFreeState () : this (new XmlTagState (), new XmlClosingTagState ()) {} + public XmlRootState () : this (new XmlTagState (), new XmlClosingTagState ()) {} - public XmlFreeState (XmlTagState tagState, XmlClosingTagState closingTagState) + public XmlRootState (XmlTagState tagState, XmlClosingTagState closingTagState) : this (tagState, closingTagState, new XmlCommentState (), new XmlCDataState (), new XmlDocTypeState (), new XmlProcessingInstructionState ()) {} - public XmlFreeState ( + public XmlRootState ( XmlTagState tagState, XmlClosingTagState closingTagState, XmlCommentState commentState, @@ -103,7 +101,7 @@ namespace MonoDevelop.Xml.StateEngine get { return processingInstructionState; } } - public override State PushChar (char c, IParseContext context, ref string rollback) + public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback) { if (c == '<') { if (context.StateTag != FREE) @@ -159,11 +157,9 @@ namespace MonoDevelop.Xml.StateEngine context.KeywordBuilder.Append (c); if (context.KeywordBuilder.Length < cdataStr.Length) return null; - else - return CDataState; - } else { - context.KeywordBuilder.Length = 0; + return CDataState; } + context.KeywordBuilder.Length = 0; break; case DOCTYPE: @@ -172,8 +168,7 @@ namespace MonoDevelop.Xml.StateEngine context.KeywordBuilder.Append (c); if (context.KeywordBuilder.Length < docTypeStr.Length) return null; - else - return DocTypeState; + return DocTypeState; } else { context.KeywordBuilder.Length = 0; } @@ -189,7 +184,7 @@ namespace MonoDevelop.Xml.StateEngine return null;
} - static int LengthFromOpenBracket (IParseContext context) + static int LengthFromOpenBracket (IXmlParserContext context) { switch (context.StateTag) { case BRACKET: @@ -206,7 +201,7 @@ namespace MonoDevelop.Xml.StateEngine } } - public override XDocument CreateDocument () + public virtual XDocument CreateDocument () { return new XDocument (); }
diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlTagState.cs b/main/src/addins/Xml/Parser/XmlTagState.cs index 642766916d..a3c4b27fdb 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.Xml.StateEngine/XmlTagState.cs +++ b/main/src/addins/Xml/Parser/XmlTagState.cs @@ -28,13 +28,14 @@ using System; using System.Diagnostics;
-using ICSharpCode.NRefactory;
+using ICSharpCode.NRefactory; +using MonoDevelop.Xml.Dom;
-namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.Xml.Parser { - public class XmlTagState : State + public class XmlTagState : XmlParserState {
const int ATTEMPT_RECOVERY = 1;
const int RECOVERY_FOUND_WHITESPACE = 2;
@@ -58,7 +59,7 @@ namespace MonoDevelop.Xml.StateEngine Adopt (this.NameState);
} - public override State PushChar (char c, IParseContext context, ref string rollback) + public override XmlParserState PushChar (char c, IXmlParserContext context, ref string rollback) { XElement element = context.Nodes.Peek () as XElement; @@ -141,7 +142,7 @@ namespace MonoDevelop.Xml.StateEngine return null;
} - protected virtual void Close (XElement element, IParseContext context, TextLocation location) + protected virtual void Close (XElement element, IXmlParserContext context, TextLocation location) { //have already checked that element is not null, i.e. top of stack is our element if (element.IsClosed) diff --git a/main/src/addins/MonoDevelop.XmlEditor/AddinInfo.cs b/main/src/addins/Xml/Properties/AddinInfo.cs index eb38989c4c..1878cdf5ab 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/AddinInfo.cs +++ b/main/src/addins/Xml/Properties/AddinInfo.cs @@ -1,9 +1,6 @@ - -using System; using Mono.Addins; -using Mono.Addins.Description; -[assembly:Addin ("XmlEditor", +[assembly:Addin ("Xml", Namespace = "MonoDevelop", Version = MonoDevelop.BuildInfo.Version, Category = "IDE extensions")] diff --git a/main/src/addins/MonoDevelop.XmlEditor/AssemblyInfo.cs b/main/src/addins/Xml/Properties/AssemblyInfo.cs index f6d69570a1..f6d69570a1 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/AssemblyInfo.cs +++ b/main/src/addins/Xml/Properties/AssemblyInfo.cs diff --git a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml b/main/src/addins/Xml/Properties/MonoDevelop.XmlEditor.addin.xml index 73e7d2ba05..0a12f87d2c 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/MonoDevelop.XmlEditor.addin.xml +++ b/main/src/addins/Xml/Properties/MonoDevelop.XmlEditor.addin.xml @@ -1,7 +1,6 @@ <ExtensionModel>
<Runtime>
- <Import assembly="MonoDevelop.XmlEditor.dll" />
<Import file="schemas/appconfig.xsd" />
<Import file="schemas/MonoDevelopAddIn.xsd" />
<Import file="schemas/readme.txt" />
@@ -12,16 +11,16 @@ <Import file="schemas/nant.xsd" />
</Runtime>
- <ExtensionPoint path = "/MonoDevelop/XmlEditor/XmlFileAssociations">
- <ExtensionNode name = "Association" type = "MonoDevelop.XmlEditor.XmlFileAssociationNode"/>
+ <ExtensionPoint path = "/MonoDevelop/Xml/Editor/XmlFileAssociations">
+ <ExtensionNode name = "Association" type = "MonoDevelop.Xml.Editor.XmlFileAssociationNode"/>
</ExtensionPoint>
- <ExtensionPoint path = "/MonoDevelop/XmlEditor/XmlSchemas">
- <ExtensionNode name = "Schema" type = "MonoDevelop.XmlEditor.XmlSchemaNode" />
+ <ExtensionPoint path = "/MonoDevelop/Xml/Editor/XmlSchemas">
+ <ExtensionNode name = "Schema" type = "MonoDevelop.Xml.Editor.XmlSchemaNode" />
</ExtensionPoint>
<!-- Additional file extensions that will be opened in the XML editor -->
- <Extension path = "/MonoDevelop/XmlEditor/XmlFileAssociations">
+ <Extension path = "/MonoDevelop/Xml/Editor/XmlFileAssociations">
<Association extension = ".build" namespaceUri="http://nant.sf.net/release/0.85-rc3/nant.xsd" />
<Association extension = ".config" namespaceUri="urn:app-config" />
<Association extension = ".xsd" namespaceUri="http://www.w3.org/2001/XMLSchema" namespacePrefix="xs" />
@@ -30,7 +29,7 @@ <Association extension = ".stetic" />
</Extension>
- <Extension path = "/MonoDevelop/XmlEditor/XmlSchemas">
+ <Extension path = "/MonoDevelop/Xml/Editor/XmlSchemas">
<Schema file="schemas/appconfig.xsd" />
<Schema file="schemas/MonoDevelopAddIn.xsd" />
<Schema file="schemas/XMLSchema.xsd" />
@@ -40,38 +39,30 @@ </Extension>
<Extension path = "/MonoDevelop/Ide/TextEditorExtensions">
- <Class id="MSBuildTextEditorExtension" mimeTypes="application/x-msbuild" class = "MonoDevelop.XmlEditor.MSBuild.MSBuildTextEditorExtension" />
- <Class id="MonoDevelop.XmlEditor.XmlTextEditorExtension" class = "MonoDevelop.XmlEditor.XmlTextEditorExtension" />
+ <Class id="MSBuildTextEditorExtension" mimeTypes="application/x-msbuild" class = "MonoDevelop.Xml.MSBuild.MSBuildTextEditorExtension" />
+ <Class id="XmlTextEditorExtension" class = "MonoDevelop.Xml.Editor.XmlTextEditorExtension" />
</Extension>
<!-- Commands -->
<Extension path = "/MonoDevelop/Ide/Commands">
- <Category _name = "XmlEditor" id="XmlEditor">
- <Command id = "MonoDevelop.XmlEditor.Commands.CreateSchema"
+ <Category _name = "Xml Editor" id="XmlEditor">
+ <Command id = "MonoDevelop.Xml.Editor.XmlCommands.CreateSchema"
_label = "Create _Schema"
description = "Creates a schema from XML"/>
- <Command id = "MonoDevelop.XmlEditor.Commands.Validate"
+ <Command id = "MonoDevelop.Xml.Editor.XmlCommands.Validate"
_label = "_Validate"
- description = "Validates the XML against a schema"/><!--
- <Command id = "MonoDevelop.XmlEditor.Commands.OpenXPathQueryPad"
- defaultHandler = "MonoDevelop.XmlEditor.OpenXPathQueryPadCommand"
- _label = "_XPath Query..."
- description = "Opens XPath Query window"/>
- <Command id = "MonoDevelop.XmlEditor.Commands.RemoveXPathHighlighting"
- defaultHandler = "MonoDevelop.XmlEditor.RemoveXPathHighlightingCommand"
- _label = "Remove XPath _Highlighting"
- description = "Removes the highlighted XPath matches."/>-->
- <Command id = "MonoDevelop.XmlEditor.Commands.AssignStylesheet"
+ description = "Validates the XML against a schema"/>
+ <Command id = "MonoDevelop.Xml.Editor.XmlCommands.AssignStylesheet"
_label = "_Assign XSLT..."
description = "Assigns a stylesheet to the current xml document"/>
- <Command id = "MonoDevelop.XmlEditor.Commands.OpenStylesheet"
+ <Command id = "MonoDevelop.Xml.Editor.XmlCommands.OpenStylesheet"
_label = "_Open XSLT"
description = "Opens the assigned stylesheet"/>
- <Command id = "MonoDevelop.XmlEditor.Commands.RunXslTransform"
+ <Command id = "MonoDevelop.Xml.Editor.XmlCommands.RunXslTransform"
_label = "Run XSL_T"
shortcut = "Alt|Control|T"
description = "Runs an XSL transform"/>
- <Command id = "MonoDevelop.XmlEditor.Commands.GoToSchemaDefinition"
+ <Command id = "MonoDevelop.Xml.Editor.XmlCommands.GoToSchemaDefinition"
_label = "_Go to Schema Definition"
description = "Jumps to the schema definition"/>
</Category>
@@ -80,46 +71,26 @@ <!-- XML menu -->
<Extension path = "/MonoDevelop/Ide/MainMenu/Tools">
<ItemSet id = "XmlMenu" insertafter = "AddinManagerSeparator" _label = "_XML" >
- <CommandItem id = "MonoDevelop.XmlEditor.Commands.CreateSchema" />
- <CommandItem id = "MonoDevelop.XmlEditor.Commands.GoToSchemaDefinition" />
- <CommandItem id = "MonoDevelop.XmlEditor.Commands.Validate" /><!--
- <SeparatorItem id = "XPathCommandsSeparator"/>
- <CommandItem id = "MonoDevelop.XmlEditor.Commands.OpenXPathQueryPad" />
- <CommandItem id = "MonoDevelop.XmlEditor.Commands.RemoveXPathHighlighting" />
- <SeparatorItem id = "StylesheetCommandsSeparator"/>-->
- <CommandItem id = "MonoDevelop.XmlEditor.Commands.AssignStylesheet"/>
- <CommandItem id = "MonoDevelop.XmlEditor.Commands.OpenStylesheet"/>
- <CommandItem id = "MonoDevelop.XmlEditor.Commands.RunXslTransform"/>
+ <CommandItem id = "MonoDevelop.Xml.Editor.XmlCommands.CreateSchema" />
+ <CommandItem id = "MonoDevelop.Xml.Editor.XmlCommands.GoToSchemaDefinition" />
+ <CommandItem id = "MonoDevelop.Xml.Editor.XmlCommands.Validate" />
+ <CommandItem id = "MonoDevelop.Xml.Editor.XmlCommands.AssignStylesheet"/>
+ <CommandItem id = "MonoDevelop.Xml.Editor.XmlCommands.OpenStylesheet"/>
+ <CommandItem id = "MonoDevelop.Xml.Editor.XmlCommands.RunXslTransform"/>
<SeparatorItem/>
</ItemSet>
</Extension>
<Extension path = "/MonoDevelop/Ide/GlobalOptionsDialog/TextEditor/Behavior">
- <Section id="XmlFormattingOptions" insertbefore="Formatting" _label="XML" fill="true" class="MonoDevelop.XmlEditor.Gui.XmlEditorOptionsPanel" icon="md-prefs-xml" />
+ <Section id="XmlFormattingOptions" insertbefore="Formatting" _label="XML" fill="true" class="MonoDevelop.Xml.Editor.XmlEditorOptionsPanel" icon="md-prefs-xml" />
</Extension>
<Extension path = "/MonoDevelop/Ide/GlobalOptionsDialog/TextEditor">
- <Section id="XmlSchemas" _label="XML Schemas" fill="true" class="MonoDevelop.XmlEditor.Gui.XmlSchemasPanel" icon="md-prefs-xml-schemas" />
+ <Section id="XmlSchemas" _label="XML Schemas" fill="true" class="MonoDevelop.Xml.Editor.XmlSchemasPanel" icon="md-prefs-xml-schemas" />
</Extension>
- <!-- XPath Query pad -->
- <!-- Bug in the DockFrame (gitem is null but code calls SetVisible
- when visible is false) prevents us from using setting the XPathQueryPad
- to be a pad
- <Extension path = "/MonoDevelop/Ide/Pads">
- <Pad id = "MonoDevelop.XmlEditor.XPathQueryPad"
- class = "MonoDevelop.XmlEditor.XPathQueryPad"
- defaultPlacement = "Bottom"
- _label = "XPath Query"/>
- </Extension>-->
-
- <!-- Put the XPath Query pad in the View menu -->
- <!--<Extension path = "/SharpDevelop/Workbench/Contexts/Edit">
- <ContextPad id = "MonoDevelop.XmlEditor.XPathQueryPad"/>
- </Extension>-->
-
<Extension path = "/MonoDevelop/TypeSystem/Parser">
- <Parser class = "MonoDevelop.XmlEditor.MSBuild.MSBuildDocumentParser" mimeType = "application/x-msbuild" id = "XmlParser"/>
- <Parser class = "MonoDevelop.XmlEditor.XmlDocumentParser" mimeType = "application/xml" id = "XmlParser"/>
+ <Parser class = "MonoDevelop.Xml.MSBuild.MSBuildDocumentParser" mimeType = "application/x-msbuild" id = "XmlParser"/>
+ <Parser class = "MonoDevelop.Xml.Editor.XmlDocumentParser" mimeType = "application/xml" id = "XmlParser"/>
</Extension>
<Extension path = "/MonoDevelop/Ide/CodeFormatters">
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/CompletionData/XmlCompletionDataImageTestFixture.cs b/main/src/addins/Xml/Tests/CompletionData/XmlCompletionDataImageTestFixture.cs index fd43f3251c..4af206082f 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/CompletionData/XmlCompletionDataImageTestFixture.cs +++ b/main/src/addins/Xml/Tests/CompletionData/XmlCompletionDataImageTestFixture.cs @@ -1,7 +1,7 @@ -using MonoDevelop.XmlEditor.Completion;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.CompletionData
+namespace MonoDevelop.Xml.Tests.CompletionData
{ [TestFixture] public class XmlCompletionDataIconTestFixture diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/CompletionData/XmlCompletionDataStringTestFixture.cs b/main/src/addins/Xml/Tests/CompletionData/XmlCompletionDataStringTestFixture.cs index d674e7481a..83787fa469 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/CompletionData/XmlCompletionDataStringTestFixture.cs +++ b/main/src/addins/Xml/Tests/CompletionData/XmlCompletionDataStringTestFixture.cs @@ -1,7 +1,7 @@ -using MonoDevelop.XmlEditor.Completion;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.CompletionData
+namespace MonoDevelop.Xml.Tests.CompletionData
{ [TestFixture] public class XmlCompletionDataStringTestFixture diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/MonoDevelop.XmlEditor.Tests.csproj b/main/src/addins/Xml/Tests/MonoDevelop.Xml.Tests.csproj index c6d42cf208..b49673fdf0 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/MonoDevelop.XmlEditor.Tests.csproj +++ b/main/src/addins/Xml/Tests/MonoDevelop.Xml.Tests.csproj @@ -7,8 +7,8 @@ <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{8E47B77A-A649-494C-9BF2-B845E39CADE9}</ProjectGuid> <OutputType>Library</OutputType> - <AssemblyName>MonoDevelop.XmlEditor.Tests</AssemblyName> - <RootNamespace>MonoDevelop.XmlEditor.Tests</RootNamespace> + <AssemblyName>MonoDevelop.Xml.Tests</AssemblyName> + <RootNamespace>MonoDevelop.Xml.Tests</RootNamespace> <TestRunnerCommand>..\..\..\..\build\bin\mdtool.exe</TestRunnerCommand> <TestRunnerArgs>run-md-tests</TestRunnerArgs> </PropertyGroup> @@ -40,11 +40,6 @@ <NoWarn>1591;1573</NoWarn> </PropertyGroup> <ItemGroup> - <ProjectReference Include="..\MonoDevelop.XmlEditor.csproj"> - <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> - <Name>MonoDevelop.XmlEditor</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\..\core\MonoDevelop.Core\MonoDevelop.Core.csproj"> <Project>{7525BB88-6142-4A26-93B9-A30C6983390A}</Project> <Name>MonoDevelop.Core</Name> @@ -63,13 +58,17 @@ <Project>{E13A0A7B-4DE6-43ED-A139-41052D065A9B}</Project> <Name>GuiUnit_NET_4_0</Name> </ProjectReference> + <ProjectReference Include="..\MonoDevelop.Xml.csproj"> + <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> + <Name>MonoDevelop.Xml</Name> + <Private>False</Private> + </ProjectReference> </ItemGroup> <ItemGroup> <Reference Include="System" /> <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> - <Compile Include="AssemblyInfo.cs" /> <Compile Include="Parser\ActiveElementStartPathTestFixture.cs" /> <Compile Include="Parser\AttributeNameTestFixture.cs" /> <Compile Include="Parser\NamespaceDeclarationTestFixture.cs" /> @@ -108,9 +107,6 @@ <Compile Include="Schema\TwoElementSchemaTestFixture.cs" /> <Compile Include="Schema\XhtmlStrictSchemaTestFixture.cs" /> <Compile Include="Schema\XsdSchemaTestFixture.cs" /> - <Compile Include="Schema.Includes\AttributeGroupRefSchemaIncludeTestFixture.cs" /> - <Compile Include="Schema.Includes\TwoElementSchemaIncludeTestFixture.cs" /> - <Compile Include="Schema.Uri\GetUriTestFixture.cs" /> <Compile Include="Utils\ResourceManager.cs" /> <Compile Include="Utils\SchemaIncludeTestFixtureHelper.cs" /> <Compile Include="CompletionData\XmlCompletionDataImageTestFixture.cs" /> @@ -118,40 +114,24 @@ <Compile Include="Schema\MissingSchemaElementTestFixture.cs" /> <Compile Include="Schema\AllElementTestFixture.cs" /> <Compile Include="Parser\InsideAttributeValueTestFixture.cs" /> - <Compile Include="XPathQuery\XmlNamespaceTests.cs" /> - <Compile Include="XPathQuery\XmlNamespaceToStringTests.cs" /> - <Compile Include="XPathQuery\RunXPathQueryTests.cs" /> - <Compile Include="XPathQuery\XPathHistoryListTests.cs" /> - <Compile Include="XPathQuery\XPathNamespaceListTests.cs" /> <Compile Include="Schema\XmlSchemaNamespaceTests.cs" /> <Compile Include="Schema\FindAttributeFromComplexTypeTestFixture.cs" /> - <Compile Include="Schema\GetSchemaFromFileNameTestFixture.cs" /> - <Compile Include="FindSchemaObject\AttributeGroupReferenceSelectedTestFixture.cs" /> - <Compile Include="FindSchemaObject\AttributeReferenceSelectedTestFixture.cs" /> - <Compile Include="FindSchemaObject\AttributeSelectedTestFixture.cs" /> - <Compile Include="FindSchemaObject\AttributeTypeSelectedTestFixture.cs" /> - <Compile Include="FindSchemaObject\ElementReferenceSelectedTestFixture.cs" /> - <Compile Include="FindSchemaObject\ElementReferenceWithPrefixSelectedTestFixture.cs" /> - <Compile Include="FindSchemaObject\ElementSelectedTestFixture.cs" /> - <Compile Include="FindSchemaObject\ElementTypeSelectedTestFixture.cs" /> - <Compile Include="FindSchemaObject\ElementTypeWithPrefixSelectedTestFixture.cs" /> - <Compile Include="FindSchemaObject\GroupReferenceSelectedTestFixture.cs" /> <Compile Include="Parser\ActiveElementUnderCursorTests.cs" /> <Compile Include="Parser\AttributeNameUnderCursorTests.cs" /> <Compile Include="Parser\AttributeValueUnderCursorTests.cs" /> - <Compile Include="MimeTypeHandledTests.cs" /> <Compile Include="Schema\SchemaAssociationTests.cs" /> + <Compile Include="Parser\TestXmlParser.cs" /> + <Compile Include="Parser\ParsingTests.cs" /> + <Compile Include="Schema\Uri\GetUriTestFixture.cs" /> + <Compile Include="Schema\Includes\AttributeGroupRefSchemaIncludeTestFixture.cs" /> + <Compile Include="Schema\Includes\TwoElementSchemaIncludeTestFixture.cs" /> </ItemGroup> <ItemGroup> <Folder Include="Parser\" /> <Folder Include="Paths\" /> <Folder Include="Schema\" /> - <Folder Include="Schema.Includes\" /> - <Folder Include="Schema.Uri\" /> <Folder Include="Utils\" /> <Folder Include="CompletionData\" /> - <Folder Include="XPathQuery\" /> - <Folder Include="FindSchemaObject\" /> </ItemGroup> <ItemGroup> <EmbeddedResource Include="Resources\xhtml1-strict-modified.xsd"> @@ -162,4 +142,13 @@ </EmbeddedResource> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <ProjectExtensions> + <MonoDevelop> + <Properties> + <Policies> + <DotNetNamingPolicy DirectoryNamespaceAssociation="PrefixedHierarchical" ResourceNamePolicy="FileName" /> + </Policies> + </Properties> + </MonoDevelop> + </ProjectExtensions> </Project> diff --git a/main/src/addins/Xml/Tests/Parser/ActiveElementStartPathTestFixture.cs b/main/src/addins/Xml/Tests/Parser/ActiveElementStartPathTestFixture.cs new file mode 100644 index 0000000000..9a9b299c5b --- /dev/null +++ b/main/src/addins/Xml/Tests/Parser/ActiveElementStartPathTestFixture.cs @@ -0,0 +1,95 @@ +using System;
+using MonoDevelop.Xml.Completion;
+using MonoDevelop.Xml.Parser;
+using NUnit.Framework;
+
+namespace MonoDevelop.Xml.Tests.Parser
+{
+ [TestFixture]
+ public class ActiveElementStartPathTestFixture
+ {
+ const string namespaceURI = "http://foo.com/foo.xsd";
+
+ [Test]
+ public void PathTest1()
+ {
+ AssertElementPath (
+ "<foo xmlns='" + namespaceURI + "' $",
+ new QualifiedName("foo", namespaceURI)
+ );
+ }
+
+ [Test]
+ public void PathTest2()
+ {
+ AssertElementPath (
+ "<foo xmlns='" + namespaceURI + "' ><bar $",
+ new QualifiedName("foo", namespaceURI),
+ new QualifiedName("bar", namespaceURI)
+ );
+ }
+
+ [Test]
+ public void PathTest3()
+ {
+ AssertElementPath (
+ "<f:foo xmlns:f='" + namespaceURI + "' ><f:bar $",
+ new QualifiedName ("foo", namespaceURI, "f"),
+ new QualifiedName ("bar", namespaceURI, "f")
+ );
+ }
+
+ [Test]
+ public void PathTest4()
+ {
+ AssertElementPath (
+ "<x:foo xmlns:x='" + namespaceURI + "' $",
+ new QualifiedName("foo", namespaceURI, "x")
+ );
+ }
+
+ [Test]
+ public void PathTest5()
+ {
+ AssertElementPath (
+ "<foo xmlns='" + namespaceURI + "'>\r\n<y\r\n" + "Id = 'foo' $",
+ new QualifiedName ("foo", namespaceURI),
+ new QualifiedName ("y", namespaceURI)
+ );
+ }
+
+ [Test]
+ public void PathTest6()
+ {
+ AssertElementPath (
+ "<bar xmlns='http://bar'/>\r\n<foo xmlns='" + namespaceURI + "' $",
+ new QualifiedName ("foo", namespaceURI)
+ );
+ }
+
+ /// <summary>
+ /// Tests that we get no path back if we are outside the start
+ /// tag.
+ /// </summary>
+ [Test]
+ public void OutOfStartTagPathTest1()
+ {
+ TestXmlParser.AssertState (
+ "<foo xmlns='" + namespaceURI + "'> $",
+ p => p.AssertStateIs<XmlRootState> ()
+ );
+ }
+
+ static void AssertElementPath (string text, params QualifiedName[] qualifiedNames)
+ {
+ TestXmlParser.AssertState (text, p => {
+ var arr = p.Nodes.ToArray ();
+ Array.Reverse (arr);
+ Assert.AreEqual (
+ new XmlElementPath (qualifiedNames),
+ XmlElementPath.Resolve (arr)
+ );
+ });
+ }
+ }
+}
diff --git a/main/src/addins/Xml/Tests/Parser/ActiveElementUnderCursorTests.cs b/main/src/addins/Xml/Tests/Parser/ActiveElementUnderCursorTests.cs new file mode 100644 index 0000000000..916e2873e0 --- /dev/null +++ b/main/src/addins/Xml/Tests/Parser/ActiveElementUnderCursorTests.cs @@ -0,0 +1,157 @@ +using MonoDevelop.Xml.Completion;
+using NUnit.Framework;
+
+namespace MonoDevelop.Xml.Tests.Parser
+{
+ /// <summary>
+ /// Tests the XmlParser.GetActiveElementStartPathAtIndex which finds the element
+ /// path where the index is at. The index may be in the middle or start of the element
+ /// tag.
+ /// </summary>
+ [TestFixture]
+ public class ActiveElementUnderCursorTests
+ {
+ const string namespaceURI = "http://foo.com/foo.xsd";
+
+ [Test]
+ public void PathTest1()
+ {
+ TestXmlParser.AssertTree (
+ "<foo xmlns='" + namespaceURI + "'$><bar>",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName("foo", namespaceURI)
+ )
+ );
+ }
+
+ [Test]
+ public void PathTest2()
+ {
+ TestXmlParser.AssertTree (
+ "<foo xmlns='" + namespaceURI + "'><$bar>",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName("foo", namespaceURI),
+ new QualifiedName("bar", namespaceURI)
+ )
+ );
+ }
+
+ [Test]
+ public void PathTest3()
+ {
+ TestXmlParser.AssertTree (
+ "<foo xmlns='" + namespaceURI + "'><b$ar>",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName("foo", namespaceURI),
+ new QualifiedName("bar", namespaceURI)
+ )
+ );
+ }
+
+ [Test]
+ public void PathTest4()
+ {
+ TestXmlParser.AssertTree (
+ "<foo xmlns='" + namespaceURI + "'><bar$>",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName ("foo", namespaceURI),
+ new QualifiedName ("bar", namespaceURI)
+ )
+ );
+ }
+
+ [Test]
+ public void PathTest5()
+ {
+ TestXmlParser.AssertTree (
+ "<foo xmlns='" + namespaceURI + "'><bar a$='a'>",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName ("foo", namespaceURI),
+ new QualifiedName ("bar", namespaceURI)
+ )
+ );
+ }
+
+ [Test]
+ public void PathTest6()
+ {
+ TestXmlParser.AssertTree (
+ "<foo xmlns='" + namespaceURI + "'><bar a='a$'>",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName ("foo", namespaceURI),
+ new QualifiedName ("bar", namespaceURI)
+ )
+ );
+ }
+
+ [Test]
+ public void PathTest7()
+ {
+ TestXmlParser.AssertTree (
+ "<foo xmlns='" + namespaceURI + "'><bar a='a' $>",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName("foo", namespaceURI),
+ new QualifiedName("bar", namespaceURI)
+ )
+ );
+ }
+
+ [Test]
+ public void PathTest8()
+ {
+ TestXmlParser.AssertTree (
+ "<foo xmlns='" + namespaceURI + "'><bar>$",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName("foo", namespaceURI),
+ new QualifiedName("bar", namespaceURI)
+ )
+ );
+ }
+
+ [Test]
+ public void PathTest9()
+ {
+ TestXmlParser.AssertTree (
+ "<foo xmlns='" + namespaceURI + "'><bar \n\n hi='$'>",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName ("foo", namespaceURI),
+ new QualifiedName ("bar", namespaceURI)
+ )
+ );
+ }
+
+ [Test]
+ public void PathTest10()
+ {
+ TestXmlParser.AssertTree (
+ "<foo xmlns='" + namespaceURI + "'><bar $Id=\r\n</foo>",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName ("foo", namespaceURI),
+ new QualifiedName ("bar", namespaceURI)
+ )
+ );
+ }
+
+ [Test]
+ public void PathTest11()
+ {
+ TestXmlParser.AssertTree (
+ "<fo$o xmlns='" + namespaceURI + "'>",
+ n => TestXmlParser.AssertPath (
+ n,
+ new QualifiedName ("foo", namespaceURI)
+ )
+ );
+ }
+ }
+}
diff --git a/main/src/addins/Xml/Tests/Parser/AttributeNameTestFixture.cs b/main/src/addins/Xml/Tests/Parser/AttributeNameTestFixture.cs new file mode 100644 index 0000000000..d63b3f630f --- /dev/null +++ b/main/src/addins/Xml/Tests/Parser/AttributeNameTestFixture.cs @@ -0,0 +1,98 @@ +using System.Linq;
+using MonoDevelop.Xml.Dom;
+using NUnit.Framework;
+
+namespace MonoDevelop.Xml.Tests.Parser
+{
+ /// <summary>
+ /// Tests that we can detect the attribute's name.
+ /// </summary>
+ [TestFixture]
+ public class AttributeNameTestFixture
+ {
+ [Test]
+ public void SuccessTest1()
+ {
+ AssertAttributeName ("<a foo='a$", "foo");
+ }
+
+ [Test]
+ public void SuccessTest2()
+ {
+ AssertAttributeName ("<a foo='$", "foo");
+ }
+
+ [Test]
+ public void SuccessTest3()
+ {
+ AssertAttributeName ("<a foo=$", "foo");
+ }
+
+ [Test]
+ public void SuccessTest4()
+ {
+ AssertAttributeName ("<a foo=\"$", "foo");
+ }
+
+ [Test]
+ public void SuccessTest5()
+ {
+ AssertAttributeName ("<a foo = \"$", "foo");
+ }
+
+ [Test]
+ public void SuccessTest6()
+ {
+ AssertAttributeName ("<a foo = '#$", "foo");
+ }
+
+ [Test]
+ public void FailureTest1()
+ {
+ NotAttribute ("foo=$");
+ }
+
+ [Test]
+ public void FailureTest2()
+ {
+ NotAttribute ("foo=<$");
+ }
+
+ [Test]
+ public void FailureTest3()
+ {
+ NotAttribute ("a$");
+ }
+
+ [Test]
+ public void FailureTest4()
+ {
+ NotAttribute ("< a$");
+ } + + [Test]
+ public void EmptyString()
+ {
+ NotAttribute ("$");
+ }
+
+ static void AssertAttributeName (string doc, string name)
+ {
+ TestXmlParser.AssertState (doc, p => {
+ var att = p.Nodes.FirstOrDefault () as XAttribute;
+ Assert.NotNull (att);
+ Assert.NotNull (att.Name);
+ Assert.IsNull (att.Name.Prefix);
+ Assert.AreEqual (att.Name.Name, name);
+ });
+ }
+
+ static void NotAttribute (string doc)
+ {
+ TestXmlParser.AssertState (doc, p => {
+ var att = p.Nodes.FirstOrDefault () as XAttribute;
+ Assert.IsNull (att);
+ });
+ }
+ }
+}
diff --git a/main/src/addins/Xml/Tests/Parser/AttributeNameUnderCursorTests.cs b/main/src/addins/Xml/Tests/Parser/AttributeNameUnderCursorTests.cs new file mode 100644 index 0000000000..f50cf21330 --- /dev/null +++ b/main/src/addins/Xml/Tests/Parser/AttributeNameUnderCursorTests.cs @@ -0,0 +1,56 @@ +using System.Linq;
+using MonoDevelop.Xml.Dom;
+using MonoDevelop.Xml.Parser;
+using NUnit.Framework;
+
+namespace MonoDevelop.Xml.Tests.Parser
+{
+ [TestFixture]
+ public class AttributeNameUnderCursorTests
+ {
+ [Test]
+ public void SuccessTest1()
+ {
+ AssertAttributeName ("<a foo$", "foo");
+ }
+
+ [Test]
+ public void SuccessTest2()
+ {
+ AssertAttributeName ("<a foo=$", "foo");
+ }
+
+ [Test]
+ public void SuccessTest3()
+ {
+ AssertAttributeName ("<a foo='$", "foo");
+ }
+
+ [Test]
+ public void SuccessTest4()
+ {
+ AssertAttributeName ("<a type='a$", "type");
+ }
+
+ public void AssertAttributeName (string doc, string name)
+ {
+ TestXmlParser.AssertState (doc, p => {
+ var att = p.Nodes.First () as XAttribute;
+ Assert.NotNull (att);
+ Assert.AreEqual (name, GetName (p));
+ });
+ }
+
+ static string GetName (XmlParser parser)
+ {
+ var namedObject = parser.Nodes.First () as INamedXObject;
+ Assert.NotNull (namedObject);
+ if (namedObject.IsNamed)
+ return namedObject.Name.ToString ();
+
+ var state = parser.CurrentState as XmlNameState;
+ Assert.NotNull (state);
+ return ((IXmlParserContext)parser).KeywordBuilder.ToString ();
+ }
+ }
+}
diff --git a/main/src/addins/Xml/Tests/Parser/AttributeValueUnderCursorTests.cs b/main/src/addins/Xml/Tests/Parser/AttributeValueUnderCursorTests.cs new file mode 100644 index 0000000000..07e6c01f41 --- /dev/null +++ b/main/src/addins/Xml/Tests/Parser/AttributeValueUnderCursorTests.cs @@ -0,0 +1,68 @@ +
+using System.Linq;
+using MonoDevelop.Xml.Dom;
+using MonoDevelop.Xml.Parser;
+using NUnit.Framework;
+
+namespace MonoDevelop.Xml.Tests.Parser
+{
+ [TestFixture]
+ public class AttributeValueUnderCursorTests
+ {
+ [Test]
+ public void SuccessTest1()
+ {
+ AssertAttributeValue ("<a foo='abc$'", "abc");
+ }
+
+ [Test]
+ public void SuccessTest2()
+ {
+ AssertAttributeValue ("<a foo=\"abc$\"", "abc");
+ }
+
+ [Test]
+ public void SuccessTest3()
+ {
+ AssertAttributeValue ("<a foo='abc$'", "abc");
+ }
+
+ [Test]
+ public void SuccessTest4()
+ {
+ AssertAttributeValue ("<a foo='$abc'", "");
+ }
+
+ [Test]
+ public void SuccessTest5()
+ {
+ AssertAttributeValue ("<a foo='$a", "");
+ }
+
+ [Test]
+ public void SuccessTest6()
+ {
+ AssertAttributeValue ("<a foo='a$'", "a");
+ }
+
+ [Test]
+ public void SuccessTest7()
+ {
+ AssertAttributeValue ("<a foo='a\"b\"c$'", "a\"b\"c");
+ }
+
+ [Test]
+ public void FailureTest1()
+ {
+ TestXmlParser.AssertState ("<a foo=''$", p => Assert.IsNull (p.Nodes.LastOrDefault () as XAttribute));
+ }
+
+ public void AssertAttributeValue (string doc, string val)
+ {
+ TestXmlParser.AssertState (doc, p => {
+ p.AssertStateIs<XmlAttributeValueState> ();
+ Assert.AreEqual (val, ((IXmlParserContext)p).KeywordBuilder.ToString ());
+ });
+ }
+ }
+}
diff --git a/main/src/addins/Xml/Tests/Parser/InsideAttributeValueTestFixture.cs b/main/src/addins/Xml/Tests/Parser/InsideAttributeValueTestFixture.cs new file mode 100644 index 0000000000..ae659f2d91 --- /dev/null +++ b/main/src/addins/Xml/Tests/Parser/InsideAttributeValueTestFixture.cs @@ -0,0 +1,109 @@ +using NUnit.Framework;
+using MonoDevelop.Xml.Parser;
+
+namespace MonoDevelop.Xml.Tests.Parser
+{
+ [TestFixture]
+ public class InsideAttributeValueTestFixture
+ {
+ [Test]
+ public void InvalidString()
+ {
+ AssertNotInsideAttributeValue ("$");
+ }
+
+ [Test]
+ public void DoubleQuotesTest1()
+ {
+ string xml = "<foo a=\"$";
+ AssertInsideAttributeValue (xml);
+ }
+
+ [Test]
+ public void DoubleQuotesTest2()
+ {
+ string xml = "<foo a=\"\" $";
+ AssertNotInsideAttributeValue (xml);
+ }
+
+ [Test]
+ public void DoubleQuotesTest3()
+ {
+ string xml = "<foo a=\"\"$";
+ AssertNotInsideAttributeValue (xml);
+ }
+
+ [Test]
+ public void DoubleQuotesTest4()
+ {
+ string xml = "<foo a=\" $";
+ AssertInsideAttributeValue (xml);
+ }
+
+ [Test]
+ public void NoXmlElementStart()
+ {
+ string xml = "foo a=\"$";
+ AssertNotInsideAttributeValue (xml);
+ } +
+ [Test]
+ public void DoubleQuotesTest5()
+ {
+ string xml = "<foo a=\"$\"";
+ AssertInsideAttributeValue (xml);
+ }
+
+ [Test]
+ public void EqualsSignTest()
+ {
+ string xml = "<foo a=$";
+ AssertNotInsideAttributeValue (xml);
+ }
+
+ [Test]
+ public void SingleQuoteTest1()
+ {
+ string xml = "<foo a='$";
+ AssertInsideAttributeValue (xml);
+ }
+
+ [Test]
+ public void MixedQuotesTest1()
+ {
+ string xml = "<foo a='\"$";
+ AssertInsideAttributeValue (xml);
+ }
+
+ [Test]
+ public void MixedQuotesTest2()
+ {
+ string xml = "<foo a=\"'$";
+ AssertInsideAttributeValue (xml);
+ }
+
+ [Test]
+ public void MixedQuotesTest3()
+ {
+ string xml = "<foo a=\"''$";
+ AssertInsideAttributeValue (xml);
+ }
+
+ [Test]
+ public void MixedQuotesTest4()
+ {
+ string xml = "<foo a=\"''\"$";
+ AssertNotInsideAttributeValue (xml);
+ }
+
+ public void AssertInsideAttributeValue (string doc)
+ {
+ TestXmlParser.AssertState (doc, p => p.AssertStateIs<XmlAttributeValueState> ());
+ }
+
+ public void AssertNotInsideAttributeValue (string doc)
+ {
+ TestXmlParser.AssertState (doc, p => p.AssertStateIsNot<XmlAttributeValueState> ());
+ }
+ }
+}
diff --git a/main/src/addins/Xml/Tests/Parser/NamespaceDeclarationTestFixture.cs b/main/src/addins/Xml/Tests/Parser/NamespaceDeclarationTestFixture.cs new file mode 100644 index 0000000000..49549fe583 --- /dev/null +++ b/main/src/addins/Xml/Tests/Parser/NamespaceDeclarationTestFixture.cs @@ -0,0 +1,109 @@ +
+using System.Linq;
+using MonoDevelop.Xml.Dom;
+using NUnit.Framework;
+
+namespace MonoDevelop.Xml.Tests.Parser
+{
+ /// <summary>
+ /// When the user hits the '=' key we need to produce intellisense
+ /// if the attribute is of the form 'xmlns' or 'xmlns:foo'. This
+ /// tests the parsing of the text before the cursor to see if the
+ /// attribute is a namespace declaration.
+ /// </summary>
+ [TestFixture]
+ public class NamespaceDeclarationTestFixture
+ {
+ [Test]
+ public void SuccessTest1()
+ {
+ AssertIsNamespaceDeclaration("<foo xmlns=$");
+ }
+
+ [Test]
+ public void SuccessTest2()
+ {
+ AssertIsNamespaceDeclaration("<foo xmlns =$");
+ }
+
+ [Test]
+ public void SuccessTest3()
+ {
+ AssertIsNamespaceDeclaration("<foo \r\nxmlns\r\n=$");
+ }
+
+ [Test]
+ public void SuccessTest4()
+ {
+ AssertIsNamespaceDeclaration("<foo xmlns:nant=$");
+ }
+
+ [Test]
+ public void FailureTest1()
+ {
+ AssertNotNamespaceDeclaration("<foo xmlns$");
+ }
+
+ [Test]
+ public void FailureTest2()
+ {
+ AssertNotNamespaceDeclaration("<foo xmlns:nant$");
+ }
+
+ [Test]
+ public void FailureTest3()
+ {
+ AssertNotNamespaceDeclaration(" xmlns=$");
+ }
+
+ [Test]
+ public void FailureTest4()
+ {
+ AssertNotNamespaceDeclaration(" xmlns$");
+ }
+
+ [Test]
+ public void FailureTest5()
+ {
+ AssertNotNamespaceDeclaration(" xmlns:f$");
+ }
+
+ [Test]
+ public void FailureTest6()
+ {
+ AssertNotNamespaceDeclaration("<foo bar=$");
+ }
+
+ [Test]
+ public void FailureTest7()
+ {
+ AssertNotNamespaceDeclaration("$");
+ }
+
+ public void AssertIsNamespaceDeclaration (string doc)
+ {
+ TestXmlParser.AssertState (doc, p => {
+ var node = p.Nodes.FirstOrDefault () as XAttribute;
+ Assert.NotNull (node);
+ Assert.IsTrue (node.IsNamed);
+ if (node.Name.HasPrefix)
+ Assert.AreEqual ("xmlns", node.Name.Prefix);
+ else
+ Assert.AreEqual ("xmlns", node.Name.Name);
+ });
+ }
+
+ public void AssertNotNamespaceDeclaration (string doc)
+ {
+ TestXmlParser.AssertState (doc, p => {
+ var node = p.Nodes.FirstOrDefault () as XAttribute;
+ if (node != null && node.IsNamed) {
+ if (node.Name.HasPrefix)
+ Assert.AreNotEqual ("xmlns", node.Name.Prefix);
+ else
+ Assert.AreNotEqual ("xmlns", node.Name.Name);
+ }
+ });
+ }
+ }
+}
diff --git a/main/src/addins/Xml/Tests/Parser/ParentElementPathTestFixture.cs b/main/src/addins/Xml/Tests/Parser/ParentElementPathTestFixture.cs new file mode 100644 index 0000000000..7f73762161 --- /dev/null +++ b/main/src/addins/Xml/Tests/Parser/ParentElementPathTestFixture.cs @@ -0,0 +1,57 @@ +using MonoDevelop.Xml.Completion;
+using NUnit.Framework;
+
+namespace MonoDevelop.Xml.Tests.Parser
+{
+ [TestFixture]
+ public class ParentElementPathTestFixture
+ {
+ const string namespaceURI = "http://foo/foo.xsd";
+
+ [Test]
+ public void SuccessTest1()
+ {
+ AssertParentPath (
+ "<foo xmlns='" + namespaceURI + "' >$<",
+ new QualifiedName ("foo", namespaceURI)
+ );
+ }
+
+ [Test]
+ public void SuccessTest2()
+ {
+ AssertParentPath (
+ "<foo xmlns='" + namespaceURI + "' ><bar></bar><$",
+ new QualifiedName ("foo", namespaceURI)
+ );
+ }
+
+ [Test]
+ public void SuccessTest3()
+ {
+ AssertParentPath (
+ "<foo xmlns='" + namespaceURI + "' ><bar/><$",
+ new QualifiedName ("foo", namespaceURI)
+ );
+ }
+
+ [Test]
+ public void SuccessTest4()
+ {
+ AssertParentPath (
+ "<bar xmlns='http://test.com'/><foo xmlns='" + namespaceURI + "' ><$",
+ new QualifiedName ("foo", namespaceURI)
+ );
+ }
+
+ public void AssertParentPath (string doc, params QualifiedName[] qualifiedNames)
+ {
+ TestXmlParser.AssertState (doc, p =>
+ Assert.AreEqual (
+ new XmlElementPath (qualifiedNames),
+ XmlElementPath.Resolve (p.Nodes.ToArray ())
+ )
+ );;
+ }
+ }
+}
diff --git a/main/tests/UnitTests/MonoDevelop.Xml.StateEngine/ParsingTests.cs b/main/src/addins/Xml/Tests/Parser/ParsingTests.cs index 3d09ae4610..ad84140b7a 100644 --- a/main/tests/UnitTests/MonoDevelop.Xml.StateEngine/ParsingTests.cs +++ b/main/src/addins/Xml/Tests/Parser/ParsingTests.cs @@ -28,26 +28,27 @@ using System.Linq; -using NUnit.Framework; using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.Xml.Dom; +using MonoDevelop.Xml.Parser; +using NUnit.Framework; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.Xml.Tests.Parser { [TestFixture] public class ParsingTests { - - public virtual XmlFreeState CreateRootState () + public virtual XmlRootState CreateRootState () { - return new XmlFreeState (); + return new XmlRootState (); } [Test] public void AttributeName () { - TestParser parser = new TestParser (CreateRootState ()); + var parser = new TestXmlParser (CreateRootState ()); parser.Parse (@" <doc> <tag.a> @@ -67,7 +68,7 @@ namespace MonoDevelop.Xml.StateEngine [Test] public void Attributes () { - TestParser parser = new TestParser (CreateRootState ()); + var parser = new TestXmlParser (CreateRootState ()); parser.Parse (@" <doc> <tag.a name=""foo"" arg=5 wibble = 6 bar.baz = 'y.ff7]' $ /> @@ -85,7 +86,7 @@ namespace MonoDevelop.Xml.StateEngine [Test] public void AttributeRecovery () { - TestParser parser = new TestParser (CreateRootState ()); + var parser = new TestXmlParser (CreateRootState ()); parser.Parse (@" <doc> <tag.a> @@ -107,7 +108,7 @@ namespace MonoDevelop.Xml.StateEngine [Test] public void IncompleteTags () { - TestParser parser = new TestParser (CreateRootState ()); + var parser = new TestXmlParser (CreateRootState ()); parser.Parse (@" <doc> <tag.a att1 > @@ -132,11 +133,11 @@ namespace MonoDevelop.Xml.StateEngine parser.AssertEmpty (); parser.AssertErrorCount (5, x => x.ErrorType == ErrorType.Error); } - + [Test] public void Unclosed () { - TestParser parser = new TestParser (CreateRootState ()); + var parser = new TestXmlParser (CreateRootState ()); parser.Parse (@" <doc> <tag.a> @@ -145,12 +146,12 @@ namespace MonoDevelop.Xml.StateEngine </doc> ", delegate { - parser.AssertStateIs<XmlFreeState> (); + parser.AssertStateIs<XmlRootState> (); parser.AssertNodeDepth (5); parser.AssertPath ("//doc/tag.a/tag.b/tag.b"); }, delegate { - parser.AssertStateIs<XmlFreeState> (); + parser.AssertStateIs<XmlRootState> (); parser.AssertNodeDepth (2); parser.AssertPath ("//doc"); } @@ -162,7 +163,7 @@ namespace MonoDevelop.Xml.StateEngine [Test] public void Misc () { - TestParser parser = new TestParser (CreateRootState ()); + var parser = new TestXmlParser (CreateRootState ()); parser.Parse (@" <doc> <!DOCTYPE $ > @@ -189,11 +190,11 @@ namespace MonoDevelop.Xml.StateEngine parser.AssertEmpty (); parser.AssertErrorCount (0); } - + [Test] public void DocTypeCapture () { - TestParser parser = new TestParser (CreateRootState (), true); + var parser = new TestXmlParser (CreateRootState (), true); parser.Parse (@" <!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Strict//EN"" ""DTD/xhtml1-strict.dtd"" @@ -217,7 +218,7 @@ namespace MonoDevelop.Xml.StateEngine [Test]
public void NamespacedAttributes ()
{
- var parser = new TestParser (CreateRootState (), true);
+ var parser = new TestXmlParser (CreateRootState (), true);
parser.Parse (@"<tag foo:bar='1' foo:bar:baz='2' foo='3' />");
parser.AssertEmpty ();
var doc = (XDocument) parser.Nodes.Peek ();
@@ -238,7 +239,7 @@ namespace MonoDevelop.Xml.StateEngine [Test] public void SimpleTree () { - var parser = new TestParser (CreateRootState (), true); + var parser = new TestXmlParser (CreateRootState (), true); parser.Parse (@" <doc> <a> diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/QualifiedNameTestFixture.cs b/main/src/addins/Xml/Tests/Parser/QualifiedNameTestFixture.cs index 3abbb9286b..4960bc7ee8 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Parser/QualifiedNameTestFixture.cs +++ b/main/src/addins/Xml/Tests/Parser/QualifiedNameTestFixture.cs @@ -1,9 +1,9 @@ -using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework; using System.Xml;
-namespace MonoDevelop.XmlEditor.Tests.Parser
+namespace MonoDevelop.Xml.Tests.Parser
{
/// <summary>
/// Tests the comparison of <see cref="QualifiedName"/> items.
diff --git a/main/tests/UnitTests/MonoDevelop.Xml.StateEngine/TestParser.cs b/main/src/addins/Xml/Tests/Parser/TestXmlParser.cs index 5ec3eacb26..74afe274ff 100644 --- a/main/tests/UnitTests/MonoDevelop.Xml.StateEngine/TestParser.cs +++ b/main/src/addins/Xml/Tests/Parser/TestXmlParser.cs @@ -27,30 +27,54 @@ //
using System;
-using System.Linq;
using System.Collections.Generic;
-using MonoDevelop.Ide.Gui.Content;
+using System.Linq;
-using NUnit.Framework;
+using ICSharpCode.NRefactory;
using ICSharpCode.NRefactory.TypeSystem; +using MonoDevelop.Xml.Completion; +using MonoDevelop.Xml.Dom; +using MonoDevelop.Xml.Parser; +using NUnit.Framework; -namespace MonoDevelop.Xml.StateEngine +namespace MonoDevelop.Xml.Tests.Parser { - public class TestParser : Parser + public class TestXmlParser : XmlParser { readonly List<Error> errors = new List<Error> (); - public TestParser (RootState rootState) : this (rootState, false) + public TestXmlParser (XmlRootState rootState) : this (rootState, false) { } - public TestParser (RootState rootState, bool buildTree) : base (rootState, buildTree) + public TestXmlParser (XmlRootState rootState, bool buildTree) : base (rootState, buildTree) { - base.ErrorLogged += delegate (Error err) { errors.Add (err); }; + ErrorLogged += errors.Add; } public new List<Error> Errors { get { return errors; } } - + + public static void AssertState (string doc, params Action<TestXmlParser>[] asserts) + { + var p = new TestXmlParser (new XmlRootState ()); + p.Parse (doc, Array.ConvertAll (asserts, a => (Action)(() => a (p)))); + } + + public static void AssertTree (string txt, params Action<XNode>[] asserts) + { + var p = new TestXmlParser (new XmlRootState (), true); + + //parse and capture line/col info + var list = new List<TextLocation> (); + p.Parse (txt, Array.ConvertAll (asserts, a => (Action)(() => list.Add (p.Location)))); + + var doc = (XDocument) p.Nodes.Last (); + + for (int i = 0; i < asserts.Length; i++) { + asserts [i] (doc.AllDescendentNodes.FirstOrDefault (n => n.Region.IsInside (list[i]))); + } + } + public void Parse (string doc, params Action[] asserts) { Parse (doc, '$', asserts); @@ -74,6 +98,7 @@ namespace MonoDevelop.Xml.StateEngine Push (c); } } + Assert.AreEqual (asserts.Length, assertNo); } public string GetPath () @@ -102,10 +127,15 @@ namespace MonoDevelop.Xml.StateEngine }; } - public void AssertStateIs<T> () where T : State + public void AssertStateIs<T> () where T : XmlParserState { Assert.IsTrue (CurrentState is T, "Current state is {0} not {1}", CurrentState.GetType ().Name, typeof (T).Name); } + + public void AssertStateIsNot<T> () where T : XmlParserState + { + Assert.IsFalse (CurrentState is T, "Current state is {0}", typeof (T).Name); + } public void AssertNodeDepth (int depth) { @@ -188,5 +218,20 @@ namespace MonoDevelop.Xml.StateEngine Assert.IsTrue (node is INamedXObject); Assert.AreEqual (name, ((INamedXObject)node).Name.FullName); } + + public static void AssertPath (XNode node, params QualifiedName[] qualifiedNames) + { + var path = new List<XNode> (); + while (node != null) { + path.Add (node); + node = node.Parent as XNode; + } + path.Reverse (); + + Assert.AreEqual ( + new XmlElementPath (qualifiedNames), + XmlElementPath.Resolve (path.ToArray ()) + ); + } } } diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Paths/NoElementPathTestFixture.cs b/main/src/addins/Xml/Tests/Paths/NoElementPathTestFixture.cs index 4df417d889..ff95d40e0c 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Paths/NoElementPathTestFixture.cs +++ b/main/src/addins/Xml/Tests/Paths/NoElementPathTestFixture.cs @@ -1,8 +1,8 @@ -using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Paths
+namespace MonoDevelop.Xml.Tests.Paths
{
[TestFixture]
public class NoElementPathTestFixture
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Paths/SingleElementPathTestFixture.cs b/main/src/addins/Xml/Tests/Paths/SingleElementPathTestFixture.cs index a9a376ba89..6087294c90 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Paths/SingleElementPathTestFixture.cs +++ b/main/src/addins/Xml/Tests/Paths/SingleElementPathTestFixture.cs @@ -1,8 +1,8 @@ -using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Paths
+namespace MonoDevelop.Xml.Tests.Paths
{
[TestFixture]
public class SingleElementPathTestFixture
@@ -21,15 +21,7 @@ namespace MonoDevelop.XmlEditor.Tests.Paths [Test]
public void HasOneItem()
{
- Assert.AreEqual(1, path.Elements.Count,
- "Should have 1 element.");
- }
-
- [Test]
- public void RemoveLastItem()
- {
- path.Elements.RemoveLast();
- Assert.AreEqual(0, path.Elements.Count, "Should have no items.");
+ Assert.AreEqual(1, path.Elements.Count, "Should have 1 element.");
}
[Test]
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Paths/TwoElementPathTestFixture.cs b/main/src/addins/Xml/Tests/Paths/TwoElementPathTestFixture.cs index 0f74db3836..95c936f410 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Paths/TwoElementPathTestFixture.cs +++ b/main/src/addins/Xml/Tests/Paths/TwoElementPathTestFixture.cs @@ -1,8 +1,8 @@ -using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Paths
+namespace MonoDevelop.Xml.Tests.Paths
{
[TestFixture]
public class TwoElementPathTestFixture
@@ -20,34 +20,6 @@ namespace MonoDevelop.XmlEditor.Tests.Paths secondQualifiedName = new QualifiedName("bar", "http://bar", "b");
path.Elements.Add(secondQualifiedName);
- }
-
- [Test]
- public void HasTwoItems()
- {
- Assert.AreEqual(2, path.Elements.Count,
- "Should have 2 elements.");
- }
-
- [Test]
- public void RemoveLastItem()
- {
- path.Elements.RemoveLast();
- Assert.AreEqual(firstQualifiedName, path.Elements[0],
- "Wrong item removed.");
- }
-
- [Test]
- public void LastPrefix()
- {
- Assert.AreEqual("b", path.Elements.LastPrefix, "Incorrect last prefix.");
- }
-
- [Test]
- public void LastPrefixAfterLastItemRemoved()
- {
- path.Elements.RemoveLast();
- Assert.AreEqual("f", path.Elements.LastPrefix, "Incorrect last prefix.");
}
[Test]
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Resources/XMLSchema.xsd b/main/src/addins/Xml/Tests/Resources/XMLSchema.xsd index 5acc282d5e..5acc282d5e 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Resources/XMLSchema.xsd +++ b/main/src/addins/Xml/Tests/Resources/XMLSchema.xsd diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Resources/xhtml1-strict-modified.xsd b/main/src/addins/Xml/Tests/Resources/xhtml1-strict-modified.xsd index 1d25a8e7ef..1d25a8e7ef 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Resources/xhtml1-strict-modified.xsd +++ b/main/src/addins/Xml/Tests/Resources/xhtml1-strict-modified.xsd diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AbstractElementTestFixture.cs b/main/src/addins/Xml/Tests/Schema/AbstractElementTestFixture.cs index baccd90b7e..62dd1300db 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AbstractElementTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/AbstractElementTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests elements that are abstract and require substitution groups.
@@ -16,7 +16,7 @@ namespace MonoDevelop.XmlEditor.Tests.Schema public override void FixtureInit()
{
- XmlElementPath path = new XmlElementPath();
+ var path = new XmlElementPath();
path.Elements.Add(new QualifiedName("project", "http://foo"));
path.Elements.Add(new QualifiedName("items", "http://foo"));
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AllElementTestFixture.cs b/main/src/addins/Xml/Tests/Schema/AllElementTestFixture.cs index 241c719aac..a9a7a3265d 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AllElementTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/AllElementTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that element completion works for any child elements
@@ -17,7 +17,7 @@ namespace MonoDevelop.XmlEditor.Tests.Schema public override void FixtureInit()
{
- XmlElementPath path = new XmlElementPath();
+ var path = new XmlElementPath();
path.Elements.Add(new QualifiedName("person", "http://foo"));
personElementChildren = SchemaCompletionData.GetChildElementCompletionData(path);
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeAnnotationTestFixture.cs b/main/src/addins/Xml/Tests/Schema/AttributeAnnotationTestFixture.cs index 90f5ea890b..071f9ac510 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeAnnotationTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/AttributeAnnotationTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that the completion data retrieves the annotation documentation
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeGroupRefTestFixture.cs b/main/src/addins/Xml/Tests/Schema/AttributeGroupRefTestFixture.cs index ecc4d15db3..94b397c1bc 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeGroupRefTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/AttributeGroupRefTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Element that uses an attribute group ref.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeRefTestFixture.cs b/main/src/addins/Xml/Tests/Schema/AttributeRefTestFixture.cs index 8fb20a7a19..4cf58808ed 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeRefTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/AttributeRefTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests attribute refs
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeValueAnnotationTestFixture.cs b/main/src/addins/Xml/Tests/Schema/AttributeValueAnnotationTestFixture.cs index 530b728403..85860aeed5 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/AttributeValueAnnotationTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/AttributeValueAnnotationTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that the completion data retrieves the annotation documentation
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ChildElementAttributesTestFixture.cs b/main/src/addins/Xml/Tests/Schema/ChildElementAttributesTestFixture.cs index a62b190d8e..4154ee41d4 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ChildElementAttributesTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/ChildElementAttributesTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Child element attributes.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ChoiceTestFixture.cs b/main/src/addins/Xml/Tests/Schema/ChoiceTestFixture.cs index fa857945e0..6eff3b644c 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ChoiceTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/ChoiceTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that nested schema choice elements are handled.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ComplexContentExtensionTestFixture.cs b/main/src/addins/Xml/Tests/Schema/ComplexContentExtensionTestFixture.cs index 3db0909c74..10c8aebc3d 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ComplexContentExtensionTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/ComplexContentExtensionTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests complex content extension elements.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/DuplicateElementTestFixture.cs b/main/src/addins/Xml/Tests/Schema/DuplicateElementTestFixture.cs index 2f37f1b0ee..07ccb2afb0 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/DuplicateElementTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/DuplicateElementTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests duplicate elements in the schema.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ElementAnnotationTestFixture.cs b/main/src/addins/Xml/Tests/Schema/ElementAnnotationTestFixture.cs index c3cf34381f..f4f709366e 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ElementAnnotationTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/ElementAnnotationTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that the completion data retrieves the annotation documentation
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ElementRefAnnotationTestFixture.cs b/main/src/addins/Xml/Tests/Schema/ElementRefAnnotationTestFixture.cs index f4b248476b..f102adc70e 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ElementRefAnnotationTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/ElementRefAnnotationTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that the completion data retrieves the annotation documentation
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ElementWithAttributeSchemaTestFixture.cs b/main/src/addins/Xml/Tests/Schema/ElementWithAttributeSchemaTestFixture.cs index d0e6c65744..5929d39082 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ElementWithAttributeSchemaTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/ElementWithAttributeSchemaTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Element that has a single attribute.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/EnumAttributeValueTestFixture.cs b/main/src/addins/Xml/Tests/Schema/EnumAttributeValueTestFixture.cs index cfd9e4c78a..7a56e0a84b 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/EnumAttributeValueTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/EnumAttributeValueTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests attribute refs
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ExtensionElementTestFixture.cs b/main/src/addins/Xml/Tests/Schema/ExtensionElementTestFixture.cs index 106f67d47e..f6ee5ba782 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ExtensionElementTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/ExtensionElementTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests complex content extension elements.
@@ -31,7 +31,7 @@ namespace MonoDevelop.XmlEditor.Tests.Schema includeAttributes = SchemaCompletionData.GetAttributeCompletionData(path);
// Get annotation element info.
- path.Elements.RemoveLast();
+ path.Elements.RemoveAt(path.Elements.Count - 1);
path.Elements.Add(new QualifiedName("annotation", "http://www.w3.org/2001/XMLSchema"));
annotationChildElements = SchemaCompletionData.GetChildElementCompletionData(path);
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/FindAttributeFromComplexTypeTestFixture.cs b/main/src/addins/Xml/Tests/Schema/FindAttributeFromComplexTypeTestFixture.cs index 93147eee2c..1a4dc4bf83 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/FindAttributeFromComplexTypeTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/FindAttributeFromComplexTypeTestFixture.cs @@ -1,8 +1,8 @@ -using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
using System.Xml.Schema;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Element that has a single attribute.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/GroupRefCompositorTestFixture.cs b/main/src/addins/Xml/Tests/Schema/GroupRefCompositorTestFixture.cs index 042b18117e..6e6cb086f6 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/GroupRefCompositorTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/GroupRefCompositorTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that autocompletion data is correct for an xml schema containing:
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/GroupRefTestFixture.cs b/main/src/addins/Xml/Tests/Schema/GroupRefTestFixture.cs index 94d47ab956..25d87736df 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/GroupRefTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/GroupRefTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests element group refs
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema.Includes/AttributeGroupRefSchemaIncludeTestFixture.cs b/main/src/addins/Xml/Tests/Schema/Includes/AttributeGroupRefSchemaIncludeTestFixture.cs index c3b8037055..e368466589 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema.Includes/AttributeGroupRefSchemaIncludeTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/Includes/AttributeGroupRefSchemaIncludeTestFixture.cs @@ -1,9 +1,9 @@ using NUnit.Framework; -using MonoDevelop.XmlEditor.Completion; -using MonoDevelop.XmlEditor.Tests.Utils; -using MonoDevelop.XmlEditor.Tests.Schema; +using MonoDevelop.Xml.Completion; +using MonoDevelop.Xml.Tests.Utils; +using MonoDevelop.Xml.Tests.Schema; -namespace MonoDevelop.XmlEditor.Tests.Schema.Includes +namespace MonoDevelop.Xml.Tests.Schema.Includes { /// <summary> /// Tests that schemas referenced via xs:include elements are used when diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema.Includes/TwoElementSchemaIncludeTestFixture.cs b/main/src/addins/Xml/Tests/Schema/Includes/TwoElementSchemaIncludeTestFixture.cs index 06041c6900..197230c76e 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema.Includes/TwoElementSchemaIncludeTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/Includes/TwoElementSchemaIncludeTestFixture.cs @@ -1,9 +1,9 @@ -using MonoDevelop.XmlEditor.Completion; +using MonoDevelop.Xml.Completion; using NUnit.Framework; -using MonoDevelop.XmlEditor.Tests.Utils; -using MonoDevelop.XmlEditor.Tests.Schema; +using MonoDevelop.Xml.Tests.Utils; +using MonoDevelop.Xml.Tests.Schema; -namespace MonoDevelop.XmlEditor.Tests.Schema.Includes +namespace MonoDevelop.Xml.Tests.Schema.Includes { /// <summary> /// Tests that schemas referenced via xs:include elements are used when diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/MissingSchemaElementTestFixture.cs b/main/src/addins/Xml/Tests/Schema/MissingSchemaElementTestFixture.cs index b5e5b77a8a..0736cbe62b 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/MissingSchemaElementTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/MissingSchemaElementTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
[TestFixture]
public class MissingSchemaElementTestFixture : SchemaTestFixtureBase
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NamespaceCompletionTestFixture.cs b/main/src/addins/Xml/Tests/Schema/NamespaceCompletionTestFixture.cs index 415d3cb0e1..0cf108baec 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NamespaceCompletionTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/NamespaceCompletionTestFixture.cs @@ -1,9 +1,9 @@ -using MonoDevelop.XmlEditor.Completion;
+using MonoDevelop.Xml.Completion;
using MonoDevelop.Ide.CodeCompletion;
using NUnit.Framework;
using System.IO;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// The collection of schemas should provide completion data for the
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedAttributeGroupRefTestFixture.cs b/main/src/addins/Xml/Tests/Schema/NestedAttributeGroupRefTestFixture.cs index a8a22b8b10..fcb65fb900 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedAttributeGroupRefTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/NestedAttributeGroupRefTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Element that uses an attribute group ref.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedChoiceTestFixture.cs b/main/src/addins/Xml/Tests/Schema/NestedChoiceTestFixture.cs index ba7a905192..3323065312 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedChoiceTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/NestedChoiceTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that nested schema choice elements are handled.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedElementSchemaTestFixture.cs b/main/src/addins/Xml/Tests/Schema/NestedElementSchemaTestFixture.cs index 6a74b8552f..20e01b0c72 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedElementSchemaTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/NestedElementSchemaTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
[TestFixture]
public class NestedElementSchemaTestFixture : SchemaTestFixtureBase
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedSequenceTestFixture.cs b/main/src/addins/Xml/Tests/Schema/NestedSequenceTestFixture.cs index 7c2958d62f..c4b24ce395 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/NestedSequenceTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/NestedSequenceTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that nested schema sequence elements are handled. This
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ReferencedElementsTestFixture.cs b/main/src/addins/Xml/Tests/Schema/ReferencedElementsTestFixture.cs index 88cc6479b5..125925b3c5 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/ReferencedElementsTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/ReferencedElementsTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
[TestFixture]
public class ReferencedElementsTestFixture : SchemaTestFixtureBase
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/RestrictionElementTestFixture.cs b/main/src/addins/Xml/Tests/Schema/RestrictionElementTestFixture.cs index 0a6053f8e8..44e3075cee 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/RestrictionElementTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/RestrictionElementTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests complex content restriction elements.
@@ -27,7 +27,7 @@ namespace MonoDevelop.XmlEditor.Tests.Schema annotationChildElements = SchemaCompletionData.GetChildElementCompletionData(path);
// Get choice child elements.
- path.Elements.RemoveLast();
+ path.Elements.RemoveAt (path.Elements.Count - 1);
path.Elements.Add(new QualifiedName("choice", "http://www.w3.org/2001/XMLSchema"));
choiceChildElements = SchemaCompletionData.GetChildElementCompletionData(path);
}
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SchemaAssociationTests.cs b/main/src/addins/Xml/Tests/Schema/SchemaAssociationTests.cs index 2ff5377578..c9603ff192 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SchemaAssociationTests.cs +++ b/main/src/addins/Xml/Tests/Schema/SchemaAssociationTests.cs @@ -1,11 +1,10 @@ -using MonoDevelop.XmlEditor; using NUnit.Framework; -using System; using System.IO; using System.Text; using System.Xml; +using MonoDevelop.Xml.Editor; -namespace MonoDevelop.XmlEditor.Tests.Schema +namespace MonoDevelop.Xml.Tests.Schema { [TestFixture] public class SchemaAssociationTests diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SchemaTestFixtureBase.cs b/main/src/addins/Xml/Tests/Schema/SchemaTestFixtureBase.cs index 731c9c13a9..5997a316bd 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SchemaTestFixtureBase.cs +++ b/main/src/addins/Xml/Tests/Schema/SchemaTestFixtureBase.cs @@ -1,11 +1,11 @@ using ICSharpCode.NRefactory.Completion;
using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor.Completion;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
using System;
using System.IO;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
[TestFixture]
public abstract class SchemaTestFixtureBase
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SequencedChoiceTestFixture.cs b/main/src/addins/Xml/Tests/Schema/SequencedChoiceTestFixture.cs index 56f0c88ebc..1d043b61c9 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SequencedChoiceTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/SequencedChoiceTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that nested schema choice elements inside a sequence are handled.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SimpleContentWithAttributeTestFixture.cs b/main/src/addins/Xml/Tests/Schema/SimpleContentWithAttributeTestFixture.cs index a9d29ac4bc..b83fc5e7e2 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SimpleContentWithAttributeTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/SimpleContentWithAttributeTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Element that is a simple content type.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SingleElementSchemaTestFixture.cs b/main/src/addins/Xml/Tests/Schema/SingleElementSchemaTestFixture.cs index 62ba570e03..46cf1e2c70 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/SingleElementSchemaTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/SingleElementSchemaTestFixture.cs @@ -1,8 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Retrieve completion data for an xml schema that specifies only one
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/TwoElementSchemaTestFixture.cs b/main/src/addins/Xml/Tests/Schema/TwoElementSchemaTestFixture.cs index 7d8b7f6c8d..3d101f7e23 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/TwoElementSchemaTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/TwoElementSchemaTestFixture.cs @@ -1,7 +1,8 @@ using MonoDevelop.Ide.CodeCompletion;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Two elements defined in a schema, one uses the 'type' attribute to
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema.Uri/GetUriTestFixture.cs b/main/src/addins/Xml/Tests/Schema/Uri/GetUriTestFixture.cs index c635f94616..09b261034a 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema.Uri/GetUriTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/Uri/GetUriTestFixture.cs @@ -1,8 +1,8 @@ -using MonoDevelop.XmlEditor.Completion;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
using System;
-namespace MonoDevelop.XmlEditor.Tests.Schema.Uri
+namespace MonoDevelop.Xml.Tests.Schema.Uri
{
/// <summary>
/// Tests the <see cref="XmlSchemaCompletionData.GetUri"/> method.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/XhtmlStrictSchemaTestFixture.cs b/main/src/addins/Xml/Tests/Schema/XhtmlStrictSchemaTestFixture.cs index dc6cc269f8..1082b73df2 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/XhtmlStrictSchemaTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/XhtmlStrictSchemaTestFixture.cs @@ -1,11 +1,10 @@ using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.XmlEditor.Completion;
-using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Completion;
using NUnit.Framework;
using System.Xml;
-using MonoDevelop.XmlEditor.Tests.Utils;
+using MonoDevelop.Xml.Tests.Utils;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests the xhtml1-strict schema.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/XmlSchemaNamespaceTests.cs b/main/src/addins/Xml/Tests/Schema/XmlSchemaNamespaceTests.cs index b98ab6ec46..e1954c8c64 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/XmlSchemaNamespaceTests.cs +++ b/main/src/addins/Xml/Tests/Schema/XmlSchemaNamespaceTests.cs @@ -1,8 +1,8 @@ -using MonoDevelop.XmlEditor;
+using MonoDevelop.Xml.Editor;
using NUnit.Framework;
using System;
-namespace MonoDevelop.XmlEditor.Tests.Schema
+namespace MonoDevelop.Xml.Tests.Schema
{
/// <summary>
/// Tests that the standard W3C namespace for XSD files is recognised.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/XsdSchemaTestFixture.cs b/main/src/addins/Xml/Tests/Schema/XsdSchemaTestFixture.cs index 8f171989db..2a436d7e41 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Schema/XsdSchemaTestFixture.cs +++ b/main/src/addins/Xml/Tests/Schema/XsdSchemaTestFixture.cs @@ -1,11 +1,10 @@ using MonoDevelop.Ide.CodeCompletion; -using MonoDevelop.XmlEditor; -using MonoDevelop.XmlEditor.Completion; +using MonoDevelop.Xml.Completion; using NUnit.Framework; using System.Xml; -using MonoDevelop.XmlEditor.Tests.Utils; +using MonoDevelop.Xml.Tests.Utils; -namespace MonoDevelop.XmlEditor.Tests.Schema +namespace MonoDevelop.Xml.Tests.Schema { /// <summary> /// Tests the xsd schema. diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Utils/ResourceManager.cs b/main/src/addins/Xml/Tests/Utils/ResourceManager.cs index 493e495df6..5d3203b743 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Utils/ResourceManager.cs +++ b/main/src/addins/Xml/Tests/Utils/ResourceManager.cs @@ -2,7 +2,7 @@ using System.IO; using System.Reflection;
using System.Xml;
-namespace MonoDevelop.XmlEditor.Tests.Utils
+namespace MonoDevelop.Xml.Tests.Utils
{
/// <summary>
/// Returns strings from the embedded test resources.
diff --git a/main/src/addins/MonoDevelop.XmlEditor/Tests/Utils/SchemaIncludeTestFixtureHelper.cs b/main/src/addins/Xml/Tests/Utils/SchemaIncludeTestFixtureHelper.cs index bdb17999d9..d707dd0104 100755..100644 --- a/main/src/addins/MonoDevelop.XmlEditor/Tests/Utils/SchemaIncludeTestFixtureHelper.cs +++ b/main/src/addins/Xml/Tests/Utils/SchemaIncludeTestFixtureHelper.cs @@ -1,10 +1,10 @@ -using MonoDevelop.XmlEditor.Completion;
+using MonoDevelop.Xml.Completion;
using System;
using System.IO;
using System.Text;
using System.Xml;
-namespace MonoDevelop.XmlEditor.Tests.Utils
+namespace MonoDevelop.Xml.Tests.Utils
{
/// <summary>
/// Helper class when testing a schema which includes
diff --git a/main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-16.png b/main/src/addins/Xml/icons/light/prefs-xml-16.png Binary files differindex fc6082d1cb..fc6082d1cb 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-16.png +++ b/main/src/addins/Xml/icons/light/prefs-xml-16.png diff --git a/main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-16@2x.png b/main/src/addins/Xml/icons/light/prefs-xml-16@2x.png Binary files differindex 0aef2fef5d..0aef2fef5d 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-16@2x.png +++ b/main/src/addins/Xml/icons/light/prefs-xml-16@2x.png diff --git a/main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-schemas-16.png b/main/src/addins/Xml/icons/light/prefs-xml-schemas-16.png Binary files differindex fc6082d1cb..fc6082d1cb 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-schemas-16.png +++ b/main/src/addins/Xml/icons/light/prefs-xml-schemas-16.png diff --git a/main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-schemas-16@2x.png b/main/src/addins/Xml/icons/light/prefs-xml-schemas-16@2x.png Binary files differindex 0aef2fef5d..0aef2fef5d 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/icons/light/prefs-xml-schemas-16@2x.png +++ b/main/src/addins/Xml/icons/light/prefs-xml-schemas-16@2x.png diff --git a/main/src/addins/MonoDevelop.XmlEditor/schemas/MonoDevelopAddIn.xsd b/main/src/addins/Xml/schemas/MonoDevelopAddIn.xsd index c05f35bc1f..c05f35bc1f 100644 --- a/main/src/addins/MonoDevelop.XmlEditor/schemas/MonoDevelopAddIn.xsd +++ b/main/src/addins/Xml/schemas/MonoDevelopAddIn.xsd diff --git a/main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/W3C-License.html b/main/src/addins/Xml/schemas/W3C-License.html index 2edbb1ad27..2edbb1ad27 100755 --- a/main/src/addins/AspNet/MonoDevelop.AspNet/Schemas/W3C-License.html +++ b/main/src/addins/Xml/schemas/W3C-License.html diff --git a/main/src/addins/MonoDevelop.XmlEditor/schemas/XMLSchema.xsd b/main/src/addins/Xml/schemas/XMLSchema.xsd index 5acc282d5e..5acc282d5e 100755 --- a/main/src/addins/MonoDevelop.XmlEditor/schemas/XMLSchema.xsd +++ b/main/src/addins/Xml/schemas/XMLSchema.xsd diff --git a/main/src/addins/MonoDevelop.XmlEditor/schemas/appconfig.xsd b/main/src/addins/Xml/schemas/appconfig.xsd index 00ddaf09c9..00ddaf09c9 100755 --- a/main/src/addins/MonoDevelop.XmlEditor/schemas/appconfig.xsd +++ b/main/src/addins/Xml/schemas/appconfig.xsd diff --git a/main/src/addins/MonoDevelop.XmlEditor/schemas/manifest.xsd b/main/src/addins/Xml/schemas/manifest.xsd index 060dbec5f5..060dbec5f5 100755 --- a/main/src/addins/MonoDevelop.XmlEditor/schemas/manifest.xsd +++ b/main/src/addins/Xml/schemas/manifest.xsd diff --git a/main/src/addins/MonoDevelop.XmlEditor/schemas/nant.xsd b/main/src/addins/Xml/schemas/nant.xsd index 19118d1bc3..19118d1bc3 100755 --- a/main/src/addins/MonoDevelop.XmlEditor/schemas/nant.xsd +++ b/main/src/addins/Xml/schemas/nant.xsd diff --git a/main/src/addins/MonoDevelop.XmlEditor/schemas/readme.txt b/main/src/addins/Xml/schemas/readme.txt index a6158b05b9..a6158b05b9 100755 --- a/main/src/addins/MonoDevelop.XmlEditor/schemas/readme.txt +++ b/main/src/addins/Xml/schemas/readme.txt diff --git a/main/src/addins/MonoDevelop.XmlEditor/schemas/xslt.xsd b/main/src/addins/Xml/schemas/xslt.xsd index 45f77399af..45f77399af 100755 --- a/main/src/addins/MonoDevelop.XmlEditor/schemas/xslt.xsd +++ b/main/src/addins/Xml/schemas/xslt.xsd diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs index 4a7979c620..2303d06b5e 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/CompletionData.cs @@ -58,7 +58,10 @@ namespace MonoDevelop.Ide.CodeCompletion public virtual TooltipInformation CreateTooltipInformation (bool smartWrap) { - return new TooltipInformation (); + var tt = new TooltipInformation (); + if (!string.IsNullOrEmpty (Description)) + tt.AddCategory (null, Description); + return tt; } public virtual bool HasOverloads { diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/TooltipInformation.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/TooltipInformation.cs index 8ad0637275..47f359e855 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/TooltipInformation.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/TooltipInformation.cs @@ -36,7 +36,13 @@ namespace MonoDevelop.Ide.CodeCompletion { string signatureMarkup; string summaryMarkup; - List<Tuple<string, string>> categories = new List<Tuple<string, string>> (); + readonly List<Tuple<string, string>> categories = new List<Tuple<string, string>> (); + + public bool IsEmpty { + get { + return string.IsNullOrEmpty (SignatureMarkup) && string.IsNullOrEmpty (SummaryMarkup) && categories.Count == 0; + } + } /// <summary> /// Gets or sets the signature markup. The signature is never null. @@ -96,6 +102,8 @@ namespace MonoDevelop.Ide.CodeCompletion /// </param> public void AddCategory (string categoryLabel, string categoryMarkup) { + if (categoryMarkup == null) + throw new ArgumentNullException ("categoryMarkup"); categories.Add (Tuple.Create (categoryLabel, categoryMarkup)); } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/TooltipInformationWindow.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/TooltipInformationWindow.cs index 5798308ebe..908ab58f73 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/TooltipInformationWindow.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeCompletion/TooltipInformationWindow.cs @@ -65,7 +65,7 @@ namespace MonoDevelop.Ide.CodeCompletion public void AddOverload (TooltipInformation tooltipInformation) { - if (tooltipInformation == null || string.IsNullOrEmpty (tooltipInformation.SignatureMarkup)) + if (tooltipInformation == null || tooltipInformation.IsEmpty) return; overloads.Add (tooltipInformation); @@ -80,7 +80,7 @@ namespace MonoDevelop.Ide.CodeCompletion public void AddOverload (CompletionData data) { var tooltipInformation = data.CreateTooltipInformation (false); - if (string.IsNullOrEmpty (tooltipInformation.SignatureMarkup)) + if (tooltipInformation.IsEmpty) return; using (var layout = new Pango.Layout (PangoContext)) { @@ -110,7 +110,7 @@ namespace MonoDevelop.Ide.CodeCompletion if (current_overload >= 0 && current_overload < overloads.Count) { var o = overloads[current_overload]; headLabel.Markup = o.SignatureMarkup; - headLabel.Visible = true; + headLabel.Visible = !string.IsNullOrEmpty (o.SignatureMarkup); int x, y; GetPosition (out x, out y); var geometry = DesktopService.GetUsableMonitorGeometry (Screen, Screen.GetMonitorAtPoint (x, y)); @@ -197,11 +197,13 @@ namespace MonoDevelop.Ide.CodeCompletion vbox.Spacing = 2; - var catLabel = new FixedWidthWrapLabel (); - catLabel.Text = categoryName; - catLabel.ModifyFg (StateType.Normal, foreColor.ToGdkColor ()); + if (categoryName != null) { + var catLabel = new FixedWidthWrapLabel (); + catLabel.Text = categoryName; + catLabel.ModifyFg (StateType.Normal, foreColor.ToGdkColor ()); - vbox.PackStart (catLabel, false, true, 0); + vbox.PackStart (catLabel, false, true, 0); + } var contentLabel = new FixedWidthWrapLabel (); contentLabel.Wrap = Pango.WrapMode.WordChar; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/CustomToolService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/CustomToolService.cs index 4897ecb754..78f2292634 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/CustomToolService.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/CustomToolService.cs @@ -42,9 +42,9 @@ namespace MonoDevelop.Ide.CustomTools { public static class CustomToolService { - static Dictionary<string,CustomToolExtensionNode> nodes = new Dictionary<string,CustomToolExtensionNode> (); + static readonly Dictionary<string,CustomToolExtensionNode> nodes = new Dictionary<string,CustomToolExtensionNode> (); - static Dictionary<string,IAsyncOperation> runningTasks = new Dictionary<string, IAsyncOperation> (); + static readonly Dictionary<string,IAsyncOperation> runningTasks = new Dictionary<string, IAsyncOperation> (); static CustomToolService () { @@ -79,15 +79,25 @@ namespace MonoDevelop.Ide.CustomTools //forces static ctor to run } - static ISingleFileCustomTool GetGenerator (ProjectFile file) + static ISingleFileCustomTool GetGenerator (string name) { + if (string.IsNullOrEmpty (name)) + return null; + + if (name.StartsWith ("msbuild:", StringComparison.OrdinalIgnoreCase)) { + string target = name.Substring ("msbuild:".Length).Trim (); + if (string.IsNullOrEmpty (target)) + return null; + return new MSBuildCustomTool (target); + } + CustomToolExtensionNode node; - if (!string.IsNullOrEmpty (file.Generator) && nodes.TryGetValue (file.Generator, out node)) { + if (nodes.TryGetValue (name, out node)) { try { return node.Tool; } catch (Exception ex) { - LoggingService.LogError ("Error loading generator '" + file.Generator + "'", ex); - nodes.Remove (file.Generator); + LoggingService.LogError ("Error loading generator '" + name + "'", ex); + nodes.Remove (name); } } return null; @@ -95,7 +105,7 @@ namespace MonoDevelop.Ide.CustomTools public static void Update (ProjectFile file, bool force) { - var tool = GetGenerator (file); + var tool = GetGenerator (file.Generator); if (tool == null) return; @@ -124,7 +134,7 @@ namespace MonoDevelop.Ide.CustomTools var aggOp = new AggregatedOperationMonitor (monitor); try { monitor.BeginTask (GettextCatalog.GetString ("Running generator '{0}' on file '{1}'...", file.Generator, file.Name), 1); - var op = tool.Generate (monitor, file, result); + IAsyncOperation op = tool.Generate (monitor, file, result); runningTasks.Add (file.FilePath, op); aggOp.AddOperation (op); op.Completed += delegate { @@ -172,20 +182,21 @@ namespace MonoDevelop.Ide.CustomTools monitor.ReportError (msg, result.UnhandledException); LoggingService.LogError (msg, result.UnhandledException); } - + genFileName = result.GeneratedFilePath.IsNullOrEmpty? null : result.GeneratedFilePath.ToRelative (file.FilePath.ParentDirectory); - bool validName = !string.IsNullOrEmpty (genFileName) - && genFileName.IndexOfAny (new char[] { '/', '\\' }) < 0 - && FileService.IsValidFileName (genFileName); - - if (!broken && !validName) { - broken = true; - string msg = GettextCatalog.GetString ("The '{0}' code generator output invalid filename '{1}'", - file.Generator, result.GeneratedFilePath); - result.Errors.Add (new CompilerError (file.Name, 0, 0, "", msg)); - monitor.ReportError (msg, null); + if (!string.IsNullOrEmpty (genFileName)) { + bool validName = genFileName.IndexOfAny (new char[] { '/', '\\' }) < 0 + && FileService.IsValidFileName (genFileName); + + if (!broken && !validName) { + broken = true; + string msg = GettextCatalog.GetString ("The '{0}' code generator output invalid filename '{1}'", + file.Generator, result.GeneratedFilePath); + result.Errors.Add (new CompilerError (file.Name, 0, 0, "", msg)); + monitor.ReportError (msg, null); + } } if (result.Errors.Count > 0) { @@ -243,7 +254,7 @@ namespace MonoDevelop.Ide.CustomTools { foreach (ProjectFileEventInfo args in e) { var file = args.ProjectFile; - var tool = GetGenerator (file); + var tool = GetGenerator (file.Generator); if (tool == null) continue; } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/MSBuildCustomTool.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/MSBuildCustomTool.cs new file mode 100644 index 0000000000..1edc9e59fc --- /dev/null +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CustomTools/MSBuildCustomTool.cs @@ -0,0 +1,55 @@ +//
+// MSBuildCustomTool.cs
+//
+// Author:
+// Michael Hutchinson <mhutch@xamarin.com>
+//
+// Copyright (c) 2014 Xamarin Inc.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+// THE SOFTWARE.
+
+using MonoDevelop.Core;
+using MonoDevelop.Projects;
+using System.CodeDom.Compiler;
+
+namespace MonoDevelop.Ide.CustomTools
+{
+ class MSBuildCustomTool : ISingleFileCustomTool
+ {
+ readonly string targetName;
+
+ public MSBuildCustomTool (string targetName)
+ {
+ this.targetName = targetName;
+ }
+
+ public IAsyncOperation Generate (IProgressMonitor monitor, ProjectFile file, SingleFileCustomToolResult result)
+ {
+ return new ThreadAsyncOperation (() => {
+ var buildResult = file.Project.RunTarget (monitor, targetName, IdeApp.Workspace.ActiveConfiguration);
+ foreach (var err in buildResult.Errors) {
+ result.Errors.Add (new CompilerError (err.FileName, err.Line, err.Column, err.ErrorNumber, err.ErrorText) {
+ IsWarning = err.IsWarning
+ });
+ }
+ }, result);
+ }
+ }
+}
+
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewFileDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewFileDialog.cs index e0ba04f386..61600ffd88 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewFileDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects/NewFileDialog.cs @@ -475,6 +475,7 @@ namespace MonoDevelop.Ide.Projects if (!item.Create (project, project, path, titem.Language, filename)) return; } catch (Exception ex) { + LoggingService.LogError ("Error creating file", ex); MessageService.ShowException (ex); return; } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj index 6ec0c12be4..1ecdf471ca 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj @@ -2739,6 +2739,7 @@ <Compile Include="MonoDevelop.Ide.Gui.Pads.ProjectPad\SapNodeBuilder.cs" /> <Compile Include="MonoDevelop.Ide.CustomTools\PublicResXFileCodeGenerator.cs" /> <Compile Include="MonoDevelop.Components\ImageLoader.cs" /> + <Compile Include="MonoDevelop.Ide.CustomTools\MSBuildCustomTool.cs" /> <Compile Include="MonoDevelop.Components\Mac\GtkMacInterop.cs" /> <Compile Include="MonoDevelop.Components\Control.cs" /> </ItemGroup> diff --git a/main/tests/Makefile.am b/main/tests/Makefile.am index 60b7c13a98..a7afc5ae80 100644 --- a/main/tests/Makefile.am +++ b/main/tests/Makefile.am @@ -29,7 +29,8 @@ TEST_ASSEMBLIES_COMMON = \ $(TEST_DIR)/Mono.TextTemplating.Tests.dll \ $(TEST_DIR)/MonoDevelop.PackageManagement.Tests.dll \ $(TEST_DIR)/MonoDevelop.TextEditor.Tests.dll \ - $(TEST_DIR)/MonoDevelop.XmlEditor.Tests.dll \ + $(TEST_DIR)/MonoDevelop.Xml.Tests.dll \ + $(TEST_DIR)/MonoDevelop.AspNet.Tests.dll \ $(EXTERNAL)/nrefactory/bin/Debug/ICSharpCode.NRefactory.Tests.dll ALL_CSPROJ = $(TEST_PROJECTS_COMMON) diff --git a/main/tests/UnitTests/MonoDevelop.CSharpBinding/TestDocument.cs b/main/tests/UnitTests/MonoDevelop.CSharpBinding/TestDocument.cs index b0ae822576..8803593ed1 100644 --- a/main/tests/UnitTests/MonoDevelop.CSharpBinding/TestDocument.cs +++ b/main/tests/UnitTests/MonoDevelop.CSharpBinding/TestDocument.cs @@ -31,7 +31,8 @@ namespace MonoDevelop.CSharpBinding { public class TestDocument : MonoDevelop.Ide.Gui.Document { - internal ParsedDocument HiddenParsedDocument; + public ParsedDocument HiddenParsedDocument; + public override ParsedDocument ParsedDocument { get { return HiddenParsedDocument; @@ -42,7 +43,7 @@ namespace MonoDevelop.CSharpBinding { } - internal IProjectContent HiddenProjectContent; + public IProjectContent HiddenProjectContent; public override IProjectContent GetProjectContext () { diff --git a/main/tests/UnitTests/UnitTests.csproj b/main/tests/UnitTests/UnitTests.csproj index f768e80321..502d31e604 100644 --- a/main/tests/UnitTests/UnitTests.csproj +++ b/main/tests/UnitTests/UnitTests.csproj @@ -82,11 +82,6 @@ <Name>MonoDevelop.Ide</Name> <Private>False</Private> </ProjectReference> - <ProjectReference Include="..\..\src\addins\MonoDevelop.XmlEditor\MonoDevelop.XmlEditor.csproj"> - <Project>{86DFC74A-B0B6-4C73-9E05-9098DA8FA5F1}</Project> - <Name>MonoDevelop.XmlEditor</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\src\addins\CSharpBinding\CSharpBinding.csproj"> <Project>{07CC7654-27D6-421D-A64C-0FFA40456FA2}</Project> <Name>CSharpBinding</Name> @@ -102,11 +97,6 @@ <Name>MonoDevelop.Refactoring</Name> <Private>False</Private> </ProjectReference> - <ProjectReference Include="..\..\src\addins\AspNet\MonoDevelop.AspNet\MonoDevelop.AspNet.csproj"> - <Project>{1CF94D07-5480-4D10-A3CD-2EBD5E87B02E}</Project> - <Name>MonoDevelop.AspNet</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\src\addins\MonoDevelop.DesignerSupport\MonoDevelop.DesignerSupport.csproj"> <Project>{2C24D515-4A2C-445C-8419-C09231913CFA}</Project> <Name>MonoDevelop.DesignerSupport</Name> @@ -147,26 +137,11 @@ <Name>MonoDevelop.Debugger</Name> <Private>False</Private> </ProjectReference> - <ProjectReference Include="..\..\src\addins\MonoDevelop.Debugger.Soft\MonoDevelop.Debugger.Soft.AspNet\MonoDevelop.Debugger.Soft.AspNet.csproj"> - <Project>{F5390DA4-08B7-47E3-B6F3-D50683316AB4}</Project> - <Name>MonoDevelop.Debugger.Soft.AspNet</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\src\addins\CSharpBinding\Autotools\Autotools.csproj"> <Project>{F79A67A1-4BA2-48F8-A7DD-A72E316EF6CD}</Project> <Name>Autotools</Name> <Private>False</Private> </ProjectReference> - <ProjectReference Include="..\..\src\addins\CSharpBinding\AspNet\CSharpBinding.AspNet.csproj"> - <Project>{F426CBB2-77FC-4E14-9E28-E667C2D1299A}</Project> - <Name>CSharpBinding.AspNet</Name> - <Private>False</Private> - </ProjectReference> - <ProjectReference Include="..\..\src\addins\AspNet\MonoDevelop.AspNet.Mvc\MonoDevelop.AspNet.Mvc.csproj"> - <Project>{B32AD0DD-5247-437B-A2EF-1A4676C1B072}</Project> - <Name>MonoDevelop.AspNet.Mvc</Name> - <Private>False</Private> - </ProjectReference> <ProjectReference Include="..\..\src\addins\TextTemplating\MonoDevelop.TextTemplating\MonoDevelop.TextTemplating.csproj"> <Project>{8CCA39DD-8412-4547-BE7F-0C3D3ACC6FAC}</Project> <Name>MonoDevelop.TextTemplating</Name> @@ -228,16 +203,6 @@ </ProjectReference> </ItemGroup> <ItemGroup> - <Compile Include="MonoDevelop.AspNet.Mvc.Completion\CompletionTests.cs" /> - <Compile Include="MonoDevelop.AspNet.Mvc.Completion\RazorCompletionTesting.cs" /> - <Compile Include="MonoDevelop.AspNet.Mvc.StateEngine\RazorCodeBlockParsingTests.cs" /> - <Compile Include="MonoDevelop.AspNet.Mvc.StateEngine\RazorCodeFragmentsParsingTests.cs" /> - <Compile Include="MonoDevelop.AspNet.Mvc.StateEngine\RazorCommentParsingTests.cs" /> - <Compile Include="MonoDevelop.AspNet.Mvc.StateEngine\RazorDirectivesParsingTests.cs" /> - <Compile Include="MonoDevelop.AspNet.Mvc.StateEngine\RazorExplicitExpressionsParsingTests.cs" /> - <Compile Include="MonoDevelop.AspNet.Mvc.StateEngine\RazorImplicitExpressionsParsingTests.cs" /> - <Compile Include="MonoDevelop.AspNet.Mvc.StateEngine\RazorParsingTests.cs" /> - <Compile Include="MonoDevelop.AspNet.Mvc.StateEngine\RazorStatementsParsingTests.cs" /> <Compile Include="Util.cs" /> <Compile Include="MonoDevelop.Projects\MdsTests.cs" /> <Compile Include="MonoDevelop.Projects\TestProjectsChecks.cs" /> @@ -271,9 +236,6 @@ <Compile Include="MonoDevelop.Core\BacktrackingStringMatcherTests.cs" /> <Compile Include="MonoDevelop.Ide.Gui\SearchPopupWindowTests.cs" /> <Compile Include="MonoDevelop.Core\LaneStringMatcherTests.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\HtmlParsingTests.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\AspNetParsingTests.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\ParsingTests.cs" /> <Compile Include="MonoDevelop.Refactoring\IssueGroupTests.cs" /> <Compile Include="MonoDevelop.Refactoring\MockGroupingProvider.cs" /> <Compile Include="MonoDevelop.Refactoring\GroupingProviderTestBase.cs" /> @@ -283,8 +245,6 @@ <Compile Include="MonoDevelop.CSharpBinding\AutomaticBracketInsertionTests.cs" /> <Compile Include="MonoDevelop.CSharpBinding\NamedArgumentCompletionTests.cs" /> <Compile Include="MonoDevelop.SourceEditor\DebugTooltipTests.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetCompletionTests.cs" /> - <Compile Include="MonoDevelop.AspNet\AspNetTesting.cs" /> <Compile Include="MonoDevelop.CSharpBinding\UnitTesteditorIntegrationTests.cs" /> <Compile Include="MonoDevelop.Refactoring\AnalysisJobQueueTests.cs" /> <Compile Include="MonoDevelop.Refactoring\SimpleAnalysisJobTests.cs" /> @@ -294,7 +254,6 @@ <Compile Include="MonoDevelop.SourceEditor\JSonIndentEngineTests.cs" /> <Compile Include="MonoDevelop.Projects\SharedAssetsProjectTests.cs" /> <Compile Include="MonoDevelop.Projects\WebProjectTests.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\HtmlImplicitClosingTests.cs" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="..\..\md.targets" /> @@ -303,10 +262,7 @@ <None Include="MonoDevelop.Projects\CompletionDatabaseTests.cs" /> <None Include="MonoDevelop.Projects\DomPersistenceTests.cs" /> <None Include="MonoDevelop.Projects\DomCompilationUnitTests.cs" /> - <Compile Include="MonoDevelop.Xml.StateEngine\TestParser.cs" /> <None Include="MonoDevelop.Projects\DomTests.cs" /> - <None Include="MonoDevelop.AspNet\AspNetCompletionTests.cs" /> - <None Include="MonoDevelop.AspNet\AspNetTesting.cs" /> </ItemGroup> <ItemGroup /> <ItemGroup> diff --git a/version-checks b/version-checks index 4f596346f9..6d49dcf4a7 100755 --- a/version-checks +++ b/version-checks @@ -17,7 +17,7 @@ DEP[0]=md-addins DEP_NAME[0]=MDADDINS DEP_PATH[0]=${top_srcdir}/../md-addins DEP_MODULE[0]=git@github.com:xamarin/md-addins.git -DEP_NEEDED_VERSION[0]=cede3520489f493218e3d754b3e6f3aa63d299c8 +DEP_NEEDED_VERSION[0]=5f78b9afbe79b84e703fc3d25fda411d371c8140 DEP_BRANCH_AND_REMOTE[0]="master origin/master" # heap-shot |