.. | .. |
---|
278 | 278 | frame.setMenuBar(menuBar = new MenuBar()); |
---|
279 | 279 | menuBar.add(fileMenu = new Menu("File")); |
---|
280 | 280 | fileMenu.add(newItem = new MenuItem("New")); |
---|
281 | | - fileMenu.add(loadItem = new MenuItem("Load...")); |
---|
| 281 | + fileMenu.add(loadItem = new MenuItem("Open...")); |
---|
282 | 282 | |
---|
283 | 283 | //oe.menuBar.add(menu = new Menu("Include")); |
---|
284 | 284 | Menu menu = new Menu("Import"); |
---|
.. | .. |
---|
419 | 419 | e.printStackTrace(); |
---|
420 | 420 | } |
---|
421 | 421 | |
---|
422 | | - String selection = infoarea.getText(); |
---|
423 | | - java.awt.datatransfer.StringSelection data = new java.awt.datatransfer.StringSelection(selection); |
---|
424 | | - java.awt.datatransfer.Clipboard clipboard = |
---|
425 | | - Toolkit.getDefaultToolkit().getSystemClipboard(); |
---|
| 422 | +// String selection = infoarea.getText(); |
---|
| 423 | +// java.awt.datatransfer.StringSelection data = new java.awt.datatransfer.StringSelection(selection); |
---|
| 424 | +// java.awt.datatransfer.Clipboard clipboard = |
---|
| 425 | +// Toolkit.getDefaultToolkit().getSystemClipboard(); |
---|
426 | 426 | //clipboard.setContents(data, data); |
---|
427 | 427 | } |
---|
428 | 428 | |
---|
.. | .. |
---|
2072 | 2072 | |
---|
2073 | 2073 | void LoadObjFile(String fullname) |
---|
2074 | 2074 | { |
---|
2075 | | - /* |
---|
| 2075 | + System.out.println("Loading " + fullname); |
---|
| 2076 | + /**/ |
---|
2076 | 2077 | //lastFilename = fullname; |
---|
2077 | 2078 | if(loadObjThread == null) |
---|
2078 | 2079 | { |
---|
2079 | | - loadObjThread = new LoadOBJThread(); |
---|
2080 | | - loadObjThread.start(); |
---|
| 2080 | + loadObjThread = new LoadOBJThread(); |
---|
| 2081 | + loadObjThread.start(); |
---|
2081 | 2082 | } |
---|
2082 | 2083 | |
---|
2083 | 2084 | loadObjThread.add(fullname); |
---|
2084 | | - */ |
---|
| 2085 | + /**/ |
---|
2085 | 2086 | |
---|
2086 | | - System.out.println("Loading " + fullname); |
---|
2087 | | - makeSomething(new FileObject(fullname, true), true); |
---|
| 2087 | + //makeSomething(new FileObject(fullname, true), true); |
---|
2088 | 2088 | } |
---|
2089 | 2089 | |
---|
2090 | 2090 | void LoadGFDFile(String fullname) |
---|
.. | .. |
---|
2927 | 2927 | return; |
---|
2928 | 2928 | } else if (event.getSource() == toggleSwitchItem) |
---|
2929 | 2929 | { |
---|
2930 | | - cameraView.ToggleRandom(); |
---|
| 2930 | + cameraView.ToggleSwitch(); |
---|
2931 | 2931 | cameraView.repaint(); |
---|
2932 | 2932 | return; |
---|
2933 | 2933 | } else if (event.getSource() == toggleHandleItem) |
---|
.. | .. |
---|
3214 | 3214 | objEditor.refreshContents(); |
---|
3215 | 3215 | } |
---|
3216 | 3216 | |
---|
3217 | | - static public byte[] Compress(Object o) |
---|
| 3217 | + static public byte[] Compress(Object3D o) |
---|
3218 | 3218 | { |
---|
3219 | 3219 | try |
---|
3220 | 3220 | { |
---|
.. | .. |
---|
3222 | 3222 | java.util.zip.GZIPOutputStream zstream = new java.util.zip.GZIPOutputStream(baos); |
---|
3223 | 3223 | ObjectOutputStream out = new ObjectOutputStream(zstream); |
---|
3224 | 3224 | |
---|
| 3225 | + Object3D parent = o.parent; |
---|
| 3226 | + o.parent = null; |
---|
| 3227 | + |
---|
3225 | 3228 | out.writeObject(o); |
---|
3226 | 3229 | |
---|
| 3230 | + o.parent = parent; |
---|
| 3231 | + |
---|
3227 | 3232 | out.flush(); |
---|
3228 | 3233 | |
---|
3229 | 3234 | zstream.close(); |
---|
.. | .. |
---|
3239 | 3244 | |
---|
3240 | 3245 | static public Object Uncompress(byte[] bytes) |
---|
3241 | 3246 | { |
---|
| 3247 | + System.out.println("#bytes = " + bytes.length); |
---|
3242 | 3248 | try |
---|
3243 | 3249 | { |
---|
3244 | 3250 | ByteArrayInputStream bais = new ByteArrayInputStream(bytes); |
---|
.. | .. |
---|
3305 | 3311 | { |
---|
3306 | 3312 | cRadio tab = GetCurrentTab(); |
---|
3307 | 3313 | |
---|
| 3314 | + boolean temp = CameraPane.SWITCH; |
---|
| 3315 | + CameraPane.SWITCH = false; |
---|
| 3316 | + |
---|
3308 | 3317 | copy.ExtractBigData(hashtable); |
---|
3309 | 3318 | |
---|
3310 | 3319 | //EditorFrame.m_MainFrame.requestFocusInWindow(); |
---|
3311 | | - tab.graphs[tab.undoindex++] = (Object3D)clone(copy); |
---|
| 3320 | + tab.graphs[tab.undoindex++] = Compress(copy); |
---|
3312 | 3321 | |
---|
3313 | 3322 | copy.RestoreBigData(hashtable); |
---|
| 3323 | + |
---|
| 3324 | + CameraPane.SWITCH = temp; |
---|
3314 | 3325 | |
---|
3315 | 3326 | //assert(hashtable.isEmpty()); |
---|
3316 | 3327 | |
---|
.. | .. |
---|
3341 | 3352 | |
---|
3342 | 3353 | void CopyChanged(Object3D obj) |
---|
3343 | 3354 | { |
---|
| 3355 | + boolean temp = CameraPane.SWITCH; |
---|
| 3356 | + CameraPane.SWITCH = false; |
---|
| 3357 | + |
---|
3344 | 3358 | copy.ExtractBigData(hashtable); |
---|
3345 | 3359 | |
---|
3346 | 3360 | copy.clear(); |
---|
.. | .. |
---|
3351 | 3365 | } |
---|
3352 | 3366 | |
---|
3353 | 3367 | copy.RestoreBigData(hashtable); |
---|
| 3368 | + |
---|
| 3369 | + CameraPane.SWITCH = temp; |
---|
3354 | 3370 | |
---|
3355 | 3371 | //assert(hashtable.isEmpty()); |
---|
3356 | 3372 | |
---|
.. | .. |
---|
3393 | 3409 | |
---|
3394 | 3410 | tab.undoindex -= 1; |
---|
3395 | 3411 | |
---|
3396 | | - CopyChanged(tab.graphs[tab.undoindex]); |
---|
| 3412 | + CopyChanged((Object3D)Uncompress(tab.graphs[tab.undoindex])); |
---|
3397 | 3413 | } |
---|
3398 | 3414 | |
---|
3399 | 3415 | public void Redo() |
---|
.. | .. |
---|
3408 | 3424 | |
---|
3409 | 3425 | tab.undoindex += 1; |
---|
3410 | 3426 | |
---|
3411 | | - CopyChanged(tab.graphs[tab.undoindex]); |
---|
| 3427 | + CopyChanged((Object3D)Uncompress(tab.graphs[tab.undoindex])); |
---|
3412 | 3428 | } |
---|
3413 | 3429 | |
---|
3414 | 3430 | void ImportGFD() |
---|
.. | .. |
---|
4279 | 4295 | |
---|
4280 | 4296 | try |
---|
4281 | 4297 | { |
---|
| 4298 | + // Try compressed version first. |
---|
4282 | 4299 | java.io.FileInputStream istream = new java.io.FileInputStream(fullname); |
---|
4283 | 4300 | java.util.zip.GZIPInputStream zstream = new java.util.zip.GZIPInputStream(istream); |
---|
4284 | 4301 | java.io.ObjectInputStream p = new java.io.ObjectInputStream(zstream); |
---|
.. | .. |
---|
4348 | 4365 | |
---|
4349 | 4366 | void LoadIt(Object obj) |
---|
4350 | 4367 | { |
---|
| 4368 | + if (obj == null) |
---|
| 4369 | + { |
---|
| 4370 | + // Invalid file |
---|
| 4371 | + return; |
---|
| 4372 | + } |
---|
| 4373 | + |
---|
4351 | 4374 | System.out.println("Loaded " + obj); |
---|
4352 | 4375 | //new Exception().printStackTrace(); |
---|
4353 | 4376 | Object3D readobj = (Object3D) obj; |
---|