Editor Bug Fixes:

- Removed static Settings Functions
 - Switched increase/decrease border colors.
 - Static cells now size to fit text.
 - Opening a new table now looks if the last selected table is visible.  This resolves the open/close window cascade issue.
 - Switching scales now updates the table tool bar.
 - Removed references to Settings from ECUEditor and Removed ECUEditor reference from Editor Menu bar.
Note: Smaller memory footprint.
This commit is contained in:
Scotthew 2013-09-22 23:38:31 -07:00
parent bad937e9bf
commit e3380bbcfc
21 changed files with 218 additions and 223 deletions

View File

@ -133,7 +133,7 @@ public class ECUExec {
private static void openEditor(String[] args) { private static void openEditor(String[] args) {
ECUEditor editor = getECUEditor(); ECUEditor editor = getECUEditor();
editor.initializeToolbar(); editor.initializeEditorUI();
editor.checkDefinitions(); editor.checkDefinitions();
if (args.length > 0) { if (args.length > 0) {

View File

@ -169,8 +169,9 @@ public class Settings implements Serializable {
private Color selectColor = new Color(204, 204, 204); private Color selectColor = new Color(204, 204, 204);
private Color highlightColor = new Color(27, 161, 226); private Color highlightColor = new Color(27, 161, 226);
private Color decreaseBorder = new Color(255, 0, 0); private Color decreaseBorder = new Color(0, 0, 255);
private Color increaseBorder = new Color(0, 0, 255); private Color increaseBorder = new Color(255, 0, 0);
private Color axisColor = new Color(255, 255, 255); private Color axisColor = new Color(255, 255, 255);
private Color warningColor = new Color(255, 0, 0); private Color warningColor = new Color(255, 0, 0);
private int tableClickCount = 1; // number of clicks to open table private int tableClickCount = 1; // number of clicks to open table
@ -221,7 +222,7 @@ public class Settings implements Serializable {
private String defaultScale = "Metric"; private String defaultScale = "Metric";
private static Map<String, IntfKitSensor> phidgetSensors; private Map<String, IntfKitSensor> phidgetSensors;
public Settings() { public Settings() {
//center window by default //center window by default
@ -820,13 +821,13 @@ public class Settings implements Serializable {
this.defaultScale = defaultScale; this.defaultScale = defaultScale;
} }
public static final Map<String, IntfKitSensor> getPhidgetSensors() { public Map<String, IntfKitSensor> getPhidgetSensors() {
return Settings.phidgetSensors; return this.phidgetSensors;
} }
public static final void setPhidgetSensors( public void setPhidgetSensors(
Map<String, IntfKitSensor> phidgetSensors) { Map<String, IntfKitSensor> phidgetSensors) {
Settings.phidgetSensors = phidgetSensors; this.phidgetSensors = phidgetSensors;
} }
} }

View File

@ -83,7 +83,6 @@ import com.romraider.swing.RomTree;
import com.romraider.swing.RomTreeRootNode; import com.romraider.swing.RomTreeRootNode;
import com.romraider.swing.TableFrame; import com.romraider.swing.TableFrame;
import com.romraider.swing.TableToolBar; import com.romraider.swing.TableToolBar;
import com.romraider.swing.TableTreeNode;
import com.romraider.util.SettingsManager; import com.romraider.util.SettingsManager;
import com.romraider.xml.DOMRomUnmarshaller; import com.romraider.xml.DOMRomUnmarshaller;
import com.romraider.xml.RomNotFoundException; import com.romraider.xml.RomNotFoundException;
@ -101,8 +100,7 @@ public class ECUEditor extends AbstractFrame {
private JSplitPane splitPane = new JSplitPane(); private JSplitPane splitPane = new JSplitPane();
private Rom lastSelectedRom = null; private Rom lastSelectedRom = null;
private ECUEditorToolBar toolBar; private ECUEditorToolBar toolBar;
private final ECUEditorMenuBar menuBar; private ECUEditorMenuBar menuBar;
private Settings settings;
private TableToolBar tableToolBar; private TableToolBar tableToolBar;
private final JPanel toolBarPanel = new JPanel(); private final JPanel toolBarPanel = new JPanel();
private OpenImageWorker openImageWorker; private OpenImageWorker openImageWorker;
@ -112,16 +110,14 @@ public class ECUEditor extends AbstractFrame {
private final ImageIcon editorIcon = new ImageIcon(getClass().getResource("/graphics/romraider-ico.gif"), "RomRaider ECU Editor"); private final ImageIcon editorIcon = new ImageIcon(getClass().getResource("/graphics/romraider-ico.gif"), "RomRaider ECU Editor");
public ECUEditor() { public ECUEditor() {
// get settings from xml Settings settings = SettingsManager.getSettings();
settings = SettingsManager.getSettings();
if (!settings.getRecentVersion().equalsIgnoreCase(VERSION)) { if (!settings.getRecentVersion().equalsIgnoreCase(VERSION)) {
showReleaseNotes(); showReleaseNotes();
} }
setSize(getSettings().getWindowSize()); setSize(settings.getWindowSize());
setLocation(getSettings().getWindowLocation()); setLocation(settings.getWindowLocation());
if (getSettings().isWindowMaximized()) { if (settings.isWindowMaximized()) {
setExtendedState(MAXIMIZED_BOTH); setExtendedState(MAXIMIZED_BOTH);
} }
@ -132,7 +128,7 @@ public class ECUEditor extends AbstractFrame {
splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftScrollPane, rightScrollPane); splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftScrollPane, rightScrollPane);
splitPane.setDividerSize(3); splitPane.setDividerSize(3);
splitPane.setDividerLocation(getSettings().getSplitPaneLocation()); splitPane.setDividerLocation(settings.getSplitPaneLocation());
splitPane.addPropertyChangeListener(this); splitPane.addPropertyChangeListener(this);
splitPane.setContinuousLayout(true); splitPane.setContinuousLayout(true);
getContentPane().add(splitPane); getContentPane().add(splitPane);
@ -140,9 +136,6 @@ public class ECUEditor extends AbstractFrame {
rightPanel.setBackground(Color.BLACK); rightPanel.setBackground(Color.BLACK);
imageList.setScrollsOnExpand(true); imageList.setScrollsOnExpand(true);
//create menubar
menuBar = new ECUEditorMenuBar(this);
this.setJMenuBar(menuBar);
this.add(statusPanel, BorderLayout.SOUTH); this.add(statusPanel, BorderLayout.SOUTH);
//set remaining window properties //set remaining window properties
@ -155,10 +148,12 @@ public class ECUEditor extends AbstractFrame {
toFront(); toFront();
} }
public void initializeToolbar() public void initializeEditorUI() {
{ //create menubar
// create toolbars menuBar = new ECUEditorMenuBar();
this.setJMenuBar(menuBar);
// create toolbars
toolBar = new ECUEditorToolBar("Editor Tools"); toolBar = new ECUEditorToolBar("Editor Tools");
tableToolBar = new TableToolBar(); tableToolBar = new TableToolBar();
@ -176,7 +171,7 @@ public class ECUEditor extends AbstractFrame {
} }
public void checkDefinitions() { public void checkDefinitions() {
if (getSettings().getEcuDefinitionFiles().size() <= 0) { if (SettingsManager.getSettings().getEcuDefinitionFiles().size() <= 0) {
// no ECU definitions configured - let user choose to get latest or configure later // no ECU definitions configured - let user choose to get latest or configure later
Object[] options = {"Yes", "No"}; Object[] options = {"Yes", "No"};
int answer = showOptionDialog(null, int answer = showOptionDialog(null,
@ -200,7 +195,7 @@ public class ECUEditor extends AbstractFrame {
private void showReleaseNotes() { private void showReleaseNotes() {
try { try {
BufferedReader br = new BufferedReader(new FileReader(getSettings().getReleaseNotes())); BufferedReader br = new BufferedReader(new FileReader(SettingsManager.getSettings().getReleaseNotes()));
try { try {
// new version being used, display release notes // new version being used, display release notes
JTextArea releaseNotes = new JTextArea(); JTextArea releaseNotes = new JTextArea();
@ -230,13 +225,14 @@ public class ECUEditor extends AbstractFrame {
} }
public void handleExit() { public void handleExit() {
getSettings().setSplitPaneLocation(splitPane.getDividerLocation()); Settings settings = SettingsManager.getSettings();
getSettings().setWindowMaximized(getExtendedState() == MAXIMIZED_BOTH); settings.setSplitPaneLocation(splitPane.getDividerLocation());
getSettings().setWindowSize(getSize()); settings.setWindowMaximized(getExtendedState() == MAXIMIZED_BOTH);
getSettings().setWindowLocation(getLocation()); settings.setWindowSize(getSize());
settings.setWindowLocation(getLocation());
// Save when exit to save file settings. // Save when exit to save file settings.
SettingsManager.save(getSettings(), statusPanel); SettingsManager.save(settings, statusPanel);
statusPanel.update("Ready...", 0); statusPanel.update("Ready...", 0);
repaint(); repaint();
} }
@ -274,11 +270,8 @@ public class ECUEditor extends AbstractFrame {
return VERSION; return VERSION;
} }
public Settings getSettings() {
return settings;
}
public void addRom(Rom input) { public void addRom(Rom input) {
Settings settings = SettingsManager.getSettings();
input.refreshDisplayedTables(); input.refreshDisplayedTables();
// add to ecu image list pane // add to ecu image list pane
@ -289,7 +282,7 @@ public class ECUEditor extends AbstractFrame {
getImageList().expandPath(new TreePath(input.getPath())); getImageList().expandPath(new TreePath(input.getPath()));
if(!getSettings().isOpenExpanded()) { if(!settings.isOpenExpanded()) {
imageList.collapsePath(new TreePath(input.getPath())); imageList.collapsePath(new TreePath(input.getPath()));
} }
@ -301,12 +294,12 @@ public class ECUEditor extends AbstractFrame {
setLastSelectedRom(input); setLastSelectedRom(input);
} }
if (input.getRomID().isObsolete() && getSettings().isObsoleteWarning()) { if (input.getRomID().isObsolete() && settings.isObsoleteWarning()) {
JPanel infoPanel = new JPanel(); JPanel infoPanel = new JPanel();
infoPanel.setLayout(new GridLayout(3, 1)); infoPanel.setLayout(new GridLayout(3, 1));
infoPanel.add(new JLabel("A newer version of this ECU revision exists. " + infoPanel.add(new JLabel("A newer version of this ECU revision exists. " +
"Please visit the following link to download the latest revision:")); "Please visit the following link to download the latest revision:"));
infoPanel.add(new URL(getSettings().getRomRevisionURL())); infoPanel.add(new URL(settings.getRomRevisionURL()));
JCheckBox check = new JCheckBox("Always display this message", true); JCheckBox check = new JCheckBox("Always display this message", true);
check.setHorizontalAlignment(JCheckBox.RIGHT); check.setHorizontalAlignment(JCheckBox.RIGHT);
@ -314,7 +307,7 @@ public class ECUEditor extends AbstractFrame {
check.addActionListener(new ActionListener() { check.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
getSettings().setObsoleteWarning(((JCheckBox) e.getSource()).isSelected()); SettingsManager.getSettings().setObsoleteWarning(((JCheckBox) e.getSource()).isSelected());
} }
}); });
@ -329,7 +322,7 @@ public class ECUEditor extends AbstractFrame {
for(JInternalFrame curFrame : getRightPanel().getAllFrames()) { for(JInternalFrame curFrame : getRightPanel().getAllFrames()) {
if(curFrame.equals(frame)) { if(curFrame.equals(frame)) {
// table is already open. // table is already open.
if(1 == getSettings().getTableClickBehavior()) { // open/focus frame if(1 == SettingsManager.getSettings().getTableClickBehavior()) { // open/focus frame
// table is already open, so set focus on the frame. // table is already open, so set focus on the frame.
boolean selected = true; boolean selected = true;
frame.toFront(); frame.toFront();
@ -424,19 +417,13 @@ public class ECUEditor extends AbstractFrame {
return tableToolBar; return tableToolBar;
} }
public void setSettings(Settings settings) { public void redrawVisableTables(Settings settings) {
this.settings = settings;
for (int i = 0; i < imageRoot.getChildCount(); i++) {
Rom rom = (Rom) imageRoot.getChildAt(i);
for(TableTreeNode tableNode : rom.getTableNodes()) {
tableNode.getFrame().getTable().drawTable();
}
}
} }
public void setUserLevel(int userLevel) { public void setUserLevel(int userLevel) {
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
getSettings().setUserLevel(userLevel); SettingsManager.getSettings().setUserLevel(userLevel);
setUserLevelWorker = new SetUserLevelWorker(); setUserLevelWorker = new SetUserLevelWorker();
setUserLevelWorker.addPropertyChangeListener(getStatusPanel()); setUserLevelWorker.addPropertyChangeListener(getStatusPanel());
setUserLevelWorker.execute(); setUserLevelWorker.execute();
@ -542,13 +529,12 @@ public class ECUEditor extends AbstractFrame {
} }
class LaunchLoggerWorker extends SwingWorker<Void, Void> { class LaunchLoggerWorker extends SwingWorker<Void, Void> {
private final ECUEditor editor = ECUEditorManager.getECUEditor();
public LaunchLoggerWorker() { public LaunchLoggerWorker() {
} }
@Override @Override
protected Void doInBackground() throws Exception { protected Void doInBackground() throws Exception {
ECUEditor editor = ECUEditorManager.getECUEditor();
editor.getStatusPanel().setStatus("Launching Logger..."); editor.getStatusPanel().setStatus("Launching Logger...");
setProgress(10); setProgress(10);
EcuLogger.startLogger(javax.swing.WindowConstants.DISPOSE_ON_CLOSE, editor); EcuLogger.startLogger(javax.swing.WindowConstants.DISPOSE_ON_CLOSE, editor);
@ -561,12 +547,13 @@ class LaunchLoggerWorker extends SwingWorker<Void, Void> {
if (null != source && "state".equals( evnt.getPropertyName() ) if (null != source && "state".equals( evnt.getPropertyName() )
&& (source.isDone() || source.isCancelled() ) ) && (source.isDone() || source.isCancelled() ) )
{ {
source.removePropertyChangeListener(editor.getStatusPanel()); source.removePropertyChangeListener(ECUEditorManager.getECUEditor().getStatusPanel());
} }
} }
@Override @Override
public void done() { public void done() {
ECUEditor editor = ECUEditorManager.getECUEditor();
editor.getStatusPanel().setStatus("Ready..."); editor.getStatusPanel().setStatus("Ready...");
setProgress(0); setProgress(0);
editor.setCursor(null); editor.setCursor(null);
@ -575,14 +562,12 @@ class LaunchLoggerWorker extends SwingWorker<Void, Void> {
} }
class SetUserLevelWorker extends SwingWorker<Void, Void> { class SetUserLevelWorker extends SwingWorker<Void, Void> {
private final ECUEditor editor = ECUEditorManager.getECUEditor();
public SetUserLevelWorker() { public SetUserLevelWorker() {
} }
@Override @Override
protected Void doInBackground() throws Exception { protected Void doInBackground() throws Exception {
for(Rom rom : editor.getImages()) { for(Rom rom : ECUEditorManager.getECUEditor().getImages()) {
rom.refreshDisplayedTables(); rom.refreshDisplayedTables();
} }
return null; return null;
@ -594,12 +579,13 @@ class SetUserLevelWorker extends SwingWorker<Void, Void> {
if (null != source && "state".equals( evnt.getPropertyName() ) if (null != source && "state".equals( evnt.getPropertyName() )
&& (source.isDone() || source.isCancelled() ) ) && (source.isDone() || source.isCancelled() ) )
{ {
source.removePropertyChangeListener(editor.getStatusPanel()); source.removePropertyChangeListener(ECUEditorManager.getECUEditor().getStatusPanel());
} }
} }
@Override @Override
public void done() { public void done() {
ECUEditor editor = ECUEditorManager.getECUEditor();
editor.getStatusPanel().setStatus("Ready..."); editor.getStatusPanel().setStatus("Ready...");
setProgress(0); setProgress(0);
editor.setCursor(null); editor.setCursor(null);
@ -608,8 +594,6 @@ class SetUserLevelWorker extends SwingWorker<Void, Void> {
} }
class CloseImageWorker extends SwingWorker<Void, Void> { class CloseImageWorker extends SwingWorker<Void, Void> {
private final ECUEditor editor = ECUEditorManager.getECUEditor();
Rom rom; Rom rom;
public CloseImageWorker(Rom romToRemove) { public CloseImageWorker(Rom romToRemove) {
@ -618,6 +602,7 @@ class CloseImageWorker extends SwingWorker<Void, Void> {
@Override @Override
protected Void doInBackground() throws Exception { protected Void doInBackground() throws Exception {
ECUEditor editor = ECUEditorManager.getECUEditor();
RomTreeRootNode imageRoot = editor.getImageRoot(); RomTreeRootNode imageRoot = editor.getImageRoot();
rom.clearData(); rom.clearData();
@ -638,6 +623,7 @@ class CloseImageWorker extends SwingWorker<Void, Void> {
@Override @Override
public void done() { public void done() {
ECUEditor editor = ECUEditorManager.getECUEditor();
editor.getStatusPanel().setStatus("Ready..."); editor.getStatusPanel().setStatus("Ready...");
setProgress(0); setProgress(0);
editor.setCursor(null); editor.setCursor(null);
@ -647,8 +633,6 @@ class CloseImageWorker extends SwingWorker<Void, Void> {
} }
class OpenImageWorker extends SwingWorker<Void, Void> { class OpenImageWorker extends SwingWorker<Void, Void> {
private final ECUEditor editor = ECUEditorManager.getECUEditor();
private final File inputFile; private final File inputFile;
public OpenImageWorker(File inputFile) { public OpenImageWorker(File inputFile) {
@ -657,13 +641,14 @@ class OpenImageWorker extends SwingWorker<Void, Void> {
@Override @Override
protected Void doInBackground() throws Exception { protected Void doInBackground() throws Exception {
ECUEditor editor = ECUEditorManager.getECUEditor();
Settings settings = SettingsManager.getSettings();
DOMParser parser = new DOMParser(); DOMParser parser = new DOMParser();
Document doc; Document doc;
FileInputStream fileStream; FileInputStream fileStream;
try { try {
Settings settings = editor.getSettings();
editor.getStatusPanel().setStatus("Parsing ECU definitions..."); editor.getStatusPanel().setStatus("Parsing ECU definitions...");
setProgress(0); setProgress(0);
@ -742,12 +727,13 @@ class OpenImageWorker extends SwingWorker<Void, Void> {
if (null != source && "state".equals( evnt.getPropertyName() ) if (null != source && "state".equals( evnt.getPropertyName() )
&& (source.isDone() || source.isCancelled() ) ) && (source.isDone() || source.isCancelled() ) )
{ {
source.removePropertyChangeListener(editor.getStatusPanel()); source.removePropertyChangeListener(ECUEditorManager.getECUEditor().getStatusPanel());
} }
} }
@Override @Override
public void done() { public void done() {
ECUEditor editor = ECUEditorManager.getECUEditor();
editor.getStatusPanel().setStatus("Ready..."); editor.getStatusPanel().setStatus("Ready...");
setProgress(0); setProgress(0);
editor.setCursor(null); editor.setCursor(null);

View File

@ -20,20 +20,20 @@
package com.romraider.io.serial.connection; package com.romraider.io.serial.connection;
import static com.romraider.io.protocol.ssm.iso9141.SSMChecksumCalculator.calculateChecksum; import static com.romraider.io.protocol.ssm.iso9141.SSMChecksumCalculator.calculateChecksum;
import com.romraider.io.connection.ConnectionManager;
import com.romraider.io.connection.ConnectionProperties;
import com.romraider.logger.ecu.comms.manager.PollingState;
import static com.romraider.util.HexUtil.asHex; import static com.romraider.util.HexUtil.asHex;
import static com.romraider.util.ParamChecker.checkNotNull; import static com.romraider.util.ParamChecker.checkNotNull;
import static com.romraider.util.ParamChecker.checkNotNullOrEmpty; import static com.romraider.util.ParamChecker.checkNotNullOrEmpty;
import static com.romraider.util.ThreadUtil.sleep; import static com.romraider.util.ThreadUtil.sleep;
import static java.lang.System.arraycopy; import static java.lang.System.arraycopy;
import static java.lang.System.currentTimeMillis; import static java.lang.System.currentTimeMillis;
import org.apache.log4j.Logger;
import static org.apache.log4j.Logger.getLogger; import static org.apache.log4j.Logger.getLogger;
import org.apache.log4j.Logger;
import com.romraider.io.connection.ConnectionManager;
import com.romraider.io.connection.ConnectionProperties;
import com.romraider.logger.ecu.comms.manager.PollingState;
public final class SerialConnectionManager implements ConnectionManager { public final class SerialConnectionManager implements ConnectionManager {
private static final Logger LOGGER = getLogger(SerialConnectionManager.class); private static final Logger LOGGER = getLogger(SerialConnectionManager.class);
private final SerialConnection connection; private final SerialConnection connection;
@ -46,14 +46,15 @@ public final class SerialConnectionManager implements ConnectionManager {
checkNotNullOrEmpty(portName, "portName"); checkNotNullOrEmpty(portName, "portName");
checkNotNull(connectionProperties, "connectionProperties"); checkNotNull(connectionProperties, "connectionProperties");
this.connectionProperties = connectionProperties; this.connectionProperties = connectionProperties;
timeout = (long) connectionProperties.getConnectTimeout(); timeout = connectionProperties.getConnectTimeout();
readTimeout = timeout; readTimeout = timeout;
// Use TestSerialConnection for testing!! // Use TestSerialConnection for testing!!
connection = new SerialConnectionImpl(portName, connectionProperties); //connection = new SerialConnectionImpl(portName, connectionProperties);
// connection = new TestSerialConnection2(portName, connectionProperties); connection = new TestSerialConnection2(portName, connectionProperties);
} }
// Send request and wait for response with known length // Send request and wait for response with known length
@Override
public void send(byte[] request, byte[] response, PollingState pollState) { public void send(byte[] request, byte[] response, PollingState pollState) {
checkNotNull(request, "request"); checkNotNull(request, "request");
checkNotNull(response, "response"); checkNotNull(response, "response");
@ -98,6 +99,7 @@ public final class SerialConnectionManager implements ConnectionManager {
} }
// Send request and wait specified time for response with unknown length // Send request and wait specified time for response with unknown length
@Override
public byte[] send(byte[] bytes) { public byte[] send(byte[] bytes) {
checkNotNull(bytes, "bytes"); checkNotNull(bytes, "bytes");
connection.readStaleData(); connection.readStaleData();
@ -116,6 +118,7 @@ public final class SerialConnectionManager implements ConnectionManager {
return connection.readAvailable(); return connection.readAvailable();
} }
@Override
public void clearLine() { public void clearLine() {
LOGGER.debug("SSM sending line break"); LOGGER.debug("SSM sending line break");
connection.sendBreak( 1 / connection.sendBreak( 1 /
@ -131,6 +134,7 @@ public final class SerialConnectionManager implements ConnectionManager {
} while (connection.available() > 0 ); } while (connection.available() > 0 );
} }
@Override
public void close() { public void close() {
connection.close(); connection.close();
} }

View File

@ -36,7 +36,7 @@ import com.phidgets.InterfaceKitPhidget;
import com.phidgets.Manager; import com.phidgets.Manager;
import com.phidgets.Phidget; import com.phidgets.Phidget;
import com.phidgets.PhidgetException; import com.phidgets.PhidgetException;
import com.romraider.Settings; import com.romraider.util.SettingsManager;
/** /**
* IntfKitManager is used to discover all the attached PhidgetInterfaceKits * IntfKitManager is used to discover all the attached PhidgetInterfaceKits
@ -151,7 +151,7 @@ public final class IntfKitManager {
serial); serial);
LOGGER.info(result); LOGGER.info(result);
Map<String, IntfKitSensor> phidgets = Map<String, IntfKitSensor> phidgets =
Settings.getPhidgetSensors(); SettingsManager.getSettings().getPhidgetSensors();
if (phidgets == null) { if (phidgets == null) {
phidgets = new HashMap<String, IntfKitSensor>(); phidgets = new HashMap<String, IntfKitSensor>();
} }
@ -183,7 +183,7 @@ public final class IntfKitManager {
phidgets.put(key, sensor); phidgets.put(key, sensor);
} }
} }
Settings.setPhidgetSensors(phidgets); SettingsManager.getSettings().setPhidgetSensors(phidgets);
} }
else { else {
LOGGER.info("No InterfaceKits attached"); LOGGER.info("No InterfaceKits attached");

View File

@ -29,7 +29,6 @@ import javax.swing.JOptionPane;
import javax.swing.JTable; import javax.swing.JTable;
import javax.swing.table.TableModel; import javax.swing.table.TableModel;
import com.romraider.Settings;
import com.romraider.logger.ecu.EcuLogger; import com.romraider.logger.ecu.EcuLogger;
import com.romraider.logger.ecu.definition.EcuDataConvertor; import com.romraider.logger.ecu.definition.EcuDataConvertor;
import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl; import com.romraider.logger.ecu.definition.ExternalDataConvertorImpl;
@ -38,6 +37,7 @@ import com.romraider.logger.external.core.ExternalDataItem;
import com.romraider.logger.external.core.ExternalDataSource; import com.romraider.logger.external.core.ExternalDataSource;
import com.romraider.logger.external.phidget.interfacekit.io.IntfKitSensor; import com.romraider.logger.external.phidget.interfacekit.io.IntfKitSensor;
import com.romraider.swing.menubar.action.AbstractAction; import com.romraider.swing.menubar.action.AbstractAction;
import com.romraider.util.SettingsManager;
/** /**
* IntfKitPluginMenuAction is used to populate the Phidgets Plugins menu * IntfKitPluginMenuAction is used to populate the Phidgets Plugins menu
@ -57,6 +57,7 @@ public final class IntfKitPluginMenuAction extends AbstractAction {
super(logger); super(logger);
} }
@Override
public void actionPerformed(ActionEvent actionEvent) { public void actionPerformed(ActionEvent actionEvent) {
final IntfKitConvertorPanel intfKitPanel = final IntfKitConvertorPanel intfKitPanel =
new IntfKitConvertorPanel(logger, getDataItems()); new IntfKitConvertorPanel(logger, getDataItems());
@ -93,7 +94,7 @@ public final class IntfKitPluginMenuAction extends AbstractAction {
private final void saveChanges(JTable table) { private final void saveChanges(JTable table) {
final TableModel tm = table.getModel(); final TableModel tm = table.getModel();
final Map<String, IntfKitSensor> phidgets = Settings.getPhidgetSensors(); final Map<String, IntfKitSensor> phidgets = SettingsManager.getSettings().getPhidgetSensors();
for (int i = 0; i < tm.getRowCount(); i++) { for (int i = 0; i < tm.getRowCount(); i++) {
String column0 = (String) tm.getValueAt(i, 0); String column0 = (String) tm.getValueAt(i, 0);
@ -141,7 +142,7 @@ public final class IntfKitPluginMenuAction extends AbstractAction {
ikDataItem.setConvertors(convertors); ikDataItem.setConvertors(convertors);
} }
Settings.setPhidgetSensors(phidgets); SettingsManager.getSettings().setPhidgetSensors(phidgets);
JOptionPane.showMessageDialog( JOptionPane.showMessageDialog(
logger, logger,
"Un-select each updated External Phidget data item on each Data,\n" + "Un-select each updated External Phidget data item on each Data,\n" +

View File

@ -38,6 +38,7 @@ import org.apache.log4j.Logger;
import com.romraider.Settings; import com.romraider.Settings;
import com.romraider.editor.ecu.ECUEditorManager; import com.romraider.editor.ecu.ECUEditorManager;
import com.romraider.util.JEPUtil; import com.romraider.util.JEPUtil;
import com.romraider.util.SettingsManager;
public class DataCell extends JLabel implements MouseListener, Serializable { public class DataCell extends JLabel implements MouseListener, Serializable {
private static final long serialVersionUID = -2904293227148940937L; private static final long serialVersionUID = -2904293227148940937L;
@ -80,7 +81,6 @@ public class DataCell extends JLabel implements MouseListener, Serializable {
this.setOpaque(true); this.setOpaque(true);
this.setVisible(true); this.setVisible(true);
this.addMouseListener(this); this.addMouseListener(this);
this.setPreferredSize(getSettings().getCellSize());
} }
public DataCell(Table table, String staticText) { public DataCell(Table table, String staticText) {
@ -95,6 +95,7 @@ public class DataCell extends JLabel implements MouseListener, Serializable {
this.binValue = originalValue; this.binValue = originalValue;
this.x = x; this.x = x;
this.y = y; this.y = y;
this.setPreferredSize(getSettings().getCellSize());
} }
public double getBinValue() { public double getBinValue() {
@ -471,7 +472,7 @@ public class DataCell extends JLabel implements MouseListener, Serializable {
} }
private Settings getSettings() { private Settings getSettings() {
return ECUEditorManager.getECUEditor().getSettings(); return SettingsManager.getSettings();
} }
@Override @Override

View File

@ -42,12 +42,12 @@ import javax.swing.tree.DefaultMutableTreeNode;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import com.romraider.Settings; import com.romraider.Settings;
import com.romraider.editor.ecu.ECUEditorManager;
import com.romraider.logger.ecu.ui.handler.table.TableUpdateHandler; import com.romraider.logger.ecu.ui.handler.table.TableUpdateHandler;
import com.romraider.swing.CategoryTreeNode; import com.romraider.swing.CategoryTreeNode;
import com.romraider.swing.JProgressPane; import com.romraider.swing.JProgressPane;
import com.romraider.swing.TableFrame; import com.romraider.swing.TableFrame;
import com.romraider.swing.TableTreeNode; import com.romraider.swing.TableTreeNode;
import com.romraider.util.SettingsManager;
import com.romraider.xml.TableNotFoundException; import com.romraider.xml.TableNotFoundException;
public class Rom extends DefaultMutableTreeNode implements Serializable { public class Rom extends DefaultMutableTreeNode implements Serializable {
@ -67,7 +67,7 @@ public class Rom extends DefaultMutableTreeNode implements Serializable {
// Remove all nodes from the ROM tree node. // Remove all nodes from the ROM tree node.
super.removeAllChildren(); super.removeAllChildren();
Settings settings = ECUEditorManager.getECUEditor().getSettings(); Settings settings = SettingsManager.getSettings();
// Add nodes to ROM tree. // Add nodes to ROM tree.
for (TableTreeNode tableTreeNode : tableNodes) { for (TableTreeNode tableTreeNode : tableNodes) {

View File

@ -54,6 +54,7 @@ import com.romraider.Settings;
import com.romraider.editor.ecu.ECUEditorManager; import com.romraider.editor.ecu.ECUEditorManager;
import com.romraider.swing.TableToolBar; import com.romraider.swing.TableToolBar;
import com.romraider.util.JEPUtil; import com.romraider.util.JEPUtil;
import com.romraider.util.SettingsManager;
import com.romraider.xml.RomAttributeParser; import com.romraider.xml.RomAttributeParser;
public abstract class Table extends JPanel implements Serializable { public abstract class Table extends JPanel implements Serializable {
@ -523,7 +524,7 @@ public abstract class Table extends JPanel implements Serializable {
this.curScale = scale; this.curScale = scale;
} }
if(ECUEditorManager.getECUEditor().getSettings().getDefaultScale().equalsIgnoreCase(scale.getName())) { if(SettingsManager.getSettings().getDefaultScale().equalsIgnoreCase(scale.getName())) {
this.curScale = scale; this.curScale = scale;
} }
@ -1170,14 +1171,9 @@ public abstract class Table extends JPanel implements Serializable {
this.curScale = curScale; this.curScale = curScale;
} }
public void setSettings(Settings settings)
{
ECUEditorManager.getECUEditor().setSettings(settings);
}
public Settings getSettings() public Settings getSettings()
{ {
return ECUEditorManager.getECUEditor().getSettings(); return SettingsManager.getSettings();
} }
public TableToolBar getToolbar() public TableToolBar getToolbar()

View File

@ -29,6 +29,7 @@ import javax.swing.JFileChooser;
import javax.swing.ListSelectionModel; import javax.swing.ListSelectionModel;
import com.romraider.editor.ecu.ECUEditorManager; import com.romraider.editor.ecu.ECUEditorManager;
import com.romraider.util.SettingsManager;
public class DefinitionManager extends javax.swing.JFrame implements ActionListener { public class DefinitionManager extends javax.swing.JFrame implements ActionListener {
@ -59,7 +60,7 @@ public class DefinitionManager extends javax.swing.JFrame implements ActionListe
private void initSettings() { private void initSettings() {
// add definitions to list // add definitions to list
Vector<File> definitionFiles = ECUEditorManager.getECUEditor().getSettings().getEcuDefinitionFiles(); Vector<File> definitionFiles = SettingsManager.getSettings().getEcuDefinitionFiles();
fileNames = new Vector<String>(); fileNames = new Vector<String>();
for (int i = 0; i < definitionFiles.size(); i++) { for (int i = 0; i < definitionFiles.size(); i++) {
@ -203,7 +204,7 @@ public class DefinitionManager extends javax.swing.JFrame implements ActionListe
} }
// save // save
ECUEditorManager.getECUEditor().getSettings().setEcuDefinitionFiles(output); SettingsManager.getSettings().setEcuDefinitionFiles(output);
} }
public void addFile() { public void addFile() {

View File

@ -54,6 +54,7 @@ import com.romraider.editor.ecu.ECUEditorManager;
import com.romraider.maps.Rom; import com.romraider.maps.Rom;
import com.romraider.maps.Table; import com.romraider.maps.Table;
import com.romraider.ramtune.test.RamTuneTestApp; import com.romraider.ramtune.test.RamTuneTestApp;
import com.romraider.util.SettingsManager;
public class ECUEditorMenuBar extends JMenuBar implements ActionListener { public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
@ -96,10 +97,7 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
private final JMenu helpMenu = new JMenu("Help"); private final JMenu helpMenu = new JMenu("Help");
private final JMenuItem about = new JMenuItem("About " + PRODUCT_NAME); private final JMenuItem about = new JMenuItem("About " + PRODUCT_NAME);
private final ECUEditor editor; public ECUEditorMenuBar() {
public ECUEditorMenuBar(ECUEditor editor) {
this.editor = editor;
// file menu items // file menu items
add(fileMenu); add(fileMenu);
fileMenu.setMnemonic('F'); fileMenu.setMnemonic('F');
@ -353,7 +351,7 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
} }
public void refreshImage() throws Exception { public void refreshImage() throws Exception {
ECUEditor parent = getEditor(); ECUEditor parent = ECUEditorManager.getECUEditor();
if (parent.getLastSelectedRom() != null) { if (parent.getLastSelectedRom() != null) {
File file = parent.getLastSelectedRom().getFullFileName(); File file = parent.getLastSelectedRom().getFullFileName();
parent.closeImage(); parent.closeImage();
@ -362,32 +360,34 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
} }
public void openImageDialog() throws Exception { public void openImageDialog() throws Exception {
JFileChooser fc = new JFileChooser(getEditor().getSettings().getLastImageDir()); ECUEditor parent = ECUEditorManager.getECUEditor();
JFileChooser fc = new JFileChooser(SettingsManager.getSettings().getLastImageDir());
fc.setFileFilter(new ECUImageFilter()); fc.setFileFilter(new ECUImageFilter());
fc.setDialogTitle("Open Image"); fc.setDialogTitle("Open Image");
if (fc.showOpenDialog(getEditor()) == JFileChooser.APPROVE_OPTION) { if (fc.showOpenDialog(parent) == JFileChooser.APPROVE_OPTION) {
getEditor().openImage(fc.getSelectedFile()); parent.openImage(fc.getSelectedFile());
getEditor().getSettings().setLastImageDir(fc.getCurrentDirectory()); SettingsManager.getSettings().setLastImageDir(fc.getCurrentDirectory());
} }
} }
public void openImagesDialog() throws Exception { public void openImagesDialog() throws Exception {
ECUEditor parent = ECUEditorManager.getECUEditor();
JFileChooser fc = new JFileChooser(getSettings().getLastImageDir()); JFileChooser fc = new JFileChooser(getSettings().getLastImageDir());
fc.setFileFilter(new ECUImageFilter()); fc.setFileFilter(new ECUImageFilter());
fc.setMultiSelectionEnabled(true); fc.setMultiSelectionEnabled(true);
fc.setDialogTitle("Open Image(s)"); fc.setDialogTitle("Open Image(s)");
if(fc.showOpenDialog(getEditor()) == JFileChooser.APPROVE_OPTION) { if(fc.showOpenDialog(parent) == JFileChooser.APPROVE_OPTION) {
getEditor().openImages(fc.getSelectedFiles()); parent.openImages(fc.getSelectedFiles());
getEditor().getSettings().setLastImageDir(fc.getCurrentDirectory()); SettingsManager.getSettings().setLastImageDir(fc.getCurrentDirectory());
} }
} }
public void saveImage(Rom input) throws Exception { public void saveImage(Rom input) throws Exception {
ECUEditor parent = getEditor(); ECUEditor parent = ECUEditorManager.getECUEditor();
if (parent.getLastSelectedRom() != null) { if (parent.getLastSelectedRom() != null) {
JFileChooser fc = new JFileChooser(parent.getSettings().getLastImageDir()); JFileChooser fc = new JFileChooser(SettingsManager.getSettings().getLastImageDir());
fc.setFileFilter(new ECUImageFilter()); fc.setFileFilter(new ECUImageFilter());
if (fc.showSaveDialog(parent) == JFileChooser.APPROVE_OPTION) { if (fc.showSaveDialog(parent) == JFileChooser.APPROVE_OPTION) {
boolean save = true; boolean save = true;
@ -410,7 +410,7 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
} }
parent.getLastSelectedRom().setFullFileName(selectedFile.getAbsoluteFile()); parent.getLastSelectedRom().setFullFileName(selectedFile.getAbsoluteFile());
parent.setLastSelectedRom(parent.getLastSelectedRom()); parent.setLastSelectedRom(parent.getLastSelectedRom());
parent.getSettings().setLastImageDir(selectedFile.getParentFile()); SettingsManager.getSettings().setLastImageDir(selectedFile.getParentFile());
} }
} }
} }
@ -426,11 +426,11 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
fc.setAcceptAllFileFilterUsed(false); fc.setAcceptAllFileFilterUsed(false);
String separator = System.getProperty("file.separator"); String separator = System.getProperty("file.separator");
if (fc.showSaveDialog(getEditor()) == JFileChooser.APPROVE_OPTION) { if (fc.showSaveDialog(ECUEditorManager.getECUEditor()) == JFileChooser.APPROVE_OPTION) {
boolean save = true; boolean save = true;
File selectedDir = fc.getSelectedFile(); File selectedDir = fc.getSelectedFile();
if (selectedDir.exists()) { if (selectedDir.exists()) {
int option = showConfirmDialog(getEditor(), selectedDir.getName() + " already exists! Overwrite?"); int option = showConfirmDialog(ECUEditorManager.getECUEditor(), selectedDir.getName() + " already exists! Overwrite?");
// option: 0 = Cancel, 1 = No // option: 0 = Cancel, 1 = No
if (option == CANCEL_OPTION || option == 1) { if (option == CANCEL_OPTION || option == 1) {
@ -473,15 +473,11 @@ public class ECUEditorMenuBar extends JMenuBar implements ActionListener {
} }
private String getLastSelectedRomFileName() { private String getLastSelectedRomFileName() {
Rom lastSelectedRom = getEditor().getLastSelectedRom(); Rom lastSelectedRom = ECUEditorManager.getECUEditor().getLastSelectedRom();
return lastSelectedRom == null ? "" : lastSelectedRom.getFileName() + " "; return lastSelectedRom == null ? "" : lastSelectedRom.getFileName() + " ";
} }
private Settings getSettings() { private Settings getSettings() {
return getEditor().getSettings(); return SettingsManager.getSettings();
}
private ECUEditor getEditor() {
return editor;
} }
} }

View File

@ -36,6 +36,7 @@ import javax.swing.JToolBar;
import com.romraider.Settings; import com.romraider.Settings;
import com.romraider.editor.ecu.ECUEditor; import com.romraider.editor.ecu.ECUEditor;
import com.romraider.editor.ecu.ECUEditorManager; import com.romraider.editor.ecu.ECUEditorManager;
import com.romraider.util.SettingsManager;
public class ECUEditorToolBar extends JToolBar implements ActionListener { public class ECUEditorToolBar extends JToolBar implements ActionListener {
@ -147,7 +148,7 @@ public class ECUEditorToolBar extends JToolBar implements ActionListener {
} }
private Settings getSettings() { private Settings getSettings() {
return getEditor().getSettings(); return SettingsManager.getSettings();
} }
private ECUEditor getEditor() { private ECUEditor getEditor() {

View File

@ -35,6 +35,7 @@ import javax.swing.JViewport;
import com.romraider.Settings; import com.romraider.Settings;
import com.romraider.editor.ecu.ECUEditor; import com.romraider.editor.ecu.ECUEditor;
import com.romraider.editor.ecu.ECUEditorManager; import com.romraider.editor.ecu.ECUEditorManager;
import com.romraider.util.SettingsManager;
/** /**
* An extension of WDesktopPane that supports often used MDI functionality. This * An extension of WDesktopPane that supports often used MDI functionality. This
@ -64,12 +65,12 @@ public class MDIDesktopPane extends JDesktopPane {
int h; int h;
// get frame location. // get frame location.
if(getEditor().getSettings().isAlwaysOpenTableAtZero()) { if(SettingsManager.getSettings().isAlwaysOpenTableAtZero()) {
p = new Point(0, 0); p = new Point(0, 0);
} else { } else {
if (getAllFrames().length > 0) { if (getAllFrames().length > 0) {
JInternalFrame selectedFrame = getSelectedFrame(); JInternalFrame selectedFrame = getSelectedFrame();
if(null == selectedFrame) { if(null == selectedFrame || !selectedFrame.isVisible()) {
// if none selected get the location at index 0. // if none selected get the location at index 0.
p = getAllFrames()[0].getLocation(); p = getAllFrames()[0].getLocation();
} else { } else {

View File

@ -34,6 +34,7 @@ import javax.swing.tree.DefaultMutableTreeNode;
import com.romraider.editor.ecu.ECUEditor; import com.romraider.editor.ecu.ECUEditor;
import com.romraider.editor.ecu.ECUEditorManager; import com.romraider.editor.ecu.ECUEditorManager;
import com.romraider.maps.Rom; import com.romraider.maps.Rom;
import com.romraider.util.SettingsManager;
public class RomTree extends JTree implements MouseListener { public class RomTree extends JTree implements MouseListener {
@ -78,11 +79,11 @@ public class RomTree extends JTree implements MouseListener {
Object selectedRow = getPathForLocation(e.getX(), e.getY()).getLastPathComponent(); Object selectedRow = getPathForLocation(e.getX(), e.getY()).getLastPathComponent();
if(selectedRow instanceof TableTreeNode) { if(selectedRow instanceof TableTreeNode) {
if (e.getClickCount() >= getEditor().getSettings().getTableClickCount()) { if (e.getClickCount() >= SettingsManager.getSettings().getTableClickCount()) {
showTable(selectedRow); showTable(selectedRow);
} }
} else if(selectedRow instanceof Rom || selectedRow instanceof CategoryTreeNode) { } else if(selectedRow instanceof Rom || selectedRow instanceof CategoryTreeNode) {
if (e.getClickCount() >= getEditor().getSettings().getTableClickCount()) { if (e.getClickCount() >= SettingsManager.getSettings().getTableClickCount()) {
if(isCollapsed(getRowForLocation(e.getX(),e.getY()))) { if(isCollapsed(getRowForLocation(e.getX(),e.getY()))) {
expandRow(getRowForLocation(e.getX(),e.getY())); expandRow(getRowForLocation(e.getX(),e.getY()));
} }

View File

@ -36,6 +36,7 @@ import javax.swing.GroupLayout.Alignment;
import javax.swing.JCheckBox; import javax.swing.JCheckBox;
import javax.swing.JColorChooser; import javax.swing.JColorChooser;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
@ -50,8 +51,6 @@ import ZoeloeSoft.projects.JFontChooser.JFontChooser;
import com.romraider.Settings; import com.romraider.Settings;
import com.romraider.editor.ecu.ECUEditor; import com.romraider.editor.ecu.ECUEditor;
import com.romraider.editor.ecu.ECUEditorManager; import com.romraider.editor.ecu.ECUEditorManager;
import com.romraider.maps.Rom;
import com.romraider.maps.Table;
import com.romraider.util.FileAssociator; import com.romraider.util.FileAssociator;
import com.romraider.util.SettingsManager; import com.romraider.util.SettingsManager;
@ -891,7 +890,7 @@ public class SettingsForm extends JFrame implements MouseListener {
newSettings.setLoggerProfileFilePath(curSettings.getLoggerProfileFilePath()); newSettings.setLoggerProfileFilePath(curSettings.getLoggerProfileFilePath());
newSettings.setLoggerOutputDirPath(curSettings.getLoggerOutputDirPath()); newSettings.setLoggerOutputDirPath(curSettings.getLoggerOutputDirPath());
getEditor().setSettings(newSettings); SettingsManager.save(newSettings);
initSettings(); initSettings();
} else if (e.getSource() == btnAddAssocs) { } else if (e.getSource() == btnAddAssocs) {
@ -1020,7 +1019,7 @@ public class SettingsForm extends JFrame implements MouseListener {
private Settings getSettings() private Settings getSettings()
{ {
return getEditor().getSettings(); return SettingsManager.getSettings();
} }
private ECUEditor getEditor() private ECUEditor getEditor()
@ -1030,19 +1029,24 @@ public class SettingsForm extends JFrame implements MouseListener {
public void saveSettings() public void saveSettings()
{ {
SettingsManager.save(getSettings()); saveSettings(getSettings());
// TODO: check if table setting changed before refreshing all tables.
// Refresh all tables.
for(Rom rom : getEditor().getImages()) {
for(Table table : rom.getTables()) {
table.drawTable();
}
} }
public void saveSettings(Settings newSettings) {
SettingsManager.save(newSettings);
drawVisibleTables();
getEditor().refreshUI(); getEditor().refreshUI();
} }
private void drawVisibleTables() {
for(JInternalFrame frame : getEditor().getRightPanel().getAllFrames()) {
if(frame instanceof TableFrame && frame.isVisible()) {
TableFrame tableFrame = (TableFrame) frame;
tableFrame.getTable().drawTable();
}
}
}
@Override @Override
public void mousePressed(MouseEvent e) { public void mousePressed(MouseEvent e) {
} }

View File

@ -24,7 +24,6 @@ import static javax.swing.BorderFactory.createLineBorder;
import java.awt.Color; import java.awt.Color;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.FlowLayout; import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Image; import java.awt.Image;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
@ -71,6 +70,7 @@ import com.romraider.maps.Scale;
import com.romraider.maps.Table; import com.romraider.maps.Table;
import com.romraider.maps.Table1D; import com.romraider.maps.Table1D;
import com.romraider.maps.Table3D; import com.romraider.maps.Table3D;
import com.romraider.util.SettingsManager;
public class TableToolBar extends JToolBar implements MouseListener, ItemListener, ActionListener, GraphDataListener { public class TableToolBar extends JToolBar implements MouseListener, ItemListener, ActionListener, GraphDataListener {
@ -168,7 +168,6 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
refreshCompare.setBorder(createLineBorder(new Color(150, 150, 150), 1)); refreshCompare.setBorder(createLineBorder(new Color(150, 150, 150), 1));
scaleSelection.setPreferredSize(new Dimension(80, 23)); scaleSelection.setPreferredSize(new Dimension(80, 23));
scaleSelection.setFont(new Font("Tahoma", Font.PLAIN, 12));
clearOverlay.setPreferredSize(new Dimension(75, 23)); clearOverlay.setPreferredSize(new Dimension(75, 23));
clearOverlay.setBorder(createLineBorder(new Color(150, 150, 150), 1)); clearOverlay.setBorder(createLineBorder(new Color(150, 150, 150), 1));
@ -262,7 +261,7 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
} }
public void updateIcons() { public void updateIcons() {
Settings settings = ECUEditorManager.getECUEditor().getSettings(); Settings settings = SettingsManager.getSettings();
incrementFine.setIcon(rescaleImageIcon(new ImageIcon(incrementFineImage), settings.getTableIconScale())); incrementFine.setIcon(rescaleImageIcon(new ImageIcon(incrementFineImage), settings.getTableIconScale()));
decrementFine.setIcon(rescaleImageIcon(new ImageIcon(decrementFineImage), settings.getTableIconScale())); decrementFine.setIcon(rescaleImageIcon(new ImageIcon(decrementFineImage), settings.getTableIconScale()));
incrementCoarse.setIcon(rescaleImageIcon(new ImageIcon(incrementCoarseImage), settings.getTableIconScale())); incrementCoarse.setIcon(rescaleImageIcon(new ImageIcon(incrementCoarseImage), settings.getTableIconScale()));
@ -296,7 +295,7 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
@Override @Override
public void setBorder(Border border) { public void setBorder(Border border) {
if(ECUEditorManager.getECUEditor().getSettings().isShowTableToolbarBorder()) { if(SettingsManager.getSettings().isShowTableToolbarBorder()) {
super.setBorder(toolbarBorder); super.setBorder(toolbarBorder);
} else { } else {
super.setBorder(BorderFactory.createEmptyBorder()); super.setBorder(BorderFactory.createEmptyBorder());
@ -308,14 +307,7 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
} }
public void updateTableToolBar(Table selectedTable) { public void updateTableToolBar(Table selectedTable) {
if(null != this.selectedTable && this.selectedTable.equals(selectedTable)) {
// Already up to date. Return.
return;
}
this.selectedTable = selectedTable; this.selectedTable = selectedTable;
double fineIncrement = 0;
double coarseIncrement = 0;
setBorder(toolbarBorder); setBorder(toolbarBorder);
@ -326,16 +318,7 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
return; return;
} }
try { updateToolbarIncrementDecrementValues();
// enable the toolbar.
fineIncrement = Math.abs(selectedTable.getCurrentScale().getFineIncrement());
coarseIncrement = Math.abs(selectedTable.getCurrentScale().getCoarseIncrement());
} catch (Exception ex) {
// scaling units haven't been added yet -- no problem
}
incrementByFine.setValue(fineIncrement);
incrementByCoarse.setValue(coarseIncrement);
this.overlayLog.setSelected(selectedTable.getOverlayLog()); this.overlayLog.setSelected(selectedTable.getOverlayLog());
this.enable3d.setEnabled(selectedTable.getType() == Settings.TABLE_3D); this.enable3d.setEnabled(selectedTable.getType() == Settings.TABLE_3D);
@ -352,6 +335,26 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
toggleTableToolBar(selectedTable); toggleTableToolBar(selectedTable);
} }
private void updateToolbarIncrementDecrementValues() {
if(null == selectedTable) {
return;
}
double fineIncrement = 0;
double coarseIncrement = 0;
try {
// enable the toolbar.
fineIncrement = Math.abs(selectedTable.getCurrentScale().getFineIncrement());
coarseIncrement = Math.abs(selectedTable.getCurrentScale().getCoarseIncrement());
} catch (Exception ex) {
// scaling units haven't been added yet -- no problem
}
incrementByFine.setValue(fineIncrement);
incrementByCoarse.setValue(coarseIncrement);
}
private void toggleTableToolBar(Table currentTable) { private void toggleTableToolBar(Table currentTable) {
String newTitle = ""; String newTitle = "";
boolean enabled; boolean enabled;
@ -707,6 +710,7 @@ public class TableToolBar extends JToolBar implements MouseListener, ItemListene
try { try {
curTable.setScaleByName((String)scaleSelection.getSelectedItem()); curTable.setScaleByName((String)scaleSelection.getSelectedItem());
updateToolbarIncrementDecrementValues();
} catch (NameNotFoundException e1) { } catch (NameNotFoundException e1) {
e1.printStackTrace(); e1.printStackTrace();
} }

View File

@ -22,7 +22,6 @@ package com.romraider.util;
import java.awt.Color; import java.awt.Color;
import com.romraider.Settings; import com.romraider.Settings;
import com.romraider.editor.ecu.ECUEditorManager;
public final class ColorScaler { public final class ColorScaler {
@ -31,7 +30,7 @@ public final class ColorScaler {
public static Color getScaledColor(double scale) { public static Color getScaledColor(double scale) {
Settings settings = ECUEditorManager.getECUEditor().getSettings(); Settings settings = SettingsManager.getSettings();
if(0.0 == scale) { if(0.0 == scale) {
return settings.getMinColor(); return settings.getMinColor();
} }

View File

@ -92,7 +92,7 @@ public class SettingsManager {
final File newDir = new File(settingsDir); final File newDir = new File(settingsDir);
newDir.mkdir(); // Creates directory if it does not exist newDir.mkdir(); // Creates directory if it does not exist
final File sf = new File(settingsDir + SETTINGS_FILE); final File sf = new File(settingsDir + SETTINGS_FILE);
builder.buildSettings(settings, sf, progress, VERSION); builder.buildSettings(newSettings, sf, progress, VERSION);
settings = newSettings; settings = newSettings;
} catch (Exception e) { } catch (Exception e) {
// Load the settings from disk. // Load the settings from disk.

View File

@ -50,6 +50,7 @@ import com.romraider.swing.DebugPanel;
import com.romraider.swing.JProgressPane; import com.romraider.swing.JProgressPane;
import com.romraider.util.LogManager; import com.romraider.util.LogManager;
import com.romraider.util.ObjectCloner; import com.romraider.util.ObjectCloner;
import com.romraider.util.SettingsManager;
public final class DOMRomUnmarshaller { public final class DOMRomUnmarshaller {
private static final Logger LOGGER = Logger private static final Logger LOGGER = Logger
@ -362,8 +363,7 @@ public final class DOMRomUnmarshaller {
} catch (NullPointerException ex) { } catch (NullPointerException ex) {
JOptionPane.showMessageDialog(ECUEditorManager.getECUEditor(), JOptionPane.showMessageDialog(ECUEditorManager.getECUEditor(),
new DebugPanel(ex, ECUEditorManager.getECUEditor() new DebugPanel(ex, SettingsManager.getSettings().getSupportURL()), "Exception",
.getSettings().getSupportURL()), "Exception",
JOptionPane.ERROR_MESSAGE); JOptionPane.ERROR_MESSAGE);
} }
@ -575,8 +575,7 @@ public final class DOMRomUnmarshaller {
} catch (Exception ex) { } catch (Exception ex) {
JOptionPane.showMessageDialog( JOptionPane.showMessageDialog(
ECUEditorManager.getECUEditor(), ECUEditorManager.getECUEditor(),
new DebugPanel(ex, ECUEditorManager new DebugPanel(ex, SettingsManager.getSettings()
.getECUEditor().getSettings()
.getSupportURL()), "Exception", .getSupportURL()), "Exception",
JOptionPane.ERROR_MESSAGE); JOptionPane.ERROR_MESSAGE);
} }

View File

@ -354,7 +354,7 @@ public final class DOMSettingsBuilder {
plugin.setAttribute("port", entry.getValue()); plugin.setAttribute("port", entry.getValue());
plugins.appendChild(plugin); plugins.appendChild(plugin);
} }
final Map<String, IntfKitSensor> phidgets = Settings.getPhidgetSensors(); final Map<String, IntfKitSensor> phidgets = settings.getPhidgetSensors();
if (phidgets != null && !phidgets.isEmpty()) { if (phidgets != null && !phidgets.isEmpty()) {
final Collection<IntfKitSensor> sensors = phidgets.values(); final Collection<IntfKitSensor> sensors = phidgets.values();
IIOMetadataNode phidgetsNode = new IIOMetadataNode("phidgets"); IIOMetadataNode phidgetsNode = new IIOMetadataNode("phidgets");

View File

@ -330,7 +330,7 @@ public final class DOMSettingsUnmarshaller {
} }
} }
} }
Settings.setPhidgetSensors(phidgets); settings.setPhidgetSensors(phidgets);
} }
} }
settings.setLoggerPluginPorts(pluginPorts); settings.setLoggerPluginPorts(pluginPorts);