Provide user a message when a table fails to display. Formatting ...

This commit is contained in:
Dale Schultz 2022-05-16 20:13:19 -04:00
parent 7a43f7b9db
commit 2f89436bc0
No known key found for this signature in database
GPG Key ID: EA2C8AD6CB5C2AF2
4 changed files with 114 additions and 101 deletions

View File

@ -1,4 +1,4 @@
TITLE = ECU Editor
TITLE = {0} v{1} | ECU Editor
OPENIMAGES = Open Images
RRECUED = RomRaider ECU Editor
EDTOOLS = Editor Tools
@ -17,6 +17,8 @@ DISPLAYMSG = Always display this message
ISOBSOLETE = ECU Revision is Obsolete
IMAGENOTFOUND = Image Not Found
ERRORLOADING = Error Loading Image(s)
EXCEPTION = Exception
POPULATEFAIL = Failed to visually populate table - {0}\n{1}
#Inner Class messages
LAUNCHLOGGER = Launching Logger ...

View File

@ -1,4 +1,4 @@
TITLE = Editeur d'ECU
TITLE = {0} v{1} | Editeur d'ECU
OPENIMAGES = Images ouvertes
RRECUED = RomRaider Editeur d'ECU
EDTOOLS = Outils de l'éditeur
@ -11,11 +11,14 @@ CFGEDFSMENU = Les fichiers de d
RELEASENOTESFONT = Tahoma
RELEASENOTES = Notes de version
STATUSREADY = Prêt ...
CHECKSUMSTATE = %d les sommes de contrôle sont correctes. Les sommes de contrôle seront mises à jour lors de l'enregistrement du fichier.
OBSOLETEROM = Il existe une version plus récente de cette révision du calculateur. Veuillez visiter le lien suivant pour télécharger la dernière révision:
DISPLAYMSG = Toujours afficher ce message
ISOBSOLETE = La révision de l'ECU est obsolète
IMAGENOTFOUND = Image non trouvée
ERRORLOADING = Erreur lors du chargement des images
EXCEPTION = Exception
POPULATEFAIL = Échec du remplissage visuel du tableau - {0}\n{1}
#Inner Class messages
LAUNCHLOGGER = Lancement de l'enregistreur ...
@ -32,6 +35,7 @@ FINALIZING = Finaliser ...
DONELOAD = Terminé chargement de l'image ...
CHECKSUM = Validation de la somme de contrôle ...
DEFNOTFOUND = Définition de l'ECU non trouvée
DEFNOMATCH = Cette définition ne semble pas correspondre, voulez-vous quand même la charger? Le premier Rom de la Définition sera choisi.
UNREADABLEDEF = Impossible de lire les définitions XML. Assurez-vous que le fichier de définition est correct. S'il se trouve dans une archive ZIP, décompressez le fichier et réessayez.
LOOPEDBASE = Attribut "base" en boucle dans les définitions XML.
OUTOFMEMORY = Erreur de chargement de l'image. Mémoire insuffisante.

View File

@ -1,6 +1,6 @@
/*
* RomRaider Open-Source Tuning, Logging and Reflashing
* Copyright (C) 2006-2021 RomRaider.com
* Copyright (C) 2006-2022 RomRaider.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -23,6 +23,7 @@ import static com.romraider.Version.ECU_DEFS_URL;
import static com.romraider.Version.PRODUCT_NAME;
import static com.romraider.Version.VERSION;
import static javax.swing.JOptionPane.DEFAULT_OPTION;
import static javax.swing.JOptionPane.ERROR_MESSAGE;
import static javax.swing.JOptionPane.INFORMATION_MESSAGE;
import static javax.swing.JOptionPane.WARNING_MESSAGE;
import static javax.swing.JOptionPane.showMessageDialog;
@ -31,6 +32,7 @@ import static javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
import static javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER;
import static javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS;
import static javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
@ -51,6 +53,7 @@ import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.ResourceBundle;
import java.util.Vector;
@ -88,6 +91,7 @@ import com.romraider.net.BrowserControl;
import com.romraider.net.URL;
import com.romraider.swing.AbstractFrame;
import com.romraider.swing.CustomToolbarLayout;
import com.romraider.swing.DebugPanel;
import com.romraider.swing.ECUEditorMenuBar;
import com.romraider.swing.ECUEditorToolBar;
import com.romraider.swing.JProgressPane;
@ -107,8 +111,8 @@ public class ECUEditor extends AbstractFrame {
protected static final ResourceBundle rb = new ResourceUtil().getBundle(
ECUEditor.class.getName());
private final String titleText = PRODUCT_NAME + " v" + VERSION + " | " +
rb.getString("TITLE");
private final String titleText = MessageFormat.format(
rb.getString("TITLE"), PRODUCT_NAME, VERSION);
private final RomTreeRootNode imageRoot = new RomTreeRootNode(
rb.getString("OPENIMAGES"));
@ -127,9 +131,9 @@ public class ECUEditor extends AbstractFrame {
private SetUserLevelWorker setUserLevelWorker;
private final ImageIcon editorIcon = new ImageIcon(getClass().getResource(
"/graphics/romraider-ico.gif"), rb.getString("RRECUED"));
private final Settings settings = SettingsManager.getSettings();
public ECUEditor() {
Settings settings = SettingsManager.getSettings();
if (!settings.getRecentVersion().equalsIgnoreCase(VERSION)) {
showReleaseNotes();
}
@ -193,7 +197,7 @@ public class ECUEditor extends AbstractFrame {
}
public void checkDefinitions() {
if (SettingsManager.getSettings().getEcuDefinitionFiles().size() <= 0) {
if (settings.getEcuDefinitionFiles().size() <= 0) {
// no ECU definitions configured - let user choose to get latest or configure later
Object[] options = {rb.getString("YES"), rb.getString("NO")};
int answer = showOptionDialog(null,
@ -218,7 +222,7 @@ public class ECUEditor extends AbstractFrame {
private void showReleaseNotes() {
try {
BufferedReader br = new BufferedReader(new FileReader(
SettingsManager.getSettings().getReleaseNotes()));
settings.getReleaseNotes()));
try {
// new version being used, display release notes
JTextArea releaseNotes = new JTextArea();
@ -251,7 +255,6 @@ public class ECUEditor extends AbstractFrame {
}
public void handleExit() {
Settings settings = SettingsManager.getSettings();
settings.setSplitPaneLocation(splitPane.getDividerLocation());
settings.setWindowMaximized(getExtendedState() == MAXIMIZED_BOTH);
settings.setWindowSize(getSize());
@ -273,7 +276,6 @@ public class ECUEditor extends AbstractFrame {
public void handleExportDefinition() {
Rom r = getLastSelectedRom();
Settings settings = SettingsManager.getSettings();
if(null != r) {
JFileChooser fileChooser = new JFileChooser(settings.getLastDefinitionDir());
@ -333,7 +335,6 @@ public class ECUEditor extends AbstractFrame {
}
public void addRom(Rom input) {
Settings settings = SettingsManager.getSettings();
input.refreshDisplayedTables();
// add to ecu image list pane
@ -367,7 +368,7 @@ public class ECUEditor extends AbstractFrame {
check.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
SettingsManager.getSettings().setObsoleteWarning(
settings.setObsoleteWarning(
((JCheckBox) e.getSource()).isSelected());
}
});
@ -387,7 +388,7 @@ public class ECUEditor extends AbstractFrame {
for(JInternalFrame curFrame : getRightPanel().getAllFrames()) {
if(curFrame.equals(frame)) {
// table is already open.
if(1 == SettingsManager.getSettings().getTableClickBehavior()) { // open/focus frame
if(1 == settings.getTableClickBehavior()) { // open/focus frame
// table is already open, so set focus on the frame.
boolean selected = true;
frame.toFront();
@ -407,7 +408,7 @@ public class ECUEditor extends AbstractFrame {
try {
frame.setClosed(true);
} catch (PropertyVetoException e) {
; // Do nothing.
// Do nothing.
}
frame.dispose();
}
@ -441,12 +442,18 @@ public class ECUEditor extends AbstractFrame {
}
}
catch(Exception e) {
System.err.println("Failed to visually populate table " + t.getName());
e.printStackTrace();
final String msg = MessageFormat.format(
rb.getString("POPULATEFAIL"), t.getName(),
e.toString());
final Exception ex = new Exception(msg);
showMessageDialog(this,
new DebugPanel(ex, settings.getSupportURL()),
rb.getString("EXCEPTION"),
ERROR_MESSAGE);
}
}
} catch (IllegalArgumentException ex) {
;// Do nothing.
// Do nothing.
}
// frame not added. Draw table and add the frame.
@ -533,7 +540,7 @@ public class ECUEditor extends AbstractFrame {
public void setUserLevel(int userLevel) {
setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
SettingsManager.getSettings().setUserLevel(userLevel);
settings.setUserLevel(userLevel);
setUserLevelWorker = new SetUserLevelWorker();
setUserLevelWorker.addPropertyChangeListener(getStatusPanel());
setUserLevelWorker.execute();

View File

@ -1,6 +1,6 @@
/*
* RomRaider Open-Source Tuning, Logging and Reflashing
* Copyright (C) 2006-2020 RomRaider.com
* Copyright (C) 2006-2022 RomRaider.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -53,7 +53,7 @@ public class DebugPanel extends JPanel {
top.add(new JLabel(rb.getString("LABEL4")));
add(top, BorderLayout.NORTH);
JTextArea output = new JTextArea(ex.getMessage());
JTextArea output = new JTextArea(ex.toString());
add(output, BorderLayout.CENTER);
output.setAutoscrolls(true);
output.setRows(10);