PageRenderTime 24ms CodeModel.GetById 17ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/jEdit/tags/jedit-4-2-pre4/bsh/commands/browseClass.bsh

#
Unknown | 42 lines | 35 code | 7 blank | 0 comment | 0 complexity | 1cc7398f833a36ecbbb061463e71f5a3 MD5 | raw file
Possible License(s): BSD-3-Clause, AGPL-1.0, Apache-2.0, LGPL-2.0, LGPL-3.0, GPL-2.0, CC-BY-SA-3.0, LGPL-2.1, GPL-3.0, MPL-2.0-no-copyleft-exception, IPL-1.0
 1/**
 2	Open the class browser to view the specified class.  
 3	If the argument is a string it is considered to be a class name.  
 4	If the argument is an object, the class of the object is used.  
 5	If the arg is a class, the class is used.
 6	<p>
 7
 8	Note: To browse the String class you can't supply a String.
 9	You'd have to do:  browseClass( String.class );
10	<p>
11
12
13	@method void browseClass( String | Object | Class )
14*/
15import bsh.ClassIdentifier;
16
17browseClass( Object o ) 
18{
19	String classname;
20	if ( o instanceof String)
21		classname = o;
22	else if ( o instanceof ClassIdentifier )
23		classname = this.namespace.identifierToClass(o).getName();
24	else if ( o instanceof Class )
25		classname = o.getName();
26	else 
27		classname = o.getClass().getName();
28
29	// really need a way to unset and more poweful testing...
30	if ( bsh.system.desktop == void 
31			|| bsh.system.desktop.classbrowser == void 
32			|| bsh.system.desktop.classbrowser == null ) 
33	{
34		this.browser = classBrowser();
35	} else {
36		this.browser = bsh.system.desktop.classbrowser;
37		bsh.system.desktop.classbrowser.toFront();
38	}
39
40	browser.driveToClass( classname );
41}
42