no more submodule
This commit is contained in:
584
GtkSharp/Source/OldStuff/audit/html/cormissing.js
Normal file
584
GtkSharp/Source/OldStuff/audit/html/cormissing.js
Normal file
@@ -0,0 +1,584 @@
|
||||
// FIXME:
|
||||
// It still does not update icons previous to a type/member name when
|
||||
// certain icon kinds are unchecked (when an item has "todo" and "missing",
|
||||
// the default display is "missing" and when "missing" is unchecked it
|
||||
// should turn into "todo").
|
||||
|
||||
function toggle (elt)
|
||||
{
|
||||
if (elt == null)
|
||||
return;
|
||||
|
||||
var eltLink = firstElement (elt);
|
||||
if (eltLink != null && eltLink.className == 't') // toggle
|
||||
{
|
||||
var ich = elt.className.indexOf ('_');
|
||||
if (ich < 0)
|
||||
{
|
||||
eltLink.src = 'tp.gif';
|
||||
elt.className += '_';
|
||||
}
|
||||
else
|
||||
{
|
||||
eltLink.src = 'tm.gif';
|
||||
elt.className = elt.className.slice (0, ich);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function setView (elt, fView)
|
||||
{
|
||||
var eltLink = firstElement (elt);
|
||||
if (eltLink != null && eltLink.className == 't') // toggle
|
||||
{
|
||||
var ich = elt.className.indexOf ('_');
|
||||
if (ich < 0 && !fView)
|
||||
{
|
||||
eltLink.src = 'tp.gif';
|
||||
elt.className += '_';
|
||||
}
|
||||
else if (ich >= 0 && fView)
|
||||
{
|
||||
eltLink.src = 'tm.gif';
|
||||
elt.className = elt.className.slice (0, ich);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function firstElement (elt)
|
||||
{
|
||||
var c = elt.firstChild;
|
||||
while (c != null) {
|
||||
if (c.nodeType == 1) // Node.ELEMENT_NODE (IE6 does not recognize it)
|
||||
return c;
|
||||
c = c.nextSibling;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function trimSrc (strSrc)
|
||||
{
|
||||
return strSrc.slice (strSrc.lastIndexOf ('/') + 1, strSrc.lastIndexOf ('.'));
|
||||
}
|
||||
|
||||
function getChildrenByTagName (elt, strTag)
|
||||
{
|
||||
strTag = strTag.toLowerCase ();
|
||||
var rgChildren = new Array ();
|
||||
var eltChild = firstElement (elt);
|
||||
while (eltChild)
|
||||
{
|
||||
if (eltChild.tagName && eltChild.tagName.toLowerCase () == strTag)
|
||||
rgChildren.push (eltChild);
|
||||
eltChild = eltChild.nextSibling;
|
||||
}
|
||||
return rgChildren;
|
||||
}
|
||||
|
||||
function viewAll (elt, dictTypes)
|
||||
{
|
||||
var fView = isShown (elt, dictTypes);
|
||||
|
||||
var aCounts = new Array (4);
|
||||
for (i = 0; i < 4; i++)
|
||||
aCounts [i] = 0;
|
||||
var rgElts = getChildrenByTagName (elt, 'DIV');
|
||||
for (iElt in rgElts) {
|
||||
var aChildRet = viewAll (rgElts [iElt], dictTypes);
|
||||
if (aChildRet != null) {
|
||||
fView = true;
|
||||
for (i = 0; i < 4; i++)
|
||||
aCounts [i] += aChildRet [i];
|
||||
}
|
||||
}
|
||||
|
||||
elt.style.display = fView ? '' : 'none';
|
||||
|
||||
if (!fView)
|
||||
return null;
|
||||
|
||||
rgShownDivs = getChildrenByTagName (elt, 'DIV');
|
||||
for (i = 0; i < rgShownDivs.length; i++) {
|
||||
var cDiv = rgShownDivs [i];
|
||||
if (cDiv.style.display == 'none')
|
||||
continue;
|
||||
incrementCount (cDiv, aCounts, dictTypes);
|
||||
}
|
||||
|
||||
// update the numbers
|
||||
rgSpans = getChildrenByTagName (elt, 'SPAN');
|
||||
for (iSpan in rgSpans) {
|
||||
var cSpan = rgSpans [iSpan];
|
||||
var cImage = firstElement (cSpan);
|
||||
if (cImage == null)
|
||||
continue;
|
||||
switch (trimSrc (cImage.src)) {
|
||||
case 'st': cSpan.lastChild.nodeValue = ": " + aCounts [0]; break;
|
||||
case 'sm': cSpan.lastChild.nodeValue = ": " + aCounts [1]; break;
|
||||
case 'sx': cSpan.lastChild.nodeValue = ": " + aCounts [2]; break;
|
||||
case 'se': cSpan.lastChild.nodeValue = ": " + aCounts [3]; break;
|
||||
}
|
||||
}
|
||||
return aCounts;
|
||||
}
|
||||
|
||||
function isShown (elt, dictTypes)
|
||||
{
|
||||
if (!isShownMarkType (elt, dictTypes))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function isShownMarkType (elt, dictTypes)
|
||||
{
|
||||
var rgImages = getChildrenByTagName (elt, 'IMG');
|
||||
var cImages = rgImages.length;
|
||||
for (var iImage = 0; iImage < cImages; iImage++)
|
||||
{
|
||||
var strImage = trimSrc (rgImages [iImage].src);
|
||||
if (dictTypes [strImage])
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function incrementCount (cDiv, aCounts, dictTypes)
|
||||
{
|
||||
switch (cDiv.className) {
|
||||
case 'y': case 'y_': // assembly
|
||||
case 'n': case 'n_': // namespace
|
||||
// types
|
||||
case 'c': case 'c_': case 'i': case 'i_':
|
||||
case 'en': case 'en_': case 'd': case 'd_':
|
||||
// members
|
||||
case 'r': case 'r_': case 'x': case 'x_': case 'm': case 'm_':
|
||||
case 'f': case 'f_': case 'e': case 'e_': case 'p': case 'p_':
|
||||
case 'o': case 'o_': case 'a': case 'a_':
|
||||
var rgImgs = getChildrenByTagName (cDiv, 'IMG');
|
||||
for (iImg = 0; iImg < rgImgs.length; iImg++) {
|
||||
var cImg = rgImgs [iImg];
|
||||
if (cImg.className != 't')
|
||||
continue;
|
||||
var stype = trimSrc (cImg.src);
|
||||
if (!dictTypes [stype])
|
||||
continue;
|
||||
switch (stype) {
|
||||
case "st": aCounts [0]++; break;
|
||||
case "sm": aCounts [1]++; break;
|
||||
case "sx": aCounts [2]++; break;
|
||||
case "se": aCounts [3]++; break;
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* just for debugging use now.
|
||||
function firstInnerText (elt)
|
||||
{
|
||||
var s = elt.innerText;
|
||||
if (s != null)
|
||||
return s;
|
||||
var n = elt.firstChild;
|
||||
while (n != null) {
|
||||
s = n.nodeValue;
|
||||
if (s != null && s.replace (/^\s+/g, '') != '')
|
||||
return s;
|
||||
s = firstInnerText (n);
|
||||
if (s != null)
|
||||
return s;
|
||||
n = n.nextSibling;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
*/
|
||||
|
||||
function getView (elt)
|
||||
{
|
||||
var eltLink = firstElement (elt);
|
||||
if (eltLink != null && eltLink.className == 't') // toggle
|
||||
{
|
||||
var ich = elt.className.indexOf ('_');
|
||||
if (ich < 0)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function getParentDiv (elt)
|
||||
{
|
||||
if (elt)
|
||||
{
|
||||
do
|
||||
{
|
||||
elt = elt.parentNode;
|
||||
}
|
||||
while (elt && elt.tagName != 'DIV');
|
||||
}
|
||||
|
||||
return elt;
|
||||
}
|
||||
|
||||
function getName (elt)
|
||||
{
|
||||
var rgSpans = getChildrenByTagName (elt, 'SPAN');
|
||||
for (var iSpan = 0; iSpan < rgSpans.length; iSpan ++)
|
||||
{
|
||||
var span = rgSpans [iSpan];
|
||||
if (span.className == 'l') // label
|
||||
{
|
||||
if (span.innerText)
|
||||
return span.innerText;
|
||||
else
|
||||
return span.firstChild.nodeValue;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function clickHandler (evt)
|
||||
{
|
||||
var elt;
|
||||
if (document.layers)
|
||||
elt = evt.taget;
|
||||
else if (window.event && window.event.srcElement)
|
||||
{
|
||||
elt = window.event.srcElement;
|
||||
evt = window.event;
|
||||
}
|
||||
else if (evt && evt.stopPropagation)
|
||||
elt = evt.target;
|
||||
|
||||
if (!elt.className && elt.parentNode)
|
||||
elt = elt.parentNode;
|
||||
|
||||
if (elt.className == 'l') // label
|
||||
{
|
||||
var strClass;
|
||||
var strField;
|
||||
var strNamespace;
|
||||
var strAssembly;
|
||||
var strFieldType;
|
||||
|
||||
elt = getParentDiv (elt);
|
||||
var strEltClass = elt.className;
|
||||
if (strEltClass.charAt (strEltClass.length - 1) == '_')
|
||||
strEltClass = strEltClass.slice (0, strEltClass.length - 1);
|
||||
|
||||
if (strEltClass == 'x') // constructor
|
||||
{
|
||||
strField = 'ctor';
|
||||
elt = getParentDiv (elt);
|
||||
}
|
||||
else
|
||||
if (strEltClass == 'm' || // method
|
||||
strEltClass == 'p' || // property
|
||||
strEltClass == 'e' || // event
|
||||
strEltClass == 'f') // field
|
||||
{
|
||||
strFieldType = strEltClass;
|
||||
strField = getName (elt);
|
||||
var match = strField.match ( /[\.A-Z0-9_]*/i );
|
||||
if (match)
|
||||
strField = match [0];
|
||||
elt = getParentDiv (elt);
|
||||
|
||||
}
|
||||
|
||||
var strEltClass = elt.className;
|
||||
if (strEltClass.charAt (strEltClass.length - 1) == '_')
|
||||
strEltClass = strEltClass.slice (0, strEltClass.length - 1);
|
||||
|
||||
if (strEltClass == 'c' || // class
|
||||
strEltClass == 's' || // struct
|
||||
strEltClass == 'i' || // struct
|
||||
strEltClass == 'd' || // delegate
|
||||
strEltClass == 'en') // enum
|
||||
{
|
||||
strClass = getName (elt);
|
||||
if (strEltClass == 'en')
|
||||
strField = null;
|
||||
elt = getParentDiv (elt);
|
||||
}
|
||||
|
||||
var strEltClass = elt.className;
|
||||
if (strEltClass.charAt (strEltClass.length - 1) == '_')
|
||||
strEltClass = strEltClass.slice (0, strEltClass.length - 1);
|
||||
|
||||
if (strEltClass == 'n')
|
||||
{
|
||||
strNamespace = getName (elt);
|
||||
elt = getParentDiv (elt);
|
||||
}
|
||||
|
||||
var strEltClass = elt.className;
|
||||
if (strEltClass.charAt (strEltClass.length - 1) == '_')
|
||||
strEltClass = strEltClass.slice (0, strEltClass.length - 1);
|
||||
|
||||
if (strEltClass == 'y')
|
||||
{
|
||||
strAssembly = getName (elt);
|
||||
}
|
||||
|
||||
if (evt.ctrlKey)
|
||||
{
|
||||
var strRoot = 'http://anonsvn.mono-project.com/viewcvs/trunk/mcs/class/';
|
||||
var strExtra = '';
|
||||
|
||||
if (strAssembly)
|
||||
{
|
||||
if (strAssembly == 'mscorlib')
|
||||
strAssembly = 'corlib';
|
||||
else if (strAssembly == 'System.Xml')
|
||||
strAssembly = 'System.XML';
|
||||
|
||||
strRoot = strRoot + strAssembly + '/';
|
||||
if (strNamespace)
|
||||
{
|
||||
strRoot = strRoot + strNamespace + '/';
|
||||
if (strClass)
|
||||
{
|
||||
strRoot += strClass + '.cs';
|
||||
strExtra += '?view=markup';
|
||||
}
|
||||
}
|
||||
window.open (strRoot + strExtra, 'CVS');
|
||||
}
|
||||
}
|
||||
else if (strNamespace)
|
||||
{
|
||||
if (document.getElementById ('TargetMsdn1').checked)
|
||||
{
|
||||
var re = /\./g ;
|
||||
strNamespace = strNamespace.toLowerCase ().replace (re, '');
|
||||
if (strClass)
|
||||
strNamespace += strClass.toLowerCase () + 'class';
|
||||
if (strField)
|
||||
strNamespace += strField;
|
||||
if (strClass || strField)
|
||||
strNamespace += 'topic';
|
||||
|
||||
window.open ('http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrf' + strNamespace + '.asp', 'MSDN');
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
if (strClass)
|
||||
strNamespace += '.' + strClass;
|
||||
if (strField)
|
||||
strNamespace += '.' + strField;
|
||||
if (document.getElementById ('TargetMonodoc').checked)
|
||||
{
|
||||
var category = null;
|
||||
if (strClass == null)
|
||||
category = "N:";
|
||||
else if (strField == null)
|
||||
category = "T:";
|
||||
else {
|
||||
switch (strFieldType) {
|
||||
case 'f': category = "F:"; break;
|
||||
case 'p': category = "P:"; break;
|
||||
case 'm': category = "M:"; break;
|
||||
case 'e': category = "E:"; break;
|
||||
}
|
||||
}
|
||||
if (category != null)
|
||||
window.open ('http://www.go-mono.com/docs/monodoc.ashx?link=' + category + strNamespace);
|
||||
}
|
||||
else
|
||||
{
|
||||
window.open ('http://msdn2.microsoft.com/library/' + strNamespace + '.aspx', 'MSDN');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (elt.parentNode && elt.parentNode.className == 't') // toggle
|
||||
elt = elt.parentNode;
|
||||
else if (elt.className != 't') // toggle
|
||||
return;
|
||||
|
||||
while (elt != null && elt.tagName != 'DIV')
|
||||
elt = elt.parentNode;
|
||||
|
||||
if (evt.shiftKey)
|
||||
{
|
||||
var rgElts = getChildrenByTagName (elt, 'DIV');
|
||||
var cElts = rgElts.length;
|
||||
if (cElts != 0)
|
||||
{
|
||||
var fView = false;
|
||||
var iElt;
|
||||
for (iElt = 0; iElt < cElts; iElt ++)
|
||||
{
|
||||
if (getView (rgElts [iElt]))
|
||||
{
|
||||
fView = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (iElt = 0; iElt < cElts; iElt ++)
|
||||
{
|
||||
setView (rgElts [iElt], !fView);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (evt.ctrlKey)
|
||||
{
|
||||
setView (elt, true);
|
||||
var eltParent = getParentDiv (elt);
|
||||
while (eltParent)
|
||||
{
|
||||
var rgSiblings = getChildrenByTagName (eltParent, 'DIV');
|
||||
var cSiblings = rgSiblings.length;
|
||||
for (var iSibling = 0; iSibling < cSiblings; iSibling++)
|
||||
{
|
||||
var eltSibling = rgSiblings [iSibling];
|
||||
if (eltSibling != elt)
|
||||
{
|
||||
setView (eltSibling, false);
|
||||
}
|
||||
}
|
||||
elt = eltParent;
|
||||
eltParent = getParentDiv (elt);
|
||||
}
|
||||
}
|
||||
else
|
||||
toggle (elt);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function filterTree ()
|
||||
{
|
||||
var eltMissing = document.getElementById ('missing');
|
||||
var eltTodo = document.getElementById ('todo');
|
||||
var eltExtra = document.getElementById ('extra');
|
||||
var eltErrors = document.getElementById ('errors');
|
||||
var eltStable = document.getElementById ('stable');
|
||||
|
||||
var dictTypes = new Object ();
|
||||
if (eltMissing.checked)
|
||||
dictTypes ['sm'] = true;
|
||||
if (eltTodo.checked)
|
||||
dictTypes ['st'] = true;
|
||||
if (eltErrors.checked)
|
||||
dictTypes ['se'] = true;
|
||||
if (eltExtra.checked)
|
||||
dictTypes ['sx'] = true;
|
||||
if (eltStable.checked)
|
||||
dictTypes ['sc'] = true;
|
||||
|
||||
viewAll (document.getElementById ('ROOT'), dictTypes);
|
||||
}
|
||||
|
||||
function addAndFilter ()
|
||||
{
|
||||
var newInput = document.getElementById ('NewFilterTarget');
|
||||
var newAttr = newInput.value;
|
||||
if (newAttr.length > 0) {
|
||||
var selection = document.getElementById ('FilteredAttributes');
|
||||
var newElem = document.createElement ('option');
|
||||
newElem.appendChild (document.createTextNode (newAttr));
|
||||
selection.appendChild (newElem);
|
||||
newInput.value = '';
|
||||
filterTree ();
|
||||
}
|
||||
}
|
||||
|
||||
function removeAndFilter ()
|
||||
{
|
||||
var selection = document.getElementById ('FilteredAttributes');
|
||||
if (selection.selectedIndex >= 0) {
|
||||
var newInput = document.getElementById ('NewFilterTarget');
|
||||
if (newInput.value.length == 0)
|
||||
newInput.value = selection.options [selection.selectedIndex].firstChild.nodeValue;
|
||||
selection.removeChild (selection.options [selection.selectedIndex]);
|
||||
filterTree ();
|
||||
}
|
||||
}
|
||||
|
||||
function selectMissing ()
|
||||
{
|
||||
toggleFilter ('missing');
|
||||
}
|
||||
|
||||
function selectTodo ()
|
||||
{
|
||||
toggleFilter ('todo');
|
||||
}
|
||||
|
||||
function selectExtra ()
|
||||
{
|
||||
toggleFilter ('extra');
|
||||
}
|
||||
|
||||
function selectErrors ()
|
||||
{
|
||||
toggleFilter ('errors');
|
||||
}
|
||||
|
||||
function selectStable ()
|
||||
{
|
||||
toggleFilter ('stable');
|
||||
}
|
||||
|
||||
function toggleAttributeFilter (attrName)
|
||||
{
|
||||
toggleFilter (attrName);
|
||||
}
|
||||
|
||||
function toggleFilter (strFilter)
|
||||
{
|
||||
var eltTodo = document.getElementById ('todo');
|
||||
var eltMissing = document.getElementById ('missing');
|
||||
var eltExtra = document.getElementById ('extra');
|
||||
var eltErrors = document.getElementById ('errors');
|
||||
|
||||
var eltToggle = document.getElementById (strFilter);
|
||||
if (window && window.event && window.event.shiftKey)
|
||||
{
|
||||
eltMissing.checked = eltTodo.checked = eltExtra.checked = eltErrors.checked = false;
|
||||
eltToggle.checked = true;
|
||||
}
|
||||
else
|
||||
if (!eltTodo.checked && !eltMissing.checked && !eltExtra.checked && !eltErrors.checked)
|
||||
{
|
||||
eltMissing.checked = eltTodo.checked = eltExtra.checked = eltErrors.checked = true;
|
||||
eltToggle.checked = false;
|
||||
}
|
||||
filterTree ();
|
||||
}
|
||||
|
||||
function onLoad ()
|
||||
{
|
||||
var eltMissing = document.getElementById ('missing');
|
||||
var eltTodo = document.getElementById ('todo');
|
||||
var eltExtra = document.getElementById ('extra');
|
||||
var eltErrors = document.getElementById ('errors');
|
||||
eltMissing.checked = eltTodo.checked = eltExtra.checked = eltErrors.checked = true;
|
||||
filterTree ();
|
||||
}
|
||||
|
||||
if (document.layers)
|
||||
{
|
||||
document.captureEvents (Event.MOUSEUP);
|
||||
document.onmouseup = clickHandler;
|
||||
}
|
||||
else if (document.attachEvent)
|
||||
{
|
||||
document.attachEvent('onclick', clickHandler);
|
||||
}
|
||||
else if (document.addEventListener)
|
||||
{
|
||||
document.addEventListener('click', clickHandler, false);
|
||||
}
|
||||
else
|
||||
document.onclick = clickHandler;
|
||||
|
||||
Reference in New Issue
Block a user