Browse Source

Windows.Forms designer: Fixed detecting the wrong LocalizationModel when an extender provider with a string property is used. Show "please wait" label during reload when changing the language.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3536 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Christian Hornung 18 years ago
parent
commit
e47f4df2ea
  1. 4
      src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/Designer/BooDesignerLoader.cs
  2. 2
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/NRefactoryDesignerLoader.cs
  3. 26
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs

4
src/AddIns/BackendBindings/Boo/BooBinding/Project/Src/Designer/BooDesignerLoader.cs

@ -189,12 +189,12 @@ namespace Grunwald.BooBinding.Designer @@ -189,12 +189,12 @@ namespace Grunwald.BooBinding.Designer
public override bool EnterBinaryExpression(BinaryExpression node)
{
return this.model == CodeDomLocalizationModel.None && node.Operator == BinaryOperatorType.Assign;
return this.model != CodeDomLocalizationModel.PropertyReflection && node.Operator == BinaryOperatorType.Assign;
}
public override bool EnterMethodInvocationExpression(MethodInvocationExpression node)
{
if (this.model != CodeDomLocalizationModel.None) return false;
if (this.model == CodeDomLocalizationModel.PropertyReflection) return false;
MemberReferenceExpression member = node.Target as MemberReferenceExpression;
if (member != null) {

2
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerLoader/NRefactoryDesignerLoader.cs

@ -337,7 +337,7 @@ namespace ICSharpCode.FormsDesigner @@ -337,7 +337,7 @@ namespace ICSharpCode.FormsDesigner
public override object VisitMemberReferenceExpression(MemberReferenceExpression memberReferenceExpression, object data)
{
if (this.model == CodeDomLocalizationModel.None && this.inInitMethod) {
if (this.model != CodeDomLocalizationModel.PropertyReflection && this.inInitMethod) {
IdentifierExpression iex = memberReferenceExpression.TargetObject as IdentifierExpression;
if (iex != null && iex.Identifier == "resources") {
if (memberReferenceExpression.MemberName == "ApplyResources") {

26
src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs

@ -275,8 +275,10 @@ namespace ICSharpCode.FormsDesigner @@ -275,8 +275,10 @@ namespace ICSharpCode.FormsDesigner
}
designSurface = CreateDesignSurface(serviceContainer);
designSurface.Loading += this.DesignerLoading;
designSurface.Loaded += this.DesignerLoaded;
designSurface.Flushed += this.DesignerFlushed;
designSurface.Unloading += this.DesingerUnloading;
serviceContainer.AddService(typeof(System.ComponentModel.Design.IMenuCommandService), new ICSharpCode.FormsDesigner.Services.MenuCommandService(this.Control, designSurface));
ICSharpCode.FormsDesigner.Services.EventBindingService eventBindingService = new ICSharpCode.FormsDesigner.Services.EventBindingService(this, designSurface);
@ -337,7 +339,9 @@ namespace ICSharpCode.FormsDesigner @@ -337,7 +339,9 @@ namespace ICSharpCode.FormsDesigner
void ComponentListChanged(object sender, EventArgs e)
{
shouldUpdateSelectableObjects = true;
if (this.loader == null || !this.loader.Loading) {
shouldUpdateSelectableObjects = true;
}
}
void UnloadDesigner()
@ -358,8 +362,10 @@ namespace ICSharpCode.FormsDesigner @@ -358,8 +362,10 @@ namespace ICSharpCode.FormsDesigner
// at design time" is thrown.
// This is solved by calling dispose after the double-click event has been processed.
if (designSurface != null) {
designSurface.Loading -= this.DesignerLoading;
designSurface.Loaded -= this.DesignerLoaded;
designSurface.Flushed -= this.DesignerFlushed;
designSurface.Unloading -= this.DesingerUnloading;
IComponentChangeService componentChangeService = designSurface.GetService(typeof(IComponentChangeService)) as IComponentChangeService;
if (componentChangeService != null) {
@ -437,9 +443,26 @@ namespace ICSharpCode.FormsDesigner @@ -437,9 +443,26 @@ namespace ICSharpCode.FormsDesigner
}
}
void DesignerLoading(object sender, EventArgs e)
{
LoggingService.Debug("Forms designer: DesignerLoader loading...");
this.UserControl = this.pleaseWaitLabel;
Application.DoEvents();
}
void DesingerUnloading(object sender, EventArgs e)
{
LoggingService.Debug("Forms designer: DesignerLoader unloading...");
if (!this.disposing) {
this.UserControl = this.pleaseWaitLabel;
Application.DoEvents();
}
}
void DesignerLoaded(object sender, LoadedEventArgs e)
{
// This method is called when the designer has loaded.
LoggingService.Debug("Forms designer: DesignerLoader loaded, HasSucceeded=" + e.HasSucceeded.ToString());
if (e.HasSucceeded) {
// Display the designer on the view content
@ -448,6 +471,7 @@ namespace ICSharpCode.FormsDesigner @@ -448,6 +471,7 @@ namespace ICSharpCode.FormsDesigner
LoggingService.Debug("FormsDesigner loaded, setting ActiveDesignSurface to " + this.designSurface.ToString());
designSurfaceManager.ActiveDesignSurface = this.designSurface;
this.DesignerCodeFile.IsDirty = savedIsDirty;
this.UpdatePropertyPad();
} else {
// This method can not only be called during initialization,
// but also when the designer reloads itself because of

Loading…
Cancel
Save