You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							65 lines
						
					
					
						
							3.1 KiB
						
					
					
				
			
		
		
	
	
							65 lines
						
					
					
						
							3.1 KiB
						
					
					
				// CSharp Editor Example with Code Completion | 
						|
// Copyright (c) 2006, Daniel Grunwald | 
						|
// All rights reserved. | 
						|
//  | 
						|
// Redistribution and use in source and binary forms, with or without modification, are | 
						|
// permitted provided that the following conditions are met: | 
						|
//  | 
						|
// - Redistributions of source code must retain the above copyright notice, this list | 
						|
//   of conditions and the following disclaimer. | 
						|
//  | 
						|
// - Redistributions in binary form must reproduce the above copyright notice, this list | 
						|
//   of conditions and the following disclaimer in the documentation and/or other materials | 
						|
//   provided with the distribution. | 
						|
//  | 
						|
// - Neither the name of the ICSharpCode team nor the names of its contributors may be used to | 
						|
//   endorse or promote products derived from this software without specific prior written | 
						|
//   permission. | 
						|
//  | 
						|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &AS IS& AND ANY EXPRESS | 
						|
// OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY | 
						|
// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR | 
						|
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 
						|
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 
						|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER | 
						|
// IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT | 
						|
// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
						|
 | 
						|
using System; | 
						|
using System.Windows.Forms; | 
						|
using ICSharpCode.SharpDevelop.Dom; | 
						|
 | 
						|
namespace CSharpEditor | 
						|
{ | 
						|
	/// <summary> | 
						|
	/// ICSharpCode.SharpDevelop.Dom was created by extracting code from ICSharpCode.SharpDevelop.dll. | 
						|
	/// There are a few static method calls that refer to GUI code or the code for keeping the parse | 
						|
	/// information. These calls have to be implemented by the application hosting | 
						|
	/// ICSharpCode.SharpDevelop.Dom by settings static fields with a delegate to their method | 
						|
	/// implementation. | 
						|
	/// </summary> | 
						|
	static class HostCallbackImplementation | 
						|
	{ | 
						|
		public static void Register(MainForm mainForm) | 
						|
		{ | 
						|
			// Must be implemented. Gets the project content of the active project. | 
						|
			HostCallback.GetCurrentProjectContent = delegate { | 
						|
				return mainForm.myProjectContent; | 
						|
			}; | 
						|
			 | 
						|
			// The default implementation just logs to Log4Net. We want to display a MessageBox. | 
						|
			// Note that we use += here - in this case, we want to keep the default Log4Net implementation. | 
						|
			HostCallback.ShowError += delegate(string message, Exception ex) { | 
						|
				MessageBox.Show(message + Environment.NewLine + ex.ToString()); | 
						|
			}; | 
						|
			HostCallback.ShowMessage += delegate(string message) { | 
						|
				MessageBox.Show(message); | 
						|
			}; | 
						|
			HostCallback.ShowAssemblyLoadError += delegate(string fileName, string include, string message) { | 
						|
				MessageBox.Show("Error loading code-completion information for " | 
						|
				                + include + " from " + fileName | 
						|
				                + ":\r\n" + message + "\r\n"); | 
						|
			}; | 
						|
		} | 
						|
	} | 
						|
}
 | 
						|
 |