Browse Source

BuildOptions - ErrorsAndWarnings UserControl

pull/30/head
PeterForstmeier 14 years ago
parent
commit
13e8462546
  1. 14
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml
  2. 79
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml.cs
  3. 106
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml
  4. 18
      src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs
  5. 5
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  6. 30
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml
  7. 84
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml.cs
  8. 38
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml
  9. 102
      src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml.cs

14
src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml

@ -268,7 +268,9 @@ @@ -268,7 +268,9 @@
<GroupBox Margin="0,8,0,0"
Header="{core:Localize Dialog.ProjectOptions.Build.ErrorsAndWarnings}">
<Grid>
<optionpanels:ErrorsAndWarnings x:Name="errorsAndWarnings">
</optionpanels:ErrorsAndWarnings>
<!--<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
@ -281,7 +283,7 @@ @@ -281,7 +283,7 @@
<Label Grid.Column="1" Content="{core:Localize Dialog.ProjectOptions.Build.WarningLevel}"></Label>
<!--x:Name="warningLevelComboBox"-->
<ComboBox Grid.Column="2" Width="40" VerticalAlignment="Center" HorizontalAlignment="Left"
ItemsSource="{Binding Path=DataContext.WarnLevel}"
SelectedValue="{Binding Path=WarningLevel.Value}"
@ -294,16 +296,16 @@ @@ -294,16 +296,16 @@
<Label Grid.Row="1" Grid.Column="1"
Content="{core:Localize Dialog.ProjectOptions.Build.SuppressWarnings}"></Label>
<!--x:Name="suppressWarningsTextBox"-->
<TextBox Grid.Row="1" Grid.Column="2"
Text="{Binding NoWarn.Value, UpdateSourceTrigger=PropertyChanged}"></TextBox>
</Grid>
</Grid>-->
</GroupBox>
<GroupBox Margin="0,8,0,0" Header="{core:Localize Dialog.ProjectOptions.Build.ErrorsAndWarnings}">
<optionpanels:ErrorsAndWarnings x:Name="errorsAndWarnings">
</optionpanels:ErrorsAndWarnings>
<optionpanels:TreatErrorsAndWarnings x:Name="treatErrorsAndWarnings">
</optionpanels:TreatErrorsAndWarnings>
</GroupBox>
</StackPanel>

79
src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml.cs

@ -61,7 +61,7 @@ namespace CSharpBinding.OptionPanels @@ -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<KeyItemPair>();
this.warnLevel.Add(new KeyItemPair("0","0"));
this.warnLevel.Add(new KeyItemPair("1","1"));
@ -69,6 +69,7 @@ namespace CSharpBinding.OptionPanels @@ -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 @@ -147,26 +148,11 @@ namespace CSharpBinding.OptionPanels
}
public ProjectProperty<string> WarningLevel {
get {return GetProperty("WarningLevel","4",TextBoxEditMode.EditEvaluatedProperty ); }
}
public ProjectProperty<string> NoWarn {
get {return GetProperty("NoWarn","",TextBoxEditMode.EditRawProperty ); }
}
public ProjectProperty<string> WarningsAsErrors {
get {return GetProperty("WarningsAsErrors","",TextBoxEditMode.EditRawProperty ); }
}
public ProjectProperty<bool> TreatWarningsAsErrors {
get {return GetProperty("TreatWarningsAsErrors", false); }
}
#endregion
#region overrides
@ -182,7 +168,7 @@ namespace CSharpBinding.OptionPanels @@ -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 @@ -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 @@ -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 @@ -373,61 +360,5 @@ namespace CSharpBinding.OptionPanels
#endregion
#region WarningLevel
public List<KeyItemPair> 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
}
}

106
src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml

@ -31,30 +31,30 @@ @@ -31,30 +31,30 @@
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<Label Grid.ColumnSpan="3" VerticalAlignment="Center"
<Label Grid.ColumnSpan="3" VerticalAlignment="Center"
Content="{core:Localize Dialog.ProjectOptions.BuildOptions.ConditionalSymbols}"></Label>
<optionpanels:StorageLocationPicker Grid.Row="1" Margin="0,8,0,8"
Location="{Binding DefineConstants.Location}" />
<TextBox x:Name="conditionalSymbolsTextBox" VerticalAlignment="Center"
Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"
<TextBox x:Name="conditionalSymbolsTextBox" VerticalAlignment="Center"
Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2"
Text="{Binding DefineConstants.Value, UpdateSourceTrigger=PropertyChanged}">
</TextBox>
<optionpanels:StorageLocationPicker Grid.Row="2" Margin="0,3,0,0" Location="{Binding Optimize.Location}" />
<CheckBox x:Name="optimizeCodeCheckBox" VerticalAlignment="Center"
<CheckBox x:Name="optimizeCodeCheckBox" VerticalAlignment="Center"
Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2"
Content="{core:Localize Dialog.ProjectOptions.BuildOptions.OptimizeCode}"
IsChecked="{Binding Optimize.Value,
Converter={StaticResource strToBool}}">
IsChecked="{Binding Optimize.Value,
Converter={StaticResource strToBool}}">
</CheckBox>
<optionpanels:StorageLocationPicker Grid.Row="3" Margin="0,3,0,0" Location="{Binding RemoveIntegerChecks.Location}" />
<CheckBox x:Name="removeOverflowCheckBox"
Grid.Row="3" Grid.Column="1" Grid.ColumnSpan="2" VerticalAlignment="Center"
Content="{core:Localize Dialog.ProjectOptions.BuildOptions.RemoveOverflowChecks}"
IsChecked="{Binding RemoveIntegerChecks.Value,
Converter={StaticResource strToBool}}">
Converter={StaticResource strToBool}}">
</CheckBox>
<optionpanels:StorageLocationPicker Grid.Row="5" Margin="0,3,0,0" VerticalAlignment="Center" >
@ -75,17 +75,17 @@ @@ -75,17 +75,17 @@
VerticalAlignment="Center"
ItemsSource="{Binding OptionExplicitItems}"
SelectedValue="{Binding Path=OptionExplicit.Value}"
DisplayMemberPath="DisplayValue"
DisplayMemberPath="DisplayValue"
SelectedValuePath="Key"
>
</ComboBox>
<ComboBox
VerticalAlignment="Center"
ItemsSource="{Binding OptionStrictItems}"
SelectedValue="{Binding Path=OptionStrict.Value}"
DisplayMemberPath="DisplayValue"
DisplayMemberPath="DisplayValue"
SelectedValuePath="Key"
></ComboBox>
<!--<ComboBox Grid.Row="1" Grid.Column="2"
@ -110,7 +110,7 @@ @@ -110,7 +110,7 @@
</widgets:StackPanelWithSpacing>
</Grid>
</GroupBox>
<GroupBox Header="{core:Localize Dialog.ProjectOptions.Build.Output}">
<Grid >
<Grid.RowDefinitions>
@ -247,7 +247,7 @@ @@ -247,7 +247,7 @@
<Label Grid.Row="3" Grid.Column="1" HorizontalAlignment="Right"
Content="{core:Localize Dialog.ProjectOptions.Build.FileAlignment}"></Label>
<ComboBox Grid.Row="3" Grid.Column="2" VerticalAlignment="Center"
ItemsSource="{Binding Path=DataContext.FileAlign}"
SelectedValue="{Binding Path=FileAlignment.Value}"
@ -258,12 +258,12 @@ @@ -258,12 +258,12 @@
Content="{core:Localize Dialog.ProjectOptions.Build.DLLBaseAddress}"></Label>
<TextBox Grid.Row="4" Grid.Column="2"
Text="{Binding DllBaseAdress, UpdateSourceTrigger=LostFocus}">
</TextBox>
<Label Grid.Row="6" Grid.ColumnSpan="2"
Content="{core:Localize Dialog.ProjectOptions.Build.BaseIntermediateOutputPath}"></Label>
@ -295,82 +295,18 @@ @@ -295,82 +295,18 @@
</GroupBox>
</Grid>
</GroupBox>
<GroupBox Margin="0,8,0,0"
Header="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Column="1" Content="{core:Localize Dialog.ProjectOptions.Build.WarningLevel}"></Label>
<ComboBox Grid.Column="2" Width="40" VerticalAlignment="Center" HorizontalAlignment="Left"
ItemsSource="{Binding Path=DataContext.WarnLevel}"
SelectedValue="{Binding Path=WarningLevel.Value}"
DisplayMemberPath="DisplayValue"
SelectedValuePath="Key"
SelectedIndex="4"></ComboBox>
<optionpanels:StorageLocationPicker Grid.Row="1" Location="{Binding NoWarn.Location}" DockPanel.Dock="Left" />
<Label Grid.Row="1" Grid.Column="1"
Content="{core:Localize Dialog.ProjectOptions.Build.SuppressWarnings}"></Label>
<TextBox Grid.Row="1" Grid.Column="2"
Text="{Binding NoWarn.Value, UpdateSourceTrigger=PropertyChanged}"></TextBox>
</Grid>
</GroupBox>
<GroupBox Margin="0,8,0,0" Header="{core:Localize Dialog.ProjectOptions.Build.ErrorsAndWarnings}">
<GroupBox Margin="0,8,0,0" Header="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors}">
<optionpanels:ErrorsAndWarnings x:Name="errorsAndWarnings">
</optionpanels:ErrorsAndWarnings>
</GroupBox>
<!--<GroupBox Margin="0,8,0,0"
Header="{core:Localize Dialog.ProjectOptions.Build.ErrorsAndWarnings}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<optionpanels:StorageLocationPicker Grid.Row="1" Location="{Binding TreatWarningsAsErrors.Location}">
</optionpanels:StorageLocationPicker>
<RadioButton x:Name="noneRadioButton" Grid.Column="1" VerticalAlignment="Center" Margin="3,0,3,0"
Content="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors.None}"></RadioButton>
<RadioButton x:Name="specificWarningsRadioButton" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="3,0,3,0"
Content="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors.Specific}"></RadioButton>
<TextBox x:Name="specificWarningsTextBox" Grid.Row="1" Grid.Column="2" VerticalAlignment="Center"
Margin="3,0,3,0"
IsEnabled="{Binding ElementName=specificWarningsRadioButton, Path=IsChecked}"
Text="{Binding WarningsAsErrors.Value, UpdateSourceTrigger=PropertyChanged}"></TextBox>
<RadioButton x:Name="allRadioButton" Grid.Row="2" Grid.Column="1"
Margin="3,0,3,0"
VerticalAlignment="Center"
Content="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors.All}"></RadioButton>
</Grid>
</GroupBox>-->
<GroupBox Margin="0,8,0,0" Header="{core:Localize Dialog.ProjectOptions.Build.ErrorsAndWarnings}">
<optionpanels:TreatErrorsAndWarnings x:Name="treatErrorsAndWarnings">
</optionpanels:TreatErrorsAndWarnings>
</GroupBox>
</StackPanel>
</ScrollViewer>
</optionpanels:ProjectOptionPanel>

18
src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs

@ -58,10 +58,10 @@ namespace ICSharpCode.VBNetBinding.OptionPanels @@ -58,10 +58,10 @@ namespace ICSharpCode.VBNetBinding.OptionPanels
}
public ProjectOptionPanel.ProjectProperty<bool> TreatWarningsAsErrors {
get {
return GetProperty("TreatWarningsAsErrors", false); }
}
// public ProjectOptionPanel.ProjectProperty<bool> TreatWarningsAsErrors {
// get {
// return GetProperty("TreatWarningsAsErrors", false); }
// }
public ProjectProperty<string> DefineConstants {
get { return GetProperty("DefineConstants", "", TextBoxEditMode.EditRawProperty); }
@ -143,21 +143,15 @@ namespace ICSharpCode.VBNetBinding.OptionPanels @@ -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);
}

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

@ -283,6 +283,10 @@ @@ -283,6 +283,10 @@
<DependentUpon>ErrorsAndWarnings.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\TreatErrorsAndWarnings.xaml.cs">
<DependentUpon>TreatErrorsAndWarnings.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\HexValidator.cs" />
<Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\KeyValuePair.cs" />
<Compile Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\ProjectOptionPanel.cs" />
@ -917,6 +921,7 @@ @@ -917,6 +921,7 @@
<Page Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\BuildEvents.xaml" />
<Page Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\DebugOptions.xaml" />
<Page Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\ErrorsAndWarnings.xaml" />
<Page Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\TreatErrorsAndWarnings.xaml" />
<Page Include="Src\Gui\Dialogs\OptionPanels\ProjectOptions\ProjectOptionPanel.xaml">
<DependentUpon>ProjectOptionPanel.cs</DependentUpon>
</Page>

30
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml

@ -3,7 +3,6 @@ @@ -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">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
@ -13,26 +12,25 @@ @@ -13,26 +12,25 @@
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<optionpanels:StorageLocationPicker Grid.Row="1" Location="{Binding TreatWarningsAsErrors.Location}">
</optionpanels:StorageLocationPicker>
<Label Grid.Column="1" Content="{core:Localize Dialog.ProjectOptions.Build.WarningLevel}"></Label>
<RadioButton x:Name="noneRadioButton" Grid.Column="1" VerticalAlignment="Center" Margin="3,0,3,0"
Content="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors.None}"></RadioButton>
<!--x:Name="warningLevelComboBox"-->
<ComboBox Grid.Column="2" Width="40" VerticalAlignment="Center" HorizontalAlignment="Left"
ItemsSource="{Binding Path=DataContext.WarnLevel}"
SelectedValue="{Binding Path=WarningLevel.Value}"
DisplayMemberPath="DisplayValue"
SelectedValuePath="Key"
SelectedIndex="4"></ComboBox>
<RadioButton x:Name="specificWarningsRadioButton" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="3,0,3,0"
Content="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors.Specific}"></RadioButton>
<optionpanels:StorageLocationPicker Grid.Row="1" Location="{Binding NoWarn.Location}" DockPanel.Dock="Left" />
<TextBox x:Name="specificWarningsTextBox" Grid.Row="1" Grid.Column="2" VerticalAlignment="Center"
Margin="3,0,3,0"
IsEnabled="{Binding ElementName=specificWarningsRadioButton, Path=IsChecked}"
Text="{Binding WarningsAsErrors.Value, UpdateSourceTrigger=PropertyChanged}"></TextBox>
<Label Grid.Row="1" Grid.Column="1"
Content="{core:Localize Dialog.ProjectOptions.Build.SuppressWarnings}"></Label>
<RadioButton x:Name="allRadioButton" Grid.Row="2" Grid.Column="1"
Margin="3,0,3,0"
VerticalAlignment="Center"
Content="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors.All}"></RadioButton>
<!--x:Name="suppressWarningsTextBox"-->
<TextBox Grid.Row="1" Grid.Column="2"
Text="{Binding NoWarn.Value, UpdateSourceTrigger=PropertyChanged}"></TextBox>
</Grid>
</UserControl>

84
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/ErrorsAndWarnings.xaml.cs

@ -1,12 +1,13 @@ @@ -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; @@ -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 @@ -23,80 +23,60 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels
/// <summary>
/// Interaction logic for ErrorsAndWarnings.xaml
/// </summary>
public partial class ErrorsAndWarnings : UserControl
public partial class ErrorsAndWarnings : UserControl, INotifyPropertyChanged
{
private List<KeyItemPair> warnLevel;
private ProjectOptionPanel projectOptions;
public ErrorsAndWarnings()
{
InitializeComponent();
this.DataContext = this;
this.warnLevel = new List<KeyItemPair>();
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<bool> TreatWarningsAsErrors {
get {return projectOptions.GetProperty("TreatWarningsAsErrors", false); }
}
public ProjectOptionPanel.ProjectProperty<string> 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<string> 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<string> 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<KeyItemPair> 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));
}
}
}
}
}

38
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml

@ -0,0 +1,38 @@ @@ -0,0 +1,38 @@
<UserControl x:Class="ICSharpCode.SharpDevelop.Gui.OptionPanels.TreatErrorsAndWarnings"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
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">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<optionpanels:StorageLocationPicker Grid.Row="1" Location="{Binding TreatWarningsAsErrors.Location}">
</optionpanels:StorageLocationPicker>
<RadioButton x:Name="noneRadioButton" Grid.Column="1" VerticalAlignment="Center" Margin="3,0,3,0"
Content="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors.None}"></RadioButton>
<RadioButton x:Name="specificWarningsRadioButton" Grid.Row="1" Grid.Column="1" VerticalAlignment="Center" Margin="3,0,3,0"
Content="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors.Specific}"></RadioButton>
<TextBox x:Name="specificWarningsTextBox" Grid.Row="1" Grid.Column="2" VerticalAlignment="Center"
Margin="3,0,3,0"
IsEnabled="{Binding ElementName=specificWarningsRadioButton, Path=IsChecked}"
Text="{Binding WarningsAsErrors.Value, UpdateSourceTrigger=PropertyChanged}"></TextBox>
<RadioButton x:Name="allRadioButton" Grid.Row="2" Grid.Column="1"
Margin="3,0,3,0"
VerticalAlignment="Center"
Content="{core:Localize Dialog.ProjectOptions.Build.TreatWarningsAsErrors.All}"></RadioButton>
</Grid>
</UserControl>

102
src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/TreatErrorsAndWarnings.xaml.cs

@ -0,0 +1,102 @@ @@ -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
{
/// <summary>
/// Interaction logic for ErrorsAndWarnings.xaml
/// </summary>
public partial class TreatErrorsAndWarnings : UserControl
{
private ProjectOptionPanel projectOptions;
public TreatErrorsAndWarnings()
{
InitializeComponent();
this.DataContext = this;
}
#region properties
public ProjectOptionPanel.ProjectProperty<bool> TreatWarningsAsErrors {
get {return projectOptions.GetProperty("TreatWarningsAsErrors", false); }
}
public ProjectOptionPanel.ProjectProperty<string> 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;
}
}
}
Loading…
Cancel
Save