Browse Source

Removed XomlCodeSeparationDesignerLoader and now use XomlDesignerLoader for all xoml loading.

Some FxCop updates.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2389 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Russell Wilkins 19 years ago
parent
commit
0a7e2b4a35
  1. 5
      src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Loaders/BasicWorkflowDesignerLoader.cs
  2. 21
      src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Loaders/CodeDesignerLoader.cs
  3. 57
      src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Loaders/XomlCodeSeparationDesignerLoader.cs
  4. 31
      src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Loaders/XomlDesignerLoader.cs
  5. 19
      src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/PrimaryView/PrimaryViewContent.cs
  6. 1
      src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/SecondaryView/SecondaryDisplayBinding.cs
  7. 2
      src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Services/EventBindingService/CSharpWorkflowDesignerEventBindingService.cs
  8. 2
      src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Services/EventBindingService/WorkflowDesignerEventBindingService.cs
  9. 4
      src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Services/TypeProviderService.cs
  10. 1
      src/AddIns/DisplayBindings/WorkflowDesigner/Project/WorkflowDesigner.csproj

5
src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Loaders/BasicWorkflowDesignerLoader.cs

@ -27,10 +27,10 @@ namespace WorkflowDesigner.Loaders @@ -27,10 +27,10 @@ namespace WorkflowDesigner.Loaders
public abstract class BasicWorkflowDesignerLoader : WorkflowDesignerLoader
{
private IViewContent viewContent;
private string ruleFileName = string.Empty;
private string ruleFileName;
private StringBuilder rules;
public BasicWorkflowDesignerLoader(IViewContent viewContent)
protected BasicWorkflowDesignerLoader(IViewContent viewContent)
{
this.viewContent = viewContent;
ruleFileName = Path.Combine(Path.GetDirectoryName(FileName),
@ -90,7 +90,6 @@ namespace WorkflowDesigner.Loaders @@ -90,7 +90,6 @@ namespace WorkflowDesigner.Loaders
{
if (Project != null){
if (!Project.IsFileInProject(ruleFileName)) {
FileProjectItem fpi = Project.FindFile(FileName);
FileProjectItem rfpi = new FileProjectItem(Project,ItemType.EmbeddedResource);
rfpi.FileName = Path.Combine(Path.GetDirectoryName(FileName), Path.GetFileName(ruleFileName));
rfpi.DependentUpon = Path.GetFileName(FileName);

21
src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Loaders/CodeDesignerLoader.cs

@ -26,6 +26,21 @@ using ICSharpCode.NRefactory.Visitors; @@ -26,6 +26,21 @@ using ICSharpCode.NRefactory.Visitors;
namespace WorkflowDesigner.Loaders
{
public class IdentifierCreationService : IIdentifierCreationService
{
public void EnsureUniqueIdentifiers(CompositeActivity parentActivity, System.Collections.ICollection childActivities)
{
// throw new NotImplementedException();
}
public void ValidateIdentifier(Activity activity, string identifier)
{
// throw new NotImplementedException();
}
}
/// <summary>
/// Description of CodeDesignerLoader.
/// </summary>
@ -40,7 +55,9 @@ namespace WorkflowDesigner.Loaders @@ -40,7 +55,9 @@ namespace WorkflowDesigner.Loaders
base.Initialize();
LoaderHost.AddService(typeof(IMemberCreationService), new MemberCreationService(LoaderHost));
LoaderHost.AddService(typeof(IEventBindingService), new CSharpWorkflowDesignerEventBindingService(LoaderHost, ViewContent.PrimaryFileName));
//LoaderHost.AddService(typeof(IEventBindingService), new CSharpWorkflowDesignerEventBindingService(LoaderHost, ViewContent.PrimaryFileName));
//LoaderHost.RemoveService(typeof(IIdentifierCreationService));
//LoaderHost.AddService(typeof(IIdentifierCreationService), new IdentifierCreationService());
}
protected override void DoPerformLoad(IDesignerSerializationManager serializationManager)
@ -73,7 +90,7 @@ namespace WorkflowDesigner.Loaders @@ -73,7 +90,7 @@ namespace WorkflowDesigner.Loaders
protected override void DoPerformFlush(IDesignerSerializationManager serializationManager)
{
// TODO: Update the InitializeComponent() method here.
}

57
src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Loaders/XomlCodeSeparationDesignerLoader.cs

@ -1,57 +0,0 @@ @@ -1,57 +0,0 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Russell Wilkins" email=""/>
// <version>$Revision$</version>
// </file>
#region Using
using System;
using System.Text;
using System.IO;
using ICSharpCode.SharpDevelop.Gui;
using System.ComponentModel.Design;
using System.Workflow.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Workflow.ComponentModel.Compiler;
using System.CodeDom;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
#endregion
namespace WorkflowDesigner.Loaders
{
/// <summary>
/// Description of XomlCodeSeparationDesignerLoader.
/// </summary>
public class XomlCodeSeparationDesignerLoader : XomlDesignerLoader
{
private string codeFileName;
public XomlCodeSeparationDesignerLoader(IViewContent viewContent, Stream stream, string codeFileName) : base(viewContent, stream)
{
this.codeFileName = codeFileName;
}
protected override void Initialize()
{
base.Initialize();
// TODO: Install the Add the additional services into the designer here.
LoaderHost.AddService(typeof(IMemberCreationService), new MemberCreationService(LoaderHost));
LoaderHost.AddService(typeof(IEventBindingService), new CSharpWorkflowDesignerEventBindingService(LoaderHost,codeFileName));
}
protected override void DoPerformLoad(IDesignerSerializationManager serializationManager)
{
IWorkflowDesignerEventBindingService srv = LoaderHost.GetService(typeof(IEventBindingService)) as IWorkflowDesignerEventBindingService;
srv.UpdateCodeCompileUnit();
LoadXoml(serializationManager);
}
}
}

31
src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Loaders/XomlDesignerLoader.cs

@ -30,15 +30,32 @@ using ICSharpCode.SharpDevelop.Dom; @@ -30,15 +30,32 @@ using ICSharpCode.SharpDevelop.Dom;
namespace WorkflowDesigner.Loaders
{
enum AuthoringMode {
NoCode,
CodeSeparation
}
/// <summary>
/// Description of XomlDesignerLoader.
/// </summary>
public class XomlDesignerLoader : BasicWorkflowDesignerLoader
{
private string xoml = string.Empty;
private AuthoringMode authoringMode = AuthoringMode.NoCode;
private string xoml;
private string codeBesideFileName;
public XomlDesignerLoader(IViewContent viewContent) : base(viewContent)
{
// Loock for a code beside file for CodeSeparation mode.
if (Project != null) {
FileProjectItem fpi = Project.FindFile(FileName);
string codeFileName = FileName + "." + Project.LanguageProperties.CodeDomProvider.FileExtension;
FileProjectItem dfpi = Project.FindFile(codeFileName);
if (dfpi.DependentUpon == Path.GetFileName(fpi.VirtualName)) {
authoringMode = AuthoringMode.CodeSeparation;
codeBesideFileName = codeFileName;
}
}
}
public XomlDesignerLoader(IViewContent viewContent, Stream stream) : this(viewContent)
@ -46,12 +63,22 @@ namespace WorkflowDesigner.Loaders @@ -46,12 +63,22 @@ namespace WorkflowDesigner.Loaders
Encoding encoding = ICSharpCode.SharpDevelop.ParserService.DefaultFileEncoding;
xoml = ICSharpCode.TextEditor.Util.FileReader.ReadFileContent(stream, ref encoding, encoding);
}
public string Xoml {
get { return xoml; }
set { xoml = value; }
}
protected override void Initialize()
{
base.Initialize();
// Install the additional services into the designer.
if (authoringMode == AuthoringMode.CodeSeparation) {
LoaderHost.AddService(typeof(IMemberCreationService), new MemberCreationService(LoaderHost));
LoaderHost.AddService(typeof(IEventBindingService), new CSharpWorkflowDesignerEventBindingService(LoaderHost,codeBesideFileName));
}
}
protected override void DoPerformFlush(IDesignerSerializationManager serializationManager)
{

19
src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/PrimaryView/PrimaryViewContent.cs

@ -46,25 +46,8 @@ namespace WorkflowDesigner @@ -46,25 +46,8 @@ namespace WorkflowDesigner
public override void Load(OpenedFile file, Stream stream)
{
Debug.Assert(file == this.PrimaryFile);
XomlDesignerLoader loader = null;
// First look for a code separation file.
IProject project = ProjectService.OpenSolution.FindProjectContainingFile(file.FileName);
if (project != null) {
FileProjectItem fpi = project.FindFile(file.FileName);
string codeFileName = file.FileName + "." + project.LanguageProperties.CodeDomProvider.FileExtension;
FileProjectItem dfpi = project.FindFile(codeFileName);
if (dfpi.DependentUpon == Path.GetFileName(fpi.VirtualName)) {
loader = new XomlCodeSeparationDesignerLoader(this, stream, dfpi.FileName);
}
}
// No separation file so the nocode loader will be used.
if (loader == null)
loader = new XomlDesignerLoader(this, stream);
control.LoadWorkflow(loader);
control.LoadWorkflow(new XomlDesignerLoader(this, stream));
}
public override void Save(OpenedFile file, Stream stream)

1
src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/SecondaryView/SecondaryDisplayBinding.cs

@ -39,7 +39,6 @@ namespace WorkflowDesigner @@ -39,7 +39,6 @@ namespace WorkflowDesigner
if (content is ITextEditorControlProvider) {
ITextEditorControlProvider textAreaControlProvider = (ITextEditorControlProvider)content;
string fileExtension = String.Empty;
string fileName = content.PrimaryFileName;
if (fileName == null)
return false;

2
src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Services/EventBindingService/CSharpWorkflowDesignerEventBindingService.cs

@ -60,7 +60,7 @@ namespace WorkflowDesigner @@ -60,7 +60,7 @@ namespace WorkflowDesigner
return b.ToString();
}
protected string GenerateParameters(IClass completeClass, EventDescriptor eventDescriptor, bool paramNames)
protected static string GenerateParameters(IClass completeClass, EventDescriptor eventDescriptor, bool paramNames)
{
CSharpOutputVisitor v = new CSharpOutputVisitor();
MethodDeclaration md = ConvertDescriptorToNRefactory(completeClass, eventDescriptor, "name");

2
src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Services/EventBindingService/WorkflowDesignerEventBindingService.cs

@ -170,7 +170,7 @@ namespace WorkflowDesigner @@ -170,7 +170,7 @@ namespace WorkflowDesigner
throw new ArgumentNullException("component");
if (e == null)
throw new ArgumentNullException("eventDescriptor");
throw new ArgumentNullException("e");
LoggingService.Debug("CreateUniqueMethodName(" + component + ", " + e + ")");
return String.Format("{0}{1}", Char.ToUpper(component.Site.Name[0]) + component.Site.Name.Substring(1), e.DisplayName);

4
src/AddIns/DisplayBindings/WorkflowDesigner/Project/Src/Services/TypeProviderService.cs

@ -35,8 +35,8 @@ namespace WorkflowDesigner @@ -35,8 +35,8 @@ namespace WorkflowDesigner
/// </summary>
public class TypeProviderService
{
private static Dictionary<IProject, TypeProvider> providers = null;
private static Dictionary<FileProjectItem, CodeCompileUnit> codeCompileUnits = null;
private static Dictionary<IProject, TypeProvider> providers;
private static Dictionary<FileProjectItem, CodeCompileUnit> codeCompileUnits;
#region Property Accessors
private static Dictionary<IProject, TypeProvider> Providers {

1
src/AddIns/DisplayBindings/WorkflowDesigner/Project/WorkflowDesigner.csproj

@ -96,7 +96,6 @@ @@ -96,7 +96,6 @@
<Compile Include="Src\Loaders\BasicWorkflowDesignerLoader.cs" />
<Compile Include="Src\Loaders\CodeDesignerLoader.cs" />
<Compile Include="Src\Loaders\WorkflowDesignerLoadException.cs" />
<Compile Include="Src\Loaders\XomlCodeSeparationDesignerLoader.cs" />
<Compile Include="Src\Loaders\XomlDesignerLoader.cs" />
<Compile Include="Src\PrimaryView\PrimaryDisplayBinding.cs" />
<Compile Include="Src\PrimaryView\PrimaryViewContent.cs" />

Loading…
Cancel
Save