コード例 #1
0
 public override void Run()
 {
     if (!ProfileList.IsPortableLibraryInstalled()) {
         using (ToolNotFoundDialog dlg = new ToolNotFoundDialog(CouldNotFindToolsDescription, DownloadUrl)) {
             // our message is long, so make the window bigger than usual
             dlg.Width += 70;
             dlg.Height += 70;
             dlg.ShowDialog();
         }
     }
 }
コード例 #2
0
		public override void Run()
		{
			if (!ProfileList.IsPortableLibraryInstalled()) {
				using (ToolNotFoundDialog dlg = new ToolNotFoundDialog(
					StringParser.Parse(
						"${res:PortableLibrary.CouldNotFindTools}" + Environment.NewLine + Environment.NewLine +
						"${res:PortableLibrary.ToolsInstallationHelp}"),
					"http://go.microsoft.com/fwlink/?LinkId=210823"
				)) {
					// our message is long, so make the window bigger than usual
					dlg.Width += 70;
					dlg.Height += 70;
					dlg.ShowDialog();
				}
			}
		}
コード例 #3
0
ファイル: GitGuiWrapper.cs プロジェクト: Rew/SharpDevelop
		static void Proc(string command, string fileName, Action callback, string argument)
		{
			string path = GetPathFromRegistry("ProcPath");
			if (path == null) {
				using (var dlg = new ToolNotFoundDialog(StringParser.Parse("${res:AddIns.Git.TortoiseGitRequired}"), "http://code.google.com/p/tortoisegit/")) {
					dlg.ShowDialog(SD.WinForms.MainWin32Window);
				}
			} else {
				try {
					StringBuilder arguments = new StringBuilder();
					arguments.Append("/command:");
					arguments.Append(command);
					if (fileName != null) {
						arguments.Append(" /notempfile ");
						arguments.Append(" /path:\"");
						arguments.Append(fileName);
						arguments.Append('"');
					}
					if (argument != null) {
						arguments.Append(' ');
						arguments.Append(argument);
					}
					Process p = new Process();
					p.StartInfo.FileName = path;
					p.StartInfo.Arguments = arguments.ToString();
					//p.StartInfo.RedirectStandardError = true;
					//p.StartInfo.RedirectStandardOutput = true;
					p.StartInfo.UseShellExecute = false;
					p.EnableRaisingEvents = true;
					p.Exited += delegate {
						p.Dispose();
						if (callback != null) {
							SD.MainThread.InvokeAsyncAndForget(callback);
						}
					};
//					p.OutputDataReceived += delegate(object sender, DataReceivedEventArgs e) {
//						SvnClient.Instance.SvnCategory.AppendText(e.Data);
//					};
//					p.ErrorDataReceived += delegate(object sender, DataReceivedEventArgs e) {
//						SvnClient.Instance.SvnCategory.AppendText(e.Data);
//					};
					p.Start();
				} catch (Exception ex) {
					MessageService.ShowError(ex.Message);
				}
			}
		}
コード例 #4
0
		public override void Run()
		{
			CompilableProject project = ProjectService.CurrentProject as CompilableProject;
			if (project == null) {
				return;
			}
			string sandcastleHelpFileBuilderPath = FindSHFB();
			if (sandcastleHelpFileBuilderPath == null || !File.Exists(sandcastleHelpFileBuilderPath)) {
				using (ToolNotFoundDialog dlg = new ToolNotFoundDialog(
					StringParser.Parse("${res:ProjectComponent.ContextMenu.GenerateDocumentation.SHFBNotFound}"),
					"http://www.codeplex.com/SHFB/", null))
				{
					dlg.ShowDialog(WorkbenchSingleton.MainWin32Window);
				}
				return;
			}
			
			string assembly = project.OutputAssemblyFullPath;
			string xmlDocFile = project.DocumentationFileFullPath;
			if (xmlDocFile == null) {
				MessageService.ShowMessage("${res:ProjectComponent.ContextMenu.GenerateDocumentation.NeedToEditBuildOptions}");
				return;
			}
			if (!File.Exists(assembly)) {
				MessageService.ShowMessage("${res:ProjectComponent.ContextMenu.GenerateDocumentation.ProjectNeedsToBeCompiled}");
				return;
			}
			if (!File.Exists(xmlDocFile)) {
				MessageService.ShowMessage("${res:ProjectComponent.ContextMenu.GenerateDocumentation.ProjectNeedsToBeCompiled2}");
				return;
			}
			string sandcastleHelpFileBuilderProjectFile = Path.ChangeExtension(project.FileName, ".shfbproj");
			if (!File.Exists(sandcastleHelpFileBuilderProjectFile)) {
				using (XmlTextWriter w = new XmlTextWriter(sandcastleHelpFileBuilderProjectFile, Encoding.UTF8)) {
					w.Formatting = Formatting.Indented;
					const string ns = "http://schemas.microsoft.com/developer/msbuild/2003";
					w.WriteStartElement("Project", ns);
					w.WriteAttributeString("DefaultTargets", "Build");
					w.WriteAttributeString("ToolsVersion", "3.5");
					
					w.WriteStartElement("PropertyGroup", ns);
					w.WriteComment("The configuration and platform will be used to determine which\n" +
					               "assemblies to include from solution and project documentation\n" +
					               "sources");
					w.WriteStartElement("Configuration", ns);
					w.WriteAttributeString("Condition", " '$(Configuration)' == '' ");
					w.WriteValue("Debug");
					w.WriteEndElement();  // </Configuration>
					
					w.WriteStartElement("Platform", ns);
					w.WriteAttributeString("Condition", " '$(Platform)' == '' ");
					w.WriteValue("AnyCPU");
					w.WriteEndElement();  // </AnyCPU>
					
					w.WriteElementString("SchemaVersion", ns, "2.0");
					w.WriteElementString("ProjectGuid", ns, Guid.NewGuid().ToString("B"));
					w.WriteElementString("SHFBSchemaVersion", ns, "1.8.0.3");
					
					w.WriteElementString("AssemblyName", ns, "Documentation");
					w.WriteElementString("RootNamespace", ns, "Documentation");
					w.WriteElementString("Name", ns, "Documentation");
					
					w.WriteElementString("OutputPath", ns, @".\Help\");
					w.WriteElementString("HtmlHelpName", ns, "Documentation");
					
					w.WriteStartElement("DocumentationSources", ns);
					w.WriteStartElement("DocumentationSource", "");
					w.WriteAttributeString("sourceFile", FileUtility.GetRelativePath(Path.GetDirectoryName(sandcastleHelpFileBuilderProjectFile), project.FileName));
					w.WriteEndElement(); // </DocumentationSource>
					w.WriteEndElement(); // </DocumentationSources>
					
					w.WriteEndElement(); // </PropertyGrup>
					
					w.WriteComment("There are no properties for these groups.  AnyCPU needs to appear in\n" +
					               "order for Visual Studio to perform the build.  The others are optional\n" +
					               "common platform types that may appear.");
					string[] confPlatList = {
						"Debug|AnyCPU", "Release|AnyCPU", "Debug|x86", "Release|x86", "Debug|x64", "Release|x64", "Debug|Win32", "Release|Win32"
					};
					foreach (string confPlat in confPlatList) {
						w.WriteStartElement("PropertyGroup", ns);
						w.WriteAttributeString("Condition", " '$(Configuration)|$(Platform)' == '" + confPlat + "' ");
						w.WriteEndElement(); // </PropertyGrup>
					}
					
					w.WriteComment("Import the SHFB build targets");
					w.WriteStartElement("Import", ns);
					w.WriteAttributeString("Project", @"$(SHFBROOT)\SandcastleHelpFileBuilder.targets");
					w.WriteEndElement(); // </Import>
					
					w.WriteEndElement(); // </Project>
				}
			}
			
			ProcessStartInfo psi = new ProcessStartInfo(sandcastleHelpFileBuilderPath, '"' + sandcastleHelpFileBuilderProjectFile + '"');
			psi.WorkingDirectory = Path.GetDirectoryName(sandcastleHelpFileBuilderPath);
			psi.UseShellExecute = false;
			Process.Start(psi);
		}
コード例 #5
0
 public override void ShowDialog()
 {
     using (var dlg = new ToolNotFoundDialog(this.Description, this.LinkTarget, this.Icon)) {
         dlg.ShowDialog();
     }
 }