Author: sisbell
Date: Tue May  1 13:24:33 2007
New Revision: 534229

URL: http://svn.apache.org/viewvc?view=rev&rev=534229
Log:
Initial import of the Visual Studio Addin.

Added:
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/
    
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/pom.xml   
(with props)
    incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/
    
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/
    
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/
    
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/
    
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/
    
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/
    
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/Connect.cs
    
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/resources/
    
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/resources/IDEAddin.AddIn
   (with props)

Added: 
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/pom.xml?view=auto&rev=534229
==============================================================================
--- 
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/pom.xml 
(added)
+++ 
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/pom.xml 
Tue May  1 13:24:33 2007
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0";>
+  <parent>
+    <groupId>NMaven</groupId>
+    <version>0.14</version>
+    <artifactId>NMaven.Assemblies</artifactId>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>NMaven.VisualStudio</groupId>
+  <artifactId>NMaven.VisualStudio.Addin</artifactId>
+  <packaging>library</packaging>
+  <version>0.14</version>
+  <name>NMaven.VisualStudio</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>NMaven.IDE</groupId>
+      <artifactId>NMaven.IDE</artifactId>
+      <version>0.14</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugin</groupId>
+      <artifactId>NMaven.Plugin</artifactId>
+      <version>0.14</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Logging</groupId>
+      <artifactId>NMaven.Logging</artifactId>
+      <version>0.14</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.VisualStudio</groupId>
+      <artifactId>NMaven.VisualStudio</artifactId>
+      <version>0.14</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>Microsoft.VisualStudio.CommandBars</groupId>
+      <artifactId>Microsoft.VisualStudio.CommandBars</artifactId>
+      <version>8.0.0.0__b03f5f7f11d50a3a</version>
+      <type>gac</type>
+    </dependency>
+    <dependency>
+      <groupId>EnvDTE</groupId>
+      <artifactId>EnvDTE</artifactId>
+      <type>gac</type>
+      <version>8.0.0.0__b03f5f7f11d50a3a</version>
+    </dependency>
+    <dependency>
+      <groupId>EnvDTE80</groupId>
+      <artifactId>EnvDTE80</artifactId>
+      <type>gac</type>
+      <version>8.0.0.0__b03f5f7f11d50a3a</version>
+    </dependency>
+    <dependency>
+      <groupId>Extensibility</groupId>
+      <artifactId>Extensibility</artifactId>
+      <type>gac</type>
+      <version>7.0.3300.0__b03f5f7f11d50a3a</version>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

Propchange: 
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/Connect.cs
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/Connect.cs?view=auto&rev=534229
==============================================================================
--- 
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/Connect.cs
 (added)
+++ 
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/csharp/NMaven/VisualStudio/Addin/Connect.cs
 Tue May  1 13:24:33 2007
@@ -0,0 +1,208 @@
+using Extensibility;
+using EnvDTE;
+using EnvDTE80;
+
+using System;
+using System.Resources;
+using System.Reflection;
+using System.Globalization;
+using System.Drawing;
+
+using Microsoft.VisualStudio.CommandBars;
+
+using NMaven.IDE;
+using NMaven.IDE.Controls;
+using NMaven.IDE.Commands;
+using NMaven.IDE.Impl;
+using NMaven.IDE.View;
+using NMaven.Logging;
+using NMaven.VisualStudio.Logging;
+
+namespace NMaven.VisualStudio.Addin
+{
+    /// <summary>The object for implementing an Add-in.</summary>
+    /// <seealso class='IDTExtensibility2' />
+    public class Connect : IDTExtensibility2, IDTCommandTarget
+    {
+        private Window _windowToolWindow;
+
+        private OutputWindowPane outputWindowPane;
+
+        private Logger logger;
+
+        /// <summary>Implements the constructor for the Add-in object. Place 
your initialization code within this method.</summary>
+        public Connect()
+        {
+        }
+
+        /// <summary>Implements the OnConnection method of the 
IDTExtensibility2 interface. Receives notification that the Add-in is being 
loaded.</summary>
+        /// <param term='application'>Root object of the host 
application.</param>
+        /// <param term='connectMode'>Describes how the Add-in is being 
loaded.</param>
+        /// <param term='addInInst'>Object representing this Add-in.</param>
+        /// <seealso class='IDTExtensibility2' />
+        public void OnConnection(object application, ext_ConnectMode 
connectMode, object addInInst, ref Array custom)
+        {
+            _applicationObject = (DTE2)application;
+            _addInInstance = (AddIn)addInInst;
+            if (connectMode == ext_ConnectMode.ext_cm_UISetup)
+            {
+                object[] contextGUIDS = new object[] { };
+                Commands2 commands = (Commands2)_applicationObject.Commands;
+                string toolsMenuName;
+
+                try
+                {
+                    //If you would like to move the command to a different 
menu, change the word "Tools" to the
+                    //  English version of the menu. This code will take the 
culture, append on the name of the menu
+                    //  then add the command to that menu. You can find a list 
of all the top-level menus in the file
+                    //  CommandBar.resx.
+                    ResourceManager resourceManager = new 
ResourceManager("IDEAddin.CommandBar", Assembly.GetExecutingAssembly());
+                    CultureInfo cultureInfo = new 
System.Globalization.CultureInfo(_applicationObject.LocaleID);
+                    string resourceName = 
String.Concat(cultureInfo.TwoLetterISOLanguageName, "Tools");
+                    toolsMenuName = resourceManager.GetString(resourceName);
+                }
+                catch
+                {
+                    //We tried to find a localized version of the word Tools, 
but one was not found.
+                    //  Default to the en-US word, which may work for the 
current culture.
+                    toolsMenuName = "Tools";
+                }
+
+                //Place the command on the tools menu.
+                //Find the MenuBar command bar, which is the top-level command 
bar holding all the main menu items:
+                Microsoft.VisualStudio.CommandBars.CommandBar 
menuBarCommandBar = 
((Microsoft.VisualStudio.CommandBars.CommandBars)_applicationObject.CommandBars)["MenuBar"];
+
+                //Find the Tools command bar on the MenuBar command bar:
+                CommandBarControl toolsControl = 
menuBarCommandBar.Controls[toolsMenuName];
+                CommandBarPopup toolsPopup = (CommandBarPopup)toolsControl;
+
+                //This try/catch block can be duplicated if you wish to add 
multiple commands to be handled by your Add-in,
+                //  just make sure you also update the QueryStatus/Exec method 
to include the new command names.
+                try
+                {
+                    //Add a command to the Commands collection:
+                    Command command = 
commands.AddNamedCommand2(_addInInstance, "IDEAddin", "IDEAddin", "Executes the 
command for IDEAddin", true, 59, ref contextGUIDS, 
(int)vsCommandStatus.vsCommandStatusSupported + 
(int)vsCommandStatus.vsCommandStatusEnabled, 
(int)vsCommandStyle.vsCommandStylePictAndText, 
vsCommandControlType.vsCommandControlTypeButton);
+
+                    //Add a control for the command to the tools menu:
+                    if ((command != null) && (toolsPopup != null))
+                    {
+                        command.AddControl(toolsPopup.CommandBar, 1);
+                    }
+                }
+                catch (System.ArgumentException)
+                {
+                    //If we are here, then the exception is probably because a 
command with that name
+                    //  already exists. If so there is no need to recreate the 
command and we can
+                    //  safely ignore the exception.
+                }
+
+            }
+            else if (connectMode == ext_ConnectMode.ext_cm_AfterStartup)
+            {
+                Window win = 
_applicationObject.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
+                OutputWindow outputWindow = (OutputWindow)win.Object;
+                outputWindowPane = outputWindow.OutputWindowPanes.Add("NMaven 
Addin");
+
+                OutputWindowPaneHandler handler = new 
OutputWindowPaneHandler();
+                handler.SetOutputWindowPaneHandler(outputWindowPane);
+
+                logger = Logger.GetLogger("UC");
+                logger.AddHandler(handler);
+                logger.Log(Level.INFO, "NMaven Addin");
+                MavenBuildControl mavenBuildControl = new MavenBuildControl();
+                object programmableObject = null;
+
+                String guidstr = "{858C3FCD-8B39-4540-A592-F31C1520B174}";
+                EnvDTE80.Windows2 windows2 = 
(EnvDTE80.Windows2)_applicationObject.Windows;
+                System.Reflection.Assembly asm = 
System.Reflection.Assembly.GetAssembly(mavenBuildControl.GetType());
+                _windowToolWindow = windows2.CreateToolWindow2(_addInInstance, 
asm.Location, "NMaven.IDE.Controls.MavenBuildControl", "Maven Build Tool", 
guidstr, ref programmableObject);
+
+                _windowToolWindow.Visible = true;
+
+                mavenBuildControl = 
(MavenBuildControl)_windowToolWindow.Object;
+                mavenBuildControl.Init(logger, 9099, new Size(400, 400));
+                mavenBuildControl.ClearOutputWindow += new 
EventHandler(ClearOutputWindowPane);
+                mavenBuildControl.FocusOutputWindow += new 
EventHandler(ActivateOutputWindowPane);
+            }
+        }
+
+        private void ClearOutputWindowPane(object sender, EventArgs args)
+        {
+            outputWindowPane.Clear();
+        }
+
+        private void ActivateOutputWindowPane(object sender, EventArgs args)
+        {
+            outputWindowPane.Activate();
+        }
+
+        /// <summary>Implements the OnDisconnection method of the 
IDTExtensibility2 interface. Receives notification that the Add-in is being 
unloaded.</summary>
+        /// <param term='disconnectMode'>Describes how the Add-in is being 
unloaded.</param>
+        /// <param term='custom'>Array of parameters that are host application 
specific.</param>
+        /// <seealso class='IDTExtensibility2' />
+        public void OnDisconnection(ext_DisconnectMode disconnectMode, ref 
Array custom)
+        {
+        }
+
+        /// <summary>Implements the OnAddInsUpdate method of the 
IDTExtensibility2 interface. Receives notification when the collection of 
Add-ins has changed.</summary>
+        /// <param term='custom'>Array of parameters that are host application 
specific.</param>
+        /// <seealso class='IDTExtensibility2' />
+        public void OnAddInsUpdate(ref Array custom)
+        {
+        }
+
+        /// <summary>Implements the OnStartupComplete method of the 
IDTExtensibility2 interface. Receives notification that the host application 
has completed loading.</summary>
+        /// <param term='custom'>Array of parameters that are host application 
specific.</param>
+        /// <seealso class='IDTExtensibility2' />
+        public void OnStartupComplete(ref Array custom)
+        {
+        }
+
+        /// <summary>Implements the OnBeginShutdown method of the 
IDTExtensibility2 interface. Receives notification that the host application is 
being unloaded.</summary>
+        /// <param term='custom'>Array of parameters that are host application 
specific.</param>
+        /// <seealso class='IDTExtensibility2' />
+        public void OnBeginShutdown(ref Array custom)
+        {
+        }
+
+        /// <summary>Implements the QueryStatus method of the IDTCommandTarget 
interface. This is called when the command's availability is updated</summary>
+        /// <param term='commandName'>The name of the command to determine 
state for.</param>
+        /// <param term='neededText'>Text that is needed for the 
command.</param>
+        /// <param term='status'>The state of the command in the user 
interface.</param>
+        /// <param term='commandText'>Text requested by the neededText 
parameter.</param>
+        /// <seealso class='Exec' />
+        public void QueryStatus(string commandName, vsCommandStatusTextWanted 
neededText, ref vsCommandStatus status, ref object commandText)
+        {
+            if (neededText == 
vsCommandStatusTextWanted.vsCommandStatusTextWantedNone)
+            {
+                if (commandName == "IDEAddin.Connect.IDEAddin")
+                {
+                    status = 
(vsCommandStatus)vsCommandStatus.vsCommandStatusSupported | 
vsCommandStatus.vsCommandStatusEnabled;
+                    return;
+                }
+            }
+        }
+
+        /// <summary>Implements the Exec method of the IDTCommandTarget 
interface. This is called when the command is invoked.</summary>
+        /// <param term='commandName'>The name of the command to 
execute.</param>
+        /// <param term='executeOption'>Describes how the command should be 
run.</param>
+        /// <param term='varIn'>Parameters passed from the caller to the 
command handler.</param>
+        /// <param term='varOut'>Parameters passed from the command handler to 
the caller.</param>
+        /// <param term='handled'>Informs the caller if the command was 
handled or not.</param>
+        /// <seealso class='Exec' />
+        public void Exec(string commandName, vsCommandExecOption 
executeOption, ref object varIn, ref object varOut, ref bool handled)
+        {
+            handled = false;
+            if (executeOption == 
vsCommandExecOption.vsCommandExecOptionDoDefault)
+            {
+                ////           if(commandName == "IDEAddin.Connect.IDEAddin")
+                //{
+                handled = true;
+
+            }
+            _windowToolWindow.Visible = true;
+        }
+        private DTE2 _applicationObject;
+        private AddIn _addInInstance;
+    }
+}
\ No newline at end of file

Added: 
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/resources/IDEAddin.AddIn
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/resources/IDEAddin.AddIn?view=auto&rev=534229
==============================================================================
Binary file - no diff available.

Propchange: 
incubator/nmaven/branches/SI_XPT/assemblies/NMaven.VisualStudio.Addin/src/main/resources/IDEAddin.AddIn
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream


Reply via email to