Browse Source

Fixed SD2-483: TreeNode declarations are missing

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@580 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 20 years ago
parent
commit
13237161a5
  1. 16
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerGenerator/CodeDOMGenerator.cs
  2. 1
      src/Main/Base/Project/Src/Gui/Pads/DefinitionViewPad.cs

16
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/DesignerGenerator/CodeDOMGenerator.cs

@ -28,7 +28,6 @@ using Microsoft.VisualBasic; @@ -28,7 +28,6 @@ using Microsoft.VisualBasic;
using ICSharpCode.Core;
using ICSharpCode.FormDesigner.Services;
namespace ICSharpCode.FormDesigner
{
/// <summary>
@ -77,6 +76,7 @@ namespace ICSharpCode.FormDesigner @@ -77,6 +76,7 @@ namespace ICSharpCode.FormDesigner
void GenerateComponentCode(IComponent component, TextWriter writer, DesignerSerializationManager serializationManager)
{
LoggingService.Debug("Generate code for: " + component.Site.Name);
Type componentType = component.GetType();
ExpressionContext exprContext = new ExpressionContext(new CodeThisReferenceExpression(), componentType, component, component);
((IDesignerSerializationManager)serializationManager).Context.Append(exprContext);
@ -96,13 +96,26 @@ namespace ICSharpCode.FormDesigner @@ -96,13 +96,26 @@ namespace ICSharpCode.FormDesigner
foreach (CodeStatement statement in statements) {
CodeVariableDeclarationStatement variableDecl = statement as CodeVariableDeclarationStatement;
if (variableDecl != null) {
LoggingService.Debug("variable declaration: " + variableDecl.Name);
if (variableDecl.Name == "resources") {
FixResourcesVariableDeclarationStatement(variableDecl);
} else {
// skip generating the variable declaration if the component is a main
// component that gets its own field
// TreeNode is an example that does NOT get its own root component!
bool foundComponent = false;
foreach (IComponent c in host.Container.Components) {
if (variableDecl.Name == c.Site.Name) {
foundComponent = true;
break;
}
}
if (foundComponent) {
addedVariables.Add(((CodeVariableDeclarationStatement)statement).Name);
continue;
}
}
}
// indentation isn't generated when calling GenerateCodeFromStatement
writer.Write(options.IndentString);
@ -113,6 +126,7 @@ namespace ICSharpCode.FormDesigner @@ -113,6 +126,7 @@ namespace ICSharpCode.FormDesigner
codeProvider.GenerateCodeFromStatement(new CodeCommentStatement("TODO: Error while generating statement : " + e.Message),
writer,
options);
LoggingService.Error(e);
}
}
}

1
src/Main/Base/Project/Src/Gui/Pads/DefinitionViewPad.cs

@ -40,6 +40,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -40,6 +40,7 @@ namespace ICSharpCode.SharpDevelop.Gui
ctl.TextEditorProperties = new SharpDevelopTextEditorProperties();
ctl.ActiveTextAreaControl.TextArea.DoubleClick += OnDoubleClick;
ParserService.ParserUpdateStepFinished += UpdateTick;
ctl.VisibleChanged += delegate { UpdateTick(null, null); };
}
void OnDoubleClick(object sender, EventArgs e)

Loading…
Cancel
Save