4 changed files with 111 additions and 0 deletions
@ -0,0 +1,22 @@ |
|||||||
|
<gui:OptionPanel x:Class="ICSharpCode.FormsDesigner.Gui.OptionPanels.LocalizationOption" |
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
||||||
|
xmlns:sd="http://icsharpcode.net/sharpdevelop/core" |
||||||
|
xmlns:gui="clr-namespace:ICSharpCode.SharpDevelop.Gui;assembly=ICSharpCode.SharpDevelop" |
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
||||||
|
xmlns:widgets="http://icsharpcode.net/sharpdevelop/widgets"> |
||||||
|
|
||||||
|
<StackPanel> |
||||||
|
<GroupBox Header="{sd:Localize ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.DefaultLocalizationModel}"> |
||||||
|
<widgets:StackPanelWithSpacing SpaceBetweenItems="15"> |
||||||
|
<RadioButton Margin="5,5,0,5" x:Name="reflectionRadioButton" |
||||||
|
Content="{sd:Localize ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.DefaultLocalizationModel}"></RadioButton> |
||||||
|
<RadioButton Margin="5,5,0,5" x:Name="assignmentRadioButton" |
||||||
|
Content="{sd:Localize ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.AssignmentRadioButton}"></RadioButton> |
||||||
|
</widgets:StackPanelWithSpacing> |
||||||
|
</GroupBox> |
||||||
|
|
||||||
|
<CheckBox Margin="5,15,0,0" x:Name="keepModelCheckBox" |
||||||
|
Content="{sd:Localize ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.KeepModelCheckBox }"></CheckBox> |
||||||
|
</StackPanel> |
||||||
|
|
||||||
|
</gui:OptionPanel> |
@ -0,0 +1,75 @@ |
|||||||
|
/* |
||||||
|
* Created by SharpDevelop. |
||||||
|
* User: Peter Forstmeier |
||||||
|
* Date: 28.02.2012 |
||||||
|
* Time: 20:08 |
||||||
|
* |
||||||
|
* To change this template use Tools | Options | Coding | Edit Standard Headers. |
||||||
|
*/ |
||||||
|
using System; |
||||||
|
using System.ComponentModel.Design.Serialization; |
||||||
|
using ICSharpCode.Core; |
||||||
|
using ICSharpCode.SharpDevelop.Gui; |
||||||
|
|
||||||
|
namespace ICSharpCode.FormsDesigner.Gui.OptionPanels |
||||||
|
{ |
||||||
|
/// <summary>
|
||||||
|
/// Interaction logic for LocalizationOptionPanelXAML.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class LocalizationOption : OptionPanel |
||||||
|
{ |
||||||
|
public const string DefaultLocalizationModelPropertyName = "FormsDesigner.DesignerOptions.DefaultLocalizationModel"; |
||||||
|
public const string KeepLocalizationModelPropertyName = "FormsDesigner.DesignerOptions.KeepLocalizationModel"; |
||||||
|
|
||||||
|
const CodeDomLocalizationModel DefaultLocalizationModelDefaultValue = CodeDomLocalizationModel.PropertyReflection; |
||||||
|
const bool KeepLocalizationModelDefaultValue = false; |
||||||
|
|
||||||
|
public LocalizationOption() |
||||||
|
{ |
||||||
|
InitializeComponent(); |
||||||
|
this.reflectionRadioButton.IsChecked = (DefaultLocalizationModel == CodeDomLocalizationModel.PropertyReflection); |
||||||
|
this.assignmentRadioButton.IsChecked = !this.reflectionRadioButton.IsChecked; |
||||||
|
this.keepModelCheckBox.IsChecked = KeepLocalizationModel; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static CodeDomLocalizationModel DefaultLocalizationModel { |
||||||
|
get { return GetPropertySafe(DefaultLocalizationModelPropertyName, DefaultLocalizationModelDefaultValue); } |
||||||
|
set { PropertyService.Set(DefaultLocalizationModelPropertyName, value); } |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
public static bool KeepLocalizationModel { |
||||||
|
get { return GetPropertySafe(KeepLocalizationModelPropertyName, KeepLocalizationModelDefaultValue); } |
||||||
|
set { PropertyService.Set(KeepLocalizationModelPropertyName, value); } |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
static T GetPropertySafe<T>(string name, T defaultValue) |
||||||
|
{ |
||||||
|
if (PropertyService.Initialized) { |
||||||
|
return PropertyService.Get<T>(name, defaultValue); |
||||||
|
} else { |
||||||
|
return defaultValue; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public override bool SaveOptions() |
||||||
|
{ |
||||||
|
if (this.reflectionRadioButton.IsChecked == true) { |
||||||
|
DefaultLocalizationModel = CodeDomLocalizationModel.PropertyReflection; |
||||||
|
} else if (this.assignmentRadioButton.IsChecked == true) { |
||||||
|
DefaultLocalizationModel = CodeDomLocalizationModel.PropertyAssignment; |
||||||
|
} else { |
||||||
|
MessageService.ShowError("One localization model must be selected!"); |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
KeepLocalizationModel = (this.keepModelCheckBox.IsChecked == true); |
||||||
|
|
||||||
|
return true; |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue