From 13e84625462fffea626f97b4ec3d90386e703993 Mon Sep 17 00:00:00 2001 From: PeterForstmeier Date: Sun, 23 Sep 2012 19:09:42 +0200 Subject: [PATCH] BuildOptions - ErrorsAndWarnings UserControl --- .../Src/OptionPanels/BuildOptions.xaml | 14 ++- .../Src/OptionPanels/BuildOptions.xaml.cs | 79 +------------ .../Src/OptionPanels/BuildOptionsXaml.xaml | 106 ++++-------------- .../Src/OptionPanels/BuildOptionsXaml.xaml.cs | 18 +-- .../Project/ICSharpCode.SharpDevelop.csproj | 5 + .../ProjectOptions/ErrorsAndWarnings.xaml | 30 +++-- .../ProjectOptions/ErrorsAndWarnings.xaml.cs | 84 ++++++-------- .../TreatErrorsAndWarnings.xaml | 38 +++++++ .../TreatErrorsAndWarnings.xaml.cs | 102 +++++++++++++++++ 9 files changed, 231 insertions(+), 245 deletions(-) create mode 100644 src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml create mode 100644 src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml.cs diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml index 77ca196665..a359797bbe 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml @@ -268,7 +268,9 @@ - + + + + - + - + --> - - + + diff --git a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml.cs b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml.cs index 0eeb067af3..93b2ae483a 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml.cs @@ -61,7 +61,7 @@ namespace CSharpBinding.OptionPanels fileAlignment.Add(new KeyItemPair("4096", "4096")); fileAlignment.Add(new KeyItemPair("8192", "8192")); FileAlign = fileAlignment; - + /* this.warnLevel = new List(); this.warnLevel.Add(new KeyItemPair("0","0")); this.warnLevel.Add(new KeyItemPair("1","1")); @@ -69,6 +69,7 @@ namespace CSharpBinding.OptionPanels this.warnLevel.Add(new KeyItemPair("3","3")); this.warnLevel.Add(new KeyItemPair("4","4")); this.WarnLevel = warnLevel; + */ } @@ -147,26 +148,11 @@ namespace CSharpBinding.OptionPanels } - public ProjectProperty WarningLevel { - get {return GetProperty("WarningLevel","4",TextBoxEditMode.EditEvaluatedProperty ); } - } - - public ProjectProperty NoWarn { get {return GetProperty("NoWarn","",TextBoxEditMode.EditRawProperty ); } } - public ProjectProperty WarningsAsErrors { - get {return GetProperty("WarningsAsErrors","",TextBoxEditMode.EditRawProperty ); } - } - - - public ProjectProperty TreatWarningsAsErrors { - get {return GetProperty("TreatWarningsAsErrors", false); } - } - - #endregion #region overrides @@ -182,7 +168,7 @@ namespace CSharpBinding.OptionPanels XmlDocHelper(); this.BaseIntermediateOutputPathCommand = new RelayCommand(BaseIntermediateOutputPathExecute); this.IntermediateOutputPathCommand = new RelayCommand(IntermediateOutputPathExecute); - errorsAndWarnings.SetProjectOptions(this); + treatErrorsAndWarnings.SetProjectOptions(this); } @@ -195,6 +181,7 @@ namespace CSharpBinding.OptionPanels } DllBaseAdress = "0x" + val.ToString("x", NumberFormatInfo.InvariantInfo); errorsAndWarnings.SetProjectOptions(this); + treatErrorsAndWarnings.SetProjectOptions(this); IsDirty = false; } @@ -213,7 +200,7 @@ namespace CSharpBinding.OptionPanels MessageService.ShowMessage("${res:Dialog.ProjectOptions.PleaseEnterValidNumber}"); return false; } - errorsAndWarnings.SaveTreatWarningAsErrorRadioButtons(); + treatErrorsAndWarnings.SaveTreatWarningAsErrorRadioButtons(); return base.Save(project, configuration, platform); } @@ -373,61 +360,5 @@ namespace CSharpBinding.OptionPanels #endregion - #region WarningLevel - - public List WarnLevel { - get { return warnLevel; } - set { warnLevel = value; - base.RaisePropertyChanged(() => WarnLevel); - } - } - - #endregion - - #region SpecificWarnings TreatWarningsAsErrors - /* - private void SetTreatWarningAsErrorRadioButtons() - { - if (this.TreatWarningsAsErrors.Value) { - this.allRadioButton.IsChecked = true; - } else { - if (WarningsAsErrors.Value.Length > 0) { - this.specificWarningsRadioButton.IsChecked = true; - } else { - this.noneRadioButton.IsChecked = true; - } - } - this.noneRadioButton.Checked += ErrorButton_Checked; - this.allRadioButton.Checked += ErrorButton_Checked; - this.specificWarningsRadioButton.Checked += ErrorButton_Checked; - } - - - */ - /* - private void SaveTreatWarningAsErrorRadioButtons() - { - - if ((bool)this.noneRadioButton.IsChecked){ - this.specificWarningsTextBox.Text = string.Empty; - } - - if ((bool)this.allRadioButton.IsChecked) { - this.TreatWarningsAsErrors.Value = true; - } else { - this.TreatWarningsAsErrors.Value = false; - } - this.noneRadioButton.Checked -= ErrorButton_Checked; - this.allRadioButton.Checked -= ErrorButton_Checked; - this.specificWarningsRadioButton.Checked -= ErrorButton_Checked; - } - - void ErrorButton_Checked(object sender, System.Windows.RoutedEventArgs e) - { - IsDirty = true; - } - */ - - #endregion } } \ No newline at end of file diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml index d2fd6a7c19..2b620f98c4 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml @@ -31,30 +31,30 @@ - - - + IsChecked="{Binding Optimize.Value, + Converter={StaticResource strToBool}}"> - + + Converter={StaticResource strToBool}}"> @@ -75,17 +75,17 @@ VerticalAlignment="Center" ItemsSource="{Binding OptionExplicitItems}" SelectedValue="{Binding Path=OptionExplicit.Value}" - DisplayMemberPath="DisplayValue" + DisplayMemberPath="DisplayValue" SelectedValuePath="Key" > - + - + + + + + \ No newline at end of file diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs index a189c0fc2d..e24f715976 100644 --- a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs @@ -58,10 +58,10 @@ namespace ICSharpCode.VBNetBinding.OptionPanels } - public ProjectOptionPanel.ProjectProperty TreatWarningsAsErrors { - get { - return GetProperty("TreatWarningsAsErrors", false); } - } +// public ProjectOptionPanel.ProjectProperty TreatWarningsAsErrors { +// get { +// return GetProperty("TreatWarningsAsErrors", false); } +// } public ProjectProperty DefineConstants { get { return GetProperty("DefineConstants", "", TextBoxEditMode.EditRawProperty); } @@ -143,21 +143,15 @@ namespace ICSharpCode.VBNetBinding.OptionPanels protected override void Load(MSBuildBasedProject project, string configuration, string platform) { base.Load(project, configuration, platform); - -// Console.WriteLine(" 1 - option {0}",TreatWarningsAsErrors.Value); - errorsAndWarnings.SetProjectOptions(this); - -// Console.WriteLine(" 2 - option {0}",TreatWarningsAsErrors.Value); -// Console.WriteLine(" 4 - option {0}",TreatWarningsAsErrors.Value); -// + treatErrorsAndWarnings.SetProjectOptions(this); } protected override bool Save(MSBuildBasedProject project, string configuration, string platform) { Console.WriteLine(OptionExplicit.Value); - errorsAndWarnings.SaveTreatWarningAsErrorRadioButtons(); + treatErrorsAndWarnings.SaveTreatWarningAsErrorRadioButtons(); return base.Save(project, configuration, platform); } diff --git a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj index c23d2cbf63..5baca6e731 100644 --- a/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj +++ b/src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj @@ -283,6 +283,10 @@ ErrorsAndWarnings.xaml Code + + TreatErrorsAndWarnings.xaml + Code + @@ -917,6 +921,7 @@ + ProjectOptionPanel.cs diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml index bd2267b346..ab947fb5f1 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml @@ -3,7 +3,6 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:optionpanels="clr-namespace:ICSharpCode.SharpDevelop.Gui.OptionPanels;assembly=ICSharpCode.SharpDevelop" xmlns:core="http://icsharpcode.net/sharpdevelop/core"> - @@ -13,26 +12,25 @@ - - - + - + + - + - + - + + \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml.cs index d6e19e4212..00f8fbed04 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml.cs @@ -1,12 +1,13 @@ /* * Created by SharpDevelop. * User: Peter Forstmeier - * Date: 20.09.2012 - * Time: 19:38 + * Date: 23.09.2012 + * Time: 16:31 * 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; @@ -15,7 +16,6 @@ using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; -using ICSharpCode.SharpDevelop.Gui.OptionPanels; using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.SharpDevelop.Gui.OptionPanels @@ -23,80 +23,60 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels /// /// Interaction logic for ErrorsAndWarnings.xaml /// - - - public partial class ErrorsAndWarnings : UserControl + public partial class ErrorsAndWarnings : UserControl, INotifyPropertyChanged { + private List warnLevel; private ProjectOptionPanel projectOptions; public ErrorsAndWarnings() { InitializeComponent(); this.DataContext = this; + + this.warnLevel = new List(); + this.warnLevel.Add(new KeyItemPair("0","0")); + this.warnLevel.Add(new KeyItemPair("1","1")); + this.warnLevel.Add(new KeyItemPair("2","2")); + this.warnLevel.Add(new KeyItemPair("3","3")); + this.warnLevel.Add(new KeyItemPair("4","4")); + this.WarnLevel = warnLevel; } - #region properties - - - public ProjectOptionPanel.ProjectProperty TreatWarningsAsErrors { - get {return projectOptions.GetProperty("TreatWarningsAsErrors", false); } - } - - - public ProjectOptionPanel.ProjectProperty WarningsAsErrors { - get {return projectOptions.GetProperty("WarningsAsErrors","",TextBoxEditMode.EditRawProperty ); } - } - - - #endregion - public void SetProjectOptions (ProjectOptionPanel projectOptions) { if (projectOptions == null) { throw new ArgumentNullException("projectOptions"); } this.projectOptions = projectOptions; - SetTreatWarningAsErrorRadioButtons(); } + + public ProjectOptionPanel.ProjectProperty WarningLevel { + get {return projectOptions.GetProperty("WarningLevel","4",TextBoxEditMode.EditEvaluatedProperty ); } + } - private void SetTreatWarningAsErrorRadioButtons() - { - if (this.TreatWarningsAsErrors.Value) { - this.allRadioButton.IsChecked = true; - } else { - if (WarningsAsErrors.Value.Length > 0) { - this.specificWarningsRadioButton.IsChecked = true; - } else { - this.noneRadioButton.IsChecked = true; - } - } - this.noneRadioButton.Checked += ErrorButton_Checked; - this.allRadioButton.Checked += ErrorButton_Checked; - this.specificWarningsRadioButton.Checked += ErrorButton_Checked; + + public ProjectOptionPanel.ProjectProperty NoWarn { + get {return projectOptions.GetProperty("NoWarn","",TextBoxEditMode.EditRawProperty ); } } - public void SaveTreatWarningAsErrorRadioButtons() - { - if ((bool)this.noneRadioButton.IsChecked){ - this.specificWarningsTextBox.Text = string.Empty; - } - - if ((bool)this.allRadioButton.IsChecked) { - this.TreatWarningsAsErrors.Value = true; - } else { - this.TreatWarningsAsErrors.Value = false; + public List WarnLevel { + get { return warnLevel; } + set { warnLevel = value; + RaisePropertyChanged("WarnLevel"); } - this.noneRadioButton.Checked -= ErrorButton_Checked; - this.allRadioButton.Checked -= ErrorButton_Checked; - this.specificWarningsRadioButton.Checked -= ErrorButton_Checked; } + public event PropertyChangedEventHandler PropertyChanged; - void ErrorButton_Checked(object sender, System.Windows.RoutedEventArgs e) + private void RaisePropertyChanged (string propertyName) { - projectOptions.IsDirty = true; + var handler = this.PropertyChanged; + if (handler != null) + { + handler(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName)); + } } - } + } } \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml new file mode 100644 index 0000000000..4fbea23857 --- /dev/null +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml.cs new file mode 100644 index 0000000000..44389e5d0b --- /dev/null +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml.cs @@ -0,0 +1,102 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 20.09.2012 + * Time: 19:38 + * To change this template use Tools | Options | Coding | Edit Standard Headers. + */ +using System; +using System.Collections.Generic; +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.Gui.OptionPanels; +using ICSharpCode.SharpDevelop.Project; + +namespace ICSharpCode.SharpDevelop.Gui.OptionPanels +{ + /// + /// Interaction logic for ErrorsAndWarnings.xaml + /// + + + public partial class TreatErrorsAndWarnings : UserControl + { + private ProjectOptionPanel projectOptions; + + public TreatErrorsAndWarnings() + { + InitializeComponent(); + this.DataContext = this; + } + + #region properties + + + public ProjectOptionPanel.ProjectProperty TreatWarningsAsErrors { + get {return projectOptions.GetProperty("TreatWarningsAsErrors", false); } + } + + + public ProjectOptionPanel.ProjectProperty WarningsAsErrors { + get {return projectOptions.GetProperty("WarningsAsErrors","",TextBoxEditMode.EditRawProperty ); } + } + + + #endregion + + public void SetProjectOptions (ProjectOptionPanel projectOptions) + { + if (projectOptions == null) { + throw new ArgumentNullException("projectOptions"); + } + this.projectOptions = projectOptions; + SetTreatWarningAsErrorRadioButtons(); + } + + + private void SetTreatWarningAsErrorRadioButtons() + { + if (this.TreatWarningsAsErrors.Value) { + this.allRadioButton.IsChecked = true; + } else { + if (WarningsAsErrors.Value.Length > 0) { + this.specificWarningsRadioButton.IsChecked = true; + } else { + this.noneRadioButton.IsChecked = true; + } + } + this.noneRadioButton.Checked += ErrorButton_Checked; + this.allRadioButton.Checked += ErrorButton_Checked; + this.specificWarningsRadioButton.Checked += ErrorButton_Checked; + } + + + public void SaveTreatWarningAsErrorRadioButtons() + { + if ((bool)this.noneRadioButton.IsChecked){ + this.specificWarningsTextBox.Text = string.Empty; + } + + if ((bool)this.allRadioButton.IsChecked) { + this.TreatWarningsAsErrors.Value = true; + } else { + this.TreatWarningsAsErrors.Value = false; + } + this.noneRadioButton.Checked -= ErrorButton_Checked; + this.allRadioButton.Checked -= ErrorButton_Checked; + this.specificWarningsRadioButton.Checked -= ErrorButton_Checked; + } + + + void ErrorButton_Checked(object sender, System.Windows.RoutedEventArgs e) + { + projectOptions.IsDirty = true; + } + } +} \ No newline at end of file