Browse Source

Worked on VB.NET Forms Designer.'

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@300 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Mike Krüger 20 years ago
parent
commit
4b91b06924
  1. 50
      AddIns/ICSharpCode.SharpDevelop.addin
  2. BIN
      data/resources/StringResources.bg.resources
  3. BIN
      data/resources/StringResources.cn-big.resources
  4. BIN
      data/resources/StringResources.cn-gb.resources
  5. BIN
      data/resources/StringResources.cz.resources
  6. BIN
      data/resources/StringResources.de.resources
  7. BIN
      data/resources/StringResources.dk.resources
  8. BIN
      data/resources/StringResources.es-mx.resources
  9. BIN
      data/resources/StringResources.es.resources
  10. BIN
      data/resources/StringResources.fi.resources
  11. BIN
      data/resources/StringResources.fr.resources
  12. BIN
      data/resources/StringResources.hu.resources
  13. BIN
      data/resources/StringResources.it.resources
  14. BIN
      data/resources/StringResources.jp.resources
  15. BIN
      data/resources/StringResources.kr.resources
  16. BIN
      data/resources/StringResources.lt.resources
  17. BIN
      data/resources/StringResources.nl.resources
  18. BIN
      data/resources/StringResources.pl.resources
  19. BIN
      data/resources/StringResources.pt-br.resources
  20. BIN
      data/resources/StringResources.pt.resources
  21. BIN
      data/resources/StringResources.ro.resources
  22. BIN
      data/resources/StringResources.ru.resources
  23. BIN
      data/resources/StringResources.se.resources
  24. BIN
      data/resources/StringResources.sl.resources
  25. BIN
      data/resources/StringResources.sr.resources
  26. BIN
      data/resources/StringResources.tr.resources
  27. 2
      data/templates/file/VBNet/VBNet.Forms.Form.xft
  28. 2
      data/templates/file/VBNet/VBNet.Forms.UserControl.xft
  29. 2
      data/templates/project/VBNet/FormsProject.xpt
  30. 2
      src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj
  31. 1
      src/AddIns/DisplayBindings/FormDesigner/Project/FormDesigner.csproj
  32. 1
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerGenerator/CSharpDesignerGenerator.cs
  33. 264
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerGenerator/VBNetDesignerGenerator.cs
  34. 19
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerSecondaryDisplayBinding.cs
  35. 9
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerViewContent.cs
  36. 2
      src/Main/Base/Project/Src/Project/AdvancedMSBuildProject.cs
  37. BIN
      src/Main/StartUp/Project/Resources/StringResources.resources
  38. 2
      src/SharpDevelop.sln

50
AddIns/ICSharpCode.SharpDevelop.addin

@ -187,7 +187,7 @@ @@ -187,7 +187,7 @@
<MenuItem id = "AddSeparator" type = "Separator"/>
<MenuItem id = "Paste"
label = "Paste"
label = "${res:XML.MainMenu.EditMenu.Paste}"
icon = "Icons.16x16.PasteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
<MenuItem id = "Rename"
@ -197,7 +197,7 @@ @@ -197,7 +197,7 @@
<MenuItem id = "Separator3" type = "Separator"/>
<MenuItem id = "Properties"
icon = "Icons.16x16.PropertiesIcon"
label = "Properties"
label = "${res:XML.MainMenu.FormatMenu.ShowProperties}"
class = "ICSharpCode.SharpDevelop.Project.Commands.ShowPropertiesForNode"/>
</Path>
@ -222,18 +222,18 @@ @@ -222,18 +222,18 @@
<MenuItem id = "AddSeparator" type = "Separator"/>
<MenuItem id = "Cut"
label = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
<MenuItem id = "Paste"
label = "Paste"
label = "${res:XML.MainMenu.EditMenu.Paste}"
type = "Item"
icon = "Icons.16x16.PasteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
<MenuItem id = "Remove"
type = "Item"
label = "Remove"
label = "${res:Global.RemoveButtonText}"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
<MenuItem id = "Rename"
@ -249,17 +249,17 @@ @@ -249,17 +249,17 @@
class = "ICSharpCode.SharpDevelop.Project.Commands.OpenFileEvent"/>
<MenuItem id = "OpenSeparator" type = "Separator" />
<MenuItem id = "Cut"
label = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
<MenuItem id = "Copy"
label = "Copy"
label = "${res:XML.MainMenu.EditMenu.Copy}"
type = "Item"
icon = "Icons.16x16.CopyIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.CopyProjectBrowserNode"/>
<MenuItem id = "Remove"
label = "Remove"
label = "${res:Global.RemoveButtonText}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
@ -313,17 +313,17 @@ @@ -313,17 +313,17 @@
</Condition>
<MenuItem id = "Separator2" type = "Separator"/>
<MenuItem id = "Cut"
label = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
<MenuItem id = "Paste"
label = "Paste"
label = "${res:XML.MainMenu.EditMenu.Paste}"
type = "Item"
icon = "Icons.16x16.PasteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
<MenuItem id = "Remove"
label = "Remove"
label = "${res:Global.RemoveButtonText}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
@ -334,7 +334,7 @@ @@ -334,7 +334,7 @@
<MenuItem id = "CutCopyPasteSeparator" type = "Separator"/>
<MenuItem id = "Properties"
icon = "Icons.16x16.PropertiesIcon"
label = "Properties"
label = "${res:XML.MainMenu.FormatMenu.ShowProperties}"
class = "ICSharpCode.SharpDevelop.Project.Commands.ShowPropertiesForNode"/>
</Path>
@ -351,7 +351,7 @@ @@ -351,7 +351,7 @@
class = "ICSharpCode.SharpDevelop.Project.Commands.OpenFileEvent"/>
<Condition name = "Ownerstate" ownerstate = "Missing">
<MenuItem id = "Remove"
label = "Remove"
label = "${res:Global.RemoveButtonText}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
@ -386,35 +386,35 @@ @@ -386,35 +386,35 @@
</Or>
<Condition name = "Ownerstate" ownerstate = "InProject">
<MenuItem id = "ExcludeFile"
label = "Exclude From Project"
label = "${res:ProjectComponent.ContextMenu.ExcludeFileFromProject}"
class = "ICSharpCode.SharpDevelop.Project.Commands.ExcludeFileFromProject"/>
</Condition>
<Condition name = "Ownerstate" ownerstate = "None">
<MenuItem id = "IncludeFile"
label = "Include In Project"
label = "${res:ProjectComponent.ContextMenu.IncludeFileInProject}"
class = "ICSharpCode.SharpDevelop.Project.Commands.IncludeFileInProject"/>
</Condition>
<MenuItem id = "ExcludeSeparator" type = "Separator" />
</ComplexCondition>
<MenuItem id = "Cut"
label = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
<MenuItem id = "Copy"
label = "Copy"
label = "${res:XML.MainMenu.EditMenu.Copy}"
type = "Item"
icon = "Icons.16x16.CopyIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.CopyProjectBrowserNode"/>
<MenuItem id = "Paste"
label = "Paste"
label = "${res:XML.MainMenu.EditMenu.Paste}"
type = "Item"
icon = "Icons.16x16.PasteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
<MenuItem id = "Delete"
label = "Delete"
label = "${res:XML.MainMenu.EditMenu.Delete}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
@ -466,22 +466,22 @@ @@ -466,22 +466,22 @@
</ComplexCondition>
<MenuItem id = "Cut"
label = "Cut"
label = "${res:XML.MainMenu.EditMenu.Cut}"
type = "Item"
icon = "Icons.16x16.CutIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.CutProjectBrowserNode"/>
<MenuItem id = "Copy"
label = "Copy"
label = "${res:XML.MainMenu.EditMenu.Copy}"
type = "Item"
icon = "Icons.16x16.CopyIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.CopyProjectBrowserNode"/>
<MenuItem id = "Paste"
label = "Paste"
label = "${res:XML.MainMenu.EditMenu.Paste}"
icon = "Icons.16x16.PasteIcon"
type = "Item"
class = "ICSharpCode.SharpDevelop.Project.Commands.PasteProjectBrowserNode"/>
<MenuItem id = "Delete"
label = "Delete"
label = "${res:XML.MainMenu.EditMenu.Delete}"
type = "Item"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
@ -502,7 +502,7 @@ @@ -502,7 +502,7 @@
type = "Separator" />
<MenuItem id = "Remove"
label = "Remove"
label = "${res:Global.RemoveButtonText}"
icon = "Icons.16x16.DeleteIcon"
class = "ICSharpCode.SharpDevelop.Project.Commands.DeleteProjectBrowserNode"/>
</Path>
@ -1524,7 +1524,7 @@ @@ -1524,7 +1524,7 @@
shortcut = "Control|I"
class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.IndentSelection" />
<MenuItem id = "GoToDefinition"
label = "${res:XML.TextAreaContextMenu.GoToDefinition}"
label = "${res:ICSharpCode.NAntAddIn.GotoDefinitionMenuLabel}"
shortcut = "Control|Enter"
class = "ICSharpCode.SharpDevelop.DefaultEditor.Commands.GoToDefinition" />

BIN
data/resources/StringResources.bg.resources

Binary file not shown.

BIN
data/resources/StringResources.cn-big.resources

Binary file not shown.

BIN
data/resources/StringResources.cn-gb.resources

Binary file not shown.

BIN
data/resources/StringResources.cz.resources

Binary file not shown.

BIN
data/resources/StringResources.de.resources

Binary file not shown.

BIN
data/resources/StringResources.dk.resources

Binary file not shown.

BIN
data/resources/StringResources.es-mx.resources

Binary file not shown.

BIN
data/resources/StringResources.es.resources

Binary file not shown.

BIN
data/resources/StringResources.fi.resources

Binary file not shown.

BIN
data/resources/StringResources.fr.resources

Binary file not shown.

BIN
data/resources/StringResources.hu.resources

Binary file not shown.

BIN
data/resources/StringResources.it.resources

Binary file not shown.

BIN
data/resources/StringResources.jp.resources

Binary file not shown.

BIN
data/resources/StringResources.kr.resources

Binary file not shown.

BIN
data/resources/StringResources.lt.resources

Binary file not shown.

BIN
data/resources/StringResources.nl.resources

Binary file not shown.

BIN
data/resources/StringResources.pl.resources

Binary file not shown.

BIN
data/resources/StringResources.pt-br.resources

Binary file not shown.

BIN
data/resources/StringResources.pt.resources

Binary file not shown.

BIN
data/resources/StringResources.ro.resources

Binary file not shown.

BIN
data/resources/StringResources.ru.resources

Binary file not shown.

BIN
data/resources/StringResources.se.resources

Binary file not shown.

BIN
data/resources/StringResources.sl.resources

Binary file not shown.

BIN
data/resources/StringResources.sr.resources

Binary file not shown.

BIN
data/resources/StringResources.tr.resources

Binary file not shown.

2
data/templates/file/VBNet/VBNet.Forms.Form.xft

@ -24,7 +24,7 @@ @@ -24,7 +24,7 @@
<File name="${FullName}" language="VBNET"><![CDATA[${StandardHeader.VBNET}
Public Class ${ClassName}
Inherits Form
Inherits System.Windows.Forms.Form
Public Sub New()
'

2
data/templates/file/VBNet/VBNet.Forms.UserControl.xft

@ -23,7 +23,7 @@ @@ -23,7 +23,7 @@
<File name="${FullName}" language="VBNET"><![CDATA[${StandardHeader.VBNET}
Public Class ${ClassName}
Inherits UserControl
Inherits System.Windows.Forms.UserControl
Public Sub New()
' Must be called for initialization

2
data/templates/project/VBNet/FormsProject.xpt

@ -45,7 +45,7 @@ @@ -45,7 +45,7 @@
<File name="MainForm.vb">
<![CDATA[${StandardHeader.VBNET}
Public Class MainForm
Inherits Form
Inherits System.Windows.Forms.Form
Public Sub New()
'

2
src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj

@ -73,8 +73,6 @@ @@ -73,8 +73,6 @@
<Name>ICSharpCode.Core</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Folder Include="Src\PrettyPrinter\Gui\" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />

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

@ -105,6 +105,7 @@ @@ -105,6 +105,7 @@
<None Include="FormDesigner.addin">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<Compile Include="Src\FormDesigner\DesignerGenerator\VBNetDesignerGenerator.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\Libraries\ICSharpCode.TextEditor\Project\ICSharpCode.TextEditor.csproj">

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

@ -259,7 +259,6 @@ namespace ICSharpCode.FormDesigner @@ -259,7 +259,6 @@ namespace ICSharpCode.FormDesigner
}
}
}
return compatibleMethods;
}
}

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

@ -0,0 +1,264 @@ @@ -0,0 +1,264 @@
// <file>
// <copyright see="prj:///doc/copyright.txt">2002-2005 AlphaSierraPapa</copyright>
// <license see="prj:///doc/license.txt">GNU General Public License</license>
// <owner name="Mike Krüger" email="mike@icsharpcode.net"/>
// <version>$Revision: 230 $</version>
// </file>
using System;
using System.Text;
using System.Text.RegularExpressions;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Design;
using System.Reflection;
using System.Windows.Forms;
using System.Drawing.Printing;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Xml;
using ICSharpCode.SharpDevelop.Gui;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.Internal.Undo;
using ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor;
using ICSharpCode.Core;
using ICSharpCode.FormDesigner.Services;
using ICSharpCode.TextEditor;
using ICSharpCode.TextEditor.Document;
using ICSharpCode.NRefactory.Parser;
using ICSharpCode.NRefactory.Parser.AST;
using ICSharpCode.NRefactory.PrettyPrinter;
using System.CodeDom;
using System.CodeDom.Compiler;
using Microsoft.CSharp;
using Microsoft.VisualBasic;
namespace ICSharpCode.FormDesigner
{
public class VBNetDesignerGenerator : IDesignerGenerator
{
IClass c;
IMethod initializeComponents;
FormDesignerViewContent viewContent;
bool failedDesignerInitialize = false;
public void Attach(FormDesignerViewContent viewContent)
{
this.viewContent = viewContent;
IComponentChangeService componentChangeService = (IComponentChangeService)viewContent.DesignSurface.GetService(typeof(IComponentChangeService));
componentChangeService.ComponentAdded += new ComponentEventHandler(ComponentAdded);
componentChangeService.ComponentRename += new ComponentRenameEventHandler(ComponentRenamed);
componentChangeService.ComponentRemoving += new ComponentEventHandler(ComponentRemoved);
}
void ComponentRemoved(object sender, ComponentEventArgs e)
{
try {
Reparse(viewContent.Document.TextContent);
foreach (IField field in c.Fields) {
if (field.Name == e.Component.Site.Name) {
int startOffset = viewContent.Document.PositionToOffset(new Point(0, field.Region.BeginLine - 1));
int endOffset = viewContent.Document.PositionToOffset(new Point(0, field.Region.EndLine));
viewContent.Document.Remove(startOffset, endOffset - startOffset);
}
}
} catch (Exception ex) {
Console.WriteLine(ex);
}
}
void ComponentAdded(object sender, ComponentEventArgs e)
{
try {
if (initializeComponents == null) {
Reparse(viewContent.Document.TextContent);
}
int endOffset = viewContent.Document.PositionToOffset(new Point(0, initializeComponents.BodyRegion.EndLine));
viewContent.Document.Insert(endOffset, "\tPrivate " + e.Component.Site.Name + " As " + e.Component.GetType() + Environment.NewLine);
} catch (Exception ex) {
Console.WriteLine(ex);
}
}
void ComponentRenamed(object sender, ComponentRenameEventArgs e)
{
Reparse(viewContent.Document.TextContent);
foreach (IField field in c.Fields) {
if (field.Name == e.OldName) {
int startOffset = viewContent.Document.PositionToOffset(new Point(0, field.Region.BeginLine - 1));
int endOffset = viewContent.Document.PositionToOffset(new Point(0, field.Region.EndLine));
viewContent.Document.Replace(startOffset, endOffset - startOffset, "\tPrivate " + e.NewName + " As " + e.Component.GetType() + Environment.NewLine);
}
}
}
public void MergeFormChanges()
{
// generate file and get initialize components string
StringWriter writer = new StringWriter();
new CodeDOMGenerator(viewContent.Host, new Microsoft.VisualBasic.VBCodeProvider()).ConvertContentDefinition(writer);
string statements = writer.ToString();
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));
viewContent.Document.Replace(startOffset, endOffset - startOffset, statements);
}
protected void Reparse(string content)
{
// get new initialize components
ParseInformation info = ParserService.ParseFile(viewContent.FileName, content, false, true);
ICompilationUnit cu = (ICompilationUnit)info.BestCompilationUnit;
foreach (IClass c in cu.Classes) {
if (FormDesignerSecondaryDisplayBinding.BaseClassIsFormOrControl(c)) {
initializeComponents = GetInitializeComponents(c);
if (initializeComponents != null) {
this.c = c;
break;
}
}
}
}
IMethod GetInitializeComponents(IClass c)
{
foreach (IMethod method in c.Methods) {
if ((method.Name == "InitializeComponents" || method.Name == "InitializeComponent") && method.Parameters.Count == 0) {
return method;
}
}
return null;
}
protected static string GenerateParams(EventDescriptor edesc, bool paramNames)
{
System.Type type = edesc.EventType;
MethodInfo mInfo = type.GetMethod("Invoke");
string param = "";
IAmbience csa = null;
try {
csa = (IAmbience)AddInTree.GetTreeNode("/SharpDevelop/Workbench/Ambiences").BuildChildItem("VBNet", typeof(IAmbience));
} catch {}
for (int i = 0; i < mInfo.GetParameters().Length; ++i) {
ParameterInfo pInfo = mInfo.GetParameters()[i];
string typeStr = pInfo.ParameterType.ToString();
if (csa != null) {
typeStr = csa.GetIntrinsicTypeName(typeStr);
}
param += typeStr;
if (paramNames == true) {
param += " ";
param += pInfo.Name;
}
if (i + 1 < mInfo.GetParameters().Length) {
param += ", ";
}
}
return param;
}
/// <summary>
/// If found return true and int as position
/// </summary>
/// <param name="component"></param>
/// <param name="edesc"></param>
/// <returns></returns>
public bool InsertComponentEvent(IComponent component, EventDescriptor edesc, string eventMethodName, string body, out int position)
{
if (this.failedDesignerInitialize) {
position = 0;
return false;
}
Reparse(viewContent.Document.TextContent);
foreach (IMethod method in c.Methods) {
if (method.Name == eventMethodName) {
position = method.Region.BeginLine + 1;
return true;
}
}
MergeFormChanges();
Reparse(viewContent.Document.TextContent);
position = c.Region.EndLine + 1;
int offset = viewContent.Document.GetLineSegment(c.Region.EndLine - 1).Offset;
string param = GenerateParams(edesc, true);
string text = "Sub " + eventMethodName + "(" + param + ")\n" +
body +
"\nEnd Sub\n\n";
viewContent.Document.Insert(offset, text);
viewContent.Document.FormattingStrategy.IndentLines(viewContent.TextEditorControl.ActiveTextAreaControl.TextArea, c.Region.EndLine - 1, c.Region.EndLine + 3);
return false;
}
public ICollection GetCompatibleMethods(EventDescriptor edesc)
{
Reparse(viewContent.Document.TextContent);
ArrayList compatibleMethods = new ArrayList();
MethodInfo methodInfo = edesc.EventType.GetMethod("Invoke");
foreach (IMethod method in c.Methods) {
if (method.Parameters.Count == methodInfo.GetParameters().Length) {
bool found = true;
for (int i = 0; i < methodInfo.GetParameters().Length; ++i) {
ParameterInfo pInfo = methodInfo.GetParameters()[i];
IParameter p = method.Parameters[i];
if (p.ReturnType.FullyQualifiedName != pInfo.ParameterType.ToString()) {
found = false;
break;
}
}
if (found) {
compatibleMethods.Add(method.Name);
}
}
}
return compatibleMethods;
}
public ICollection GetCompatibleMethods(EventInfo edesc)
{
Reparse(viewContent.Document.TextContent);
ArrayList compatibleMethods = new ArrayList();
MethodInfo methodInfo = edesc.GetAddMethod();
ParameterInfo pInfo = methodInfo.GetParameters()[0];
string eventName = pInfo.ParameterType.ToString().Replace("EventHandler", "EventArgs");
foreach (IMethod method in c.Methods) {
if (method.Parameters.Count == 2) {
bool found = true;
IParameter p = method.Parameters[1];
if (p.ReturnType.FullyQualifiedName != eventName) {
found = false;
}
if (found) {
compatibleMethods.Add(method.Name);
}
}
}
return compatibleMethods;
}
}
}

19
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerSecondaryDisplayBinding.cs

@ -109,6 +109,21 @@ namespace ICSharpCode.FormDesigner @@ -109,6 +109,21 @@ namespace ICSharpCode.FormDesigner
}
}
break;
case ".vb":
info = ParserService.ParseFile(fileName, textAreaControlProvider.TextEditorControl.Document.TextContent, false, true);
if (info != null) {
ICompilationUnit cu = (ICompilationUnit)info.BestCompilationUnit;
foreach (IClass c in cu.Classes) {
if (BaseClassIsFormOrControl(c)) {
IMethod method = GetInitializeComponents(c);
if (method == null) {
continue;
}
return true;
}
}
}
break;
case ".xfrm":
return true;
}
@ -138,6 +153,10 @@ namespace ICSharpCode.FormDesigner @@ -138,6 +153,10 @@ namespace ICSharpCode.FormDesigner
loader = new NRefactoryDesignerLoader(SupportedLanguages.CSharp, ((ITextEditorControlProvider)viewContent).TextEditorControl);
generator = new CSharpDesignerGenerator();
break;
case ".vb":
loader = new NRefactoryDesignerLoader(SupportedLanguages.VBNet, ((ITextEditorControlProvider)viewContent).TextEditorControl);
generator = new VBNetDesignerGenerator();
break;
case ".xfrm":
loader = new XmlDesignerLoader(((ITextEditorControlProvider)viewContent).TextEditorControl);
generator = new XmlDesignerGenerator();

9
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerViewContent.cs

@ -75,6 +75,12 @@ namespace ICSharpCode.FormDesigner @@ -75,6 +75,12 @@ namespace ICSharpCode.FormDesigner
}
}
public override string TabPageText {
get {
return "${res:FormsDesigner.DesignTabPages.DesignTabPage}";
}
}
public override bool IsDirty {
get {
if (viewContent == null) {
@ -432,7 +438,4 @@ namespace ICSharpCode.FormDesigner @@ -432,7 +438,4 @@ namespace ICSharpCode.FormDesigner
}
#endregion
}
}

2
src/Main/Base/Project/Src/Project/AdvancedMSBuildProject.cs

@ -286,7 +286,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -286,7 +286,7 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
#endregion
#region Debug Options
public string GetStartProgram(string configurationName, string platform)
{

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

Binary file not shown.

2
src/SharpDevelop.sln

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

Loading…
Cancel
Save