Browse Source

Fixed SD2-555. Forms designer automatically reloads if the language property is changed.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@760 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Matt Ward 20 years ago
parent
commit
b3d3d378ba
  1. 24
      src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerViewContent.cs

24
src/AddIns/DisplayBindings/FormDesigner/Project/Src/FormDesigner/FormDesignerViewContent.cs

@ -254,6 +254,7 @@ namespace ICSharpCode.FormDesigner @@ -254,6 +254,7 @@ namespace ICSharpCode.FormDesigner
public override void Selected()
{
PropertyPad.PropertyValueChanged += PropertyValueChanged;
Reload();
IsFormDesignerVisible = true;
foreach(AxSideTab tab in ToolboxProvider.SideTabs) {
@ -277,6 +278,7 @@ namespace ICSharpCode.FormDesigner @@ -277,6 +278,7 @@ namespace ICSharpCode.FormDesigner
public override void Deselected()
{
LoggingService.Info("Deselected form designer, unloading...");
PropertyPad.PropertyValueChanged -= PropertyValueChanged;
propertyContainer.Clear();
IsFormDesignerVisible = false;
foreach(AxSideTab tab in ToolboxProvider.SideTabs) {
@ -462,5 +464,27 @@ namespace ICSharpCode.FormDesigner @@ -462,5 +464,27 @@ namespace ICSharpCode.FormDesigner
}
}
#endregion
/// <summary>
/// Reloads the form designer if the language property has changed.
/// </summary>
void PropertyValueChanged(object source, PropertyValueChangedEventArgs e)
{
if (e.ChangedItem.GridItemType == GridItemType.Property) {
if (e.ChangedItem.PropertyDescriptor.Name == "Language") {
if (!e.OldValue.Equals(e.ChangedItem.Value)) {
LoggingService.Debug("Reloading designer due to language change.");
propertyContainer.Clear();
if (!failedDesignerInitialize) {
MergeFormChanges();
}
UnloadDesigner();
Reload();
propertyContainer.Host = Host;
UpdateSelectableObjects();
}
}
}
}
}
}

Loading…
Cancel
Save