Browse Source

BuildOptionsXaml.xaml add Multibinding

pull/30/head
PeterForstmeier 13 years ago
parent
commit
b55cbb1887
  1. 27
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml
  2. 14
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs
  3. 2
      src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/HexValidator.cs

27
src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml

@ -11,6 +11,8 @@
xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets"> xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets">
<optionpanels:ProjectOptionPanel.Resources> <optionpanels:ProjectOptionPanel.Resources>
<optionpanels:StorageLocationConverter
x:Key="converter" />
<optionpanels:StringToBoolConverter <optionpanels:StringToBoolConverter
x:Key="strTobool"></optionpanels:StringToBoolConverter> x:Key="strTobool"></optionpanels:StringToBoolConverter>
</optionpanels:ProjectOptionPanel.Resources> </optionpanels:ProjectOptionPanel.Resources>
@ -186,7 +188,7 @@
Margin="3,0,3,0"></Button> Margin="3,0,3,0"></Button>
</StackPanel> </StackPanel>
<GroupBox Grid.Row="5" Grid.ColumnSpan="3" Margin="5,10,0,0" <GroupBox Grid.Row="5" Grid.ColumnSpan="3" Margin="5,10,0,0"
Header="{core:Localize Dialog.ProjectOptions.Build.Advanced}"> Header="{core:Localize Dialog.ProjectOptions.Build.Advanced}">
<Grid> <Grid>
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition <RowDefinition
@ -220,12 +222,25 @@
Width="50"></ColumnDefinition> Width="50"></ColumnDefinition>
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<!-- location multibinding http://dotnet-forum.de/blogs/larsschmitt/archive/2009/11/07/wpf-multibinding.aspx -->
<optionpanels:StorageLocationPicker <optionpanels:StorageLocationPicker Grid.Row="1" VerticalAlignment="Center">
Grid.Row="2" <optionpanels:StorageLocationPicker.Location>
Location="{Binding dddddd.Location}" <MultiBinding
DockPanel.Dock="Left" /> Converter="{StaticResource converter}">
<Binding
Path="RegisterForComInterop.Location" />
<Binding
Path="GenerateSerializationAssemblies.Location" />
<Binding
Path="PlatformTarget.Location" />
<Binding
Path="FileAlignment.Location" />
<Binding
Path="BaseAddress.Location" />
</MultiBinding>
</optionpanels:StorageLocationPicker.Location>
</optionpanels:StorageLocationPicker>
<CheckBox <CheckBox
x:Name="registerCOMInteropCheckBox" x:Name="registerCOMInteropCheckBox"

14
src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/BuildOptionsXaml.xaml.cs

@ -97,14 +97,8 @@ namespace CSharpBinding.OptionPanels
this.Optimize.Location = PropertyStorageLocations.ConfigurationSpecific; this.Optimize.Location = PropertyStorageLocations.ConfigurationSpecific;
this.AllowUnsafeBlocks.Location = PropertyStorageLocations.ConfigurationSpecific; this.AllowUnsafeBlocks.Location = PropertyStorageLocations.ConfigurationSpecific;
this.CheckForOverflowUnderflow.Location = PropertyStorageLocations.ConfigurationSpecific; this.CheckForOverflowUnderflow.Location = PropertyStorageLocations.ConfigurationSpecific;
base.RaisePropertyChanged(string.Empty); //base.RaisePropertyChanged(string.Empty);
var s = BaseAddress.Value; //IsDirty = false;
int val;
if (!int.TryParse(s, NumberStyles.Integer, NumberFormatInfo.InvariantInfo, out val)) {
val = 32;
}
var x = val;
var y = "0x" + val.ToString("x", NumberFormatInfo.InvariantInfo);
} }
#region properties #region properties
@ -146,7 +140,7 @@ namespace CSharpBinding.OptionPanels
get {return GetProperty("DebugType",ICSharpCode.SharpDevelop.Project.DebugSymbolType.Full ); } get {return GetProperty("DebugType",ICSharpCode.SharpDevelop.Project.DebugSymbolType.Full ); }
} }
// used in multibinding
public ProjectProperty<string> RegisterForComInterop { public ProjectProperty<string> RegisterForComInterop {
get {return GetProperty("RegisterForComInterop","",TextBoxEditMode.EditRawProperty ); } get {return GetProperty("RegisterForComInterop","",TextBoxEditMode.EditRawProperty ); }
} }
@ -166,7 +160,6 @@ namespace CSharpBinding.OptionPanels
} }
// Fehlt noch
public ProjectProperty<string> BaseAddress { public ProjectProperty<string> BaseAddress {
get {return GetProperty("BaseAddress","0x400000",TextBoxEditMode.EditRawProperty ); } get {return GetProperty("BaseAddress","0x400000",TextBoxEditMode.EditRawProperty ); }
} }
@ -292,7 +285,6 @@ namespace CSharpBinding.OptionPanels
#endregion #endregion
#region SerializationInfo #region SerializationInfo
public List<KeyItemPair> SerializationInfo { public List<KeyItemPair> SerializationInfo {

2
src/AddIns/BackendBindings/CSharpBinding/Project/Src/OptionPanels/HexValidator.cs

@ -24,7 +24,7 @@ namespace CSharpBinding.OptionPanels
var y = 0; var y = 0;
var res = Int32.TryParse(str,NumberStyles.HexNumber,CultureInfo.InvariantCulture,out y); var res = Int32.TryParse(str,NumberStyles.HexNumber,CultureInfo.InvariantCulture,out y);
if (!res) { if (!res) {
result = new ValidationResult(false, "No Valid hex Digit"); result = new ValidationResult(false, "No valid Hex Digit");
} }
return result; return result;
} }

Loading…
Cancel
Save