diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Resources/CompilingOptionsPanel.xfrm b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Resources/CompilingOptionsPanel.xfrm index bfc0a42753..c972ec65db 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Resources/CompilingOptionsPanel.xfrm +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Resources/CompilingOptionsPanel.xfrm @@ -8,17 +8,34 @@ - + + + + + + + + + + + + + + + + + + - + - + @@ -26,29 +43,29 @@ - - + + - + - + - + \ No newline at end of file diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/CompilingOptionsPanel.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/CompilingOptionsPanel.cs index e5b3739135..3d97e47828 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/CompilingOptionsPanel.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/CompilingOptionsPanel.cs @@ -28,6 +28,9 @@ namespace ICSharpCode.PythonBinding b = BindBoolean("debugInfoCheckBox", "DebugInfo", false); CreateLocationButton(b, "debugInfoCheckBox"); + + b = CreatePlatformTargetComboBox(); + CreateLocationButton(b, "targetCpuComboBox"); AddConfigurationSelector(this); } @@ -82,5 +85,13 @@ namespace ICSharpCode.PythonBinding { helper.AddConfigurationSelector(control); } + + /// + /// Creates the platform target combo box. + /// + protected virtual ConfigurationGuiBinding CreatePlatformTargetComboBox() + { + return base.CreatePlatformTarget(); + } } } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/CompilingOptionsPanelTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/CompilingOptionsPanelTestFixture.cs index 4b0c34bcaa..e2c174716a 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/CompilingOptionsPanelTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/CompilingOptionsPanelTestFixture.cs @@ -117,6 +117,18 @@ namespace PythonBinding.Tests Assert.IsTrue(compilingOptionsPanel.ConfigurationSelectorAddedToControl); } + [Test] + public void TargetCpuComboxBoxAdded() + { + Assert.IsTrue(compilingOptionsPanel.IsTargetCpuComboBoxCreated); + } + + [Test] + public void TargetCpuComboxBoxLocationButtonCreated() + { + Assert.IsTrue(compilingOptionsPanel.IsLocationButtonCreated("targetCpuComboBox")); + } + BrowseFolderButtonInfo GetOutputPathBrowseFolderInfo() { return compilingOptionsPanel.GetBrowseFolderButtonInfo("outputPathBrowseButton"); diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedCompilingOptionsPanel.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedCompilingOptionsPanel.cs index 0473085207..4ba740cc07 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedCompilingOptionsPanel.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedCompilingOptionsPanel.cs @@ -28,6 +28,7 @@ namespace PythonBinding.Tests.Utils Dictionary boundTextEditModes = new Dictionary(); List locationButtonsCreated = new List(); Dictionary browseFolderButtons = new Dictionary(); + bool createdTargetCpuComboBox; public DerivedCompilingOptionsPanel() { @@ -45,6 +46,13 @@ namespace PythonBinding.Tests.Utils get { return setupFromManifestResourceName; } } + /// + /// Returns whether the target cpu combo box was created. + /// + public bool IsTargetCpuComboBoxCreated { + get { return createdTargetCpuComboBox; } + } + /// /// Gets the name of the control that was bound to the specified /// property. @@ -142,6 +150,12 @@ namespace PythonBinding.Tests.Utils return base.CreateLocationButton(binding, controlName); } + protected override ConfigurationGuiBinding CreatePlatformTargetComboBox() + { + createdTargetCpuComboBox = true; + return base.CreatePlatformTargetComboBox(); + } + /// /// Connects the browse folder button control to the target control. /// diff --git a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs index 8ea3a4b7ed..fd52f30e34 100644 --- a/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs +++ b/src/Main/Base/Project/Src/Gui/Dialogs/OptionPanels/ProjectOptions/AbstractBuildOptions.cs @@ -197,6 +197,13 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels b.DefaultLocation = PropertyStorageLocations.PlatformSpecific; b.RegisterLocationButton(advancedLocationButton); + b = CreatePlatformTarget(); + b.RegisterLocationButton(advancedLocationButton); + } + + protected ConfigurationGuiBinding CreatePlatformTarget() + { + ConfigurationGuiBinding b; b = helper.BindStringEnum("targetCpuComboBox", "PlatformTarget", "AnyCPU", new StringPair("AnyCPU", "${res:Dialog.ProjectOptions.Build.TargetCPU.Any}"), @@ -204,9 +211,9 @@ namespace ICSharpCode.SharpDevelop.Gui.OptionPanels new StringPair("x64", "${res:Dialog.ProjectOptions.Build.TargetCPU.x64}"), new StringPair("Itanium", "${res:Dialog.ProjectOptions.Build.TargetCPU.Itanium}")); b.DefaultLocation = PropertyStorageLocations.PlatformSpecific; - b.RegisterLocationButton(advancedLocationButton); + return b; } - + void DebugSymbolsLoaded(object sender, EventArgs e) { PropertyStorageLocations location;