Browse Source

Fixed SD2-1621 - WinForms designer: events are not created in source code

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5552 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Daniel Grunwald 16 years ago
parent
commit
80c40eb5c0
  1. 7
      src/AddIns/DisplayBindings/FormsDesigner/Project/Src/DesignerViewContent.cs
  2. 8
      src/Main/Base/Project/Src/Commands/AutostartCommands.cs
  3. 10
      src/Main/Base/Project/Src/Gui/AbstractViewContent.cs
  4. 4
      src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs

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

@ -123,10 +123,7 @@ namespace ICSharpCode.FormsDesigner
this.sourceCodeStorage = new DesignerSourceCodeStorage(); this.sourceCodeStorage = new DesignerSourceCodeStorage();
this.resourceStore = new ResourceStore(this); this.resourceStore = new ResourceStore(this);
// null check is required to support running in unit test mode this.IsActiveViewContentChanged += this.IsActiveViewContentChangedHandler;
if (WorkbenchSingleton.Workbench != null) {
this.IsActiveViewContentChanged += this.IsActiveViewContentChangedHandler;
}
FileService.FileRemoving += this.FileServiceFileRemoving; FileService.FileRemoving += this.FileServiceFileRemoving;
ICSharpCode.SharpDevelop.Debugging.DebuggerService.DebugStarting += this.DebugStarting; ICSharpCode.SharpDevelop.Debugging.DebuggerService.DebugStarting += this.DebugStarting;
@ -140,7 +137,7 @@ namespace ICSharpCode.FormsDesigner
if (generator == null) if (generator == null)
throw new ArgumentNullException("generator"); throw new ArgumentNullException("generator");
this.loaderProvider = loaderProvider; this.loaderProvider = loaderProvider;
this.generator = generator; this.generator = generator;
this.generator.Attach(this); this.generator.Attach(this);

8
src/Main/Base/Project/Src/Commands/AutostartCommands.cs

@ -9,6 +9,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Interop;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.Core.WinForms; using ICSharpCode.Core.WinForms;
@ -30,9 +31,16 @@ namespace ICSharpCode.SharpDevelop.Commands
{ {
app = new App(); app = new App();
System.Windows.Forms.Integration.WindowsFormsHost.EnableWindowsFormsInterop(); System.Windows.Forms.Integration.WindowsFormsHost.EnableWindowsFormsInterop();
ComponentDispatcher.ThreadIdle -= ComponentDispatcher_ThreadIdle; // ensure we don't register twice
ComponentDispatcher.ThreadIdle += ComponentDispatcher_ThreadIdle;
WorkbenchSingleton.InitializeWorkbench(new WpfWorkbench(), new AvalonDockLayout()); WorkbenchSingleton.InitializeWorkbench(new WpfWorkbench(), new AvalonDockLayout());
} }
static void ComponentDispatcher_ThreadIdle(object sender, EventArgs e)
{
System.Windows.Forms.Application.RaiseIdle(e);
}
public void Run(IList<string> fileList) public void Run(IList<string> fileList)
{ {
bool didLoadSolutionOrFile = false; bool didLoadSolutionOrFile = false;

10
src/Main/Base/Project/Src/Gui/AbstractViewContent.cs

@ -477,7 +477,10 @@ namespace ICSharpCode.SharpDevelop.Gui
if (!registeredOnViewContentChange) { if (!registeredOnViewContentChange) {
// register WorkbenchSingleton.Workbench.ActiveViewContentChanged only on demand // register WorkbenchSingleton.Workbench.ActiveViewContentChanged only on demand
wasActiveViewContent = IsActiveViewContent; wasActiveViewContent = IsActiveViewContent;
WorkbenchSingleton.Workbench.ActiveViewContentChanged += OnActiveViewContentChanged; // null check is required to support running in unit test mode
if (WorkbenchSingleton.Workbench != null) {
WorkbenchSingleton.Workbench.ActiveViewContentChanged += OnActiveViewContentChanged;
}
registeredOnViewContentChange = true; registeredOnViewContentChange = true;
} }
isActiveViewContentChanged += value; isActiveViewContentChanged += value;
@ -490,7 +493,10 @@ namespace ICSharpCode.SharpDevelop.Gui
void UnregisterOnActiveViewContentChanged() void UnregisterOnActiveViewContentChanged()
{ {
if (registeredOnViewContentChange) { if (registeredOnViewContentChange) {
WorkbenchSingleton.Workbench.ActiveViewContentChanged -= OnActiveViewContentChanged; // null check is required to support running in unit test mode
if (WorkbenchSingleton.Workbench != null) {
WorkbenchSingleton.Workbench.ActiveViewContentChanged -= OnActiveViewContentChanged;
}
registeredOnViewContentChange = false; registeredOnViewContentChange = false;
} }
} }

4
src/Main/Base/Project/Src/Gui/WorkbenchSingleton.cs

@ -100,6 +100,10 @@ namespace ICSharpCode.SharpDevelop.Gui
Debug.WriteLine("ActiveWorkbenchWindowChanged to " + workbench.ActiveWorkbenchWindow); Debug.WriteLine("ActiveWorkbenchWindowChanged to " + workbench.ActiveWorkbenchWindow);
LoggingService.Debug("ActiveWorkbenchWindowChanged to " + workbench.ActiveWorkbenchWindow); LoggingService.Debug("ActiveWorkbenchWindowChanged to " + workbench.ActiveWorkbenchWindow);
}; };
System.Windows.Forms.Application.Idle += delegate {
LoggingService.Debug("Idle");
};
} }
/// <summary> /// <summary>

Loading…
Cancel
Save