Changeset 202
- Timestamp:
- 04/07/11 21:47:15 (14 months ago)
- Location:
- trunk
- Files:
-
- 5 modified
-
CHANGELOG (modified) (1 diff)
-
src/org/jergometer/gui/MainWindow.java (modified) (3 diffs)
-
src/org/jergometer/Jergometer.java (modified) (3 diffs)
-
src/org/jergometer/model/BikeProgramTree.java (modified) (6 diffs)
-
src/org/jergometer/UserSettings.java (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/CHANGELOG
r200 r202 3 3 4 4 == coming 0.7.10 == 5 6 2011-04-07 7 * [stefan] * fixed bug #249: incorrect distance and speed displayed (has to be devided by 10) 8 * implemented issue #167: mark real pulse red when pulse information is missing 9 * implemented issue #250: display units for distance, speed, power, ... 10 * implemented issue #251: select last training program after start 5 11 6 12 2010-09-05 -
trunk/src/org/jergometer/gui/MainWindow.java
r192 r202 146 146 147 147 public void setData(DataRecord dataRecord) { 148 pulseLabel.setText(dataRecord.getPulse() + ""); 149 pedalRpmLabel.setText(dataRecord.getPedalRpm() + ""); 150 speedLabel.setText(dataRecord.getSpeed() + ""); 151 distanceLabel.setText(dataRecord.getDistance() + ""); 152 destPowerLabel.setText(dataRecord.getDestPower() + ""); 153 energyLabel.setText(dataRecord.getEnergy() + ""); 148 if (dataRecord.getPulse() != 0) { 149 pulseLabel.setText(dataRecord.getPulse() + ""); 150 pulseLabel.setForeground(Color.black); 151 } else { 152 pulseLabel.setText("?"); 153 pulseLabel.setForeground(Color.red); 154 } 155 pedalRpmLabel.setText(dataRecord.getPedalRpm() + " rpm"); 156 speedLabel.setText(String.format("%.1f km/h", (double) dataRecord.getSpeed() / 10)); 157 distanceLabel.setText(String.format("%.1f km", (double) dataRecord.getDistance() / 10)); 158 destPowerLabel.setText(dataRecord.getDestPower() + " W"); 159 energyLabel.setText(dataRecord.getEnergy() + " kJ"); 154 160 timeLabel.setText(dataRecord.getTime()); 155 realPowerLabel.setText(dataRecord.getRealPower() + " ");161 realPowerLabel.setText(dataRecord.getRealPower() + " W"); 156 162 } 157 163 … … 477 483 } catch (Exception e) { 478 484 JOptionPane.showMessageDialog(mainWindow, I18n.getString("msg.could_not_open_file.please_configure_editor"), 479 I18n.getString("msg.could_not_open_xml_editor"), JOptionPane.ERROR_MESSAGE);485 I18n.getString("msg.could_not_open_xml_editor"), JOptionPane.ERROR_MESSAGE); 480 486 openSettingsWindow(); 481 487 } … … 486 492 } catch (IOException e) { 487 493 JOptionPane.showMessageDialog(mainWindow, I18n.getString("msg.error_during_execution_of", command), 488 I18n.getString("msg.could_not_open_xml_editor"), JOptionPane.ERROR_MESSAGE);494 I18n.getString("msg.could_not_open_xml_editor"), JOptionPane.ERROR_MESSAGE); 489 495 } catch (InterruptedException ignored) { 490 496 } -
trunk/src/org/jergometer/Jergometer.java
r194 r202 15 15 16 16 import javax.swing.*; 17 import javax.swing.tree.DefaultMutableTreeNode; 18 import javax.swing.tree.TreePath; 17 19 import java.awt.*; 18 20 import java.awt.event.*; … … 224 226 jergometerSettings.setLastUserName(userName); 225 227 userSettings = new UserSettings(jergometerSettings.getLastUserName()); 228 if (userSettings.getLastProgram() != null) { 229 DefaultMutableTreeNode programNode = programTree.getProgramNode(userSettings.getLastProgram()); 230 final TreePath path = new TreePath(programNode.getPath()); 231 SwingUtilities.invokeLater(new Runnable() { 232 @Override 233 public void run() { 234 mainWindow.getProgramTree().expandPath(path); 235 mainWindow.getProgramTree().getSelectionModel().setSelectionPath(path); 236 mainWindow.getProgramTree().scrollPathToVisible(path); 237 } 238 }); 239 } 226 240 userData = new UserData(jergometerSettings.getLastUserName(), programTree); 227 241 String[] userNames = jergometerSettings.getUserNames().toArray(new String[jergometerSettings.getUserNames().size()]); … … 412 426 filterSessions(); 413 427 visualizeBikeProgram(bikeProgram, bright, -1); 428 429 if (userSettings != null) { 430 userSettings.setLastProgram(bikeProgram.getProgramName()); 431 } 414 432 } 415 433 -
trunk/src/org/jergometer/model/BikeProgramTree.java
r127 r202 7 7 import org.jergometer.translation.I18n; 8 8 import org.jergometer.control.BikeProgram; 9 import sun.security.action.GetPropertyAction; 9 10 10 11 import javax.swing.text.MutableAttributeSet; … … 24 25 /** Root element of the tree. */ 25 26 private DefaultMutableTreeNode root; 26 private HashMap<String, BikeProgram> allPrograms = new HashMap<String, BikeProgram>();27 private HashMap<String,DefaultMutableTreeNode> allProgramNodes = new HashMap<String, DefaultMutableTreeNode>(); 27 28 private static final FileFilter FILE_FILTER = new FileFilter() { 28 29 public boolean accept(File file) { … … 67 68 BikeProgram program = new BikeProgram(file, relativePath, new BikeProgramData(doc.getRootElement())); 68 69 newNode.setUserObject(program); 69 allProgram s.put(program.getProgramName(), program);70 allProgramNodes.put(program.getProgramName(), newNode); 70 71 } catch (Exception e) { 71 72 System.err.println("Error parsing bike program."); … … 145 146 } 146 147 148 public DefaultMutableTreeNode getProgramNode(String name) { 149 return allProgramNodes.get(name); 150 } 151 147 152 /** 148 153 * Returns the bike program by name. … … 152 157 */ 153 158 public BikeProgram getProgram(String name) { 154 return allPrograms.get(name);159 return (BikeProgram) allProgramNodes.get(name).getUserObject(); 155 160 } 156 161 … … 206 211 BikeProgram bikeProgram = (BikeProgram) node.getUserObject(); 207 212 208 allProgram s.remove(bikeProgram.getProgramName());213 allProgramNodes.remove(bikeProgram.getProgramName()); 209 214 210 215 // delete the program file -
trunk/src/org/jergometer/UserSettings.java
r76 r202 27 27 private void load() { 28 28 File settingsFile = new File(JergometerSettings.jergometerUsersDirName + "/" + userName + "/settings.xml"); 29 if ( !settingsFile.exists()) {29 if (settingsFile.exists()) { 30 30 // default settings 31 31 XMLParser parser = new XMLParser(); … … 36 36 XMLElement users = root.getChildElement("programs"); 37 37 lastProgram = users.getAttribute("lastprogram"); 38 } catch (Exception e) {38 } catch (Exception ignored) { 39 39 } 40 40 } … … 60 60 writer.write(doc.toString()); 61 61 writer.close(); 62 } catch (IOException e) {62 } catch (IOException ignored) { 63 63 } 64 64 }
![(please configure the [header_logo] section in trac.ini)](https://jergometer.org/images/fork_me_on_github.png)