.. | .. |
---|
426 | 426 | |
---|
427 | 427 | static java.util.Vector<Object3D> listUI = new java.util.Vector<Object3D>(); |
---|
428 | 428 | |
---|
| 429 | + // This is to refresh the UI of the material panel. |
---|
| 430 | + boolean patchMaterial; |
---|
| 431 | + |
---|
429 | 432 | void SetupMenu() |
---|
430 | 433 | { |
---|
431 | 434 | frame.setMenuBar(menuBar = new MenuBar()); |
---|
.. | .. |
---|
951 | 954 | boolean temp = CameraPane.SWITCH; |
---|
952 | 955 | CameraPane.SWITCH = false; |
---|
953 | 956 | |
---|
954 | | - object.ExtractBigData(versiontable); |
---|
| 957 | + if (Grafreed.grafreed.universe.versiontable == null) |
---|
| 958 | + Grafreed.grafreed.universe.versiontable = new java.util.Hashtable<java.util.UUID, Object3D>(); |
---|
| 959 | + |
---|
| 960 | + object.ExtractBigData(Grafreed.grafreed.universe.versiontable); |
---|
955 | 961 | // if (copy == client) |
---|
956 | 962 | |
---|
957 | 963 | Object3D versions[] = object.versionlist; |
---|
| 964 | + java.util.Hashtable<java.util.UUID, Object3D> versiontable = object.versiontable; // if Grafreed.grafreed.universe |
---|
958 | 965 | object.versionlist = null; |
---|
| 966 | + object.versiontable = null; |
---|
959 | 967 | |
---|
960 | 968 | //byte[] compress = Compress(copy); |
---|
961 | 969 | Object3D compress = (Object3D)Grafreed.clone(object); |
---|
962 | 970 | |
---|
963 | 971 | object.versionlist = versions; |
---|
| 972 | + object.versiontable = versiontable; // if Grafreed.grafreed.universe |
---|
964 | 973 | |
---|
965 | | - object.RestoreBigData(versiontable); |
---|
| 974 | + object.RestoreBigData(Grafreed.grafreed.universe.versiontable); |
---|
966 | 975 | |
---|
967 | 976 | CameraPane.SWITCH = temp; |
---|
968 | 977 | |
---|
.. | .. |
---|
1659 | 1668 | |
---|
1660 | 1669 | //JScrollPane tmp = new JScrollPane(ctrlPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); |
---|
1661 | 1670 | //tmp.setName("Edit"); |
---|
1662 | | - objectPanel.add(materialPanel); |
---|
1663 | | - objectPanel.setIconAt(0, GetIcon("icons/material.png")); |
---|
1664 | | - objectPanel.setToolTipTextAt(0, "Material"); |
---|
1665 | | - |
---|
1666 | 1671 | objectPanel.add(toolboxPanel); |
---|
1667 | | - objectPanel.setIconAt(1, GetIcon("icons/primitives.png")); |
---|
1668 | | - objectPanel.setToolTipTextAt(1, "Objects & textures"); |
---|
| 1672 | + objectPanel.setIconAt(0, GetIcon("icons/primitives.png")); |
---|
| 1673 | + objectPanel.setToolTipTextAt(0, "Objects & textures"); |
---|
1669 | 1674 | |
---|
| 1675 | + objectPanel.add(materialPanel); |
---|
| 1676 | + objectPanel.setIconAt(1, GetIcon("icons/material.png")); |
---|
| 1677 | + objectPanel.setToolTipTextAt(1, "Material"); |
---|
| 1678 | + |
---|
1670 | 1679 | objectPanel.add(skyboxPanel); |
---|
1671 | 1680 | objectPanel.setIconAt(2, GetIcon("icons/skybox.jpg")); |
---|
1672 | 1681 | objectPanel.setToolTipTextAt(2, "Backgrounds"); |
---|
.. | .. |
---|
1683 | 1692 | objectPanel.setIconAt(4, GetIcon("icons/XYZ.png")); |
---|
1684 | 1693 | objectPanel.setToolTipTextAt(4, "XYZ/RGB transform"); |
---|
1685 | 1694 | |
---|
| 1695 | + patchMaterial = true; |
---|
| 1696 | + cameraView.patchMaterial = this; |
---|
| 1697 | + objectPanel.setSelectedIndex(1); |
---|
| 1698 | + |
---|
1686 | 1699 | /* |
---|
1687 | 1700 | aConstraints.gridx = 0; |
---|
1688 | 1701 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1880 | 1893 | |
---|
1881 | 1894 | // Skin |
---|
1882 | 1895 | colorField.setFloat(material.color); |
---|
1883 | | - saturationField.setFloat(material.modulation); |
---|
| 1896 | + float saturation = material.modulation; |
---|
| 1897 | + |
---|
| 1898 | + if (!cameraView.Skinshader) |
---|
| 1899 | + { |
---|
| 1900 | + saturation /= 1.5; |
---|
| 1901 | + } |
---|
| 1902 | + |
---|
| 1903 | + saturationField.setFloat(saturation); |
---|
| 1904 | + |
---|
1884 | 1905 | subsurfaceField.setFloat(material.subsurface); |
---|
1885 | 1906 | selfshadowField.setFloat(material.diffuseness); |
---|
1886 | 1907 | diffusenessField.setFloat(material.factor); |
---|
.. | .. |
---|
3913 | 3934 | //System.out.println("ObjEditor " + event); |
---|
3914 | 3935 | applySelf0(true); |
---|
3915 | 3936 | //parent.applySelf(); |
---|
3916 | | - objEditor.refreshContents(); |
---|
| 3937 | + // conflicts with requestFocus objEditor.refreshContents(); |
---|
3917 | 3938 | } else if (source == resetButton) |
---|
3918 | 3939 | { |
---|
3919 | 3940 | CameraPane.fullreset = true; |
---|
.. | .. |
---|
4225 | 4246 | return true; |
---|
4226 | 4247 | } |
---|
4227 | 4248 | |
---|
4228 | | - java.util.Hashtable<java.util.UUID, Object3D> versiontable = new java.util.Hashtable<java.util.UUID, Object3D>(); |
---|
4229 | | - |
---|
4230 | 4249 | void DeleteVersion() |
---|
4231 | 4250 | { |
---|
4232 | 4251 | for (int i = copy.versionindex; i < copy.versionlist.length-1; i++) |
---|
.. | .. |
---|
4234 | 4253 | copy.versionlist[i] = copy.versionlist[i+1]; |
---|
4235 | 4254 | } |
---|
4236 | 4255 | |
---|
4237 | | - CopyChanged(); |
---|
| 4256 | + if (copy.versionlist[copy.versionindex] == null) |
---|
| 4257 | + copy.versionindex -= 1; |
---|
| 4258 | + |
---|
| 4259 | + if (copy.versionindex != -1) |
---|
| 4260 | + CopyChanged(); |
---|
4238 | 4261 | |
---|
4239 | 4262 | SetVersionStates(); |
---|
4240 | 4263 | } |
---|
.. | .. |
---|
4347 | 4370 | boolean temp = CameraPane.SWITCH; |
---|
4348 | 4371 | CameraPane.SWITCH = false; |
---|
4349 | 4372 | |
---|
4350 | | - copy.ExtractBigData(versiontable); |
---|
| 4373 | + copy.ExtractBigData(Grafreed.grafreed.universe.versiontable); |
---|
4351 | 4374 | |
---|
4352 | 4375 | copy.clear(); |
---|
4353 | 4376 | |
---|
.. | .. |
---|
4359 | 4382 | copy.add(obj.get(i)); |
---|
4360 | 4383 | } |
---|
4361 | 4384 | |
---|
4362 | | - copy.RestoreBigData(versiontable); |
---|
| 4385 | + copy.RestoreBigData(Grafreed.grafreed.universe.versiontable); |
---|
4363 | 4386 | |
---|
4364 | 4387 | CameraPane.SWITCH = temp; |
---|
4365 | 4388 | |
---|
.. | .. |
---|
4422 | 4445 | previousVersionButton.setEnabled(copy.versionindex > 0); |
---|
4423 | 4446 | nextVersionButton.setEnabled(copy.versionlist[copy.versionindex + 1] != null); |
---|
4424 | 4447 | |
---|
4425 | | - deleteVersionButton.setEnabled(//copy.versionindex > 0 && |
---|
4426 | | - copy.versionlist[copy.versionindex + 1] != null); |
---|
| 4448 | + deleteVersionButton.setEnabled(copy.versionindex != -1); |
---|
| 4449 | + //copy.versionlist[copy.versionindex + 1] != null); |
---|
4427 | 4450 | |
---|
4428 | 4451 | muteSlider = true; |
---|
4429 | 4452 | versionSlider.setMinimum(0); |
---|
.. | .. |
---|
4488 | 4511 | |
---|
4489 | 4512 | public boolean Replace() |
---|
4490 | 4513 | { |
---|
4491 | | - System.err.println("Replace"); |
---|
| 4514 | + //System.err.println("Replace"); |
---|
4492 | 4515 | |
---|
4493 | 4516 | //cRadio tab = GetCurrentTab(); |
---|
4494 | 4517 | |
---|
.. | .. |
---|
5578 | 5601 | |
---|
5579 | 5602 | copy.versionlist = readobj.versionlist; |
---|
5580 | 5603 | copy.versionindex = readobj.versionindex; |
---|
| 5604 | + copy.versiontable = readobj.versiontable; |
---|
5581 | 5605 | |
---|
5582 | 5606 | if (copy.versionlist == null) |
---|
5583 | 5607 | { |
---|