8587dc767e996b865a973fdd94ae5b85b8aa0359
[jalviewjs.git] / site / j2s / jssun / awt / shell / ShellFolderManager.js
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
9 });\r
10 Clazz.defineMethod (c$, "createShellFolder", \r
11 function (file) {\r
12 return  new jssun.awt.shell.DefaultShellFolder (null, file);\r
13 }, "java.io.File");\r
14 Clazz.defineMethod (c$, "get", \r
15 function (key) {\r
16 if (key.equals ("fileChooserDefaultFolder")) {\r
17 var homeDir =  new java.io.File (System.getProperty ("user.home"));\r
18 try {\r
19 return this.createShellFolder (homeDir);\r
20 } catch (e) {\r
21 if (Clazz.exceptionOf (e, java.io.FileNotFoundException)) {\r
22 return homeDir;\r
23 } else {\r
24 throw e;\r
25 }\r
26 }\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
33 }return null;\r
34 }, "~S");\r
35 Clazz.defineMethod (c$, "isComputerNode", \r
36 function (dir) {\r
37 return false;\r
38 }, "java.io.File");\r
39 Clazz.defineMethod (c$, "isFileSystemRoot", \r
40 function (dir) {\r
41 if (Clazz.instanceOf (dir, jssun.awt.shell.ShellFolder) && !(dir).isFileSystem ()) {\r
42 return false;\r
43 }return (dir.getParentFile () == null);\r
44 }, "java.io.File");\r
45 Clazz.defineMethod (c$, "sortFiles", \r
46 function (files) {\r
47 java.util.Collections.sort (files, this.fileComparator);\r
48 }, "java.util.List");\r
49 Clazz.defineMethod (c$, "getFolderColumns", \r
50 function (dir) {\r
51 var columns = null;\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
56 }return columns;\r
57 }, "java.io.File");\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
63 return value;\r
64 }}if (file == null || !file.exists ()) {\r
65 return null;\r
66 }switch (column) {\r
67 case 0:\r
68 return file;\r
69 case 1:\r
70 return file.isDirectory () ? null :  new Long (file.length ());\r
71 case 2:\r
72 if (this.isFileSystemRoot (file)) {\r
73 return null;\r
74 }var time = file.lastModified ();\r
75 return (time == 0) ? null :  new java.util.Date (time);\r
76 default:\r
77 return null;\r
78 }\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
84 function (a, b) {\r
85 return this.compare (a, b);\r
86 }, "~O,~O");\r
87 Clazz.defineMethod (c$, "compare", \r
88 function (f1, f2) {\r
89 var sf1 = null;\r
90 var sf2 = null;\r
91 if (Clazz.instanceOf (f1, jssun.awt.shell.ShellFolder)) {\r
92 sf1 = f1;\r
93 if (sf1.isFileSystem ()) {\r
94 sf1 = null;\r
95 }}if (Clazz.instanceOf (f2, jssun.awt.shell.ShellFolder)) {\r
96 sf2 = f2;\r
97 if (sf2.isFileSystem ()) {\r
98 sf2 = null;\r
99 }}if (sf1 != null && sf2 != null) {\r
100 return sf1.compareTo (sf2);\r
101 } else if (sf1 != null) {\r
102 return -1;\r
103 } else if (sf2 != null) {\r
104 return 1;\r
105 } else {\r
106 var name1 = f1.getName ();\r
107 var name2 = f2.getName ();\r
108 var diff = name1.toLowerCase ().compareTo (name2.toLowerCase ());\r
109 if (diff != 0) {\r
110 return diff;\r
111 } else {\r
112 return name1.compareTo (name2);\r
113 }}}, "java.io.File,java.io.File");\r
114 c$ = Clazz.p0p ();\r
115 };\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
119 function () {\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
123 });\r
124 Clazz.overrideMethod (c$, "compare", \r
125 function (a, b) {\r
126 var c;\r
127 if (a == null && b == null) {\r
128 c = 0;\r
129 } else if (a != null && b == null) {\r
130 c = 1;\r
131 } else if (a == null && b != null) {\r
132 c = -1;\r
133 } else if (Clazz.instanceOf (a, Comparable)) {\r
134 c = (a).compareTo (b);\r
135 } else {\r
136 c = 0;\r
137 }return c;\r
138 }, "~O,~O");\r
139 Clazz.defineStatics (c$,\r
140 "instance", null);\r
141 c$ = Clazz.p0p ();\r
142 Clazz.defineStatics (c$,\r
143 "COLUMN_NAME", "FileChooser.fileNameHeaderText",\r
144 "COLUMN_SIZE", "FileChooser.fileSizeHeaderText",\r
145 "COLUMN_DATE", "FileChooser.fileDateHeaderText");\r
146 });\r