From ef2cbabe035c1860bd7672251c61687b49bbc6b8 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sun, 6 Sep 2009 18:05:06 +0000 Subject: [PATCH] Fixed project creation (don't create both AnyCPU and x86 platforms) git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@4894 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/PythonDesignerGenerator.cs | 4 + .../Test/Utils/MockDesignerGenerator.cs | 4 + .../Src/Gui/WixDialogDesignerGenerator.cs | 4 + .../Project/FormsDesigner.csproj | 1 - .../AbstractDesignerGenerator.cs | 4 +- .../DesignerGenerator/IDesignerGenerator.cs | 4 - .../DesignerGenerator/XmlDesignerGenerator.cs | 226 ------------------ .../Project/Src/DesignerViewContent.cs | 4 +- .../Project/ProjectCreateInformation.cs | 2 +- .../Src/Project/MSBuildBasedProject.cs | 2 +- 10 files changed, 18 insertions(+), 237 deletions(-) delete mode 100644 src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/XmlDesignerGenerator.cs diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerGenerator.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerGenerator.cs index c2fe86ea1b..779560556b 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerGenerator.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonDesignerGenerator.cs @@ -73,6 +73,10 @@ namespace ICSharpCode.PythonBinding { } + public void NotifyFormRenamed(string newName) + { + } + /// /// Updates the InitializeComponent method's body with the generated code. /// diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockDesignerGenerator.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockDesignerGenerator.cs index 1c9538de4d..1579e576ef 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockDesignerGenerator.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockDesignerGenerator.cs @@ -63,6 +63,10 @@ namespace PythonBinding.Tests.Utils { } + public void NotifyFormRenamed(string newName) + { + } + public void MergeRootComponentChanges(IDesignerHost host, IDesignerSerializationManager serializationManager) { mergeChangesHost = host; diff --git a/src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixDialogDesignerGenerator.cs b/src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixDialogDesignerGenerator.cs index 8e66a6d0e8..ad7cb07854 100644 --- a/src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixDialogDesignerGenerator.cs +++ b/src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/WixDialogDesignerGenerator.cs @@ -100,6 +100,10 @@ namespace ICSharpCode.WixBinding { } + public void NotifyFormRenamed(string newName) + { + } + public bool InsertComponentEvent(IComponent component, EventDescriptor edesc, string eventMethodName, string body, out string file, out int position) { file = null; diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj b/src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj index f5e26db3a3..5439871d57 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj @@ -60,7 +60,6 @@ - diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs index 6e5289a5b1..3493cff65b 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/AbstractDesignerGenerator.cs @@ -24,7 +24,7 @@ using ReflectionLayer = ICSharpCode.SharpDevelop.Dom.ReflectionLayer; namespace ICSharpCode.FormsDesigner { - public abstract class AbstractDesignerGenerator : IDesignerGenerator2 + public abstract class AbstractDesignerGenerator : IDesignerGenerator { /// The currently open part of the class being designed. IClass currentClassPart; @@ -471,6 +471,8 @@ namespace ICSharpCode.FormsDesigner /// public virtual bool InsertComponentEvent(IComponent component, EventDescriptor edesc, string eventMethodName, string body, out string file, out int position) { + if (edesc == null) + throw new ArgumentNullException("edesc"); Reparse(); LoggingService.Debug("Forms designer: AbstractDesignerGenerator.InsertComponentEvent: eventMethodName=" + eventMethodName); diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/IDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/IDesignerGenerator.cs index f96b40d03f..18819fbf41 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/IDesignerGenerator.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/IDesignerGenerator.cs @@ -36,10 +36,6 @@ namespace ICSharpCode.FormsDesigner void MergeFormChanges(CodeCompileUnit unit); bool InsertComponentEvent(IComponent component, EventDescriptor edesc, string eventMethodName, string body, out string file, out int position); ICollection GetCompatibleMethods(EventDescriptor edesc); - } - - public interface IDesignerGenerator2 : IDesignerGenerator - { void NotifyFormRenamed(string newName); } } diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/XmlDesignerGenerator.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/XmlDesignerGenerator.cs deleted file mode 100644 index 192088a986..0000000000 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerGenerator/XmlDesignerGenerator.cs +++ /dev/null @@ -1,226 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; -using System.CodeDom; -using System.CodeDom.Compiler; -using System.Collections; -using System.Collections.Generic; -using System.ComponentModel; -using System.ComponentModel.Design; -using System.Drawing; -using System.IO; -using System.Reflection; -using System.Windows.Forms; -using System.Xml; - -using ICSharpCode.SharpDevelop; - -namespace ICSharpCode.FormsDesigner -{ - public class XmlDesignerGenerator : IDesignerGenerator - { - FormsDesignerViewContent viewContent; - - public CodeDomProvider CodeDomProvider { - get { - return new Microsoft.CSharp.CSharpCodeProvider(); - } - } - - public FormsDesignerViewContent ViewContent { - get { return this.viewContent; } - } - - public void Attach(FormsDesignerViewContent viewContent) - { - this.viewContent = viewContent; - } - - public void Detach() - { - this.viewContent = null; - } - - public IEnumerable GetSourceFiles(out OpenedFile designerCodeFile) - { - designerCodeFile = this.viewContent.PrimaryFile; - return new [] {designerCodeFile}; - } - - public void MergeFormChanges(CodeCompileUnit unit) - { - StringWriter writer = new StringWriter(); - XmlTextWriter xml = new XmlTextWriter(writer); - xml.Formatting = Formatting.Indented; - - //xml.WriteStartDocument(); - XmlElement el = GetElementFor(new XmlDocument(), viewContent.Host); - xml.WriteStartElement(el.Name); - xml.WriteAttributeString("version", "1.0"); - - foreach (XmlNode node in el.ChildNodes) { - node.WriteTo(xml); - } - xml.WriteEndElement(); - //xml.WriteEndDocument(); - viewContent.DesignerCodeFileContent = writer.ToString(); - } - - public bool InsertComponentEvent(IComponent component, EventDescriptor edesc, string eventMethodName, string body, out string file, out int position) - { - position = 0; - file = this.viewContent.PrimaryFileName; - return false; - } - - public ICollection GetCompatibleMethods(EventDescriptor edesc) - { - return new object[] {}; - } - public ICollection GetCompatibleMethods(EventInfo edesc) - { - return new object[] {}; - } - - public XmlElement GetElementFor(XmlDocument doc, object o, Hashtable visitedControls) - { - if (doc == null) { - throw new ArgumentNullException("doc"); - } - - if (o == null) { - throw new ArgumentNullException("o"); - } - - visitedControls[o] = null; - - try { - XmlElement el = doc.CreateElement(XmlConvert.EncodeName(o.GetType().FullName)); - - PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(o); - - Control ctrl = o as Control; - bool nameInserted = false; - if (ctrl != null) { - XmlElement childEl = doc.CreateElement("Name"); - XmlAttribute valueAttribute = doc.CreateAttribute("value"); - valueAttribute.InnerText = ctrl.Name; - childEl.Attributes.Append(valueAttribute); - el.AppendChild(childEl); - nameInserted = true; - } - - // add collections as last child elements in the xml (because it is better - // to set the properties first and then add items to controls (looks nicer - // in XML and CODE)) - ArrayList childNodes = new ArrayList(); - - // the Controls collection should be generated as the last - // element because properties like 'anchor' in the child elements - // must be applied after the size has set. - foreach (PropertyDescriptor pd in properties) { -// if (!pd.ShouldSerializeValue(o)) { -// continue; -// } - if (pd.Name == "Name" && nameInserted) { - continue; - } - if (pd.Name == "DataBindings" || pd.Name == "FlatAppearance" || - // TabControl duplicate TabPages Workaround (TabPages got inserted twice : In Controls and in TabPages) - (o.GetType().FullName == "System.Windows.Forms.TabControl" && pd.Name == "Controls")) { - continue; - } - - XmlElement childEl = null; - if (pd.Name == "Size" && ctrl != null && (ctrl is UserControl || ctrl is Form)) { - childEl = doc.CreateElement("ClientSize"); - childEl.SetAttribute("value", ctrl.ClientSize.ToString()); - childNodes.Insert(0, childEl); - continue; - } - childEl = doc.CreateElement(XmlConvert.EncodeName(pd.Name)); - - object propertyValue = null; - try { - propertyValue = pd.GetValue(o); - } catch (Exception e) { - ICSharpCode.Core.LoggingService.Warn(e); - continue; - } - - // lists are other than normal properties - if (propertyValue is IList && !(ctrl is PropertyGrid)) { - foreach (object listObject in (IList)propertyValue) { - XmlElement newEl = GetElementFor(doc, listObject, visitedControls); - if (newEl != null && !newEl.Name.StartsWith("System.Windows.Forms.Design.")) { - childEl.AppendChild(newEl); - } - } - - // only insert lists that contain elements (no empty lists!) - if (childEl.ChildNodes.Count > 0) { - childNodes.Add(childEl); - } - } else if (pd.ShouldSerializeValue(o) && pd.IsBrowsable) { - XmlAttribute valueAttribute = doc.CreateAttribute("value"); - - if (propertyValue == null) { - valueAttribute.InnerText = null; - } else if (propertyValue is Color) { - valueAttribute.InnerText = propertyValue.ToString(); - } else { - TypeConverter typeConv = TypeDescriptor.GetConverter(pd.PropertyType); - valueAttribute.InnerText = typeConv.ConvertToInvariantString(propertyValue); - } - childEl.Attributes.Append(valueAttribute); - childNodes.Insert(0, childEl); - } - } - - foreach (XmlElement childEl in childNodes) { - el.AppendChild(childEl); - } - - // fallback to ToString, if no members can be generated (for example - // handling System.String) - if (el.ChildNodes.Count == 0) { - XmlAttribute valueAttribute = doc.CreateAttribute("value"); - valueAttribute.InnerText = o.ToString(); - el.Attributes.Append(valueAttribute); - } - - return el; - } catch (Exception e) { - ICSharpCode.Core.MessageService.ShowException(e); - } - return null; - } - - public XmlElement GetElementFor(XmlDocument doc, IDesignerHost host) - { - XmlElement componentsElement = doc.CreateElement("Components"); - - XmlAttribute versionAttribute = doc.CreateAttribute("version"); - versionAttribute.InnerText = "1.0"; - componentsElement.Attributes.Append(versionAttribute); - - Hashtable visitedControls = new Hashtable(); - // insert root element - componentsElement.AppendChild(GetElementFor(doc, host.RootComponent, visitedControls)); - - // insert any non gui (=tray components) - foreach (IComponent component in host.Container.Components) { - if (!(component is Control) && !visitedControls.ContainsKey(component)) { - componentsElement.AppendChild(GetElementFor(doc, component, visitedControls)); - } - } - - return componentsElement; - } - } -} diff --git a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs index 9f9f9a3513..f6f0cfcc76 100644 --- a/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs +++ b/src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs @@ -369,9 +369,7 @@ namespace ICSharpCode.FormsDesigner && !object.Equals(e.OldValue, e.NewValue)) { // changing the name of the form - IDesignerGenerator2 gen2 = generator as IDesignerGenerator2; - if (gen2 != null) - gen2.NotifyFormRenamed((string)e.NewValue); + generator.NotifyFormRenamed((string)e.NewValue); } } catch (Exception ex) { MessageService.ShowException(ex); diff --git a/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectCreateInformation.cs b/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectCreateInformation.cs index f3b4de9042..895898eac0 100644 --- a/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectCreateInformation.cs +++ b/src/Main/Base/Project/Src/Internal/Templates/Project/ProjectCreateInformation.cs @@ -25,7 +25,7 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates internal List createdProjects = new List(); public ProjectCreateInformation() { - Platform = "AnyCPU"; + Platform = "x86"; } public ReadOnlyCollection CreatedProjects { diff --git a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs index 6a01bbf8ee..a94c7e12aa 100644 --- a/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs +++ b/src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs @@ -195,7 +195,7 @@ namespace ICSharpCode.SharpDevelop.Project this.ActiveConfiguration = "Debug"; this.ActivePlatform = information.Platform; - SetProperty(null, "x86", "PlatformTarget", "x86", PropertyStorageLocations.PlatformSpecific, false); + SetProperty(null, information.Platform, "PlatformTarget", "x86", PropertyStorageLocations.PlatformSpecific, false); } ///