Browse Source

Convert FormsDesigner LocalizationModelOptionsPanel.cs to WPF

pull/18/head
PeterForstmeier 14 years ago
parent
commit
bab2c9d135
  1. 3
      src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.addin
  2. 11
      src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj
  3. 22
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/OptionPanels/LocalizationOption.xaml
  4. 75
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/OptionPanels/LocalizationOption.xaml.cs

3
src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.addin

@ -314,6 +314,9 @@
label = "${res:ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.PanelName}" label = "${res:ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.PanelName}"
class = "ICSharpCode.FormsDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel"/> class = "ICSharpCode.FormsDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel"/>
<OptionPanel id = "LocalizationModelOptions1"
label = "${res:ICSharpCode.SharpDevelop.FormDesigner.Gui.OptionPanels.LocalizationModelOptionsPanel.PanelName}"
class = "ICSharpCode.FormsDesigner.Gui.OptionPanels.LocalizationOption"/>
</OptionPanel> </OptionPanel>
</Path> </Path>
</AddIn> </AddIn>

11
src/AddIns/DisplayBindings/FormsDesigner/Project/FormsDesigner.csproj

@ -86,6 +86,10 @@
<DependentUpon>ImageResourceEditorDialog.cs</DependentUpon> <DependentUpon>ImageResourceEditorDialog.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Src\Gui\OptionPanels\LocalizationModelOptionsPanel.cs" /> <Compile Include="Src\Gui\OptionPanels\LocalizationModelOptionsPanel.cs" />
<Compile Include="Src\Gui\OptionPanels\LocalizationOption.xaml.cs">
<DependentUpon>LocalizationOption.xaml</DependentUpon>
<SubType>Code</SubType>
</Compile>
<Compile Include="Src\SecondaryDisplayBinding.cs" /> <Compile Include="Src\SecondaryDisplayBinding.cs" />
<Compile Include="Src\DesignerViewContent.cs" /> <Compile Include="Src\DesignerViewContent.cs" />
<Compile Include="Src\FormKeyHandler.cs" /> <Compile Include="Src\FormKeyHandler.cs" />
@ -169,6 +173,10 @@
<Private>False</Private> <Private>False</Private>
</ProjectReference> </ProjectReference>
<Content Include="PostBuildEvent.proj" /> <Content Include="PostBuildEvent.proj" />
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.Core.Presentation\ICSharpCode.Core.Presentation.csproj">
<Project>{7E4A7172-7FF5-48D0-B719-7CD959DD1AC9}</Project>
<Name>ICSharpCode.Core.Presentation</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj"> <ProjectReference Include="..\..\..\..\Main\ICSharpCode.Core.WinForms\ICSharpCode.Core.WinForms.csproj">
<Project>{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}</Project> <Project>{857CA1A3-FC88-4BE0-AB6A-D1EE772AB288}</Project>
<Name>ICSharpCode.Core.WinForms</Name> <Name>ICSharpCode.Core.WinForms</Name>
@ -185,6 +193,9 @@
<Private>False</Private> <Private>False</Private>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup>
<Page Include="Src\Gui\OptionPanels\LocalizationOption.xaml" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" />
<Import Project="PostBuildEvent.proj" /> <Import Project="PostBuildEvent.proj" />
</Project> </Project>

22
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/OptionPanels/LocalizationOption.xaml

@ -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>

75
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/Gui/OptionPanels/LocalizationOption.xaml.cs

@ -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…
Cancel
Save