From 87dd38331ac7c5180d182f6b269b81b13ce7a752 Mon Sep 17 00:00:00 2001 From: PeterForstmeier Date: Sun, 9 Sep 2012 20:11:29 +0200 Subject: [PATCH] BuildOptions.xaml.cs --- .../Src/OptionPanels/BuildOptions.xaml.cs | 47 ++--- .../Src/OptionPanels/BuildOptionsXaml.xaml.cs | 160 ++++++++++++++++++ 2 files changed, 173 insertions(+), 34 deletions(-) create mode 100644 src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs 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 587814e446..b81669753c 100644 --- a/src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml.cs +++ b/src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptions.xaml.cs @@ -193,6 +193,13 @@ namespace CSharpBinding.OptionPanels { base.Load(project, configuration, platform); this.project = project; + + int val; + if (!int.TryParse(BaseAddress.Value, NumberStyles.Integer, NumberFormatInfo.InvariantInfo, out val)) { + val = 0x400000; + } + DllBaseAdress = "0x" + val.ToString("x", NumberFormatInfo.InvariantInfo); + this.Initialize(); } @@ -209,8 +216,10 @@ namespace CSharpBinding.OptionPanels int val; if (int.TryParse(dllBaseAdress, style, NumberFormatInfo.InvariantInfo, out val)) { BaseAddress.Value = val.ToString(NumberFormatInfo.InvariantInfo); + } else { + MessageService.ShowMessage("${res:Dialog.ProjectOptions.PleaseEnterValidNumber}"); + return false; } - return base.Save(project, configuration, platform); } #endregion @@ -327,46 +336,16 @@ namespace CSharpBinding.OptionPanels public string DllBaseAdress { get { - int val; - if (!int.TryParse(BaseAddress.Value, NumberStyles.Integer, NumberFormatInfo.InvariantInfo, out val)) { - val = 1000; - } - return "0x" + val.ToString("x", NumberFormatInfo.InvariantInfo); + return dllBaseAdress; } set { dllBaseAdress = value; - - if (CheckBaseAdress(value)) { - IsDirty = true; - base.RaisePropertyChanged(() => DllBaseAdress); - } else { - MessageService.ShowMessage("${res:Dialog.ProjectOptions.PleaseEnterValidNumber}"); - } + IsDirty = true; + base.RaisePropertyChanged(() => DllBaseAdress); } } - - private bool CheckBaseAdress(string toCheck) - { - NumberStyles style = NumberStyles.Integer; - if (toCheck.StartsWith("0x")) { - toCheck = toCheck.Substring(2); - style = NumberStyles.HexNumber; - } - if (!String.IsNullOrEmpty(toCheck)) { - int val; - if (int.TryParse(toCheck, style, NumberFormatInfo.InvariantInfo, out val)) { - return true; - } else { - MessageService.ShowMessage("${res:Dialog.ProjectOptions.PleaseEnterValidNumber}"); - return false; - } - } - return false; - } - - #endregion #region BaseIntermediateOutputPath diff --git a/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs new file mode 100644 index 0000000000..9a5b506593 --- /dev/null +++ b/src/AddIns/BackendBindings/VBNetBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs @@ -0,0 +1,160 @@ +/* + * Created by SharpDevelop. + * User: Peter Forstmeier + * Date: 06.08.2012 + * Time: 19:43 + * 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; + +using StringPair = System.Collections.Generic.KeyValuePair; + +namespace ICSharpCode.VBNetBinding.OptionPanels +{ + /// + /// Interaction logic for BuildOptionsXaml.xaml + /// + public partial class BuildOptionsXaml : ProjectOptionPanel + { + public BuildOptionsXaml() + { + InitializeComponent(); + DataContext = this; + OptionExplicitItems = new List(); + OptionExplicitItems.Add(new StringPair("Off", "Explicit Off")); + OptionExplicitItems.Add(new StringPair("On", "Explicit On")); + OptionExplicitItem = OptionExplicitItems[0]; + + OptionStrictItems = new List(); + OptionStrictItems.Add( new StringPair("Off", "Strict Off")); + OptionStrictItems.Add(new StringPair("On", "Strict On")); + OptionStrictItem = OptionStrictItems[0]; + + OptionCompareItems = new List(); + OptionCompareItems.Add(new StringPair("Binary", "Compare Binary")); + OptionCompareItems.Add(new StringPair("Text", "Compare Text")); + OptionCompareItem = OptionCompareItems[0]; + + OptionInferItems = new List(); + OptionInferItems.Add(new StringPair("Off", "Infer Off")); + OptionInferItems.Add(new StringPair("On", "Infer On")); + OptionInferItem = OptionInferItems[0]; + } + + public ProjectProperty DefineConstants { + get { return GetProperty("DefineConstants", "", TextBoxEditMode.EditRawProperty); } + } + + public ProjectProperty Optimize { + get { return GetProperty("Optimize", "", TextBoxEditMode.EditRawProperty); } + } + + public ProjectProperty RemoveIntegerChecks { + get { return GetProperty("RemoveIntegerChecks", "", TextBoxEditMode.EditRawProperty); } + } + + public ProjectProperty OptionExplicit { + get { return GetProperty("OptionExplicit", "", TextBoxEditMode.EditRawProperty); } + } + + public ProjectProperty OptionStrict { + get { return GetProperty("OptionStrict", "", TextBoxEditMode.EditRawProperty); } + } + + public ProjectProperty OptionCompare { + get { return GetProperty("OptionCompare", "", TextBoxEditMode.EditRawProperty); } + } + + public ProjectProperty OptionInfer { + get { return GetProperty("OptionInfer", "", TextBoxEditMode.EditRawProperty); } + } + + #region OptionItems + + List optionExplicitItems; + + public List OptionExplicitItems { + get { return optionExplicitItems; } + set { optionExplicitItems = value; + base.RaisePropertyChanged(() => OptionExplicitItems); + } + } + + private StringPair optionExplicitItem; + + public KeyValuePair OptionExplicitItem { + get { return optionExplicitItem; } + set { optionExplicitItem = value; + base.RaisePropertyChanged(() => OptionExplicitItem); + } + } + + + List optionStrictItems; + + public List> OptionStrictItems { + get { return optionStrictItems; } + set { optionStrictItems = value; + base.RaisePropertyChanged(() => OptionStrictItems); + } + } + + private StringPair optionStrictItem; + + public KeyValuePair OptionStrictItem { + get { return optionStrictItem; } + set { optionStrictItem = value; + base.RaisePropertyChanged(() => OptionStrictItem); + } + } + + private List optionCompareItems; + + public List> OptionCompareItems { + get { return optionCompareItems; } + set { optionCompareItems = value; + base.RaisePropertyChanged(() => OptionCompareItems); + } + } + + private StringPair optionCompareItem; + + public KeyValuePair OptionCompareItem { + get { return optionCompareItem; } + set { optionCompareItem = value; + base.RaisePropertyChanged(() => OptionCompareItem); + } + } + + List optionInferItems; + + public List> OptionInferItems { + get { return optionInferItems; } + set { optionInferItems = value; + base.RaisePropertyChanged(()=>OptionInferItems); + } + } + + + private StringPair optionInferItem; + + public KeyValuePair OptionInferItem { + get { return optionInferItem; } + set { optionInferItem = value; + base.RaisePropertyChanged(() => OptionInferItem); + } + } + #endregion + } +} \ No newline at end of file