Browse Source

Fixed bugs that prevented creating new VB projects.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2044 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 19 years ago
parent
commit
120583a73f
  1. 17
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs
  2. 1
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  3. 4
      src/Main/Base/Project/Src/Internal/Templates/Project/ProjectDescriptor.cs
  4. 2
      src/Main/Base/Project/Src/Project/CompilableProject.cs
  5. 15
      src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs
  6. 68
      src/Main/Base/Project/Src/Project/ProjectPropertyChangedEventArgs.cs

17
src/AddIns/BackendBindings/VBNetBinding/Project/Src/Project/VBNetProject.cs

@ -19,23 +19,26 @@ namespace VBNetBinding @@ -19,23 +19,26 @@ namespace VBNetBinding
{
public class VBNetProject : CompilableProject
{
/*public override void SetProperty<T>(string configurationName, string platform, string property, T value, PropertyStorageLocations location)
protected override void OnPropertyChanged(ProjectPropertyChangedEventArgs e)
{
base.SetProperty(configurationName, platform, property, value, location);
if (property == "OutputType") {
base.OnPropertyChanged(e);
if (e.PropertyName == "OutputType") {
switch (this.OutputType) {
case OutputType.WinExe:
base.SetProperty(configurationName, platform, "MyType", "WindowsForms", location);
SetProperty(e.Configuration, e.Platform,
"MyType", "WindowsForms", e.Location, true);
break;
case OutputType.Exe:
base.SetProperty(configurationName, platform, "MyType", "Console", location);
SetProperty(e.Configuration, e.Platform,
"MyType", "Console", e.Location, true);
break;
default:
base.SetProperty(configurationName, platform, "MyType", "Windows", location);
SetProperty(e.Configuration, e.Platform,
"MyType", "Windows", e.Location, true);
break;
}
}
}*/
}
[Browsable(false)]
public override IAmbience Ambience {

1
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -64,6 +64,7 @@ @@ -64,6 +64,7 @@
<Compile Include="Src\Internal\Undo\IUndoableOperation.cs" />
<Compile Include="Src\Internal\Undo\UndoQueue.cs" />
<Compile Include="Src\Internal\Undo\UndoStack.cs" />
<Compile Include="Src\Project\ProjectPropertyChangedEventArgs.cs" />
<Compile Include="Src\Services\Debugger\BreakpointBookmark.cs" />
<Compile Include="Src\Services\Debugger\BreakpointBookmarkEventArgs.cs" />
<Compile Include="Src\Services\File\RecentOpen.cs" />

4
src/Main/Base/Project/Src/Internal/Templates/Project/ProjectDescriptor.cs

@ -172,9 +172,9 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates @@ -172,9 +172,9 @@ namespace ICSharpCode.SharpDevelop.Internal.Templates
foreach (XmlElement propertyElement in ChildElements(propertyGroupElement)) {
ProjectProperty p = new ProjectProperty(propertyElement.Name,
propertyElement.Value,
propertyElement.InnerText,
configuration, platform, storageLocation);
if (string.Equals(propertyGroupElement.GetAttribute("escapeValue"), "true", StringComparison.OrdinalIgnoreCase)) {
if (string.Equals(propertyGroupElement.GetAttribute("escapeValue"), "false", StringComparison.OrdinalIgnoreCase)) {
p.ValueIsLiteral = false;
} else {
p.ValueIsLiteral = true;

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

@ -299,7 +299,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -299,7 +299,7 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
protected override void OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e)
protected override void OnPropertyChanged(ProjectPropertyChangedEventArgs e)
{
base.OnPropertyChanged(e);
if (reparseReferencesSensitiveProperties.Contains(e.PropertyName)) {

15
src/Main/Base/Project/Src/Project/MSBuildBasedProject.cs

@ -332,9 +332,9 @@ namespace ICSharpCode.SharpDevelop.Project @@ -332,9 +332,9 @@ namespace ICSharpCode.SharpDevelop.Project
#endregion
#region SetProperty
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
public event EventHandler<ProjectPropertyChangedEventArgs> PropertyChanged;
protected virtual void OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e)
protected virtual void OnPropertyChanged(ProjectPropertyChangedEventArgs e)
{
if (PropertyChanged != null) {
PropertyChanged(this, e);
@ -509,14 +509,23 @@ namespace ICSharpCode.SharpDevelop.Project @@ -509,14 +509,23 @@ namespace ICSharpCode.SharpDevelop.Project
out existingPropertyGroup,
out oldLocation);
}
ProjectPropertyChangedEventArgs args;
args = new ProjectPropertyChangedEventArgs(propertyName);
args.Configuration = configuration;
args.Platform = platform;
args.Location = location;
if (newValue == null) {
if (existingPropertyGroup != null && existingProperty != null) {
args.OldValue = existingProperty.Value;
existingPropertyGroup.RemoveProperty(existingProperty);
if (existingPropertyGroup.Count == 0) {
project.RemovePropertyGroup(existingPropertyGroup);
}
}
} else if (existingPropertyGroup != null && existingProperty != null) {
args.OldValue = existingProperty.Value;
project.SetProperty(propertyName, newValue,
existingPropertyGroup.Condition,
propertyInsertionPosition,
@ -527,7 +536,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -527,7 +536,7 @@ namespace ICSharpCode.SharpDevelop.Project
propertyInsertionPosition,
treatPropertyValueAsLiteral);
}
OnPropertyChanged(new System.ComponentModel.PropertyChangedEventArgs(propertyName));
OnPropertyChanged(args);
}
/// <summary>

68
src/Main/Base/Project/Src/Project/ProjectPropertyChangedEventArgs.cs

@ -0,0 +1,68 @@ @@ -0,0 +1,68 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <owner name="Daniel Grunwald" email="daniel@danielgrunwald.de"/>
// <version>$Revision$</version>
// </file>
using System;
using System.Collections;
using System.ComponentModel;
namespace ICSharpCode.SharpDevelop.Project
{
public class ProjectPropertyChangedEventArgs : EventArgs
{
string propertyName;
string configuration, platform;
string oldValue;
PropertyStorageLocations location;
public ProjectPropertyChangedEventArgs(string propertyName)
{
if (string.IsNullOrEmpty(propertyName))
throw new ArgumentNullException("propertyName");
this.propertyName = propertyName;
}
/// <summary>
/// The name of the property that has changed.
/// </summary>
public string PropertyName {
get { return propertyName; }
}
/// <summary>
/// The configuration where the changed property was saved to.
/// </summary>
public string Configuration {
get { return configuration; }
set { configuration = value; }
}
/// <summary>
/// The platform where the changed property was saved to.
/// </summary>
public string Platform {
get { return platform; }
set { platform = value; }
}
/// <summary>
/// Gets the old value before the property was changed. This value might not
/// be available if the property changed location.
/// </summary>
public string OldValue {
get { return oldValue; }
set { oldValue = value; }
}
/// <summary>
/// The location where the changed property was saved to.
/// </summary>
public PropertyStorageLocations Location {
get { return location; }
set { location = value; }
}
}
}
Loading…
Cancel
Save