[svn] r6560: vs-plugin/trunk/Nemerle.VsIntegration: Nemerle.VsIntegration.csproj NemerleConstants.cs Nemer...

NoiseEHC svnadmin at nemerle.org
Sat Aug 19 21:58:16 CEST 2006


Log:
implementing splash screen and about box as Andrei did

Author: NoiseEHC
Date: Sat Aug 19 21:58:14 2006
New Revision: 6560

Modified:
   vs-plugin/trunk/Nemerle.VsIntegration/Nemerle.VsIntegration.csproj
   vs-plugin/trunk/Nemerle.VsIntegration/NemerleConstants.cs
   vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs
   vs-plugin/trunk/Nemerle.VsIntegration/Resources.Designer.cs
   vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx

Modified: vs-plugin/trunk/Nemerle.VsIntegration/Nemerle.VsIntegration.csproj
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/Nemerle.VsIntegration.csproj	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/Nemerle.VsIntegration.csproj	Sat Aug 19 21:58:14 2006
@@ -249,8 +249,8 @@
   </ItemGroup>
   <ItemGroup>
     <Content Include="ObjectModelExtenders\!Info.txt" />
+    <None Include="Resources\Nemerle.ico" />
     <EmbeddedResource Include="Resources\NemerleImageList.bmp" />
-    <Content Include="Resources\Nemerle.ico" />
     <ZipProject Include="Templates\Projects\WindowsApplication\NemerleMacroLibrary.vstemplate" />
     <ZipProject Include="Templates\Projects\WindowsApplication\Nemerle.ico" />
     <ZipProject Include="Templates\Projects\ClassLibrary\Nemerle.ico" />

Modified: vs-plugin/trunk/Nemerle.VsIntegration/NemerleConstants.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/NemerleConstants.cs	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/NemerleConstants.cs	Sat Aug 19 21:58:14 2006
@@ -13,6 +13,10 @@
 		public const string FileExtension = ".n";
 		public const string ProjectExtension = "nproj";
 
+		// used by registration and about box/splash screen
+		public const string ProductDetails = "Nemerle Visual Studio Integration";
+		public const string ProductID = "1.0";
+
 		// Âíčěŕíčĺ, GUID LanguageServiceGuidString íóćíî čçěĺíčňü ĺůĺ č çäĺńü:
 		// Nemerle.VsIntegration\CodeSnippets\SnippetsIndex.xml
 

Modified: vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/NemerlePackage.cs	Sat Aug 19 21:58:14 2006
@@ -16,6 +16,7 @@
 using Microsoft.VisualStudio;
 using Microsoft.VisualStudio.OLE.Interop;
 using Microsoft.VisualStudio.Shell;
+using Microsoft.VisualStudio.Shell.Interop;
 using Microsoft.VisualStudio.Package;
 using NP = Nemerle.VsIntegration.Project;
 
@@ -59,7 +60,14 @@
 	//  "{7651a701-06e5-11d1-8ebd-00a0c90f26ea}")
 	//] //LOGVIEWID_Code
 	[PackageRegistration(UseManagedResourcesOnly = true)]
-	[ProvideLoadKey("standard", "1.0", "Nemerle VS Integration", "", 104)]
+	// Showing the splash screen requires "devenv /rootsuffix Exp /setup" during the installation.
+	// For more information please see: http://blogs.msdn.com/jim_glass/archive/2005/05/23/421152.aspx
+	[InstalledProductRegistration(true, 
+		GlobalConstants.LanguageName, 
+		GlobalConstants.ProductDetails, 
+		GlobalConstants.ProductID, 
+		IconResourceID=300)]
+	[ProvideLoadKey("standard", GlobalConstants.ProductID, GlobalConstants.ProductDetails, "nemerle.org", 104)]
 	[ProvideService(typeof(NemerleLanguage), ServiceName = GlobalConstants.LanguageName)]
 	[ProvideService(typeof(INemerleLibraryManager))]
 	[ProvideLanguageService(typeof(NemerleLanguage), GlobalConstants.LanguageName, 100,
@@ -78,7 +86,7 @@
 	]
 	
 	#endregion
-	public class NemerlePackage : ProjectPackage/*Package*/, IOleComponent
+	public class NemerlePackage : ProjectPackage/*Package*/, IOleComponent, IVsInstalledProduct
 	{
 		private uint _componentID;
 		private NemerleLibraryManager _libraryManager;
@@ -280,5 +288,57 @@
 		public void Terminate() { }
 
 		#endregion
+
+		#region IVsInstalledProduct Members
+		/// <summary>
+		/// This method is called during Devenv /Setup to get the bitmap to display on the splash screen for this package.
+		/// </summary>
+		/// <param name="pIdBmp">The resource id corresponding to the bitmap to display on the splash screen</param>
+		/// <returns>HRESULT, indicating success or failure</returns>
+		public int IdBmpSplash(out uint pIdBmp) {
+			pIdBmp = 300; // nevermind, does not called by VS2005
+			return VSConstants.S_OK;
+		}
+
+		/// <summary>
+		/// This method is called to get the icon that will be displayed in the Help About dialog when this package is selected.
+		/// </summary>
+		/// <param name="pIdIco">The resource id corresponding to the icon to display on the Help About dialog</param>
+		/// <returns>HRESULT, indicating success or failure</returns>
+		public int IdIcoLogoForAboutbox(out uint pIdIco) {
+			pIdIco = 300; // used for splash screen also
+			return VSConstants.S_OK;
+		}
+
+		/// <summary>
+		/// This methods provides the product official name, it will be displayed in the help about dialog.
+		/// </summary>
+		/// <param name="pbstrName">Out parameter to which to assign the product name</param>
+		/// <returns>HRESULT, indicating success or failure</returns>
+		public int OfficialName(out string pbstrName) {
+			pbstrName = GlobalConstants.LanguageName;
+			return VSConstants.S_OK;
+		}
+
+		/// <summary>
+		/// This methods provides the product description, it will be displayed in the help about dialog.
+		/// </summary>
+		/// <param name="pbstrProductDetails">Out parameter to which to assign the description of the package</param>
+		/// <returns>HRESULT, indicating success or failure</returns>
+		public int ProductDetails(out string pbstrProductDetails) {
+			pbstrProductDetails = GlobalConstants.ProductDetails;
+			return VSConstants.S_OK;
+		}
+
+		/// <summary>
+		/// This methods provides the product version, it will be displayed in the help about dialog.
+		/// </summary>
+		/// <param name="pbstrPID">Out parameter to which to assign the version number</param>
+		/// <returns>HRESULT, indicating success or failure</returns>
+		public int ProductID(out string pbstrPID) {
+			pbstrPID = GlobalConstants.ProductID;
+			return VSConstants.S_OK;
+		}
+		#endregion
 	}
 }

Modified: vs-plugin/trunk/Nemerle.VsIntegration/Resources.Designer.cs
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/Resources.Designer.cs	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/Resources.Designer.cs	Sat Aug 19 21:58:14 2006
@@ -78,6 +78,13 @@
             }
         }
         
+        internal static System.Drawing.Icon _300 {
+            get {
+                object obj = ResourceManager.GetObject("300", resourceCulture);
+                return ((System.Drawing.Icon)(obj));
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to Application.
         /// </summary>

Modified: vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx
==============================================================================
--- vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx	(original)
+++ vs-plugin/trunk/Nemerle.VsIntegration/Resources.resx	Sat Aug 19 21:58:14 2006
@@ -223,4 +223,8 @@
   <data name="104" xml:space="preserve">
     <value>KHJ1HZR1P2EMZKCRZCMAMCZEMPKEPEZJP1CEKQCEHDICAKMARHCTK9KJM8IMARZ3QEZCJ2RQIKEMHZR0MAE1JEQKZAIPCMP2PAE2EZZIMCJ8K9ZJAHI0EKD9MDAPE2HC</value>
   </data>
+  <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
+  <data name="300" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>Resources\Nemerle.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
 </root>
\ No newline at end of file



More information about the svn mailing list