From 799990e270027d425243775847db2989a46a0e35 Mon Sep 17 00:00:00 2001 From: Jared Gould Date: Sun, 16 Jul 2006 03:40:50 +0000 Subject: [PATCH] Added value limit warning options and removed ECU definition file from SettingsForm.form git-svn-id: http://svn.3splooges.com/romraider-arch/trunk@161 d2e2e1cd-ba16-0410-be16-b7c4453c7c2d --- src/enginuity/Settings.java | 18 + src/enginuity/maps/Scale.java | 16 + src/enginuity/swing/SettingsForm.form | 322 +++++++++--------- src/enginuity/swing/SettingsForm.java | 296 ++++++++-------- src/enginuity/xml/DOMRomUnmarshaller.java | 2 + src/enginuity/xml/DOMSettingsBuilder.java | 13 +- .../xml/DOMSettingsUnmarshaller.java | 27 +- 7 files changed, 372 insertions(+), 322 deletions(-) diff --git a/src/enginuity/Settings.java b/src/enginuity/Settings.java index 086b8f76..76bcf210 100644 --- a/src/enginuity/Settings.java +++ b/src/enginuity/Settings.java @@ -28,6 +28,7 @@ public class Settings implements Serializable { private int userLevel = 1; private boolean saveDebugTables = false; private boolean displayHighTables = true; + private boolean valueLimitWarning = true; private Font tableFont = new Font("Arial", Font.BOLD, 12); private Dimension cellSize = new Dimension(42, 18); @@ -37,6 +38,7 @@ public class Settings implements Serializable { private Color increaseBorder = new Color(255, 0, 0); private Color decreaseBorder = new Color(0, 0, 255); private Color axisColor = new Color(255, 255, 255); + private Color warningColor = new Color(255, 0, 0); private int tableClickCount = 2; // number of clicks to open table public Settings() { @@ -243,4 +245,20 @@ public class Settings implements Serializable { public void setDisplayHighTables(boolean displayHighTables) { this.displayHighTables = displayHighTables; } + + public boolean isValueLimitWarning() { + return valueLimitWarning; + } + + public void setValueLimitWarning(boolean valueLimitWarning) { + this.valueLimitWarning = valueLimitWarning; + } + + public Color getWarningColor() { + return warningColor; + } + + public void setWarningColor(Color warningColor) { + this.warningColor = warningColor; + } } \ No newline at end of file diff --git a/src/enginuity/maps/Scale.java b/src/enginuity/maps/Scale.java index 23b83b26..b0ca6518 100644 --- a/src/enginuity/maps/Scale.java +++ b/src/enginuity/maps/Scale.java @@ -95,4 +95,20 @@ public class Scale implements Serializable { public void setName(String name) { this.name = name; } + + public double getMin() { + return min; + } + + public void setMin(double min) { + this.min = min; + } + + public double getMax() { + return max; + } + + public void setMax(double max) { + this.max = max; + } } \ No newline at end of file diff --git a/src/enginuity/swing/SettingsForm.form b/src/enginuity/swing/SettingsForm.form index 95f3a7dd..903d607d 100644 --- a/src/enginuity/swing/SettingsForm.form +++ b/src/enginuity/swing/SettingsForm.form @@ -24,14 +24,11 @@ - - + + - - - - + @@ -45,36 +42,17 @@ - - - - - + - + + - - - - - - - - - - - - - - - - @@ -83,14 +61,7 @@ - - - - - - - - + @@ -100,19 +71,15 @@ - - - - - + - + - + @@ -120,18 +87,6 @@ - - - - - - - - - - - - @@ -199,7 +154,7 @@ - + @@ -207,50 +162,56 @@ - - - + + + + + + + + + + - - - + + + + + + - + + + + - - - - - - - - - - - - - + - - - - + + + + + + + + + - - + + @@ -275,20 +236,33 @@ - - - - - + + + + + + + + - - + - - - - + + + + + + + + + + + + + + + @@ -296,23 +270,25 @@ - - + + + + + + + - + + + + + + - - - - - - - - - - - - + + + + @@ -390,13 +366,31 @@ + + + + + + + + + + + + + + + + + + - + @@ -404,35 +398,26 @@ - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - + + + + + @@ -440,7 +425,7 @@ - + @@ -471,14 +456,14 @@ - + - + @@ -487,7 +472,7 @@ - + @@ -500,6 +485,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -517,31 +541,5 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/enginuity/swing/SettingsForm.java b/src/enginuity/swing/SettingsForm.java index 1795fe50..694cc5a4 100644 --- a/src/enginuity/swing/SettingsForm.java +++ b/src/enginuity/swing/SettingsForm.java @@ -29,11 +29,11 @@ public class SettingsForm extends JFrame implements MouseListener { axisColor.addMouseListener(this); increaseColor.addMouseListener(this); decreaseColor.addMouseListener(this); + warningColor.addMouseListener(this); btnOk.addMouseListener(this); btnApply.addMouseListener(this); btnCancel.addMouseListener(this); - btnEcuDefinitionBrowse.addMouseListener(this); btnChooseFont.addMouseListener(this); reset.addMouseListener(this); @@ -42,10 +42,7 @@ public class SettingsForm extends JFrame implements MouseListener { } private void initSettings() { - - // COMMENDED FOR DEF MANAGER TESTING< FIX LATER - //ecuDefinitionFile.setText(this.settings.getEcuDefinitionFile().getAbsolutePath()); - + obsoleteWarning.setSelected(settings.isObsoleteWarning()); calcConflictWarning.setSelected(settings.isCalcConflictWarning()); displayHighTables.setSelected(settings.isDisplayHighTables()); @@ -70,13 +67,13 @@ public class SettingsForm extends JFrame implements MouseListener { } else { // double click opens table tableClickCount.setSelectedIndex(1); } + + valueLimitWarning.setSelected(settings.isValueLimitWarning()); + warningColor.setBackground(settings.getWarningColor()); } // //GEN-BEGIN:initComponents private void initComponents() { - lblEcuDef = new javax.swing.JLabel(); - ecuDefinitionFile = new javax.swing.JTextField(); - btnEcuDefinitionBrowse = new javax.swing.JButton(); obsoleteWarning = new javax.swing.JCheckBox(); calcConflictWarning = new javax.swing.JCheckBox(); debug = new javax.swing.JCheckBox(); @@ -94,6 +91,8 @@ public class SettingsForm extends JFrame implements MouseListener { minColor = new javax.swing.JLabel(); highlightColor = new javax.swing.JLabel(); axisColor = new javax.swing.JLabel(); + warningColor = new javax.swing.JLabel(); + lblWarning = new javax.swing.JLabel(); jPanel3 = new javax.swing.JPanel(); lblIncrease = new javax.swing.JLabel(); increaseColor = new javax.swing.JLabel(); @@ -105,19 +104,16 @@ public class SettingsForm extends JFrame implements MouseListener { lblCellWidth = new javax.swing.JLabel(); lblFont = new javax.swing.JLabel(); btnChooseFont = new javax.swing.JButton(); + saveDebugTables = new javax.swing.JCheckBox(); + displayHighTables = new javax.swing.JCheckBox(); + valueLimitWarning = new javax.swing.JCheckBox(); jLabel1 = new javax.swing.JLabel(); tableClickCount = new javax.swing.JComboBox(); - displayHighTables = new javax.swing.JCheckBox(); - saveDebugTables = new javax.swing.JCheckBox(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Enginuity Settings"); setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); setFont(new java.awt.Font("Tahoma", 0, 11)); - lblEcuDef.setText("ECU Definition File:"); - - btnEcuDefinitionBrowse.setText("Browse"); - obsoleteWarning.setText("Warn me when opening out of date ECU image revision"); obsoleteWarning.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); obsoleteWarning.setMargin(new java.awt.Insets(0, 0, 0, 0)); @@ -142,7 +138,7 @@ public class SettingsForm extends JFrame implements MouseListener { reset.setText("Restore Defaults"); - jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Data Cells")); + jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Table Display")); jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Background")); lblAxis.setText("Axis Cell:"); @@ -168,47 +164,63 @@ public class SettingsForm extends JFrame implements MouseListener { axisColor.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); axisColor.setOpaque(true); + warningColor.setBackground(new java.awt.Color(255, 0, 0)); + warningColor.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); + warningColor.setOpaque(true); + + lblWarning.setText("Warning:"); + org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel2Layout.createSequentialGroup() + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(lblWarning) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(4, 4, 4) + .add(lblMin)) + .add(lblMax))) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) - .add(lblAxis) + .add(jPanel2Layout.createSequentialGroup() + .add(maxColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 22, Short.MAX_VALUE) .add(lblHighlight) - .add(lblMin)) - .add(lblMax)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(org.jdesktop.layout.GroupLayout.TRAILING, maxColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(org.jdesktop.layout.GroupLayout.TRAILING, minColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(org.jdesktop.layout.GroupLayout.TRAILING, highlightColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(org.jdesktop.layout.GroupLayout.TRAILING, axisColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(highlightColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(jPanel2Layout.createSequentialGroup() + .add(minColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 55, Short.MAX_VALUE) + .add(lblAxis) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(axisColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(warningColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel2Layout.createSequentialGroup() - .add(maxColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(lblMax) + .add(maxColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(highlightColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(lblHighlight)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(minColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(lblMin) + .add(minColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(axisColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(lblAxis)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(highlightColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(axisColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .add(jPanel2Layout.createSequentialGroup() - .add(lblMax) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(lblMin) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(lblHighlight) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(lblAxis)) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(warningColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(lblWarning))) ); - jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Border")); - lblIncrease.setText("Increased Value:"); + jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Cell Borders")); + lblIncrease.setText("Increased:"); increaseColor.setBackground(new java.awt.Color(255, 0, 0)); increaseColor.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); @@ -218,82 +230,98 @@ public class SettingsForm extends JFrame implements MouseListener { decreaseColor.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0))); decreaseColor.setOpaque(true); - lblDecrease.setText("Decreased Value:"); + lblDecrease.setText("Decreased:"); org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(jPanel3Layout.createSequentialGroup() - .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(lblDecrease) - .add(jPanel3Layout.createSequentialGroup() - .add(3, 3, 3) - .add(lblIncrease))) + .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup() + .addContainerGap() + .add(lblIncrease) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(increaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(decreaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(increaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 59, Short.MAX_VALUE) + .add(lblDecrease) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(decreaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(jPanel3Layout.createSequentialGroup() - .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(increaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(lblIncrease)) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(lblDecrease) - .add(decreaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .addContainerGap(42, Short.MAX_VALUE)) + .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(decreaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(lblDecrease) + .add(lblIncrease) + .add(increaseColor, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) ); - lblCellHeight.setText("Height:"); + lblCellHeight.setText("Cell Height:"); - lblCellWidth.setText("Width:"); + lblCellWidth.setText("Cell Width:"); lblFont.setText("Font:"); btnChooseFont.setText("Choose"); + saveDebugTables.setText("Save changes made on tables in debug mode"); + saveDebugTables.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + saveDebugTables.setMargin(new java.awt.Insets(0, 0, 0, 0)); + + displayHighTables.setText("List tables that are above my userlevel"); + displayHighTables.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + displayHighTables.setMargin(new java.awt.Insets(0, 0, 0, 0)); + + valueLimitWarning.setText("Warn when values exceed limits"); + valueLimitWarning.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); + valueLimitWarning.setMargin(new java.awt.Insets(0, 0, 0, 0)); + org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel1Layout.createSequentialGroup() - .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 152, Short.MAX_VALUE) - .add(jPanel1Layout.createSequentialGroup() - .add(lblCellHeight) - .add(10, 10, 10) + .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel1Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(saveDebugTables) + .add(displayHighTables) + .add(valueLimitWarning)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1Layout.createSequentialGroup() .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(btnChooseFont, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 107, Short.MAX_VALUE) + .add(lblCellHeight) + .add(lblFont)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(btnChooseFont) .add(jPanel1Layout.createSequentialGroup() .add(cellHeight, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 57, Short.MAX_VALUE))))) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(jPanel1Layout.createSequentialGroup() - .add(lblCellWidth) - .add(10, 10, 10) - .add(cellWidth, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) - .add(jPanel1Layout.createSequentialGroup() - .add(lblFont) - .addContainerGap()) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 18, Short.MAX_VALUE) + .add(lblCellWidth) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(cellWidth, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 50, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))) + .addContainerGap(71, Short.MAX_VALUE)) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(jPanel1Layout.createSequentialGroup() - .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(19, 19, 19) + .add(saveDebugTables) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(displayHighTables) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(valueLimitWarning) + .add(16, 16, 16) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(lblCellHeight) - .add(cellHeight, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(lblCellWidth) - .add(cellWidth, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(cellWidth, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(lblCellHeight) + .add(cellHeight, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(lblFont) @@ -304,27 +332,16 @@ public class SettingsForm extends JFrame implements MouseListener { tableClickCount.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Single", "Double" })); - displayHighTables.setText("List tables that are above my userlevel"); - displayHighTables.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); - displayHighTables.setMargin(new java.awt.Insets(0, 0, 0, 0)); - - saveDebugTables.setText("Save changes made on tables in debug mode"); - saveDebugTables.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0)); - saveDebugTables.setMargin(new java.awt.Insets(0, 0, 0, 0)); - org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(layout.createSequentialGroup() - .add(10, 10, 10) - .add(ecuDefinitionFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 257, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(btnEcuDefinitionBrowse) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)) - .add(layout.createSequentialGroup() + .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup() + .addContainerGap() + .add(jPanel1, 0, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup() .addContainerGap() .add(reset) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 34, Short.MAX_VALUE) @@ -333,42 +350,22 @@ public class SettingsForm extends JFrame implements MouseListener { .add(btnOk) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(btnCancel)) - .add(layout.createSequentialGroup() + .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup() .addContainerGap() - .add(jPanel1, 0, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) - .add(calcConflictWarning) - .add(obsoleteWarning) - .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(org.jdesktop.layout.GroupLayout.LEADING, calcConflictWarning) + .add(org.jdesktop.layout.GroupLayout.LEADING, obsoleteWarning) + .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup() .add(tableClickCount, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(jLabel1)))) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(lblEcuDef)) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(displayHighTables)) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(saveDebugTables)) - .add(layout.createSequentialGroup() - .addContainerGap() - .add(debug))) + .add(jLabel1)) + .add(org.jdesktop.layout.GroupLayout.LEADING, debug)))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) .add(layout.createSequentialGroup() .addContainerGap() - .add(lblEcuDef) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) - .add(btnEcuDefinitionBrowse) - .add(ecuDefinitionFile, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) - .add(28, 28, 28) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(jLabel1) .add(tableClickCount, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 18, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) @@ -377,19 +374,15 @@ public class SettingsForm extends JFrame implements MouseListener { .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(calcConflictWarning) .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(displayHighTables) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) - .add(saveDebugTables) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) .add(debug) - .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 26, Short.MAX_VALUE) + .add(17, 17, 17) .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) - .add(34, 34, 34) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 34, Short.MAX_VALUE) .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) .add(btnCancel) - .add(btnOk) .add(btnApply) - .add(reset)) + .add(reset) + .add(btnOk)) .addContainerGap()) ); pack(); @@ -438,6 +431,13 @@ public class SettingsForm extends JFrame implements MouseListener { decreaseColor.setBackground(color); } } + else if (e.getSource() == warningColor) { + Color color = JColorChooser.showDialog(this.getContentPane(), + "Warning Color", settings.getWarningColor()); + if (color != null) { + warningColor.setBackground(color); + } + } else if (e.getSource() == btnApply) { applySettings(); } @@ -448,16 +448,7 @@ public class SettingsForm extends JFrame implements MouseListener { else if (e.getSource() == btnCancel) { this.dispose(); } - else if (e.getSource() == btnEcuDefinitionBrowse) { - JFileChooser fc = new JFileChooser(new File(ecuDefinitionFile - .getText())); - fc.setFileFilter(new XMLFilter()); - if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { - ecuDefinitionFile.setText(fc.getSelectedFile() - .getAbsolutePath()); - } - } else if (e.getSource() == btnChooseFont) { JFontChooser fc = new JFontChooser(this); fc.setLocationRelativeTo(this); @@ -484,9 +475,7 @@ public class SettingsForm extends JFrame implements MouseListener { } catch (NumberFormatException ex) { // number formatted imporperly, reset cellWidth.setText((int)(settings.getCellSize().getWidth())+""); - } - - settings.addEcuDefinitionFile(new File(ecuDefinitionFile.getText())); + } settings.setObsoleteWarning(obsoleteWarning.isSelected()); settings.setCalcConflictWarning(calcConflictWarning.isSelected()); @@ -512,6 +501,9 @@ public class SettingsForm extends JFrame implements MouseListener { settings.setTableClickCount(2); } + settings.setValueLimitWarning(valueLimitWarning.isSelected()); + settings.setWarningColor(warningColor.getBackground()); + parent.setSettings(settings); } @@ -525,7 +517,6 @@ public class SettingsForm extends JFrame implements MouseListener { private javax.swing.JButton btnApply; private javax.swing.JButton btnCancel; private javax.swing.JButton btnChooseFont; - private javax.swing.JButton btnEcuDefinitionBrowse; private javax.swing.JButton btnOk; private javax.swing.JCheckBox calcConflictWarning; private javax.swing.JTextField cellHeight; @@ -533,7 +524,6 @@ public class SettingsForm extends JFrame implements MouseListener { private javax.swing.JCheckBox debug; private javax.swing.JLabel decreaseColor; private javax.swing.JCheckBox displayHighTables; - private javax.swing.JTextField ecuDefinitionFile; private javax.swing.JLabel highlightColor; private javax.swing.JLabel increaseColor; private javax.swing.JLabel jLabel1; @@ -544,18 +534,20 @@ public class SettingsForm extends JFrame implements MouseListener { private javax.swing.JLabel lblCellHeight; private javax.swing.JLabel lblCellWidth; private javax.swing.JLabel lblDecrease; - private javax.swing.JLabel lblEcuDef; private javax.swing.JLabel lblFont; private javax.swing.JLabel lblHighlight; private javax.swing.JLabel lblIncrease; private javax.swing.JLabel lblMax; private javax.swing.JLabel lblMin; + private javax.swing.JLabel lblWarning; private javax.swing.JLabel maxColor; private javax.swing.JLabel minColor; private javax.swing.JCheckBox obsoleteWarning; private javax.swing.JButton reset; private javax.swing.JCheckBox saveDebugTables; private javax.swing.JComboBox tableClickCount; + private javax.swing.JCheckBox valueLimitWarning; + private javax.swing.JLabel warningColor; // End of variables declaration//GEN-END:variables } \ No newline at end of file diff --git a/src/enginuity/xml/DOMRomUnmarshaller.java b/src/enginuity/xml/DOMRomUnmarshaller.java index d16b7e63..c83e8823 100644 --- a/src/enginuity/xml/DOMRomUnmarshaller.java +++ b/src/enginuity/xml/DOMRomUnmarshaller.java @@ -373,6 +373,8 @@ public class DOMRomUnmarshaller { scale.setExpression(unmarshallAttribute(scaleNode, "expression", scale.getExpression())); scale.setByteExpression(unmarshallAttribute(scaleNode, "to_byte", scale.getByteExpression())); scale.setFormat(unmarshallAttribute(scaleNode, "format", "#")); + scale.setMax(Double.parseDouble(unmarshallAttribute(scaleNode, "max", "0"))); + scale.setMin(Double.parseDouble(unmarshallAttribute(scaleNode, "min", "0"))); // get coarse increment with new attribute name (coarseincrement), else look for old (increment) scale.setCoarseIncrement(Double.parseDouble(unmarshallAttribute(scaleNode, "coarseincrement", diff --git a/src/enginuity/xml/DOMSettingsBuilder.java b/src/enginuity/xml/DOMSettingsBuilder.java index 5aa66df6..5b4e240f 100644 --- a/src/enginuity/xml/DOMSettingsBuilder.java +++ b/src/enginuity/xml/DOMSettingsBuilder.java @@ -123,7 +123,12 @@ public class DOMSettingsBuilder { // display tables higher than userlevel IIOMetadataNode displayHighTables = new IIOMetadataNode("displayhightables"); displayHighTables.setAttribute("value", settings.isDisplayHighTables()+""); - options.appendChild(displayHighTables); + options.appendChild(displayHighTables); + + // warning when exceeding limits + IIOMetadataNode valueLimitWarning = new IIOMetadataNode("valuelimitwarning"); + valueLimitWarning.setAttribute("value", settings.isValueLimitWarning()+""); + options.appendChild(valueLimitWarning); return options; } @@ -182,6 +187,12 @@ public class DOMSettingsBuilder { axis.setAttribute("g", settings.getAxisColor().getGreen()+""); axis.setAttribute("b", settings.getAxisColor().getBlue()+""); colors.appendChild(axis); + // warning cells + IIOMetadataNode warning = new IIOMetadataNode("warning"); + warning.setAttribute("r", settings.getWarningColor().getRed()+""); + warning.setAttribute("g", settings.getWarningColor().getGreen()+""); + warning.setAttribute("b", settings.getWarningColor().getBlue()+""); + colors.appendChild(warning); tableDisplay.appendChild(colors); diff --git a/src/enginuity/xml/DOMSettingsUnmarshaller.java b/src/enginuity/xml/DOMSettingsUnmarshaller.java index 979fb364..f95cf3fc 100644 --- a/src/enginuity/xml/DOMSettingsUnmarshaller.java +++ b/src/enginuity/xml/DOMSettingsUnmarshaller.java @@ -112,6 +112,9 @@ public class DOMSettingsUnmarshaller { } else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("displayhightables")) { settings.setDisplayHighTables(Boolean.parseBoolean(unmarshallAttribute(n, "value", "false"))); + } else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("valuelimitwarning")) { + settings.setValueLimitWarning(Boolean.parseBoolean(unmarshallAttribute(n, "value", "true"))); + } } return settings; @@ -134,7 +137,8 @@ public class DOMSettingsUnmarshaller { unmarshallAttribute(n, "y", 18))); } else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("colors")) { - settings = unmarshallColors(n, settings); + settings = unmarshallColors(n, settings); + } } return settings; @@ -148,17 +152,26 @@ public class DOMSettingsUnmarshaller { n = nodes.item(i); if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("max")) { - settings.setMaxColor(unmarshallColor(n)); + settings.setMaxColor(unmarshallColor(n)); + } else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("min")) { - settings.setMinColor(unmarshallColor(n)); + settings.setMinColor(unmarshallColor(n)); + } else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("highlight")) { - settings.setHighlightColor(unmarshallColor(n)); + settings.setHighlightColor(unmarshallColor(n)); + } else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("increaseborder")) { - settings.setIncreaseBorder(unmarshallColor(n)); + settings.setIncreaseBorder(unmarshallColor(n)); + } else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("decreaseborder")) { - settings.setDecreaseBorder(unmarshallColor(n)); + settings.setDecreaseBorder(unmarshallColor(n)); + } else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("axis")) { - settings.setAxisColor(unmarshallColor(n)); + settings.setAxisColor(unmarshallColor(n)); + + } else if (n.getNodeType() == Node.ELEMENT_NODE && n.getNodeName().equalsIgnoreCase("warning")) { + settings.setWarningColor(unmarshallColor(n)); + } } return settings;