Browse Source

fix build

pull/30/head
PeterForstmeier 13 years ago
parent
commit
d6809c1482
  1. 6
      src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin
  2. 15
      src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.csproj
  3. 173
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs
  4. 1
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  5. 119
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ProjectOptionPanel.cs
  6. 79
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/SigningXaml.xaml.cs
  7. 36
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/StringToBoolConverter.cs

6
src/AddIns/BackendBindings/CSharpBinding/Project/CSharpBinding.addin

@ -92,9 +92,15 @@ @@ -92,9 +92,15 @@
<OptionPanel id = "BuildEvents"
label = "${res:Dialog.ProjectOptions.BuildEvents}"
class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.BuildEvents"/>
<OptionPanel id = "BuildOptions"
label = "${res:Dialog.ProjectOptions.BuildOptions}"
class = "CSharpBinding.OptionPanels.BuildOptions"/>
<OptionPanel id = "BuildOptions1"
label = "${res:Dialog.ProjectOptions.BuildOptions}"
class = "CSharpBinding.OptionPanels.BuildOptionsXaml"/>
<OptionPanel id = "DebugOptions"
label = "${res:Dialog.ProjectOptions.DebugOptions}"
class = "ICSharpCode.SharpDevelop.Gui.OptionPanels.DebugOptions"/>

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

@ -76,6 +76,10 @@ @@ -76,6 +76,10 @@
<Compile Include="Src\OptionPanels\BuildOptions.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Src\OptionPanels\BuildOptionsXaml.xaml.cs">
<DependentUpon>BuildOptionsXaml.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Src\Parser\Parser.cs" />
<Compile Include="Src\Project\RemoveMembersInRangeVisitor.cs" />
<Compile Include="Src\Project\VBNetToCSharpConvertVisitorWithMyFormsSupport.cs" />
@ -111,6 +115,10 @@ @@ -111,6 +115,10 @@
<Name>ICSharpCode.Core</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj">
<Project>{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}</Project>
<Name>ICSharpCode.Core.Presentation</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj">
<Project>{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}</Project>
<Name>ICSharpCode.Core.WinForms</Name>
@ -121,6 +129,13 @@ @@ -121,6 +129,13 @@
<Name>ICSharpCode.SharpDevelop.Dom</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.SharpDevelop.Widgets\Project\ICSharpCode.SharpDevelop.Widgets.csproj">
<Project>{8035765F-D51F-4A0C-A746-2FD100E19419}</Project>
<Name>ICSharpCode.SharpDevelop.Widgets</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Page Include="Src\OptionPanels\BuildOptionsXaml.xaml" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.Targets" />
</Project>

173
src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs

@ -0,0 +1,173 @@ @@ -0,0 +1,173 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 05/02/2012
* Time: 19:54
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Windows.Controls;
using System.Windows.Input;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
using ICSharpCode.SharpDevelop.Editor;
using ICSharpCode.SharpDevelop.Gui.OptionPanels;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.Project.Converter;
using ICSharpCode.SharpDevelop.Widgets;
using StringPair = System.Collections.Generic.KeyValuePair<string, string>;
namespace CSharpBinding.OptionPanels
{
/// <summary>
/// Interaction logic for BuildOptionsXaml.xaml
/// </summary>
///
public partial class BuildOptionsXaml : ProjectOptionPanel
{
// private List<StringPair> fileAlignment;
private ICommand updateProjectCommand;
private ICommand changeOutputPath;
private MSBuildBasedProject project;
public BuildOptionsXaml()
{
InitializeComponent();
/*
fileAlignment = new List<StringPair>();
fileAlignment.Add( new StringPair("512", "512"));
fileAlignment.Add( new StringPair("1024", "1024"));
fileAlignment.Add(new StringPair("2048", "2048"));
fileAlignment.Add(new StringPair("4096", "4096"));
fileAlignment.Add(new StringPair("8192", "8192"));*/
}
private void Initialize()
{
this.UpdateProjectCommand = new RelayCommand(UpdateProjectExecute);
this.ChangeOutputPath = new RelayCommand(ChangeOutputPathExecute);
UpdateTargetFrameworkCombo();
}
#region properties
public ProjectProperty<string> DefineConstants {
get {return GetProperty("DefineConstants", "", TextBoxEditMode.EditRawProperty); }
}
public ProjectProperty<string> Optimize {
get {return GetProperty("Optimize", "", TextBoxEditMode.EditRawProperty); }
}
public ProjectProperty<string> AllowUnsafeBlocks {
get {return GetProperty("AllowUnsafeBlocks", "", TextBoxEditMode.EditRawProperty); }
}
public ProjectProperty<string> CheckForOverflowUnderflow {
get {return GetProperty("CheckForOverflowUnderflow", "", TextBoxEditMode.EditRawProperty); }
}
public ProjectProperty<string> NoStdLib {
get {return GetProperty("NoStdLib", "", TextBoxEditMode.EditRawProperty); }
}
public ProjectProperty<string> OutputPath {
get {return GetProperty("OutputPath", "", TextBoxEditMode.EditRawProperty); }
}
// Documentfile missing and only partial implemented
public ProjectProperty<string> DocumentationFile {
get {return GetProperty("DocumentationFile", "", TextBoxEditMode.EditRawProperty);}
}
//
public ProjectProperty<DebugSymbolType> DebugType {
get {return GetProperty("DebugType",ICSharpCode.SharpDevelop.Project.DebugSymbolType.Full ); }
}
#endregion
#region overrides
protected override void Load(MSBuildBasedProject project, string configuration, string platform)
{
base.Load(project, configuration, platform);
this.project = project;
this.Initialize();
}
#endregion
#region Command Updateproject
public ICommand UpdateProjectCommand {
get { return updateProjectCommand; }
set { updateProjectCommand = value;
base.RaisePropertyChanged(() =>this.UpdateProjectCommand);
}
}
private void UpdateProjectExecute ()
{
UpgradeViewContent.Show(project.ParentSolution).Select(project as IUpgradableProject);
this.UpdateTargetFrameworkCombo();
}
private void UpdateTargetFrameworkCombo()
{
TargetFramework fx = ((IUpgradableProject)project).CurrentTargetFramework;
if (fx != null) {
targetFrameworkComboBox.Items.Add(fx.DisplayName);
targetFrameworkComboBox.SelectedIndex = 0;
}
}
#endregion
#region ChangeOutputPathCommand
public ICommand ChangeOutputPath
{
get {return this.changeOutputPath;}
set {this.changeOutputPath = value;
base.RaisePropertyChanged(() => this.ChangeOutputPath);
}
}
private void ChangeOutputPathExecute()
{
OutputPath.Value = base.BrowseForFolder("${res:Dialog.Options.PrjOptions.Configuration.FolderBrowserDescription}",
base.BaseDirectory,outputPathTextBox.Text);
base.RaisePropertyChanged(()=> OutputPath);
}
#endregion
//Property DebugType
//void DebugSymbolsLoaded(object sender, EventArgs e)
#region FileAlignment
/*
public List<KeyValuePair<string, string>> FileAlign {
get { return fileAlignment; }
set { fileAlignment = value; }
}
*/
#endregion
}
}

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

@ -288,6 +288,7 @@ @@ -288,6 +288,7 @@
</Compile>
<Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\StorageLocationConverter.cs" />
<Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\StorageLocationPicker.cs" />
<Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\StringToBoolConverter.cs" />
<Compile Include="Src\Gui\Dialogs\ReferenceDialog\ServiceReferenceHelper.cs" />
<Compile Include="Src\Gui\Dialogs\ReferenceDialog\ServiceReference\AddServiceReferenceDialog.xaml.cs">
<DependentUpon>AddServiceReferenceDialog.xaml</DependentUpon>

119
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ProjectOptionPanel.cs

@ -5,20 +5,25 @@ using System; @@ -5,20 +5,25 @@ using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Windows;
using System.Windows.Controls;
//using System.Windows.Forms;
using System.Windows.Shapes;
using ICSharpCode.Core;
using ICSharpCode.SharpDevelop.Project;
using Microsoft.Win32;
namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
{
/// <summary>
/// Base class for project option panels with configuration picker.
/// </summary>
public class ProjectOptionPanel : UserControl, IOptionPanel, ICanBeDirty
public class ProjectOptionPanel : UserControl, IOptionPanel, ICanBeDirty,INotifyPropertyChanged
{
static ProjectOptionPanel()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(ProjectOptionPanel), new FrameworkPropertyMetadata(typeof(ProjectOptionPanel)));
@ -39,6 +44,8 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -39,6 +44,8 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
StackPanel configStackPanel;
Line headerline;
public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
protected virtual void Load(MSBuildBasedProject project, string configuration, string platform)
{
foreach (IProjectProperty p in projectProperties.Values)
@ -285,5 +292,115 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -285,5 +292,115 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
}
}
#endregion
#region INotifyPropertyChanged implementation
protected void RaisePropertyChanged<T>(Expression<Func<T>> propertyExpresssion)
{
var propertyName = ExtractPropertyName(propertyExpresssion);
//OnPropertyChanged(new System.ComponentModel.PropertyChangedEventArgs(propertyName));
var handler = this.PropertyChanged;
if (handler != null)
{
handler(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
}
}
/*
protected virtual void OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs e)
{
var handler = this.PropertyChanged;
if (handler != null)
{
handler(this, e);
}
}
*/
private static String ExtractPropertyName<T>(Expression<Func<T>> propertyExpresssion)
{
if (propertyExpresssion == null)
{
throw new ArgumentNullException("propertyExpresssion");
}
var memberExpression = propertyExpresssion.Body as MemberExpression;
if (memberExpression == null)
{
throw new ArgumentException("The expression is not a member access expression.", "propertyExpresssion");
}
var property = memberExpression.Member as PropertyInfo;
if (property == null)
{
throw new ArgumentException("The member access expression does not access a property.", "propertyExpresssion");
}
var getMethod = property.GetGetMethod(true);
if (getMethod.IsStatic)
{
throw new ArgumentException("The referenced property is a static property.", "propertyExpresssion");
}
return memberExpression.Member.Name;
}
#endregion
#region OpenFileDialog
// protected string OpenFile(string fileFilter)
// {
// var dialog = new OpenFileDialog();
//
// //dialog.Filter = StringParser.Parse("${res:SharpDevelop.FileFilter.ExecutableFiles}|*.exe");
// var x = StringParser.Parse(fileFilter);
// dialog.Filter = StringParser.Parse(x);
// if (dialog.ShowDialog() ?? false) {
// return dialog.FileName;
// }
// return String.Empty;
// }
//
protected string BrowseForFolder(string description,string startLocation,string relativeLocation)
{
// var startLocation = BaseDirectory;
// if (textBoxEditMode == TextBoxEditMode.EditRawProperty)
// string text = StartWorkingDirectory.Value;
// text = MSBuildInternals.Unescape(text);
//
// if (startLocation != null) {
// string text = StartWorkingDirectory.Value;
// startLocation = FileUtility.GetAbsolutePath(startLocation, text);
// }
string startAt = startLocation;
if (!String.IsNullOrEmpty(relativeLocation)) {
startAt = FileUtility.GetAbsolutePath(startLocation,relativeLocation);
}
using (System.Windows.Forms.FolderBrowserDialog fdiag = FileService.CreateFolderBrowserDialog(description,startAt))
{
if (fdiag.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
string path = fdiag.SelectedPath;
if (BaseDirectory != null) {
path = FileUtility.GetRelativePath(BaseDirectory, path);
}
if (!path.EndsWith("\\") && !path.EndsWith("/"))
path += "\\";
// if (textBoxEditMode == TextBoxEditMode.EditEvaluatedProperty) {
//// panel.ControlDictionary[target].Text = path;
// } else {
// panel.ControlDictionary[target].Text = MSBuildInternals.Escape(path);
//// }
return path;
}
}
return startLocation;
}
#endregion
}
}

79
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/SigningXaml.xaml.cs

@ -0,0 +1,79 @@ @@ -0,0 +1,79 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 26.04.2012
* Time: 19:56
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using ICSharpCode.SharpDevelop.Project;
using ICSharpCode.SharpDevelop.Widgets;
namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
{
/// <summary>
/// Interaction logic for SigningXaml.xaml
/// </summary>
public partial class SigningXaml : ProjectOptionPanel
{
// private const string KeyFileExtensions = "*.snk;*.pfx;*.key";
// private MSBuildBasedProject project;
public SigningXaml()
{
InitializeComponent();
}
private void Initialize()
{
Cmd = new RelayCommand<bool>(CheckExecute);
}
public ProjectProperty<String> SignAssembly {
get { return GetProperty("SignAssembly","", TextBoxEditMode.EditEvaluatedProperty); }
}
public ProjectProperty<string> AssemblyOriginatorKeyFile {
get { return GetProperty("AssemblyOriginatorKeyFile","", TextBoxEditMode.EditEvaluatedProperty); }
}
#region overrides
protected override void Load(MSBuildBasedProject project, string configuration, string platform)
{
base.Load(project, configuration, platform);
Console.WriteLine("sign {0}",SignAssembly.Value.ToString());
//this.project = project;
Console.WriteLine("sign {0}",SignAssembly.Value.ToString());
Initialize();
string prop = GetProperty("SignAssembly", "", TextBoxEditMode.EditRawProperty).Value.ToString();
}
#endregion
public RelayCommand<bool> Cmd {get;set;}
private void CheckExecute(bool isChecked)
{
Console.WriteLine(" Checkbox ischecked {0}",isChecked);
IsDirty = true;
SignAssembly.Value = "False";
}
}
}

36
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/StringToBoolConverter.cs

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
/*
* Created by SharpDevelop.
* User: Peter Forstmeier
* Date: 05.05.2012
* Time: 19:29
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Windows.Data;
namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
{
/// <summary>
/// Description of StringToBoolConverter.
/// </summary>
public class StringToBoolConverter:IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if ("True".Equals(value.ToString(),StringComparison.OrdinalIgnoreCase)) {
return true;
}
return false;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if ("True".Equals(value.ToString(),StringComparison.OrdinalIgnoreCase)) {
return "True";
}
return "False";
}
}
}
Loading…
Cancel
Save