Normand Briere
2019-08-15 7f97054d681518416a4ee1c1548ad42cfb489a8f
Grafreed.java
....@@ -49,6 +49,79 @@
4949
5050 }
5151 }
52
+
53
+ public static String RemovePrefix(String s, String prefix)
54
+ {
55
+ if (s != null && prefix != null && s.startsWith(prefix))
56
+ {
57
+ return s.substring(prefix.length());
58
+ }
59
+
60
+ return s;
61
+ }
62
+
63
+ static void ParseFileSystem(java.io.File dir, iResourceCallBack callback, String prefix)
64
+ {
65
+ callback.ResourceCallBack(RemovePrefix(dir.toString(),prefix).split("/"));
66
+ File[] listFiles = dir.listFiles();
67
+ if (listFiles != null)
68
+ {
69
+ for (java.io.File file : listFiles)
70
+ {
71
+ ParseFileSystem(file, callback, prefix);
72
+ }
73
+ }
74
+ }
75
+
76
+ static interface iResourceCallBack
77
+ {
78
+ void ResourceCallBack(String[] path);
79
+ }
80
+
81
+ static void ParseResources(String path, iResourceCallBack callback)
82
+ {
83
+ java.io.File jarFile = new java.io.File(Grafreed.class.getProtectionDomain().getCodeSource().getLocation().getPath());
84
+
85
+ if (jarFile.isFile())
86
+ {
87
+ // Run with JAR file
88
+ try
89
+ {
90
+ java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile);
91
+ java.util.Enumeration<java.util.jar.JarEntry> entries = jar.entries(); //gives ALL entries in jar
92
+ while (entries.hasMoreElements())
93
+ {
94
+ String name = entries.nextElement().getName();
95
+
96
+ if (name.startsWith(path + "/"))
97
+ callback.ResourceCallBack(RemovePrefix(name, path + "/").split("/"));
98
+ }
99
+ jar.close();
100
+ } catch (Exception ex)
101
+ {
102
+ ex.printStackTrace();
103
+ }
104
+ } else
105
+ {
106
+ // Run with IDE
107
+ final java.net.URL url = Object3D.class.getResource("/" + path);
108
+ if (url != null)
109
+ {
110
+ try
111
+ {
112
+ java.io.File apps = new java.io.File(url.toURI());
113
+ ParseFileSystem(apps, callback, RemovePrefix(url.toString() + "/", "file:"));
114
+// for (java.io.File app : apps.listFiles())
115
+// {
116
+// //System.out.println(RemovePrefix(app.toString(), RemovePrefix(url.toString(), "file:") + "/"));
117
+// }
118
+ } catch (Exception ex)
119
+ {
120
+ ex.printStackTrace();
121
+ }
122
+ }
123
+ }
124
+ }
52125
53126 public void init()
54127 {
....@@ -855,6 +928,9 @@
855928 grafreed.universe = new cGroup();
856929 grafreed.universe.name = "Grafreed";
857930 grafreed.universe.material = new cMaterial();
931
+ grafreed.universe.skyboxname = "cubemaps/penguins-skyboxes/tropic";
932
+ grafreed.universe.skyboxext = "jpg";
933
+
858934 // theApplet3D.universe.textures = CameraPane.DEFAULT_TEXTURE;
859935
860936 grafreed.universe.root = true;
....@@ -862,6 +938,8 @@
862938 //mon.stop();
863939 //System.out.println(mon);
864940 //timeflow.app.TimeflowAppLauncher.GetTimeFlow();
941
+
942
+ javax.swing.ToolTipManager.sharedInstance().setEnabled(Globals.TOOLTIPS);
865943 }
866944
867945 static Object3D materials;