Browse Source

Fixed SD2-509: Form Designer duplicates first line of code

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@680 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
bf408d7f26
  1. 7
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/Designer/BooDesignerGenerator.cs
  2. 10
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerGenerator/AbstractDesignerGenerator.cs
  3. 19
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerGenerator/CSharpDesignerGenerator.cs
  4. 7
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerGenerator/VBNetDesignerGenerator.cs
  5. 4
      src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs
  6. 2
      src/Tools/SVNChangeLogToXml/Main.cs
  7. 2
      src/prepareRelease.bat

7
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/Designer/BooDesignerGenerator.cs

@ -9,6 +9,7 @@ using System; @@ -9,6 +9,7 @@ using System;
using System.ComponentModel;
using System.Reflection;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.FormDesigner;
namespace Grunwald.BooBinding.Designer
@ -34,6 +35,12 @@ namespace Grunwald.BooBinding.Designer @@ -34,6 +35,12 @@ namespace Grunwald.BooBinding.Designer
"\n";
}
protected override DomRegion GetReplaceRegion(ICSharpCode.TextEditor.Document.IDocument document, IMethod method)
{
DomRegion r = method.BodyRegion;
return new DomRegion(r.BeginLine + 1, 1, r.EndLine + 1, 1);
}
protected static string GenerateParams(EventDescriptor edesc)
{
Type type = edesc.EventType;

10
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerGenerator/AbstractDesignerGenerator.cs

@ -104,6 +104,8 @@ namespace ICSharpCode.FormDesigner @@ -104,6 +104,8 @@ namespace ICSharpCode.FormDesigner
protected abstract System.CodeDom.Compiler.CodeDomProvider CreateCodeProvider();
protected abstract DomRegion GetReplaceRegion(ICSharpCode.TextEditor.Document.IDocument document, IMethod method);
public void MergeFormChanges()
{
if (tabs == null) Reparse(viewContent.Document.TextContent);
@ -115,8 +117,12 @@ namespace ICSharpCode.FormDesigner @@ -115,8 +117,12 @@ namespace ICSharpCode.FormDesigner
Reparse(viewContent.Document.TextContent);
int startOffset = viewContent.Document.PositionToOffset(new Point(0, initializeComponents.BodyRegion.BeginLine + 1));
int endOffset = viewContent.Document.PositionToOffset(new Point(0, initializeComponents.BodyRegion.EndLine - 1));
// initializeComponents.BodyRegion.BeginLine + 1
DomRegion bodyRegion = GetReplaceRegion(viewContent.Document, initializeComponents);
if (bodyRegion.BeginColumn <= 0 || bodyRegion.EndColumn <= 0)
throw new InvalidOperationException("Column must be > 0");
int startOffset = viewContent.Document.PositionToOffset(new Point(bodyRegion.BeginColumn - 1, bodyRegion.BeginLine - 1));
int endOffset = viewContent.Document.PositionToOffset(new Point(bodyRegion.EndColumn - 1, bodyRegion.EndLine - 1));
viewContent.Document.Replace(startOffset, endOffset - startOffset, statements);
}

19
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerGenerator/CSharpDesignerGenerator.cs

@ -7,8 +7,10 @@ @@ -7,8 +7,10 @@
using System;
using System.ComponentModel;
using System.Drawing;
using System.Reflection;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Dom;
namespace ICSharpCode.FormDesigner
{
@ -19,6 +21,23 @@ namespace ICSharpCode.FormDesigner @@ -19,6 +21,23 @@ namespace ICSharpCode.FormDesigner
return "private " + fieldType + " " + name + ";";
}
protected override DomRegion GetReplaceRegion(ICSharpCode.TextEditor.Document.IDocument document, IMethod method)
{
DomRegion r = method.BodyRegion;
int offset = document.PositionToOffset(new Point(r.BeginColumn - 1, r.BeginLine - 1));
string tmp = document.GetText(offset, 10);
while (offset < document.TextLength) {
char c = document.GetCharAt(offset++);
if (c == '{') {
return new DomRegion(r.BeginLine + 1, 1, r.EndLine, 1);
}
if (c != ' ') {
break;
}
}
return new DomRegion(r.BeginLine + 2, 1, r.EndLine, 1);
}
protected override System.CodeDom.Compiler.CodeDomProvider CreateCodeProvider()
{
return new Microsoft.CSharp.CSharpCodeProvider();

7
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerGenerator/VBNetDesignerGenerator.cs

@ -9,6 +9,7 @@ using System; @@ -9,6 +9,7 @@ using System;
using System.ComponentModel;
using System.Reflection;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Dom;
namespace ICSharpCode.FormDesigner
{
@ -24,6 +25,12 @@ namespace ICSharpCode.FormDesigner @@ -24,6 +25,12 @@ namespace ICSharpCode.FormDesigner
return new Microsoft.VisualBasic.VBCodeProvider();
}
protected override DomRegion GetReplaceRegion(ICSharpCode.TextEditor.Document.IDocument document, IMethod method)
{
DomRegion r = method.BodyRegion;
return new DomRegion(r.BeginLine + 1, 1, r.EndLine, 1);
}
protected override string CreateEventHandler(EventDescriptor edesc, string eventMethodName, string body)
{
string param = GenerateParams(edesc);

4
src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryResolver.cs

@ -331,7 +331,9 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver @@ -331,7 +331,9 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
type.TypeArguments.CopyTo(typeParameters, 0);
}
ResolveResult rr = CreateMemberResolveResult(typeVisitor.FindOverload(constructors, typeParameters, ((ObjectCreateExpression)expr).Parameters, null));
rr.ResolvedType = type;
if (rr != null) {
rr.ResolvedType = type;
}
return rr;
}
return new ResolveResult(callingClass, callingMember, type);

2
src/Tools/SVNChangeLogToXml/Main.cs

@ -48,7 +48,7 @@ class MainClass @@ -48,7 +48,7 @@ class MainClass
int rev = new Client().SingleStatus(".").Entry.Revision;
Console.WriteLine(rev);
using (StreamWriter writer = new StreamWriter("../REVISION")) {
writer.WriteLine(rev);
writer.Write(rev.ToString());
}
}

2
src/prepareRelease.bat

@ -7,6 +7,6 @@ pushd Tools @@ -7,6 +7,6 @@ pushd Tools
@echo.
@echo.
@echo PrepareRelease.bat completed successfully.
@echo The change log has been updated and a VERSION file containing the current revision number has been created.
@echo The change log has been updated and a REVISION file containing the current revision number has been created.
@echo.
@pause
Loading…
Cancel
Save