Normand Briere
2019-06-24 914255f70cf047897212839cbf3a6722703f4457
ObjEditor.java
....@@ -4,6 +4,7 @@
44
55 import java.awt.*;
66 import java.awt.event.*;
7
+import java.awt.image.BufferedImage;
78 import javax.swing.*;
89 import javax.swing.event.*;
910 import javax.swing.text.*;
....@@ -37,6 +38,52 @@
3738 JFrame frame;
3839
3940 static ObjEditor theFrame;
41
+
42
+ cButton GetButton(String name, boolean border)
43
+ {
44
+ try
45
+ {
46
+ ImageIcon icon = GetIcon(name);
47
+ return new cButton(icon, border);
48
+ }
49
+ catch (Exception e)
50
+ {
51
+ return new cButton(name, border);
52
+ }
53
+ }
54
+
55
+ cCheckBox GetCheckBox(String name, boolean border)
56
+ {
57
+ try
58
+ {
59
+ ImageIcon icon = GetIcon(name);
60
+ return new cCheckBox(icon, border);
61
+ }
62
+ catch (Exception e)
63
+ {
64
+ return new cCheckBox(name, border);
65
+ }
66
+ }
67
+
68
+ private ImageIcon GetIcon(String name) throws IOException
69
+ {
70
+ BufferedImage image = javax.imageio.ImageIO.read(getClass().getClassLoader().getResourceAsStream(name));
71
+
72
+ if (image.getWidth() != 24 && image.getHeight() != 24)
73
+ {
74
+ BufferedImage resized = new BufferedImage(24, 24, image.getType());
75
+ Graphics2D g = resized.createGraphics();
76
+ g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
77
+ //g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
78
+ g.drawImage(image, 0, 0, 24, 24, 0, 0, image.getWidth(), image.getHeight(), null);
79
+ g.dispose();
80
+
81
+ image = resized;
82
+ }
83
+
84
+ javax.swing.ImageIcon icon = new javax.swing.ImageIcon(image);
85
+ return icon;
86
+ }
4087
4188 // SCRIPT
4289
....@@ -171,7 +218,7 @@
171218
172219 objEditor.ctrlPanel.remove(setupPanel);
173220 objEditor.ctrlPanel.remove(setupPanel2);
174
- objEditor.ctrlPanel.remove(commandsPanel);
221
+ objEditor.ctrlPanel.remove(objectCommandsPanel);
175222 objEditor.ctrlPanel.remove(pushPanel);
176223 //objEditor.ctrlPanel.remove(fillPanel);
177224
....@@ -327,9 +374,18 @@
327374 toolbarPanel.setName("Toolbar");
328375 treePanel = new cGridBag();
329376 treePanel.setName("Tree");
377
+
378
+ editPanel = new cGridBag().setVertical(true);
379
+ editPanel.setName("Edit");
380
+
330381 ctrlPanel = new cGridBag().setVertical(false); // new GridBagLayout());
331
- ctrlPanel.setName("Edit");
382
+
383
+ editCommandsPanel = new cGridBag();
384
+ editPanel.add(editCommandsPanel);
385
+ editPanel.add(ctrlPanel);
386
+
332387 materialPanel = new cGridBag().setVertical(true);
388
+
333389 materialPanel.setName("Material");
334390 /*JTextPane*/
335391 infoarea = createTextPane();
....@@ -819,10 +875,13 @@
819875 JButton fasterButton;
820876 JButton remarkButton;
821877
878
+ cGridBag editPanel;
879
+ cGridBag editCommandsPanel;
880
+
822881 cGridBag namePanel;
823882 cGridBag setupPanel;
824883 cGridBag setupPanel2;
825
- cGridBag commandsPanel;
884
+ cGridBag objectCommandsPanel;
826885 cGridBag pushPanel;
827886 cGridBag fillPanel;
828887
....@@ -1035,23 +1094,23 @@
10351094 oe.ctrlPanel.add(setupPanel2);
10361095 oe.ctrlPanel.Return();
10371096
1038
- commandsPanel = new cGridBag().setVertical(false);
1097
+ objectCommandsPanel = new cGridBag().setVertical(false);
10391098
1040
- resetButton = AddButton(commandsPanel, "Reset");
1099
+ resetButton = AddButton(objectCommandsPanel, "Reset");
10411100 resetButton.setToolTipText("Jump to frame zero");
1042
- stepButton = AddButton(commandsPanel, "Step");
1101
+ stepButton = AddButton(objectCommandsPanel, "Step");
10431102 stepButton.setToolTipText("Step one frame");
10441103 // resetAllButton = AddButton(oe, "Reset All");
10451104 // stepAllButton = AddButton(oe, "Step All");
10461105 // Return();
1047
- slowerButton = AddButton(commandsPanel, "Slow");
1106
+ slowerButton = AddButton(objectCommandsPanel, "Slow");
10481107 slowerButton.setToolTipText("Decrease animation speed");
1049
- fasterButton = AddButton(commandsPanel, "Fast");
1108
+ fasterButton = AddButton(objectCommandsPanel, "Fast");
10501109 fasterButton.setToolTipText("Increase animation speed");
1051
- remarkButton = AddButton(commandsPanel, "Remark");
1110
+ remarkButton = AddButton(objectCommandsPanel, "Remark");
10521111 remarkButton.setToolTipText("Set the current transform as the target");
10531112
1054
- oe.ctrlPanel.add(commandsPanel);
1113
+ oe.ctrlPanel.add(objectCommandsPanel);
10551114 oe.ctrlPanel.Return();
10561115
10571116 pushPanel = AddSlider(oe.ctrlPanel, "Push", -1, 1, copy.NORMALPUSH, 1.1); // To have the buttons
....@@ -1340,7 +1399,7 @@
13401399 // north.setName("Edit");
13411400 // north.add(ctrlPanel, BorderLayout.NORTH);
13421401 // objectPanel.add(north);
1343
- objectPanel.add(ctrlPanel);
1402
+ objectPanel.add(editPanel);
13441403 objectPanel.add(infoPanel);
13451404
13461405 /*
....@@ -3396,6 +3455,8 @@
33963455
33973456 public void Save()
33983457 {
3458
+ System.err.println("Save");
3459
+
33993460 cRadio tab = GetCurrentTab();
34003461
34013462 boolean temp = CameraPane.SWITCH;
....@@ -3480,6 +3541,8 @@
34803541
34813542 public void Undo()
34823543 {
3544
+ System.err.println("Undo");
3545
+
34833546 cRadio tab = GetCurrentTab();
34843547
34853548 if (tab.undoindex == 0)
....@@ -4158,7 +4221,8 @@
41584221
41594222 void makeSomething(Object3D thing, boolean resetmodel) // deselect)
41604223 {
4161
- Save();
4224
+ if (Globals.SAVEONMAKE)
4225
+ Save();
41624226 //Tween.set(thing, 0).target(1).start(tweenManager);
41634227 //Tween.to(thing, 0, 0.5f).target(0).start(tweenManager);
41644228 // if (thing instanceof GenericJointDemo)
....@@ -4467,6 +4531,7 @@
44674531
44684532 if (readobj != null)
44694533 {
4534
+ if (Globals.SAVEONMAKE)
44704535 Save();
44714536 try
44724537 {