icsharpcodepage.cs

来自「SharpDevelop2.0.0 c#开发免费工具」· CS 代码 · 共 682 行 · 第 1/2 页

CS
682
字号
					builder.Append("\"><a href=\"");
					builder.Append(de.URL);
					builder.Append("\">");
					builder.Append(de.Caption);
					builder.Append("</a></td>\r\n");
				}

				if (0 != nTopMenuElements)
				{
					builder.Append("<td width=13><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=5 height=1><img src=\""+ startPageLocation + "/Layout/Common/line_hor_black.gif\" width=1 height=15><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=5 height=1></td>\r\n");
				}
			}

			builder.Append("</tr></table></td></tr></table></DIV>\r\n");
		}

		public virtual void RenderLeftMenu(StringBuilder builder)
		{
			builder.Append("<td bgcolor=\"White\" valign=\"top\"><table border=0 cellspacing=0 cellpadding=0>");
			builder.Append("<tr><td width=20 heigth=10><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=20 height=10></td>");
			builder.Append("<td><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=1 height=1></td>");
			builder.Append("</tr><tr><td colspan=2><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=1 height=4></td></tr>");

			int nLeftMenuElements = LeftMenu.Count;
			foreach (MenuItem de in LeftMenu)
			{
				--nLeftMenuElements;
				builder.Append("<tr>");

				if (0 == String.Compare(de.Caption, m_strLeftMenuSelectedItem, true))
				{
					builder.Append("<td width=20><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=10 height=1><img src=\""+ startPageLocation + "/Layout/Common/dot_listing.gif\" width=8 height=8><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=2 height=1></td>\r\n");
					builder.Append("<td class=\"naviListDevelopActiv\">");
					builder.Append(de.Caption);
					builder.Append("</td></tr>\r\n");
				}
				else
				{
					builder.Append("<td><img src=\""+ startPageLocation + "/Layout/Common/allgemein/blind.gif\" width=20 height=1></td>\r\n");
					builder.Append("<td class=\"naviListDevelop\"><a href=\"");
					builder.Append(de.URL);
					builder.Append("\">");
					builder.Append(de.Caption);
					builder.Append("</a></td></tr>\r\n");
				}

				if (0 != nLeftMenuElements)
				{
					builder.Append("<tr><td colspan=2><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=1 height=4></td></tr>\r\n");
				}
			}

			builder.Append("</table></td>");
			builder.Append("<td width=1><img src=\""+ startPageLocation + "/Layout/Common/pixel_weiss.gif\" width=1 height=1></td>");
		}

		public virtual void RenderFirstPageBodySection(StringBuilder builder)
		{
			builder.Append("<div class=\"text\" style=\"position:absolute;left:0px;top:120px\"><table width=\"100%\" border=0 cellspacing=0 cellpadding=0>\r\n");

			if (ShowContentBar)
			{
				nTotalColumns = 1;
				builder.Append("<tr>");

				if (ShowLeftMenu)
				{
					builder.Append("<td height=43 bgcolor=\"");
					builder.Append(m_strSubColColor);
					builder.Append("\"><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=135 height=1></td>");
					builder.Append("<td width=1><img src=\""+ startPageLocation + "/Layout/Common/pixel_weiss.gif\" width=1 height=1></td>");
					nTotalColumns += 2;
				}

				builder.Append("<td width=\"100%\" bgcolor=\"");
				builder.Append(m_strMainColColor);
				builder.Append("\" class=\"head\"><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=15 height=1>");
				builder.Append(ContentBarText);	// TODO for virtual
				builder.Append("</td>\r\n");

				if (ShowRightBox)
				{
					builder.Append("<td width=1><img src=\""+ startPageLocation + "/Layout/Common/pixel_weiss.gif\" width=1 height=1></td>");
					if (ShowMilestoneContentImage)
					{
						builder.Append("<td height=43 bgcolor=\"");
						builder.Append(m_strSubColColor);
						builder.Append("\"><img src=\""+ startPageLocation + "/Layout/Common/milestone_col_head.gif\" width=138 height=43></td>");
					}
					else
					{
						builder.Append("<td height=43 bgcolor=\"");
						builder.Append(m_strSubColColor);
						builder.Append("\"><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=138 height=43></td>");
					}
					nTotalColumns += 2;
				}

				builder.Append("</tr><tr><td colspan=");
				builder.Append(nTotalColumns.ToString());
				builder.Append("><img src=\""+ startPageLocation + "/Layout/Common/pixel_weiss.gif\" width=1 height=1></td></tr>");
			}

			builder.Append("<tr>");
			if (ShowLeftMenu)
			{
				RenderLeftMenu(builder);
			}

			builder.Append("<td bgcolor=\"#d6d7d8\" valign=\"top\" height=270><table width=\"100%\" border=0 cellspacing=0 cellpadding=0>\r\n");
			builder.Append("<tr><td width=15><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=15 height=15></td>");
			builder.Append("<td><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=1 height=1></td>");
			builder.Append("<td width=15><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=15 height=1></td>");
			builder.Append("</tr><tr><td><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=1 height=1></td>");
			builder.Append("<td class=\"copy\">\r\n");

			
		}

		public virtual void RenderFinalPageBodySection(StringBuilder builder)
		{
			builder.Append("</td><td><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=1 height=1></td></tr></table></td>\r\n");
			if (ShowRightBox)
			{
				RenderRightBox(builder);
			}

			builder.Append("</tr><tr><td colspan=");
			builder.Append(nTotalColumns.ToString());
			builder.Append("><img src=\""+ startPageLocation + "/Layout/Common/pixel_weiss.gif\" width=1 height=1></td></tr><tr>\r\n");

			string strSubColor2Use = "#ffffff";
			if (ShowLeftMenu)
			{
				builder.Append("<td height=20 bgcolor=\"");
				builder.Append(strSubColor2Use);
				builder.Append("\"><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=135 height=1></td>");
				builder.Append("<td width=1><img src=\""+ startPageLocation + "/Layout/Common/pixel_weiss.gif\" width=1 height=1></td>\r\n");
			}

			builder.Append( "<td width=\"100%\" bgcolor=\"");
			builder.Append(m_strMainColColor);
			builder.Append("\" class=\"copy\"><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=15 height=1>");
			builder.Append("<font size=\"-2\">");
			builder.Append("Copyright &copy;2000-2006 <A HREF=\"mailto:webmaster@icsharpcode.net\" title=\"Contact Us\">IC#SharpCode</a>. ");
			builder.Append(ICSharpCode.SharpDevelop.Gui.AboutSharpDevelopTabPage.LicenseSentence);
			builder.Append("</font></td>\r\n");

			if (ShowRightBox)
			{
				builder.Append("<td width=1><img src=\""+ startPageLocation + "/Layout/Common/pixel_weiss.gif\" width=1 height=1></td>");
				builder.Append("<td height=20 bgcolor=\"");
				builder.Append(strSubColor2Use);
				builder.Append("\"><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=138 height=20></td>\r\n");
			}
			builder.Append("</tr><tr><td colspan=");
			builder.Append(nTotalColumns.ToString());
			builder.Append("><img src=\""+ startPageLocation + "/Layout/Common/pixel_weiss.gif\" width=1 height=1></td></tr>\r\n");
			builder.Append("</table></div>\r\n");
		}

		public virtual void RenderRightBox(StringBuilder builder)
		{
			builder.Append("<td width=1><img src=\""+ startPageLocation + "/Layout/Common/pixel_weiss.gif\" width=1 height=1></td>\r\n");
			builder.Append("<td valign=\"top\"><table border=0 cellspacing=0 cellpadding=0><tr>");
			builder.Append("<td valign=\"top\" background=\""+ startPageLocation + "/Layout/Common/klinker_milestone.gif\" width=138 height=113>");
			builder.Append("<table border=0 cellspacing=0 cellpadding=0><tr><td><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=1 height=3></td></tr>");
			builder.Append("<tr><td class=\"milestoneText\"><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=10 height=1>");
			builder.Append(VersionText);
			builder.Append("</td></tr>");
			builder.Append("<tr><td><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=1 height=52></td></tr>");
			builder.Append("<tr><td class=\"milestoneText\"><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=75 height=1><font size=\"+2\">");
			builder.Append(VersionStatus);
			builder.Append("</font></td></tr>");
			builder.Append("</table></td></tr>");
			builder.Append("<tr><td width=1><img src=\""+ startPageLocation + "/Layout/Common/pixel_weiss.gif\" width=1 height=1></td></tr>");
			builder.Append("<tr><td bgcolor=\"#d6d7d8\" valign=\"top\" height=49><table border=0 cellspacing=0 cellpadding=0>");
			builder.Append("<tr><td width=10><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=1 height=5></td>");
			builder.Append("<td><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=1 height=1></td></tr><tr>");
			builder.Append("<td><img src=\""+ startPageLocation + "/Layout/Common/blind.gif\" width=10 height=1></td><td class=\"copyUnderlineBig\">");
			RenderRightBoxHtml(builder);
			builder.Append("</td>");
			builder.Append("</tr></table></td></tr></table></td>");
		}
		public string[] projectFiles;
		
		StringBuilder projectSection = null;
		public void RenderSectionStartBody(StringBuilder builder)
		{
			
			if (projectSection == null) {
				projectSection = new StringBuilder();
				projectSection.Append("<DIV class='tablediv'><TABLE CLASS='dtTABLE' CELLSPACING='0'>\n");
				projectSection.Append(String.Format("<TR><TH>{0}</TH><TH>{1}</TH><TH>{2}</TH></TR>\n",
				                                    StringParser.Parse("${res:Global.Name}"),
				                                    StringParser.Parse("${res:StartPage.StartMenu.ModifiedTable}"),
				                                    StringParser.Parse("${res:StartPage.StartMenu.LocationTable}")
				                                   ));
				
				try {
					// Get the recent projects
					projectFiles = new string[FileService.RecentOpen.RecentProject.Count];
					for (int i = 0; i < FileService.RecentOpen.RecentProject.Count; ++i) {
						string fileName = FileService.RecentOpen.RecentProject[i].ToString();
						// if the file does not exist, goto next one
						if (!System.IO.File.Exists(fileName)) {
							continue;
						}
						projectFiles[i] = fileName;
						projectSection.Append("<TR><TD>");
						projectSection.Append("<a href=\"startpage://project/" + i + "\">");
						projectSection.Append(Path.GetFileNameWithoutExtension(fileName));
						projectSection.Append("</A>");
						projectSection.Append("</TD><TD>");
						System.IO.FileInfo fInfo = new System.IO.FileInfo(fileName);
						projectSection.Append(fInfo.LastWriteTime.ToShortDateString());
						projectSection.Append("</TD><TD>");
						projectSection.Append(fileName);
						projectSection.Append("</TD></TR>\n");
					}
				} catch {}
				projectSection.Append("</TABLE></DIV><BR/><BR/>");
				projectSection.Append(String.Format("<button id=\"opencombine\">{0}</button>\n",
				                                    StringParser.Parse("${res:StartPage.StartMenu.OpenCombineButton}")
				                                   ));
				projectSection.Append(String.Format("<button id=\"newcombine\">{0}</button>\n",
				                                    StringParser.Parse("${res:StartPage.StartMenu.NewCombineButton}")
				                                   ));
				projectSection.Append("<BR/><BR/><BR/>");
			}
			builder.Append(projectSection.ToString());
		}
		
		public void RenderSectionAuthorBody(StringBuilder builder)
		{
			try {
				builder.Append("<iframe name=\"iframe\" src=\"http://wiki.sharpdevelop.net/default.aspx/SharpDevelop.Contributors\" width=\"100%\" height=\"1400\" />");
//
//
//
//				string html = ConvertXml.ConvertToString(Application.StartupPath +
//				                   Path.DirectorySeparatorChar + ".." +
//				                   Path.DirectorySeparatorChar + "doc" +
//				                   Path.DirectorySeparatorChar + "AUTHORS.xml",
//
//				                   PropertyService.DataDirectory +
//				                   Path.DirectorySeparatorChar + "ConversionStyleSheets" +
//				                   Path.DirectorySeparatorChar + "ShowAuthors.xsl");
//				builder.Append(html);
			} catch (Exception e) {
				MessageBox.Show(e.ToString());
			}
		}

		static string changeLogHtml;
		
		public void RenderSectionChangeLogBody(StringBuilder builder)
		{
			try {
				if (changeLogHtml == null) {
					XslCompiledTransform transform = new XslCompiledTransform();
					transform.Load(Path.Combine(PropertyService.DataDirectory, "ConversionStyleSheets/ShowChangeLog.xsl"));
					StringWriter writer = new StringWriter();
					XmlTextWriter xmlWriter = new XmlTextWriter(writer);
					xmlWriter.Formatting = Formatting.None;
					transform.Transform(Path.Combine(FileUtility.ApplicationRootPath, "doc/ChangeLog.xml"), xmlWriter);
					changeLogHtml = writer.ToString().Replace("\n", "\n<br>");
				}
				builder.Append(changeLogHtml);
			} catch (Exception e) {
				MessageBox.Show(e.ToString());
			}
		}
		
		public void RenderSectionHelpWantedBody(StringBuilder builder)
		{
			try {
				builder.Append("<iframe name=\"iframe\" src=\"http://wiki.sharpdevelop.net/default.aspx/SharpDevelop.FeaturesYouCouldHelpUsWith\"  width=\"100%\" height=\"1000\" />");
//
//				string html = ConvertXml.ConvertToString(Application.StartupPath +
//				                   Path.DirectorySeparatorChar + ".." +
//				                   Path.DirectorySeparatorChar + "doc" +
//				                   Path.DirectorySeparatorChar + "HowYouCanHelp.xml",
//
//				                   Application.StartupPath +
//				                   Path.DirectorySeparatorChar + ".." +
//				                   Path.DirectorySeparatorChar + "data" +
//				                   Path.DirectorySeparatorChar + "ConversionStyleSheets" +
//				                   Path.DirectorySeparatorChar + "ShowHowYouCanHelp.xsl");
//				builder.Append(html);
			} catch (Exception e) {
				MessageBox.Show(e.ToString());
			}
		}
		
		public string Render(string section)
		{
			startPageLocation = FileUtility.Combine(Application.StartupPath, "..", "data", "resources", "startpage");
			switch (section.ToLowerInvariant()) {
				case "start":
					ContentBarText = StringParser.Parse("${res:StartPage.StartMenu.BarNameName}");
					break;
				case "changelog":
					ContentBarText = StringParser.Parse("${res:StartPage.ChangeLogMenu.BarNameName}");
					break;
				case "authors":
					ContentBarText = StringParser.Parse("${res:StartPage.AuthorsMenu.BarNameName}");
					break;
				case "helpwanted":
					ContentBarText = StringParser.Parse("${res:StartPage.HelpWantedMenu.BarNameName}");
					break;
			}
			
			StringBuilder builder = new StringBuilder(2048);
			RenderHeaderSection(builder);
			RenderPageTopSection(builder);
			RenderFirstPageBodySection(builder);
			
			switch (section.ToLowerInvariant()) {
				case "start":
					RenderSectionStartBody(builder);
					break;
				case "changelog":
					RenderSectionChangeLogBody(builder);
					break;
				case "authors":
					RenderSectionAuthorBody(builder);
					break;
				case "helpwanted":
					RenderSectionHelpWantedBody(builder);
					break;
			}
			
			RenderFinalPageBodySection(builder);
			RenderPageEndSection(builder);
			
			return builder.ToString();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?