From 7d26705e9f1affa01100b0f456ea5f61c940b655 Mon Sep 17 00:00:00 2001 From: PeterForstmeier Date: Thu, 22 Mar 2012 21:38:54 +0100 Subject: [PATCH] Change ProjectOptions.ReferencePaths.cs to WPF --- .../Project/ICSharpCode.SharpDevelop.csproj | 7 ++- .../ProjectOptions/ReferencePathsXAML.xaml | 31 ++++++++++ .../ProjectOptions/ReferencePathsXAML.xaml.cs | 58 +++++++++++++++++++ ...eferencePaths.cs => old_ReferencePaths.cs} | 2 +- 4 files changed, 96 insertions(+), 2 deletions(-) create mode 100644 src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePathsXAML.xaml create mode 100644 src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePathsXAML.xaml.cs rename src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/{ReferencePaths.cs => old_ReferencePaths.cs} (95%) diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index 52dfddb00f..6e9b1632fd 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -258,6 +258,10 @@ Code + + ReferencePathsXAML.xaml + Code + @@ -727,7 +731,7 @@ UserControl - + UserControl @@ -882,6 +886,7 @@ ProjectOptionPanel.cs + diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePathsXAML.xaml b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePathsXAML.xaml new file mode 100644 index 0000000000..46efa6d4a5 --- /dev/null +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePathsXAML.xaml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePathsXAML.xaml.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePathsXAML.xaml.cs new file mode 100644 index 0000000000..c59e258645 --- /dev/null +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePathsXAML.xaml.cs @@ -0,0 +1,58 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 20.03.2012 + * Time: 19:47 + * + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop.Project; + +namespace ICSharpCode.SharpDevelop.Gui.OptionPanels +{ + /// + /// Interaction logic for ReferencePathsXAML.xaml + /// + public partial class ReferencePaths : ProjectOptionPanel + { + public ReferencePaths() + { + InitializeComponent(); + editor.BrowseForDirectory = true; + editor.ListCaption = StringParser.Parse("&${res:Dialog.ProjectOptions.ReferencePaths}:"); + editor.TitleText = StringParser.Parse("&${res:Global.Folder}:"); + editor.AddButtonText = StringParser.Parse("${res:Dialog.ProjectOptions.ReferencePaths.AddPath}"); + editor.ListChanged += delegate { IsDirty = true; }; + } + + + public ProjectProperty ReferencePath { + get { + return GetProperty("ReferencePath", "",TextBoxEditMode.EditEvaluatedProperty); + } + } + + + protected override void Load(MSBuildBasedProject project, string configuration, string platform) + { + base.Load(project, configuration, platform); + string prop = GetProperty("ReferencePath", "", TextBoxEditMode.EditRawProperty).Value.ToString(); + + string[] values = prop.Split(';'); + if (values.Length == 1 && values[0].Length == 0) { + editor.LoadList(new string[0]); + } else { + editor.LoadList(values); + } + } + + + protected override bool Save(MSBuildBasedProject project, string configuration, string platform) + { + ReferencePath.Value = String.Join(";", editor.GetList()); + return base.Save(project, configuration, platform); + } + } +} \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePaths.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/old_ReferencePaths.cs similarity index 95% rename from src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePaths.cs rename to src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/old_ReferencePaths.cs index 1c13b83719..4a178f2dcc 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ReferencePaths.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/old_ReferencePaths.cs @@ -7,7 +7,7 @@ using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.SharpDevelop.Gui.OptionPanels { - public class ReferencePaths : AbstractXmlFormsProjectOptionPanel + public class old_ReferencePaths : AbstractXmlFormsProjectOptionPanel { public override void LoadPanelContents() {