//
//
//
//
// $Revision$
//
using System;
using System.Windows.Forms;
using ICSharpCode.SharpDevelop.Gui.OptionPanels;
using ICSharpCode.SharpDevelop.Project;
using StringPair = System.Collections.Generic.KeyValuePair;
namespace ICSharpCode.WixBinding
{
public class CompilerParametersPanel : AbstractProjectOptionPanel
{
public override void LoadPanelContents()
{
SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("ICSharpCode.WixBinding.Resources.CompilerParametersPanel.xfrm"));
InitializeHelper();
ConfigurationGuiBinding b;
b = helper.BindString("outputPathTextBox", "OutputPath", TextBoxEditMode.EditRawProperty);
b.CreateLocationButton("outputPathTextBox");
ConnectBrowseFolder("outputPathBrowseButton", "outputPathTextBox", "${res:Dialog.Options.PrjOptions.Configuration.FolderBrowserDescription}", TextBoxEditMode.EditRawProperty);
b = helper.BindString("baseOutputPathTextBox", "BaseOutputPath", TextBoxEditMode.EditRawProperty);
b.CreateLocationButton("baseOutputPathTextBox");
ConnectBrowseFolder("baseOutputPathBrowseButton", "baseOutputPathTextBox", "${res:Dialog.Options.PrjOptions.Configuration.FolderBrowserDescription}", TextBoxEditMode.EditRawProperty);
b = helper.BindString("intermediateOutputPathTextBox", "IntermediateOutputPath", TextBoxEditMode.EditRawProperty);
b.CreateLocationButton("intermediateOutputPathTextBox");
ConnectBrowseFolder("intermediateOutputPathBrowseButton", "intermediateOutputPathTextBox", "${res:Dialog.Options.PrjOptions.Configuration.FolderBrowserDescription}", TextBoxEditMode.EditRawProperty);
b = helper.BindString("wixToolPathTextBox", "WixToolPath", TextBoxEditMode.EditRawProperty);
ConnectBrowseFolder("wixToolPathBrowseButton", "wixToolPathTextBox", String.Empty, TextBoxEditMode.EditRawProperty);
b = helper.BindString("wixMSBuildExtensionsPathTextBox", "WixMSBuildExtensionsPath", TextBoxEditMode.EditRawProperty);
ConnectBrowseFolder("wixMSBuildExtensionsPathBrowseButton", "wixMSBuildExtensionsPathTextBox", String.Empty, TextBoxEditMode.EditRawProperty);
// Add the extension picker in manually since the anchoring does not
// work if we add the picker into the XML of the CompilerParametersPanel.xfrm file.
WixCompilerExtensionPicker extensionPicker = new WixCompilerExtensionPicker();
extensionPicker.Dock = DockStyle.Fill;
ControlDictionary["compilerExtensionsGroupBox"].Controls.Add(extensionPicker);
extensionPicker.ExtensionsChanged += CompilerExtensionsChanged;
b = new WixCompilerExtensionBinding(extensionPicker);
helper.AddBinding("CompileExtension", b);
InitWarnings();
helper.AddConfigurationSelector(this);
}
void InitWarnings()
{
ConfigurationGuiBinding b;
b = helper.BindStringEnum("warningLevelComboBox", "WarningLevel",
"4",
new StringPair("0", "0"),
new StringPair("1", "1"),
new StringPair("2", "2"),
new StringPair("3", "3"));
ChooseStorageLocationButton locationButton = b.CreateLocationButtonInPanel("errorsAndWarningsGroupBox");
b = helper.BindString("suppressWarningsTextBox", "NoWarn", TextBoxEditMode.EditEvaluatedProperty);
b.RegisterLocationButton(locationButton);
b = helper.BindBoolean("treatWarningsAsErrorsCheckBox", "TreatWarningsAsErrors", false);
b.RegisterLocationButton(locationButton);
}
void CompilerExtensionsChanged(object source, EventArgs e)
{
IsDirty = true;
}
}
}