1 Clazz.declarePackage ("jssun.awt.shell");
\r
2 Clazz.load (["jssun.awt.shell.ShellFolder"], "jssun.awt.shell.ShellFolderManager", ["java.io.File", "java.lang.Long", "java.util.Collections", "$.Date", "jssun.awt.shell.DefaultShellFolder", "$.ShellFolderColumnInfo"], function () {
\r
3 c$ = Clazz.decorateAsClass (function () {
\r
4 this.fileComparator = null;
\r
5 Clazz.instantialize (this, arguments);
\r
6 }, jssun.awt.shell, "ShellFolderManager");
\r
7 Clazz.prepareFields (c$, function () {
\r
8 this.fileComparator = ((Clazz.isClassDefined ("jssun.awt.shell.ShellFolderManager$1") ? 0 : jssun.awt.shell.ShellFolderManager.$ShellFolderManager$1$ ()), Clazz.innerTypeInstance (jssun.awt.shell.ShellFolderManager$1, this, null));
\r
10 Clazz.defineMethod (c$, "createShellFolder",
\r
12 return new jssun.awt.shell.DefaultShellFolder (null, file);
\r
14 Clazz.defineMethod (c$, "get",
\r
16 if (key.equals ("fileChooserDefaultFolder")) {
\r
17 var homeDir = new java.io.File (System.getProperty ("user.home"));
\r
19 return this.createShellFolder (homeDir);
\r
21 if (Clazz.exceptionOf (e, java.io.FileNotFoundException)) {
\r
27 } else if (key.equals ("roots")) {
\r
28 return java.io.File.listRoots ();
\r
29 } else if (key.equals ("fileChooserComboBoxFolders")) {
\r
30 return this.get ("roots");
\r
31 } else if (key.equals ("fileChooserShortcutPanelFolders")) {
\r
32 return Clazz.newArray (-1, [this.get ("fileChooserDefaultFolder")]);
\r
35 Clazz.defineMethod (c$, "isComputerNode",
\r
39 Clazz.defineMethod (c$, "isFileSystemRoot",
\r
41 if (Clazz.instanceOf (dir, jssun.awt.shell.ShellFolder) && !(dir).isFileSystem ()) {
\r
43 }return (dir.getParentFile () == null);
\r
45 Clazz.defineMethod (c$, "sortFiles",
\r
47 java.util.Collections.sort (files, this.fileComparator);
\r
48 }, "java.util.List");
\r
49 Clazz.defineMethod (c$, "getFolderColumns",
\r
52 if (Clazz.instanceOf (dir, jssun.awt.shell.ShellFolder)) {
\r
53 columns = (dir).getFolderColumns ();
\r
54 }if (columns == null) {
\r
55 columns = Clazz.newArray (-1, [ new jssun.awt.shell.ShellFolderColumnInfo ("FileChooser.fileNameHeaderText", new Integer (150), new Integer (10), true, null, this.fileComparator), new jssun.awt.shell.ShellFolderColumnInfo ("FileChooser.fileSizeHeaderText", new Integer (75), new Integer (4), true, null, jssun.awt.shell.ShellFolderManager.ComparableComparator.getInstance (), true), new jssun.awt.shell.ShellFolderColumnInfo ("FileChooser.fileDateHeaderText", new Integer (130), new Integer (10), true, null, jssun.awt.shell.ShellFolderManager.ComparableComparator.getInstance (), true)]);
\r
58 Clazz.defineMethod (c$, "getFolderColumnValue",
\r
59 function (file, column) {
\r
60 if (Clazz.instanceOf (file, jssun.awt.shell.ShellFolder)) {
\r
61 var value = (file).getFolderColumnValue (column);
\r
62 if (value != null) {
\r
64 }}if (file == null || !file.exists ()) {
\r
70 return file.isDirectory () ? null : new Long (file.length ());
\r
72 if (this.isFileSystemRoot (file)) {
\r
74 }var time = file.lastModified ();
\r
75 return (time == 0) ? null : new java.util.Date (time);
\r
79 }, "java.io.File,~N");
\r
80 c$.$ShellFolderManager$1$ = function () {
\r
81 Clazz.pu$h(self.c$);
\r
82 c$ = Clazz.declareAnonymous (jssun.awt.shell, "ShellFolderManager$1", null, java.util.Comparator);
\r
83 Clazz.defineMethod (c$, "compare",
\r
85 return this.compare (a, b);
\r
87 Clazz.defineMethod (c$, "compare",
\r
91 if (Clazz.instanceOf (f1, jssun.awt.shell.ShellFolder)) {
\r
93 if (sf1.isFileSystem ()) {
\r
95 }}if (Clazz.instanceOf (f2, jssun.awt.shell.ShellFolder)) {
\r
97 if (sf2.isFileSystem ()) {
\r
99 }}if (sf1 != null && sf2 != null) {
\r
100 return sf1.compareTo (sf2);
\r
101 } else if (sf1 != null) {
\r
103 } else if (sf2 != null) {
\r
106 var name1 = f1.getName ();
\r
107 var name2 = f2.getName ();
\r
108 var diff = name1.toLowerCase ().compareTo (name2.toLowerCase ());
\r
112 return name1.compareTo (name2);
\r
113 }}}, "java.io.File,java.io.File");
\r
116 Clazz.pu$h(self.c$);
\r
117 c$ = Clazz.declareType (jssun.awt.shell.ShellFolderManager, "ComparableComparator", null, java.util.Comparator);
\r
118 c$.getInstance = Clazz.defineMethod (c$, "getInstance",
\r
120 if (jssun.awt.shell.ShellFolderManager.ComparableComparator.instance == null) {
\r
121 jssun.awt.shell.ShellFolderManager.ComparableComparator.instance = new jssun.awt.shell.ShellFolderManager.ComparableComparator ();
\r
122 }return jssun.awt.shell.ShellFolderManager.ComparableComparator.instance;
\r
124 Clazz.overrideMethod (c$, "compare",
\r
127 if (a == null && b == null) {
\r
129 } else if (a != null && b == null) {
\r
131 } else if (a == null && b != null) {
\r
133 } else if (Clazz.instanceOf (a, Comparable)) {
\r
134 c = (a).compareTo (b);
\r
139 Clazz.defineStatics (c$,
\r
142 Clazz.defineStatics (c$,
\r
143 "COLUMN_NAME", "FileChooser.fileNameHeaderText",
\r
144 "COLUMN_SIZE", "FileChooser.fileSizeHeaderText",
\r
145 "COLUMN_DATE", "FileChooser.fileDateHeaderText");
\r