From 31720c1678005b4a5898d5dcc8aea2a16e5de1a8 Mon Sep 17 00:00:00 2001 From: PeterForstmeier Date: Wed, 25 Apr 2012 20:07:03 +0200 Subject: [PATCH] Refactoring --- .../Project/LinkerOptionsXaml.xaml.cs | 136 +++++++++--------- .../Project/PreprocessorOptions.xaml.cs | 89 +++++------- 2 files changed, 105 insertions(+), 120 deletions(-) diff --git a/src/AddIns/BackendBindings/CppBinding/CppBinding/Project/LinkerOptionsXaml.xaml.cs b/src/AddIns/BackendBindings/CppBinding/CppBinding/Project/LinkerOptionsXaml.xaml.cs index 0be9edb86d..65e129cef8 100644 --- a/src/AddIns/BackendBindings/CppBinding/CppBinding/Project/LinkerOptionsXaml.xaml.cs +++ b/src/AddIns/BackendBindings/CppBinding/CppBinding/Project/LinkerOptionsXaml.xaml.cs @@ -36,20 +36,22 @@ namespace ICSharpCode.CppBinding.Project InitializeComponent(); } - void Initialize() + + private void Initialize() { - MSBuildItemDefinitionGroup group = new MSBuildItemDefinitionGroup(project, - project.ActiveConfiguration, project.ActivePlatform); + var msDefGroup = new MSBuildItemDefinitionGroup(project, project.ActiveConfiguration, project.ActivePlatform); + - this.additionalLibsTextBox.Text = group.GetElementMetadata(metaElement,"AdditionalDependencies"); + this.additionalLibsTextBox.Text = GetElementMetaData(msDefGroup,"AdditionalDependencies"); - this.addModuleTextBox.Text = group.GetElementMetadata(metaElement,"AddModuleNamesToAssembly"); + this.addModuleTextBox.Text = GetElementMetaData(msDefGroup,"AddModuleNamesToAssembly"); - this.resourceFileTextBox.Text = group.GetElementMetadata(metaElement,"EmbedManagedResourceFile"); + this.resourceFileTextBox.Text = GetElementMetaData(msDefGroup,"EmbedManagedResourceFile"); - this.additionalOptionsTextBox.Text = group.GetElementMetadata(metaElement,"AdditionalOptions"); + this.additionalOptionsTextBox.Text = GetElementMetaData(msDefGroup,"AdditionalOptions"); + + var def = GetElementMetaData(msDefGroup,"GenerateDebugInformation"); - var def = group.GetElementMetadata(metaElement,"GenerateDebugInformation"); bool check; if (bool.TryParse(def, out check)) { @@ -59,7 +61,7 @@ namespace ICSharpCode.CppBinding.Project IsDirty = false; } - + #region Properties public ProjectProperty LibraryPath { @@ -67,7 +69,7 @@ namespace ICSharpCode.CppBinding.Project } - bool checkBoxChecked; + private bool checkBoxChecked; public bool CheckBoxChecked { get {return checkBoxChecked;} @@ -83,6 +85,7 @@ namespace ICSharpCode.CppBinding.Project #endregion #region Save/Load + public override void OnApplyTemplate() { base.OnApplyTemplate(); @@ -101,101 +104,94 @@ namespace ICSharpCode.CppBinding.Project MSBuildItemDefinitionGroup group = new MSBuildItemDefinitionGroup(project, project.ActiveConfiguration, project.ActivePlatform); - - group.SetElementMetadata(metaElement,"AdditionalDependencies",this.additionalLibsTextBox.Text); - group.SetElementMetadata(metaElement,"AddModuleNamesToAssembly",this.addModuleTextBox.Text); - group.SetElementMetadata(metaElement,"EmbedManagedResourceFile",this.resourceFileTextBox.Text); - group.SetElementMetadata(metaElement,"AdditionalOptions",this.additionalOptionsTextBox.Text); + SetElementMetaData(group,"AdditionalDependencies",this.additionalLibsTextBox.Text); + SetElementMetaData(group,"AddModuleNamesToAssembly",this.addModuleTextBox.Text); + SetElementMetaData(group,"EmbedManagedResourceFile",this.resourceFileTextBox.Text); + SetElementMetaData(group,"AdditionalOptions",this.additionalOptionsTextBox.Text); string check = "false"; if ((bool)this.debugInfoCheckBox.IsChecked) { check = "true"; } - group.SetElementMetadata(metaElement,"GenerateDebugInformation",check); + SetElementMetaData(group,"GenerateDebugInformation",check); return base.Save(project, configuration, platform); } + #endregion + + #region MSBuildItemDefinitionGroup Set-Get + + private static string GetElementMetaData (MSBuildItemDefinitionGroup group,string name) + { + return group.GetElementMetadata(metaElement,name); + } + + + private static void SetElementMetaData (MSBuildItemDefinitionGroup group,string name,string value) + { + group.SetElementMetadata(metaElement,name,value); + } #endregion - void LibraryPathButton_Click(object sender, RoutedEventArgs e) + private void LibraryPathButton_Click(object sender, RoutedEventArgs e) { - var dlg = InitStringListEditor(StringParser.Parse("${res:Global.Folder}:"), - StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Linker.Library}:"),true); - - string[] strings = this.libraryPathTextBox.Text.Split(';'); - dlg.LoadList (strings); - dlg.ShowDialog(); - - if (dlg.DialogResult.HasValue && dlg.DialogResult.Value) - { - this.libraryPathTextBox.Text = String.Join(";", dlg.GetList()); - } + PopulateStringListEditor(StringParser.Parse("${res:Global.Folder}:"), + StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Linker.Library}:"), + this.libraryPathTextBox, + true); } - void AdditionalLibsButton_Click(object sender, RoutedEventArgs e) + private void AdditionalLibsButton_Click(object sender, RoutedEventArgs e) { - var dlg = InitStringListEditor(StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"), - StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Linker.AdditionalLibs}:"),false); - string[] strings = this.additionalLibsTextBox.Text.Split(';'); - dlg.LoadList (strings); - dlg.ShowDialog(); - - if (dlg.DialogResult.HasValue && dlg.DialogResult.Value) - { - this.additionalLibsTextBox.Text = String.Join(";",dlg.GetList()); - } + PopulateStringListEditor(StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"), + StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Linker.AdditionalLibs}:"), + this.additionalLibsTextBox, + false); } - void AddModuleButton_Click(object sender, RoutedEventArgs e) + private void AddModuleButton_Click(object sender, RoutedEventArgs e) { - var dlg = InitStringListEditor(StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"), - StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Linker.AddModule}"),false); - - string[] strings = this.addModuleTextBox.Text.Split(';'); - dlg.LoadList (strings); - dlg.ShowDialog(); - - if (dlg.DialogResult.HasValue && dlg.DialogResult.Value) - { - this.addModuleTextBox.Text = String.Join(";",dlg.GetList()); - } + PopulateStringListEditor(StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"), + StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Linker.AddModule}"), + this.addModuleTextBox, + false); } - void ResourceFileButton_Click(object sender, RoutedEventArgs e) + private void ResourceFileButton_Click(object sender, RoutedEventArgs e) { - var dlg = InitStringListEditor(StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"), - StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Linker.ManagedResourceFile}"),false); - string[] strings = this.resourceFileTextBox.Text.Split(';'); - dlg.LoadList (strings); - dlg.ShowDialog(); - - if (dlg.DialogResult.HasValue && dlg.DialogResult.Value) - { - this.resourceFileTextBox.Text = String.Join(";",dlg.GetList()); - } + PopulateStringListEditor(StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"), + StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Linker.ManagedResourceFile}"), + this.resourceFileTextBox, + false); } - static StringListEditorDialogXaml InitStringListEditor(string title, string listCaption,bool browseForDirectoty) + public static void PopulateStringListEditor(string title, string listCaption,TextBox textBox,bool browseForDirectoty) { - StringListEditorDialogXaml dlg = new StringListEditorDialogXaml(); - dlg.TitleText = title; - dlg.ListCaption = listCaption; - dlg.BrowseForDirectory = browseForDirectoty; - return dlg; + var stringListDialog = new StringListEditorDialogXaml(); + stringListDialog.TitleText = title; + stringListDialog.ListCaption = listCaption; + stringListDialog.BrowseForDirectory = browseForDirectoty; + string[] strings = textBox.Text.Split(';'); + stringListDialog.LoadList (strings); + stringListDialog.ShowDialog(); + if (stringListDialog.DialogResult.HasValue && stringListDialog.DialogResult.Value) + { + textBox.Text = String.Join(";",stringListDialog.GetList()); + } } - void TextBox_TextChanged(object sender, TextChangedEventArgs e) + + private void TextBox_TextChanged(object sender, TextChangedEventArgs e) { IsDirty = true; } - } } \ No newline at end of file diff --git a/src/AddIns/BackendBindings/CppBinding/CppBinding/Project/PreprocessorOptions.xaml.cs b/src/AddIns/BackendBindings/CppBinding/CppBinding/Project/PreprocessorOptions.xaml.cs index e0b54ca3e2..a183b172be 100644 --- a/src/AddIns/BackendBindings/CppBinding/CppBinding/Project/PreprocessorOptions.xaml.cs +++ b/src/AddIns/BackendBindings/CppBinding/CppBinding/Project/PreprocessorOptions.xaml.cs @@ -22,8 +22,8 @@ namespace ICSharpCode.CppBinding.Project public partial class PreprocessorOptions : ProjectOptionPanel,INotifyPropertyChanged { private const string metaElement ="ClCompile"; - private MSBuildBasedProject project; + public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; public PreprocessorOptions() { @@ -36,11 +36,11 @@ namespace ICSharpCode.CppBinding.Project MSBuildItemDefinitionGroup group = new MSBuildItemDefinitionGroup(project, project.ActiveConfiguration, project.ActivePlatform); - this.defineTextBox.Text = group.GetElementMetadata(metaElement,"PreprocessorDefinitions"); + this.defineTextBox.Text = GetElementMetaData(group,"PreprocessorDefinitions"); - this.undefineTextBox.Text = group.GetElementMetadata(metaElement,"UndefinePreprocessorDefinitions" ); + this.undefineTextBox.Text = GetElementMetaData(group,"UndefinePreprocessorDefinitions" ); - var defs = group.GetElementMetadata(metaElement,"UndefineAllPreprocessorDefinitions"); + var defs = GetElementMetaData(group,"UndefineAllPreprocessorDefinitions"); bool check; if (bool.TryParse(defs, out check)) @@ -93,77 +93,66 @@ namespace ICSharpCode.CppBinding.Project MSBuildItemDefinitionGroup group = new MSBuildItemDefinitionGroup(project, project.ActiveConfiguration, project.ActivePlatform); - group.SetElementMetadata(metaElement,"PreprocessorDefinitions",this.defineTextBox.Text); + SetElementMetaData(group,"PreprocessorDefinitions",this.defineTextBox.Text); - group.SetElementMetadata(metaElement,"UndefinePreprocessorDefinitions",this.undefineTextBox.Text); + SetElementMetaData(group,"UndefinePreprocessorDefinitions",this.undefineTextBox.Text); string check = "false"; if ((bool)this.undefineAllCheckBox.IsChecked) { check = "true"; } - group.SetElementMetadata(metaElement,"UndefineAllPreprocessorDefinitions",check); + SetElementMetaData(group,"UndefineAllPreprocessorDefinitions",check); return base.Save(project, configuration, platform); } #endregion + #region MSBuildItemDefinitionGroup Set-Get - void IncludePathButton_Click(object sender, RoutedEventArgs e) + private static string GetElementMetaData (MSBuildItemDefinitionGroup group,string name) { - StringListEditorDialogXaml dlg = new StringListEditorDialogXaml(); - dlg.TitleText = StringParser.Parse("${res:Global.Folder}:"); - dlg.ListCaption = StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Preprocessor.Includes}:"); - dlg.BrowseForDirectory = true; - string[] strings = this.includePathTextBox.Text.Split(';'); - dlg.LoadList (strings); - dlg.ShowDialog(); - - if (dlg.DialogResult.HasValue && dlg.DialogResult.Value) - { - this.includePathTextBox.Text = String.Join(";", dlg.GetList()); - } - + return group.GetElementMetadata(metaElement,name); } - void DefinePathButton_Click(object sender, RoutedEventArgs e) + + private static void SetElementMetaData (MSBuildItemDefinitionGroup group,string name,string value) { - StringListEditorDialogXaml dlg = new StringListEditorDialogXaml(); - dlg.TitleText = StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"); - dlg.ListCaption = StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Preprocessor.Definitions}:"); - - string[] strings = this.defineTextBox.Text.Split(';'); - dlg.LoadList (strings); - dlg.ShowDialog(); - - if (dlg.DialogResult.HasValue && dlg.DialogResult.Value) - { - this.defineTextBox.Text = String.Join(";",dlg.GetList()); - } + group.SetElementMetadata(metaElement,name,value); + } + + #endregion + + + private void IncludePathButton_Click(object sender, RoutedEventArgs e) + { + LinkerOptionsXaml.PopulateStringListEditor(StringParser.Parse("${res:Global.Folder}:"), + StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Preprocessor.Includes}:"), + this.includePathTextBox, + true); } - void UndefineButton_Click(object sender, RoutedEventArgs e) + private void DefinePathButton_Click(object sender, RoutedEventArgs e) { - StringListEditorDialogXaml dlg = new StringListEditorDialogXaml(); - dlg.TitleText = StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"); - dlg.ListCaption = StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"); - string[] strings = this.undefineTextBox.Text.Split(';'); - dlg.LoadList (strings); - dlg.BrowseForDirectory = false; - dlg.ShowDialog(); - - if (dlg.DialogResult.HasValue && dlg.DialogResult.Value) - { - this.undefineTextBox.Text = String.Join(";",dlg.GetList()); - } + LinkerOptionsXaml.PopulateStringListEditor(StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"), + StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.Preprocessor.Definitions}:"), + this.defineTextBox, + false); } - void TextBox_TextChanged(object sender, TextChangedEventArgs e) + private void UndefineButton_Click(object sender, RoutedEventArgs e) { - IsDirty = true; + LinkerOptionsXaml.PopulateStringListEditor(StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"), + StringParser.Parse("${res:ICSharpCode.CppBinding.ProjectOptions.SymbolLabel}:"), + this.undefineTextBox, + false); } - public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; + + private void TextBox_TextChanged(object sender, TextChangedEventArgs e) + { + IsDirty = true; + } } } \ No newline at end of file