Enginuity 0.2.7.1 Beta

git-svn-id: http://svn.3splooges.com/romraider-arch/trunk@26 d2e2e1cd-ba16-0410-be16-b7c4453c7c2d
This commit is contained in:
drees 2006-06-28 07:12:47 +00:00
parent 4b47fb54c8
commit 4b62c5b266
8 changed files with 48 additions and 21 deletions

View File

@ -4,6 +4,12 @@ Enginuity is currently in BETA TEST status, meaning it is not thoroughly tested
Until Enginuity reaches a mature point, releases will be quite frequent and will usually contain significant changes. However, some times I may release a revision to add a single feature I'd like users to have, or maybe just to add a certain ECU version. Until more features are complete, version support will be quite limited. If you'd like your ECU version to be added, please visit openecu.org and post a message in the Technical Tuning Software forum, with your image attached.
0.2.7.1b Release Notes (4/12/2006)
--------------------------------
There were a few small bugs with settings not saving properly. Fixed.
0.2.7b Release Notes (4/12/2006)
--------------------------------
The main goal of this release was fixing known issues and adding a settings panel. The settings panel now allows you to choose the way tables are displayed, which warnings will be displayed and specify system files. Settings are now stored in settings.xml -- the old method caused settings to be lost whenever a new feature was introduced with a release. A message will appear the first time you run the new version telling you Enginuity is creating a new settings file.
@ -13,6 +19,14 @@ Bug fixes are listed in the changes below. A memory usage issue still exists in
Changes:
--------
0.2.7.1b (4/12/2006)
--------------------
- Fixed ECU definitions not saving
- Fixed last image directory not saving
- Fixed colors not saving
- Fixed increased/decreased cell borders not updating
0.2.7b (4/12/2006)
------------------
- Replace serialized settings object with XML

View File

@ -21,7 +21,7 @@ public class Settings implements Serializable {
private Vector<File> ecuDefinitionFiles = new Vector<File>();
private File lastImageDir = new File("images");
private boolean obsoleteWarning = true;
private boolean calcConflictWarning = true; //////
private boolean calcConflictWarning = true;
private boolean debug = false;
private Font tableFont = new Font("Arial", Font.BOLD, 12);

View File

@ -50,8 +50,6 @@ public class DataCell extends JLabel implements MouseListener, Serializable {
public double calcDisplayValue(int input, String expression) {
JEP parser = new JEP();
parser.initSymTab(); // clear the contents of the symbol table
/*parser.addStandardConstants();
parser.addComplex(); // among other things adds i to the symbol table*/
parser.addVariable("x", input);
parser.parseExpression(expression);
return parser.getValue();
@ -76,13 +74,13 @@ public class DataCell extends JLabel implements MouseListener, Serializable {
this.setBinValue((int)(Math.pow(256, table.getStorageType()) - 1));
}
this.updateDisplayValue();
if (binValue > getOriginalValue()) {
/*if (binValue > getOriginalValue()) {
this.setBorder(new LineBorder(increaseBorder, 2));
} else if (binValue < getOriginalValue()) {
this.setBorder(new LineBorder(decreaseBorder, 2));
} else {
this.setBorder(new LineBorder(Color.BLACK, 1));
}
}*/
}
public int getBinValue() {

View File

@ -23,6 +23,7 @@ import javax.swing.InputMap;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.border.LineBorder;
import org.nfunk.jep.JEP;
public abstract class Table extends JPanel implements Serializable {
@ -418,6 +419,15 @@ public abstract class Table extends JPanel implements Serializable {
int b = (int)((maxColor.getBlue() - minColor.getBlue()) * scale) + minColor.getBlue();
data[i].setColor(new Color(r, g, b));
// set border
if (data[i].getBinValue() > data[i].getOriginalValue()) {
data[i].setBorder(new LineBorder(getRom().getContainer().getSettings().getIncreaseBorder()));
} else if (data[i].getBinValue() < data[i].getOriginalValue()) {
data[i].setBorder(new LineBorder(getRom().getContainer().getSettings().getDecreaseBorder()));
} else {
data[i].setBorder(new LineBorder(Color.BLACK, 1));
}
}
}
}
@ -563,7 +573,6 @@ public abstract class Table extends JPanel implements Serializable {
public void addKeyListener(KeyListener listener) {
super.addKeyListener(listener);
for (int i = 0; i < data.length; i++) {
// need to deal with storage type (num bytes)
byte[] output = RomAttributeParser.parseIntegerValue(data[i].getBinValue(), endian, storageType);
for (int z = 0; z < storageType; z++) {
data[i].addKeyListener(listener);

View File

@ -1,8 +1,5 @@
package enginuity.maps;
import enginuity.maps.DataCell;
import enginuity.maps.Table;
import enginuity.maps.Table1D;
import enginuity.Settings;
import enginuity.xml.RomAttributeParser;
import enginuity.swing.TableFrame;
@ -22,6 +19,7 @@ import java.io.Serializable;
import java.util.StringTokenizer;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.LineBorder;
public class Table3D extends Table implements Serializable {
@ -175,7 +173,16 @@ public class Table3D extends Table implements Serializable {
int g = (int)((maxColor.getGreen() - minColor.getGreen()) * scale) + minColor.getGreen();
int b = (int)((maxColor.getBlue() - minColor.getBlue()) * scale) + minColor.getBlue();
data[x][y].setColor(new Color(r, g, b));
}
// set border
if (data[x][y].getBinValue() > data[x][y].getOriginalValue()) {
data[x][y].setBorder(new LineBorder(getRom().getContainer().getSettings().getIncreaseBorder()));
} else if (data[x][y].getBinValue() < data[x][y].getOriginalValue()) {
data[x][y].setBorder(new LineBorder(getRom().getContainer().getSettings().getDecreaseBorder()));
} else {
data[x][y].setBorder(new LineBorder(Color.BLACK, 1));
}
}
}
}
}

View File

@ -199,8 +199,8 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
if (fc.showOpenDialog(parent) == fc.APPROVE_OPTION) {
openImage(fc.getSelectedFile());
parent.getSettings().setLastImageDir(fc.getCurrentDirectory());
}
parent.getSettings().setLastImageDir(fc.getCurrentDirectory());
}
public void openImage(File inputFile) throws XMLParseException, Exception {
@ -218,10 +218,6 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
Rom rom = domUms.unmarshallXMLDefinition(doc.getDocumentElement(), input);
rom.populateTables(input);
rom.setFileName(inputFile.getName());
if (rom.getRomID().isObsolete()) {
// insert JOptionPane with link to ECU revision wiki here
}
parent.addRom(rom);
rom.setFullFileName(inputFile);

View File

@ -158,7 +158,7 @@ public class DOMSettingsBuilder {
decreaseBorder.setAttribute("b", settings.getDecreaseBorder().getBlue()+"");
colors.appendChild(decreaseBorder);
// axis cells
IIOMetadataNode axis = new IIOMetadataNode("decreaseborder");
IIOMetadataNode axis = new IIOMetadataNode("axis");
axis.setAttribute("r", settings.getAxisColor().getRed()+"");
axis.setAttribute("g", settings.getAxisColor().getGreen()+"");
axis.setAttribute("b", settings.getAxisColor().getBlue()+"");

View File

@ -29,6 +29,8 @@ public class DOMSettingsUnmarshaller {
settings = unmarshallURLs(n, settings);
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("options")) {
settings = unmarshallOptions(n, settings);
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("files")) {
settings = unmarshallFiles(n, settings);
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("tabledisplay")) {
settings = unmarshallTableDisplay(n, settings);
}
@ -89,9 +91,9 @@ public class DOMSettingsUnmarshaller {
n = nodes.item(i);
if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("ecudefinitionfile")) {
settings.addEcuDefinitionFile(new File(unmarshallText(n)));
settings.addEcuDefinitionFile(new File(unmarshallAttribute(n, "name", "ecu_defs.xml")));
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("image_dir")) {
settings.setLastImageDir(new File(unmarshallText(n)));
settings.setLastImageDir(new File(unmarshallAttribute(n, "path", "ecu_defs.xml")));
}
}
return settings;
@ -133,7 +135,7 @@ public class DOMSettingsUnmarshaller {
settings.setCellSize(new Dimension(unmarshallAttribute(n, "x", 42),
unmarshallAttribute(n, "y", 18)));
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("color")) {
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("colors")) {
settings = unmarshallColors(n, settings);
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("singletableview")) {
@ -158,10 +160,11 @@ public class DOMSettingsUnmarshaller {
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("highlight")) {
settings.setHighlightColor(unmarshallColor(n));
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("increaseborder")) {
settings.setIncreaseBorder(unmarshallColor(n));
settings.setIncreaseBorder(unmarshallColor(n));
System.out.println(unmarshallColor(n));
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("decreaseborder")) {
settings.setDecreaseBorder(unmarshallColor(n));
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("axiscolor")) {
} else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("axis")) {
settings.setAxisColor(unmarshallColor(n));
}
}