(ded4a3e0a) v0.9.0.7
@@ -0,0 +1,13 @@
|
||||
@*
|
||||
// MonoGame - Copyright (C) The MonoGame Team
|
||||
// This file is subject to the terms and conditions defined in
|
||||
// file 'LICENSE.txt', which is part of this source code package.
|
||||
*@
|
||||
@model SharpDoc.TemplateContext
|
||||
@using SharpDoc.Model
|
||||
|
||||
<iframe id="mainFrame" name="mainFrame" frameborder="0" scrolling="no" width="100%" height="100%"></iframe>
|
||||
|
||||
<script type="text/javascript" language="JavaScript">
|
||||
loadContent("@Model.RootTopic.PageId", "@Param.FileExt");
|
||||
</script>
|
||||
@@ -0,0 +1,26 @@
|
||||
@*
|
||||
// MonoGame - Copyright (C) The MonoGame Team
|
||||
// This file is subject to the terms and conditions defined in
|
||||
// file 'LICENSE.txt', which is part of this source code package.
|
||||
*@
|
||||
@model SharpDoc.TemplateContext
|
||||
@using SharpDoc.Model;
|
||||
@Import("PageHead")
|
||||
@Import("PageBody")
|
||||
@helper Dump(string title, string bodyTemplateName)
|
||||
{
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
|
||||
<head>
|
||||
@Helpers.PageHead.Dump(title)
|
||||
</head>
|
||||
<body onload="onPageLoad('@title | MonoGame', '@Model.Topic.PageId');">
|
||||
@Helpers.PageBody.Dump(bodyTemplateName)
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
</body>
|
||||
</html>
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
@*
|
||||
// MonoGame - Copyright (C) The MonoGame Team
|
||||
// This file is subject to the terms and conditions defined in
|
||||
// file 'LICENSE.txt', which is part of this source code package.
|
||||
*@
|
||||
@model SharpDoc.TemplateContext
|
||||
@using SharpDoc.Model
|
||||
@helper Dump(string bodyTemplateName)
|
||||
{
|
||||
<script type="text/javascript" language="javascript">
|
||||
if(window == window.top)
|
||||
location.href = "/documentation/?page=@Model.Topic.PageId";
|
||||
document.addEvent('domready', function () {
|
||||
InstallCodeTabs();
|
||||
});
|
||||
</script>
|
||||
<div class="sharpdoc">
|
||||
<div class="content">
|
||||
@Include(bodyTemplateName)
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
@*
|
||||
// MonoGame - Copyright (C) The MonoGame Team
|
||||
// This file is subject to the terms and conditions defined in
|
||||
// file 'LICENSE.txt', which is part of this source code package.
|
||||
*@
|
||||
@model SharpDoc.TemplateContext
|
||||
@using SharpDoc.Model
|
||||
@Import("PageHead")
|
||||
@Import("TocBody")
|
||||
|
||||
@helper Dump(){
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
|
||||
<head>
|
||||
@Helpers.PageHead.Dump(Model.RootTopic.PageTitle)
|
||||
</head>
|
||||
<body>
|
||||
@* Initialize splitpane *@
|
||||
<script type="text/javascript" language="javascript">
|
||||
document.addEvent('domready', function () {
|
||||
SplitPane('toc_content', 'pane_toggle', 'pane_resizer');
|
||||
});
|
||||
</script>
|
||||
<div class="sharpdoc">
|
||||
<div id="body">
|
||||
<div id="toc_content" class="toc_content">
|
||||
<div class="inner">
|
||||
@Helpers.TocBody.Dump()
|
||||
<br />
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
<div id="pane_resizer" class="pane_resizer">
|
||||
<div id="pane_toggle" class="collapse" ></div>
|
||||
</div>
|
||||
<div id="main_content" class="main_content">
|
||||
@Include("ContentHeader")
|
||||
@Include("MainFrame")
|
||||
@Include("ContentFooter")
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
}
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
@*
|
||||
// MonoGame - Copyright (C) The MonoGame Team
|
||||
// This file is subject to the terms and conditions defined in
|
||||
// file 'LICENSE.txt', which is part of this source code package.
|
||||
*@
|
||||
@model SharpDoc.TemplateContext
|
||||
@using SharpDoc.Model
|
||||
@Import("PageIndexBody")
|
||||
<html>
|
||||
<head>
|
||||
<title>@Param.Title</title>
|
||||
</head>
|
||||
<body>
|
||||
@if (Model.RootTopic != null)
|
||||
{
|
||||
NTopic indexTopic = new NTopic {PageId = "index"};
|
||||
Model.Topic = indexTopic;
|
||||
Model.WriteTo(indexTopic, @Helpers.PageIndexBody.Dump());
|
||||
|
||||
<script>
|
||||
function resizeDocs()
|
||||
{
|
||||
var docFrame = document.getElementById('the_docs');
|
||||
var tocDoc = docFrame.contentDocument || docFrame.contentWindow.document;
|
||||
var contentFrame = tocDoc.getElementById('mainFrame');
|
||||
var contentDoc = contentFrame.contentDocument || contentFrame.contentWindow.document;
|
||||
|
||||
var tocElem = tocDoc.getElementById('toc_content');
|
||||
var tocSize = tocElem.scrollHeight ||
|
||||
tocElem.offsetHeight ||
|
||||
tocElem.clientHeight ||
|
||||
0;
|
||||
|
||||
// The order here is very specifc to ensure it
|
||||
// works on IE and Chrome with fallbacks.
|
||||
var contentSize = contentDoc.documentElement.offsetHeight ||
|
||||
contentDoc.body.scrollHeight ||
|
||||
contentDoc.documentElement.scrollHeight ||
|
||||
contentDoc.offsetHeight ||
|
||||
contentDoc.documentElement.clientHeight ||
|
||||
0;
|
||||
|
||||
var pageHeight = Math.max(contentSize, tocSize, 720);
|
||||
docFrame.style.height = pageHeight + 'px';
|
||||
}
|
||||
</script>
|
||||
|
||||
<iframe id="the_docs" src="html/@indexTopic.PageId@Param.FileExt" frameborder="0" scrolling="no" width="100%" height="100%"></iframe>
|
||||
}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,70 @@
|
||||
@*
|
||||
// MonoGame - Copyright (C) The MonoGame Team
|
||||
// This file is subject to the terms and conditions defined in
|
||||
// file 'LICENSE.txt', which is part of this source code package.
|
||||
*@
|
||||
@model SharpDoc.TemplateContext
|
||||
@using SharpDoc.Model
|
||||
@Import("Members")
|
||||
@Import("Syntax")
|
||||
@*
|
||||
* ------------------------------------------------------------------
|
||||
* Dump a section
|
||||
* ------------------------------------------------------------------
|
||||
* sectionId: id for the section
|
||||
* name: display name
|
||||
* content: html content of the section
|
||||
* ------------------------------------------------------------------
|
||||
*@
|
||||
@helper Dump(string sectionId, string name, string content)
|
||||
{
|
||||
<script language="javascript">
|
||||
window.addEvent('domready', function() {
|
||||
$('@(sectionId)_toggle').addEvent('click', function (event) {
|
||||
|
||||
var ct = $('@(sectionId)_content');
|
||||
if (ct.isDisplayed())
|
||||
{
|
||||
$('@(sectionId)_icon').setProperty('class', 'toggle_icon in');
|
||||
$('@(sectionId)_content').hide();
|
||||
}
|
||||
else
|
||||
{
|
||||
$('@(sectionId)_icon').setProperty('class', 'toggle_icon out');
|
||||
$('@(sectionId)_content').show();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div id="@sectionId" class="section">
|
||||
<div class="title"><a id="@(sectionId)_toggle" href="#" class="title"><div id="@(sectionId)_icon" class="toggle_icon out"></div><span class="title">@Escape(name)</span></a><div class="hr"><hr/></div></div>
|
||||
<div id="@(sectionId)_content" class="block">
|
||||
@Raw(content)
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@helper Dump(string name, string content)
|
||||
{
|
||||
@Dump("section_" + name.Replace(" ",""), name, content)
|
||||
}
|
||||
|
||||
@helper Dump(string sectionId, string name, IEnumerable<NModelBase> members, bool showIcons)
|
||||
{
|
||||
@Dump(sectionId, name, Helpers.Members.Dump(members, showIcons).ToString())
|
||||
}
|
||||
|
||||
@helper Dump(string name, IEnumerable<NModelBase> members, bool showIcons)
|
||||
{
|
||||
@Dump(name, Helpers.Members.Dump(members, showIcons).ToString())
|
||||
}
|
||||
|
||||
@helper Dump(string name, IEnumerable<NModelBase> members, bool showIcons, IModelReference context)
|
||||
{
|
||||
@Dump(name, Helpers.Members.Dump(members, showIcons, context).ToString())
|
||||
}
|
||||
|
||||
@helper DumpSyntax(NMember member)
|
||||
{
|
||||
@Dump("Syntax", Helpers.Syntax.Dump(member).ToString())
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
@*
|
||||
// MonoGame - Copyright (C) The MonoGame Team
|
||||
// This file is subject to the terms and conditions defined in
|
||||
// file 'LICENSE.txt', which is part of this source code package.
|
||||
*@
|
||||
@model SharpDoc.TemplateContext
|
||||
@using SharpDoc.Model
|
||||
@Import("SyntaxMethod")
|
||||
@Import("SyntaxProperty")
|
||||
@Import("TabCode")
|
||||
@Import("SyntaxCodeCSharp")
|
||||
@Import("SyntaxCodeVB")
|
||||
@Import("SyntaxCodeFSharp")
|
||||
@*// Dumps syntax section*@
|
||||
@helper Dump(NMember member)
|
||||
{
|
||||
@Helpers.TabCode.Dump(new string[] {
|
||||
"C#", "<pre class='brush: csharp;'>" + Escape(Helpers.SyntaxCodeCSharp.Dump(member)) + "</pre>",
|
||||
"VB", Helpers.SyntaxCodeVB.Dump(member),
|
||||
"F#", Helpers.SyntaxCodeFSharp.Dump(member),
|
||||
});
|
||||
|
||||
if (member is NMethod)
|
||||
{
|
||||
@Helpers.SyntaxMethod.Dump((NMethod) member)
|
||||
}
|
||||
else if (member is NProperty)
|
||||
{
|
||||
@Helpers.SyntaxProperty.Dump((NProperty) member)
|
||||
}
|
||||
else if (member is NDelegate)
|
||||
{
|
||||
@Helpers.SyntaxMethod.Dump(((NDelegate) member).Invoke)
|
||||
}
|
||||
else if (member is NType)
|
||||
{
|
||||
<p>The @member.Name type exposes the following members.</p>
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 856 B |
|
After Width: | Height: | Size: 394 B |
|
After Width: | Height: | Size: 814 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 835 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 684 B |
|
After Width: | Height: | Size: 236 B |
@@ -0,0 +1,322 @@
|
||||
// Copyright (c) 2010-2013 SharpDoc - Alexandre Mutel
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
// -------------------------------------------------------------------------------
|
||||
// SplitPane handling Toc and Conent
|
||||
// -------------------------------------------------------------------------------
|
||||
|
||||
// splitPaneId: id to the splitPane container
|
||||
// splitPaneToggleId: id to the splitPane toggle collapse-expand button
|
||||
// splitPaneResizerId: id to the resizer grip
|
||||
|
||||
function supports_local_storage() {
|
||||
try {
|
||||
return 'localStorage' in window && window['localStorage'] !== null && window.localStorage['getItem'] !== null;
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function autoResize(id) {
|
||||
if (document.getElementById) {
|
||||
var newheight = "100%";
|
||||
if (Browser.firefox || Browser.ie) {
|
||||
newheight = (document.getElementById(id).contentWindow.document.body.scrollHeight) + "px";
|
||||
}
|
||||
document.getElementById(id).height = newheight;
|
||||
}
|
||||
}
|
||||
|
||||
function loadContent(rootTopic, extension) {
|
||||
var data = window.top.location.search;
|
||||
var url = rootTopic + extension;
|
||||
var topicToHighlight = rootTopic;
|
||||
|
||||
if(data != null && data !="")
|
||||
{
|
||||
var pattern = /page=(\w+)/;
|
||||
var page = pattern.exec(data);
|
||||
if(page != null)
|
||||
{
|
||||
url = page[1] + extension;
|
||||
topicToHighlight = page[1];
|
||||
}
|
||||
}
|
||||
|
||||
$("mainFrame").setAttribute("src", url);
|
||||
hightLightTopic(topicToHighlight);
|
||||
}
|
||||
|
||||
function onPageLoad(pageTitle, pageId)
|
||||
{
|
||||
var topWindow = window.top;
|
||||
topWindow.resizeDocs();
|
||||
topWindow.scrollTo(0,0);
|
||||
topWindow.document.title = pageTitle;
|
||||
topWindow.history.replaceState(null, pageTitle, '?page=' + pageId);
|
||||
}
|
||||
|
||||
/*
|
||||
http://webfreak.no/wp/2007/09/05/get-for-mootools-a-way-to-read-get-variables-with-javascript-in-mootools/
|
||||
Function: $get
|
||||
This function provides access to the "get" variable scope + the element anchor
|
||||
|
||||
Version: 1.3
|
||||
|
||||
Arguments:
|
||||
key - string; optional; the parameter key to search for in the url's query string (can also be "#" for the element anchor)
|
||||
url - url; optional; the url to check for "key" in, location.href is default
|
||||
|
||||
Example:
|
||||
>$get("foo","http://example.com/?foo=bar"); //returns "bar"
|
||||
>$get("foo"); //returns the value of the "foo" variable if it's present in the current url(location.href)
|
||||
>$get("#","http://example.com/#moo"); //returns "moo"
|
||||
>$get("#"); //returns the element anchor if any, but from the current url (location.href)
|
||||
>$get(,"http://example.com/?foo=bar&bar=foo"); //returns {foo:'bar',bar:'foo'}
|
||||
>$get(,"http://example.com/?foo=bar&bar=foo#moo"); //returns {foo:'bar',bar:'foo',hash:'moo'}
|
||||
>$get(); //returns same as above, but from the current url (location.href)
|
||||
>$get("?"); //returns the query string (without ? and element anchor) from the current url (location.href)
|
||||
|
||||
Returns:
|
||||
Returns the value of the variable form the provided key, or an object with the current GET variables plus the element anchor (if any)
|
||||
Returns "" if the variable is not present in the given query string
|
||||
|
||||
Credits:
|
||||
Regex from [url=http://www.netlobo.com/url_query_string_javascript.html]http://www.netlobo.com/url_query_string_javascript.html[/url]
|
||||
Function by Jens Anders Bakke, webfreak.no
|
||||
*/
|
||||
function $get(key, url) {
|
||||
if (arguments.length < 2) url = location.href;
|
||||
if (arguments.length > 0 && key != "") {
|
||||
if (key == "#") {
|
||||
var regex = new RegExp("[#]([^$]*)");
|
||||
} else if (key == "?") {
|
||||
var regex = new RegExp("[?]([^#$]*)");
|
||||
} else {
|
||||
var regex = new RegExp("[?&]" + key + "=([^&#]*)");
|
||||
}
|
||||
var results = regex.exec(url);
|
||||
return (results == null) ? "" : results[1];
|
||||
} else {
|
||||
url = url.split("?");
|
||||
var results = {};
|
||||
if (url.length > 1) {
|
||||
url = url[1].split("#");
|
||||
if (url.length > 1) results["hash"] = url[1];
|
||||
url[0].split("&").each(function (item, index) {
|
||||
item = item.split("=");
|
||||
results[item[0]] = item[1];
|
||||
});
|
||||
}
|
||||
return results;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function InstallCodeTabs() {
|
||||
var groupTabs = $$('.grouptab');
|
||||
groupTabs.each(function (groupTab, groupIndex) {
|
||||
var tabs = groupTab.getChildren('.tabs li.tab');
|
||||
var content = groupTab.getChildren('.tabcontent');
|
||||
tabs.each(function (tab, index) {
|
||||
tab.addEvent('click', function () {
|
||||
tabs.removeClass('selected');
|
||||
content.removeClass('selected');
|
||||
tabs[index].addClass('selected');
|
||||
content[index].addClass('selected');
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function SplitPane(splitPaneId, splitPaneToggleId, splitPaneResizerId) {
|
||||
|
||||
// Define column elemnts
|
||||
var paneLeft = $(splitPaneId);
|
||||
var paneRight = $("main_content");
|
||||
var splitPaneResizer = $(splitPaneResizerId);
|
||||
var splitPaneToggle = $(splitPaneToggleId);
|
||||
var iframe = $('mainFrame');
|
||||
|
||||
var paneLeftMinWidth = 100;
|
||||
var paneLeftOriginalWidth = paneLeft.getWidth();
|
||||
splitPaneResizer.setStyle('left', paneLeftOriginalWidth + 3);
|
||||
paneRight.setStyle('left', paneLeftOriginalWidth);
|
||||
|
||||
var splitPaneOriginalLeft = splitPaneResizer.getLeft();
|
||||
var paneRightOriginalLeft = paneRight.getLeft();
|
||||
|
||||
// Use localstorage to store toggle state
|
||||
if (supports_local_storage()) {
|
||||
if (localStorage.getItem('sharpdoc-resize')) {
|
||||
var value = localStorage.getItem('sharpdoc-resize');
|
||||
if (value == 0) {
|
||||
splitPaneToggle.set('class', 'expand');
|
||||
paneLeft.setStyle('display', 'none');
|
||||
}
|
||||
paneLeft.setStyle('width', value);
|
||||
}
|
||||
}
|
||||
|
||||
// Snap size for resizer
|
||||
var resizerSnap = 5;
|
||||
|
||||
// Make the left cell resizable
|
||||
paneLeft.makeResizable({
|
||||
handle: $(splitPaneResizerId),
|
||||
grid: resizerSnap,
|
||||
modifiers: { x: 'width', y: false },
|
||||
limit: { x: [paneLeftMinWidth, null] },
|
||||
onStart: function (el) {
|
||||
// Disable pointer events on iframe while dragging
|
||||
// otherwise we can't drag over the iframe
|
||||
iframe.setStyle('pointer-events', 'none');
|
||||
},
|
||||
onComplete: function(el) {
|
||||
// Enable back pointer events on iframe after dragging
|
||||
// is complete
|
||||
iframe.setStyle('pointer-events', 'auto');
|
||||
},
|
||||
onDrag: function (el) {
|
||||
splitPaneResizer.setStyle('left', el.getWidth() + 3);
|
||||
paneRight.setStyle('left', el.getWidth());
|
||||
if (supports_local_storage()) {
|
||||
localStorage.setItem('sharpdoc-resize', el.getWidth());
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
var topTitle = $$('h1.content-title');
|
||||
|
||||
var expandCollapseFunction = function (event) {
|
||||
if (paneLeft.getWidth() < paneLeftMinWidth) {
|
||||
splitPaneToggle.set('class', 'collapse');
|
||||
paneLeft.setStyle('display', 'block');
|
||||
|
||||
// Morph the following values
|
||||
paneLeft.morph({'width': paneLeftOriginalWidth,'opacity': '1'});
|
||||
splitPaneResizer.morph({ 'left': splitPaneOriginalLeft + 12 }); // not sure why we need to add 12 to have a correct display
|
||||
paneRight.morph({ 'left': paneRightOriginalLeft + 12});
|
||||
|
||||
if (supports_local_storage()) {
|
||||
localStorage.removeItem('sharpdoc-resize');
|
||||
}
|
||||
} else {
|
||||
splitPaneToggle.set('class', 'expand');
|
||||
paneLeft.set('morph', { link: 'chain' }).morph({ 'width': '1', 'opacity': '0' }).morph({ 'display': 'none' });
|
||||
splitPaneResizer.morph({ 'left': '1' });
|
||||
paneRight.morph({ 'left': '1' });
|
||||
|
||||
if (supports_local_storage()) {
|
||||
localStorage.setItem('sharpdoc-resize', 0);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// Handle toggle button collapse-expand events
|
||||
splitPaneToggle.addEvent('click', expandCollapseFunction);
|
||||
if (topTitle.length > 0) {
|
||||
topTitle[0].addEvent('click', expandCollapseFunction);
|
||||
}
|
||||
}
|
||||
|
||||
function openToc(nodeId) {
|
||||
//alert("open");
|
||||
var node = $_(nodeId + "_toc");
|
||||
var nodeClass = node.get('class');
|
||||
|
||||
if (nodeClass.indexOf('opened') == -1) {
|
||||
var subNodes = $_(nodeId + "_SubTopics");
|
||||
if (subNodes != undefined && subNodes.set != undefined)
|
||||
subNodes.set('class', 'visible');
|
||||
|
||||
node.set('class', nodeClass.replace('closed', 'opened'));
|
||||
}
|
||||
|
||||
var parent = node.getParent().id;
|
||||
var pattern = /(\w+)_SubTopics/;
|
||||
var parentId = pattern.exec(parent);
|
||||
if (parentId != null)
|
||||
openToc(parentId[1]);
|
||||
else
|
||||
window.top.resizeDocs();
|
||||
}
|
||||
|
||||
function closeToc(nodeId) {
|
||||
//alert("close");
|
||||
var node = $_(nodeId + "_toc");
|
||||
var nodeClass = node.get('class');
|
||||
|
||||
// The highlighten topic could not be closed
|
||||
if (nodeClass.indexOf('highlighting') == -1) {
|
||||
var subNodes = $_(nodeId + "_SubTopics");
|
||||
if (subNodes != undefined && subNodes.set != undefined)
|
||||
subNodes.set('class', 'hidden');
|
||||
|
||||
node.set('class', nodeClass.replace('opened', 'closed'));
|
||||
}
|
||||
else {
|
||||
node.set('class', nodeClass.replace(' highlighting', ''));
|
||||
}
|
||||
|
||||
window.top.resizeDocs();
|
||||
}
|
||||
|
||||
function toggleToc(nodeId) {
|
||||
//alert("toggle");
|
||||
var node = $_(nodeId + "_toc");
|
||||
var nodeClass = node.get('class');
|
||||
|
||||
if (nodeClass.indexOf('closed') != -1)
|
||||
openToc(nodeId);
|
||||
else
|
||||
closeToc(nodeId);
|
||||
}
|
||||
|
||||
function hightLightTopic(topicId) {
|
||||
//alert("highlight");
|
||||
var oldHighlight = $$_('.highlight');
|
||||
oldHighlight.each(function (old, oldId) {
|
||||
var oldClass = old.get('class');
|
||||
old.set('class', oldClass.replace(' highlight', ''));
|
||||
});
|
||||
|
||||
var newHightlight = $_(topicId + '_toc');
|
||||
var newClass = newHightlight.get('class');
|
||||
|
||||
newHightlight.set('class', newClass + ' highlight highlighting');
|
||||
openToc(topicId);
|
||||
}
|
||||
|
||||
function $_(id) {
|
||||
var element = $(id);
|
||||
if (element == undefined)
|
||||
element = window.parent.$(id);
|
||||
return element;
|
||||
}
|
||||
|
||||
function $$_(id) {
|
||||
var elements = $$(id);
|
||||
if (elements == undefined || elements.length == 0)
|
||||
{
|
||||
if (window.parent.$$ != undefined)
|
||||
elements = window.parent.$$(id);
|
||||
}
|
||||
return elements;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0"?>
|
||||
<!--
|
||||
MonoGame - Copyright (C) The MonoGame Team
|
||||
This file is subject to the terms and conditions defined in
|
||||
file 'LICENSE.txt', which is part of this source code package.
|
||||
-->
|
||||
<style xmlns="SharpDoc">
|
||||
|
||||
<name>MonoGame</name>
|
||||
<description>MonoGame style for web publishing</description>
|
||||
<inherit>Standard</inherit>
|
||||
|
||||
<param name="FileExt">.html</param>
|
||||
<param name="ExternalLinkTarget">_top</param>
|
||||
|
||||
</style>
|
||||