You are viewing a plain text version of this content. The canonical link for it is here.
Posted to nmaven-commits@incubator.apache.org by si...@apache.org on 2007/05/01 20:45:10 UTC

svn commit: r534235 - in /incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin: ./ Resources/ Resources/NMavenBuildControl.xfrm Src/ Src/CompilerMessageViewHandler.cs Src/NMavenBuildControl.cs Src/NMavenBuildPad.cs

Author: sisbell
Date: Tue May  1 13:45:09 2007
New Revision: 534235

URL: http://svn.apache.org/viewvc?view=rev&rev=534235
Log:
Initial import of sharp develop adding for .NET builds.

Added:
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Resources/
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Resources/NMavenBuildControl.xfrm
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/CompilerMessageViewHandler.cs
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/NMavenBuildControl.cs
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/NMavenBuildPad.cs

Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Resources/NMavenBuildControl.xfrm
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Resources/NMavenBuildControl.xfrm?view=auto&rev=534235
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Resources/NMavenBuildControl.xfrm (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Resources/NMavenBuildControl.xfrm Tue May  1 13:45:09 2007
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Components version="1.0">
+      <System.Windows.Forms.Form>
+        <Name value="MainForm" />
+        <Location value="{X=138,Y=19}" />
+        <Text value="Build" />
+        <Size value="{Width=400, Height=400}" />
+        <TabIndex value="3" />
+      </System.Windows.Forms.Form> 
+</Components>

Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/CompilerMessageViewHandler.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/CompilerMessageViewHandler.cs?view=auto&rev=534235
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/CompilerMessageViewHandler.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/CompilerMessageViewHandler.cs Tue May  1 13:45:09 2007
@@ -0,0 +1,54 @@
+using System;
+using System.Runtime.CompilerServices;
+using System.Windows.Forms;
+using System.Drawing;
+using System.Threading;
+using NMaven.Logging;
+using ICSharpCode.Core;
+using ICSharpCode.SharpDevelop.Gui;
+using ICSharpCode.SharpDevelop;
+
+namespace NMaven.SharpDevelop.Addin
+{
+	/// <summary>
+	/// Description of CompilerMessageViewLogger.
+	/// </summary>
+	public class CompilerMessageViewHandler : IHandler
+	{
+		private Level level;
+		
+		private CompilerMessageView compilerMessageView;
+				
+		public CompilerMessageViewHandler()
+		{
+			this.level = Level.INFO;
+		}
+		
+		public void SetCompilerMessageView(CompilerMessageView compilerMessageView)
+		{
+			this.compilerMessageView = compilerMessageView;	
+		}
+		
+		[MethodImpl(MethodImplOptions.Synchronized)]
+		public void publish(LogRecord record)
+		{
+			if(record.GetLevel().GetValue() >= level.GetValue())
+			{
+				compilerMessageView.GetCategory("NMaven Build")
+					.AppendText(record.GetMessage());
+			}
+		}
+		
+		[MethodImpl(MethodImplOptions.Synchronized)]
+		public void SetLevel(Level level)
+		{
+			this.level = level;
+		}
+		
+		[MethodImpl(MethodImplOptions.Synchronized)]
+		public Level GetLevel()
+		{
+			return level;
+		}		
+	}
+}

Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/NMavenBuildControl.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/NMavenBuildControl.cs?view=auto&rev=534235
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/NMavenBuildControl.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/NMavenBuildControl.cs Tue May  1 13:45:09 2007
@@ -0,0 +1,72 @@
+using System;
+using System.Windows.Forms;
+using System.Collections.Generic;
+using System.Drawing;
+using System.Net;
+using System.Net.Sockets;
+
+using NMaven.IDE.View;
+using NMaven.IDE;
+using NMaven.IDE.Commands;
+using NMaven.IDE.Controls;
+using NMaven.IDE.Impl;
+using NMaven.Service;
+using NMaven.Logging;
+
+using ICSharpCode.SharpDevelop.Gui;
+using ICSharpCode.SharpDevelop.Gui.XmlForms;
+using ICSharpCode.SharpDevelop;
+
+namespace NMaven.SharpDevelop.Addin
+{
+	public class NMavenBuildControl : BaseSharpDevelopUserControl
+	{
+       
+		private CompilerMessageView view;
+		
+		private MessageViewCategory category;
+		
+		public NMavenBuildControl()
+		{
+			category = new MessageViewCategory("NMaven Build");
+			view = CompilerMessageView.Instance;
+			view.AddCategory(category);
+    		
+			SetupFromXmlStream(this.GetType().Assembly.GetManifestResourceStream("NMaven.SharpDevelop.Addin.Resources.NMavenBuildControl.xfrm"));
+			
+			CompilerMessageViewHandler handler = new CompilerMessageViewHandler();
+			handler.SetCompilerMessageView(view);
+			Logger logger = Logger.GetLogger("NMaven Build");
+			logger.AddHandler(handler);
+			logger.Log(Level.INFO, "NMaven Build\r\n");
+			MavenBuildControl buildControl = new MavenBuildControl();            
+			buildControl.Init(logger, findOpenPort(), new Size(400, 400) );
+			buildControl.Size = new Size(400, 400);
+			buildControl.ClearOutputWindow += new EventHandler(ClearOutputWindow);
+			this.Controls.Add(buildControl);
+		}
+		
+		void ClearOutputWindow(object sender, EventArgs e)
+		{
+			category.ClearText();
+		}
+		
+		private int findOpenPort()
+		{
+			for(int i = 1; i < 10; i++)
+			{
+				int port = (new Random()).Next(1025, 65536);
+				try {
+		            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+		            socket.Bind(new IPEndPoint(IPAddress.Any, port));
+		            socket.Close();
+		            return port;
+				}
+				catch (SocketException e)
+				{					
+				}								
+			}
+			return -1;
+		}
+	}		
+}

Added: incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/NMavenBuildPad.cs
URL: http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/NMavenBuildPad.cs?view=auto&rev=534235
==============================================================================
--- incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/NMavenBuildPad.cs (added)
+++ incubator/nmaven/branches/SI_XPT/assemblies/NMaven.SharpDevelop.Addin/Src/NMavenBuildPad.cs Tue May  1 13:45:09 2007
@@ -0,0 +1,49 @@
+using System;
+using System.Windows.Forms;
+using ICSharpCode.Core;
+using ICSharpCode.SharpDevelop.Gui;
+
+namespace NMaven.SharpDevelop.Addin
+{
+	/// <summary>
+	/// Description of the pad content
+	/// </summary>
+	public class NMavenBuildPad : AbstractPadContent
+	{
+		NMavenBuildControl ctl;
+		
+		/// <summary>
+		/// Creates a new TestPad object
+		/// </summary>
+		public NMavenBuildPad()
+		{
+			ctl = new NMavenBuildControl();
+		}
+		
+		/// <summary>
+		/// The <see cref="System.Windows.Forms.Control"/> representing the pad
+		/// </summary>
+		public override Control Control {
+			get {
+				return ctl;
+			}
+		}
+		
+		/// <summary>
+		/// Refreshes the pad
+		/// </summary>
+		public override void RedrawContent()
+		{
+			// TODO: Refresh the whole pad control here, renew all resource strings whatever
+			//       Note that you do not need to recreate the control.
+		}
+		
+		/// <summary>
+		/// Cleans up all used resources
+		/// </summary>
+		public override void Dispose()
+		{
+			ctl.Dispose();
+		}
+	}
+}