Normand Briere
2019-08-12 b1d79b74514041a059b454a9f6fc3970773c0cb8
ObjEditor.java
....@@ -754,6 +754,7 @@
754754 boolean maximized;
755755
756756 cButton fullscreenLayout;
757
+ cButton expandedLayout;
757758
758759 void Minimize()
759760 {
....@@ -793,10 +794,12 @@
793794 cButton minButton;
794795 cButton maxButton;
795796 cButton fullButton;
797
+ cButton collapseButton;
798
+ cButton maximize3DButton;
796799
797800 void ToggleFullScreen()
798801 {
799
-GraphicsDevice device = frame.getGraphicsConfiguration().getDevice();
802
+ GraphicsDevice device = frame.getGraphicsConfiguration().getDevice();
800803
801804 cameraView.ToggleFullScreen();
802805
....@@ -817,13 +820,13 @@
817820 // X frame.getContentPane().remove(/*"Center",*/bigThree);
818821 // X framePanel.add(bigThree);
819822 // X frame.getContentPane().add(/*"Center",*/framePanel);
820
- framePanel.setDividerLocation(46);
823
+// framePanel.setDividerLocation(46); // icons are 24x24
821824
822825 //frame.setVisible(true);
823
- radio.layout = keepButton;
826
+// radio.layout = keepButton;
824827 //theFrame = null;
825828 keepButton = null;
826
- radio.layout.doClick();
829
+// radio.layout.doClick();
827830
828831 } else
829832 {
....@@ -844,10 +847,10 @@
844847 // X frame.getContentPane().remove(/*"Center",*/framePanel);
845848 // X framePanel.remove(bigThree);
846849 // X frame.getContentPane().add(/*"Center",*/bigThree);
847
- framePanel.setDividerLocation(0);
850
+// framePanel.setDividerLocation(0);
848851
849
- radio.layout = fullscreenLayout;
850
- radio.layout.doClick();
852
+// radio.layout = fullscreenLayout;
853
+// radio.layout.doClick();
851854 //frame.setVisible(true);
852855 }
853856 frame.validate();
....@@ -855,23 +858,31 @@
855858 cameraView.requestFocusInWindow();
856859 }
857860
858
- private Object3D CompressCopy()
861
+ void CollapseToolbar()
862
+ {
863
+ framePanel.setDividerLocation(0);
864
+ //frame.validate();
865
+
866
+ cameraView.requestFocusInWindow();
867
+ }
868
+
869
+ private Object3D Duplicate(Object3D object)
859870 {
860871 boolean temp = CameraPane.SWITCH;
861872 CameraPane.SWITCH = false;
862873
863
- copy.ExtractBigData(versiontable);
874
+ object.ExtractBigData(versiontable);
864875 // if (copy == client)
865876
866
- Object3D versions[] = copy.versionlist;
867
- copy.versionlist = null;
877
+ Object3D versions[] = object.versionlist;
878
+ object.versionlist = null;
868879
869880 //byte[] compress = Compress(copy);
870
- Object3D compress = (Object3D)Grafreed.clone(copy);
881
+ Object3D compress = (Object3D)Grafreed.clone(object);
871882
872
- copy.versionlist = versions;
883
+ object.versionlist = versions;
873884
874
- copy.RestoreBigData(versiontable);
885
+ object.RestoreBigData(versiontable);
875886
876887 CameraPane.SWITCH = temp;
877888
....@@ -1702,6 +1713,23 @@
17021713 // aConstraints.gridheight = 1;
17031714
17041715 framePanel = new JSplitPane(JSplitPane.VERTICAL_SPLIT, toolbarPanel, bigThree);
1716
+
1717
+ framePanel.addPropertyChangeListener(JSplitPane.DIVIDER_LOCATION_PROPERTY,
1718
+ new java.beans.PropertyChangeListener()
1719
+ {
1720
+ public void propertyChange(java.beans.PropertyChangeEvent pce)
1721
+ {
1722
+ if ((Integer)pce.getOldValue() == 1)
1723
+ {
1724
+ if (radio.layout != expandedLayout)
1725
+ {
1726
+ radio.layout = expandedLayout;
1727
+ radio.layout.doClick();
1728
+ }
1729
+ }
1730
+ }
1731
+ });
1732
+
17051733 framePanel.setContinuousLayout(false);
17061734 framePanel.setOneTouchExpandable(false);
17071735 //.setDividerLocation(0.8);
....@@ -2120,6 +2148,25 @@
21202148 }
21212149 });
21222150 presetpanel.add(candle);
2151
+
2152
+ cLabel shadowShader = GetLabel("icons/shadericons/shadow.png", !Grafreed.NIMBUSLAF);
2153
+ shadowShader.setToolTipText("Shadow");
2154
+ shadowShader.addMouseListener(new MouseAdapter()
2155
+ {
2156
+ public void mouseClicked(MouseEvent e)
2157
+ {
2158
+ diffuseField.setFloat(0.001);
2159
+ ambientField.setFloat(0.001);
2160
+ cameraField.setFloat(0.001);
2161
+ specularField.setFloat(0.001);
2162
+ fakedepthField.setFloat(0.001);
2163
+ opacityField.setFloat(0.6);
2164
+
2165
+ materialtouched = true;
2166
+ applySelf();
2167
+ }
2168
+ });
2169
+ presetpanel.add(shadowShader);
21232170
21242171 cGridBag panel = new cGridBag().setVertical(true);
21252172
....@@ -4112,11 +4159,11 @@
41124159 public boolean Save(boolean user)
41134160 {
41144161 System.err.println("Save");
4115
- //Replace();
4162
+ Replace();
41164163
41174164 cRadio tab = GetCurrentTab();
41184165
4119
- Object3D compress = CompressCopy(); // Saved version. No need for "Replace"?
4166
+ Object3D compress = Duplicate(copy); // Saved version. No need for "Replace"?
41204167
41214168 boolean thesame = false;
41224169
....@@ -4210,7 +4257,7 @@
42104257
42114258 void CopyChanged()
42124259 {
4213
- Object3D obj = copy.versionlist[copy.versionindex];
4260
+ Object3D obj = (Object3D)Grafreed.clone(copy.versionlist[copy.versionindex]);
42144261
42154262 SetUndoStates();
42164263
....@@ -4363,7 +4410,7 @@
43634410 return false;
43644411 }
43654412
4366
- copy.versionlist[copy.versionindex] = CompressCopy();
4413
+ copy.versionlist[copy.versionindex] = Duplicate(copy);
43674414
43684415 return true;
43694416 }
....@@ -4738,7 +4785,7 @@
47384785 //System.out.println("stateChanged = " + this);
47394786 materialtouched = true;
47404787
4741
- if (e.getSource() == colorField && saturationField.getFloat() == 0.001)
4788
+ if (Globals.AUTOSATURATE && e.getSource() == colorField && saturationField.getFloat() == 0.001)
47424789 {
47434790 saturationField.setFloat(1);
47444791 }
....@@ -5882,6 +5929,7 @@
58825929 cNumberSlider anisoField;
58835930 JLabel anisoVLabel;
58845931 cNumberSlider anisoVField;
5932
+
58855933 JLabel cameraLabel;
58865934 cNumberSlider cameraField;
58875935 JLabel selfshadowLabel;
....@@ -5896,6 +5944,7 @@
58965944 cNumberSlider fakedepthField;
58975945 JLabel shadowbiasLabel;
58985946 cNumberSlider shadowbiasField;
5947
+
58995948 JLabel bumpLabel;
59005949 cNumberSlider bumpField;
59015950 JLabel noiseLabel;