⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.js

📁 ajax 框价.是个好工具.javascript 矿家.可以用在任何平台.
💻 JS
📖 第 1 页 / 共 3 页
字号:
var app;function Classbrowser(){	app = this;	this.loadData();	this.initializeGui();	this.attachEvents();};Classbrowser.main = function() { new this; };Classbrowser.IMAGE_PATH = application.getAdfPath() + "resources/images/";Classbrowser.FOLDER_OPEN = Classbrowser.IMAGE_PATH + "folder_open.gif";Classbrowser.FOLDER_CLOSED = Classbrowser.IMAGE_PATH + "folder_closed.gif";Classbrowser.CLASS_IMAGE = Classbrowser.IMAGE_PATH + "class.gif";Classbrowser.PROPERTY_IMAGE = Classbrowser.IMAGE_PATH + "property.gif";Classbrowser.FIELD_IMAGE = Classbrowser.IMAGE_PATH + "field.gif";Classbrowser.PUBLIC_METHOD_IMAGE = Classbrowser.IMAGE_PATH + "public_method.gif";Classbrowser.PUBLIC_STATIC_METHOD_IMAGE = Classbrowser.IMAGE_PATH + "public_static_method.gif";Classbrowser.PRIVATE_STATIC_METHOD_IMAGE = Classbrowser.IMAGE_PATH + "private_static_method.gif";Classbrowser.PRIVATE_METHOD_IMAGE = Classbrowser.IMAGE_PATH + "private_method.gif";Classbrowser.PUBLIC_CONSTANT_IMAGE = Classbrowser.IMAGE_PATH + "public_constant.gif";Classbrowser.PRIVATE_CONSTANT_IMAGE = Classbrowser.IMAGE_PATH + "private_constant.gif";Classbrowser.EVENT_IMAGE = Classbrowser.IMAGE_PATH + "event.gif";Classbrowser.CLASS_BIIMAGE = new BiImage(Classbrowser.CLASS_IMAGE);Classbrowser.BLACK_BORDER = new BiBorder(1, "solid", "black");Classbrowser.VERSION = "0.5.3";Classbrowser.AUTHORS = ["Abhinav Pobbati"];Classbrowser.CONTACTS = ["apobbati@gmail.com"];Classbrowser.API_PATH = application.getAdfPath() + "../../docs/apixml/";Classbrowser.API_XML_FILE = Classbrowser.API_PATH + "classtree.xml";Classbrowser.RELEASE_DATE = "1/30/2005";Classbrowser.UPDATE_URL = "http://www.geocities.com/abhinav_coolab/updates.xml";Classbrowser.METHOD = "method";Classbrowser.FIELD = "field";Classbrowser.CONSTANT = "constant";Classbrowser.PROPERTY = "property";Classbrowser.UNIQUE = "unique";Classbrowser.PRIVATE = "private";Classbrowser.PUBLIC = "public";Classbrowser.STATIC = "static";Classbrowser.JSFUNCTION = "function";Classbrowser.SETTER = "set";Classbrowser.GETTER = "get";Classbrowser.BASE_CLASS = "Object";Classbrowser.SELECTED_ROW = "font-weight:bold;";Classbrowser.JSOBJECT = "object";_p = Classbrowser.prototype;_p.ClassListLoaded = false;_p.ClassSearchListLoaded = false;_p.SearchResultsTreeLoaded = false;_p.Classes = {};_p.Dialogs = {};_p.ClassesToSearch = [];_p.ClassNodes = null;_p.XmlDoc = null;_p.SearchTimer = null;_p.CurrentSearchClass = null;_p.SearchClassIndex = 0;// Loads XML////////////////_p.loadData = function(){	BiComponent.prototype._children = BiComponent.prototype._style = BiComponent.prototype._htmlProperties = BiComponent.prototype._htmlAttributes = BiObject.prototype._hashCode = BiObject.prototype._className = BiEventTarget.prototype._listeners = null;	this.loadXml();	this.loadClasses();}// Window Events /////////////////////////////////////////////////////////////////////////////////_p.attachEvents = function(){	if(BiBrowserCheck.ie)	{		document.body.attachEvent("onkeydown", function(e)		{			switch(event.keyCode)			{				case 116:					event.returnValue = false;			}		});		window.attachEvent("onbeforeunload", function()		{			app.unload();		});	}	cList.addEventListener("action", function(e)	{		app.openNewWindow(this.getSelectedItem().getText());	});	searchText.addEventListener("keyup", function(e)	{		if(e.getKeyCode() == BiKeyboardEvent.ENTER && initSearchButton.getEnabled())			this.search();	}, this);	searchText.addEventListener("keyup", function(e)	{		initSearchButton.setEnabled(this.getText().trim().length > 0);	});}// GUI Methods /////////////////////////////////////////////////////////////////////////////////////////_p.initializeGui = function(){	this.initializeTaskbar();	this.initializeList();	this.initializeSearchResultsTree();}// Builds the class list_p.initializeList = function(){	if(this.ClassListLoaded)		return;	cList.setIconUri(Classbrowser.CLASS_IMAGE);	cList.setShowIcon(true);	cList.setMultipleSelection(false);	cList.setOverflowY("scroll");	cList.addItems(this.getClassListItems());	this.ClassListLoaded = true;};// Builds the search results tree_p.initializeSearchResultsTree = function(){	if(this.SearchResultsTreeLoaded)		return;	searchResults.setColumnCount(1);	searchResults.setColumnNames(["Results"]);	searchResults.setOverflowX("hidden");	searchResults.setShowRowHeaders(false);	searchResults.setShowHeaders(false);	searchResults.setShowGridLines(false);	searchResults.getSelectionModel().setMultipleSelection(false);	searchResults.getViewManager().getColumnWidth = function(x){return this.getTreeView().getClientWidth();};	searchResults.getDataModel().getHasIcon = function(x,y){return x == 0;};	searchResults.getDataModel().getIconStyle = function() { return "" };	searchResults.getDataModel().getIcon = function(x,y)	{		var n = this.getNodeAt(y);		if(n.getRows().length > 0)			return Classbrowser.CLASS_IMAGE;		else			return app.getIconForProperty(n.memberInfo);	}	searchResults.getDataModel().getCellText = function(x,y)	{		var node = this.getNodeAt(y);		var memberInfo = node.memberInfo;		if(!memberInfo)			return node.getData(0);		else		{			if(memberInfo.memberType == Classbrowser.METHOD)				return app.getMethodString(node.getParent().getData(0), memberInfo);			else				return memberInfo.name;		}	}	this.SearchResultsTreeLoaded = true;}_p.getIconForProperty = function(oProp){	if(oProp.memberType == Classbrowser.PROPERTY)		return Classbrowser.PROPERTY_IMAGE;	if(oProp.memberType == Classbrowser.FIELD)		return Classbrowser.FIELD_IMAGE;	if(oProp.memberType == Classbrowser.METHOD)	{		if(oProp.protection == Classbrowser.PUBLIC)			return oProp.inheritance == Classbrowser.STATIC ? Classbrowser.PUBLIC_STATIC_METHOD_IMAGE : Classbrowser.PUBLIC_METHOD_IMAGE;		else			return oProp.inheritance == Classbrowser.STATIC ? Classbrowser.PRIVATE_STATIC_METHOD_IMAGE : Classbrowser.PRIVATE_METHOD_IMAGE;	}	if(oProp.memberType == Classbrowser.CONSTANT)		return oProp.protection == Classbrowser.PUBLIC ? Classbrowser.PUBLIC_CONSTANT_IMAGE : Classbrowser.PRIVATE_CONSTANT_IMAGE;}// Builds the list that allows the user to select custom classes to search_p.initializeSearchClassList = function(){	if(this.ClassSearchListLoaded)		return;	searchClassList.setShowIcon(true);	searchClassList.setIconUri(Classbrowser.CLASS_IMAGE);	searchClassList.addItems(this.getClassListItems());	searchClassList.setMultipleSelection(true);	searchClassList.getDataModel().getRowStyle = function(y){return app.ClassesToSearch.contains(this.getCellText(0, y)) ? Classbrowser.SELECTED_ROW : "";};	this.ClassSearchListLoaded = true;}// Builds the taskbar_p.initializeTaskbar = function(){	var m = desktopPane.getWindowManager().getWindowsMenu();	var n = new BiMenuItem("Close");	m.add(n, m.getChildren()[3]);	n.addEventListener("action", function(e){app.closeActiveWindow();});	taskbar.setContextMenu(desktopPane.getWindowManager().getWindowsMenu());	taskbar.addEventListener("change", this.updateWindowFocus, this);	taskbarGroup.addEventListener("change", function(e){try{this.setActiveWindow(taskbar.getSelected().getNextSibling().apiWindow);}catch(ex) {};	},this);}// Returns a BiWindow that holds all the properties of "sClass"_p.openNewWindow = function(sClass){	// Check whether properties for the class can be retrieved	if(!this.getClassNode(sClass))		return alert("No information found for " + sClass + ".");	// If the window is already created/open, then use it instead of creating a new window	var old = this.Classes[sClass] ? this.Classes[sClass].window : null;	if(old)	{		if(!old.getParent())		{			taskbar.add(old.tabButton);			desktopPane.add(old);		}		old.tabButton.setChecked(true);		desktopPane.getWindowManager().setActiveWindow(old);		return old;	}	// Build the window	var w = new BiWindow(sClass);	var b = new BiTabButton(sClass, Classbrowser.CLASS_BIIMAGE);	var tv = new BiTreeView();	var description = new BiLabel();	var sp = new BiSplitPane("vertical", tv, description);	b.apiWindow = w;	b.setGroup(taskbarGroup);	b.addEventListener("mousedown", this.functions.tabButtonFocusin, b);	taskbar.add(b);	taskbar.setSelected(b);	description.setBorder(Classbrowser.BLACK_BORDER);	description.setBackColor("#FFFFFF");	description.setPadding(5);	description.setOverflowX("scroll");	description.setOverflowY("scroll");	description.setWrap(true);	sp.setLocation(0,0);	sp.setRight(0);	sp.setBottom(0);	sp.setDividerLocation(200);	sp.setContinuousLayout(false);	tv.setBorder(Classbrowser.BLACK_BORDER);	tv.getViewManager().setHighlightSortColumn(false);	tv.getViewManager().setIndentColumn(0);	tv.getViewManager().setShowRowHeaders(false);	tv.getViewManager().setShowHeaders(false);	tv.getViewManager().setShowGridLines(false);	tv.getViewManager().getColumnWidth = function(x){return this.getTreeView().getClientWidth();};	tv.getSelectionModel().setMultipleSelection(false);	tv.getSelectionModel().addEventListener("change", this.apiTreeViewChange);	tv.addEventListener("dblclick", this.apiTreeViewAction);	tv.getSelectionModel()._treeView = tv;	tv.getSelectionModel().getTreeView = function() { return this._treeView; };	tv.memberDescription = description;	tv.mainWin = w;	tv.showingClass = sClass;	this.loadMemberDataIntoGrid(sClass, tv);	w.tabButton = b;	w.memberData = tv;	w.memberDescription = description;	w.close = this.functions.apiWinClose;	w.setSize(500, 400);	w.setIcon(Classbrowser.CLASS_BIIMAGE);	w.addEventListener("close", this.listeners.apiWinClose, w);	w.addEventListener("activated", this.listeners.apiWinActivated, w);	w.setShowMinimize(false);	desktopPane.add(w);	w.getContentPane().add(sp);	w.setFocused(true);	this.Classes[sClass].window = w;	this.Classes[sClass].window.isOpen = true;	return this.Classes[sClass].window;}_p.apiTreeViewAction = function(e){	var i = this.getSelectionModel().getSelectedItems()[0];	var row = i ? i.getRow() : -1;	if(row == -1)		return;	else	{		var n = this.getDataModel().getNodeAt(row);		var pr = n.getParent();		if(pr && pr.getData()[0] == "Direct Subclasses")			app.openNewWindow(n.getData()[0]);	}}_p.apiTreeViewChange = function(e){	var row = this.getSelectedItems()[0].getRow();	var cl = this.getTreeView().getDataModel().getCellText(0,0);	var node = this.getTreeView().getDataModel().getNodeAt(row);	var parent = node.getParent();	var text = node.getData()[0];	var mem = node.memberInfo;	var html = "";	if(parent && parent.getData()[0] == "Events")	{		html += "<span class=\"infoHeader\">" + app.getHtmlLink(app.getEventInfo(cl, text, "type")) + " " + text + ";</span>";		html += "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Member of " + cl + "<br><br>";		html += "<b>Summary:</b><br>";		html += app.getEventInfo(cl, text, "description");	}	else	if(node.identification == "Class")	{		html += "<span class=\"infoHeader\">public class " + text + " extends " + app.getHtmlLink(app.getParentClass(text)) + ";</span>";		var sum  = app.getClassDescription(text);		var clArgs = app.Classes[cl].documentation.selectSingleNode("class/arguments");		var argCn = clArgs ? clArgs.childNodes : null;		html += "<br><br><b>Constructor:</b><br>";		html += "new " + cl;		if(!argCn)			html += "()";		else		{			html += "(";			var str = "", type, name;			for(var i = 0; i < argCn.length; i++)			{				type = app.getHtmlLink(argCn[i].getAttribute("type") || BiLabel.htmlToText(argCn[i].selectSingleNode("type").text)) + " ";				name = argCn[i].getAttribute("name");				html += type;				html += name + (i < argCn.length - 1 ? ", " : "");				str += "<i>" + name + "</i>: ";				str += argCn[i].getAttribute("description") || argCn[i].selectSingleNode("description").text;				str += (i < argCn.length - 1 ? "<br>" : "");			}			html += ")";			if(argCn.length > 0)			{				html += "<br><br><b>Parameters:</b><br>";				html += str;			}		}		if(sum.length > 0)		{			html += "<br><br>";			html += "<b>Summary:</b><br>";			html += sum;		}		var rem = app.getClassRemarks(text);		if(rem.length > 0)		{			html += "<br><br>";			html += "<b>Remarks:</b><br>";			html += rem;		}	}	else	if(mem)	{		var n = app.getDocumentationNode(cl, mem.name, mem.memberType == Classbrowser.METHOD, mem.inheritance == Classbrowser.STATIC);		if(mem.memberType == Classbrowser.METHOD)		{			var sText = this.getTreeView().getDataModel().getCellText(0, row);			var i = sText.indexOf("(");			html += "<span class=\"infoHeader\">";			html += mem.protection + " ";			html += (mem.inheritance == Classbrowser.STATIC ? Classbrowser.STATIC : "") + " ";			html += app.getHtmlLink(app.getReturnType(cl, mem.name, mem.inheritance == Classbrowser.STATIC)) + " ";			html += "<b>" + sText.substring(0, i) + "</b>" + sText.substring(i) + " ";			html += mem.inheritance != Classbrowser.STATIC && app.getMethodIsOverriden(cl, mem.name) ? "[Overriden]" : "";			html += "</span>";		}		else		if(mem.memberType == Classbrowser.PROPERTY)		{			html += "<span class=\"infoHeader\">";			html += Classbrowser.PUBLIC + " ";			html += app.getHtmlLink((app.getObjectType(cl, mem.name, mem.inheritance == Classbrowser.STATIC) || mem.objectType)) + " ";			html += "<b>" + mem.name + "</b> ";			if(mem.getter && mem.setter)				html += "[get, set]";			if(mem.getter && !mem.setter)				html += "[get]";			if(!mem.getter && mem.setter)				html += "[set]";			html += "</span>";		}		else		if(mem.memberType == Classbrowser.FIELD)		{			var type;			html += "<span class=\"infoHeader\">";			html += Classbrowser.PRIVATE + " ";			type = (mem.objectType == "Undefined" ? "&lt;Unknown&gt;" : mem.objectType);			html += (type != "&lt;Unknown&gt;" ? app.getHtmlLink(type) : type) + " ";			html += "<b>" + mem.name + "</b>";			html += "</span>";		}		else		if(mem.memberType == Classbrowser.CONSTANT)		{			html += "<span class=\"infoHeader\">";			html += mem.protection + " ";			html += mem.inheritance + " ";			html += app.getHtmlLink((app.getObjectType(cl, mem.name, true) || (mem.objectType == "Undefined" ? "&lt;Unknown&gt;" : mem.objectType))) + " ";			html += "<b>" + mem.name + "</b>";			html += "</span>";		}		html += "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Member of " + cl;		var dp, dpStr;		if(n)			dp = n.selectSingleNode("description");		dpStr = dp ? dp.text : (n ? n.getAttribute("description") : null);		if(dpStr)		{			html += "<br><br><b>Summary:</b><br>";			html += dpStr;		}		if(mem.memberType == Classbrowser.METHOD && n)		{			var args = app.getMethodArguments(cl, mem.name, mem.inheritance == Classbrowser.STATIC);			var str = "";			if(args && args.childNodes.length > 0)			{				html += "<br><br><b>Parameters:</b><br>";				var cn = args.childNodes, d;				for(var i = 0; i < cn.length; i++)				{					if(cn[i].nodeType != 1)						continue;					html += app.getHtmlLink(cn[i].getAttribute("type") || BiLabel.htmlToText(cn[i].selectSingleNode("type").text)) + " ";					html += "<i>" + cn[i].getAttribute("name") + "</i>: ";					d = cn[i].selectSingleNode("description");					html += cn[i].getAttribute("description") || BiLabel.htmlToText(d ? d.text : "");					html += "<br>";				}			}		}	}	this.getTreeView().memberDescription.setHtml(html);}_p.loadMemberDataIntoGrid = function(sClass, oGrid){	this.loadClassMembers(sClass);	oGrid.setDataModel(new ApiTreeDataModel(sClass));	oGrid.updateContentSize();	oGrid.update();	try	{		var start = 2, end = 7;		if(oGrid.getDataModel().getNodeAt(1).getData()[0] == "Direct Subclasses")		{			oGrid.getDataModel().setExpanded(1, false);			start = 3;		}		for(var i = start; i <= end; i++)			oGrid.getDataModel().setExpanded(i, false);	}	catch(ex) {}}// Search Methods ////////////////////////////////////////////////////////////////////////////_p.search = function(){	this.setEnableSearchGui(false);	if(!this.SearchTimer)		this.SearchTimer = new BiTimer(1);	searchResults.removeAll();	this.CurrentSearchClass = null;	this.SearchClassIndex = 0;	this.SearchTimer.addEventListener("tick", this.onSearchTimerTick, this);	this.SearchTimer.start();}_p.SearchButtonAction = function(){

⌨️ 快捷键说明

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