Skip to main content

[perfdata~pda:18] PDA Version 2.0.1_00

  • From:
  • To:
  • Subject: [perfdata~pda:18] PDA Version 2.0.1_00
  • Date: Wed, 14 Aug 2013 20:58:18 +0000

Project:    perfdata
Repository: pda
Revision:   18
Author:     nicolasmichael
Date:       2013-08-14 20:58:15 UTC
Link:       

Log Message:
------------
PDA Version 2.0.1_00


Revisions:
----------
18


Modified Paths:
---------------
src/de/nmichael/pda/data/ProjectItem.java
src/CHANGELOG.TXT
src/de/nmichael/pda/util/Util.java
src/de/nmichael/pda/gui/MainFrame.java
src/de/nmichael/pda/data/DataSeriesProperties.java
src/de/nmichael/pda/gui/GraphPanel.java
src/de/nmichael/pda/Main.java


Added Paths:
------------
src/de/nmichael/pda/gui/img/graphzoomout.png
src/de/nmichael/pda/gui/img/graphzoomin.png
src/de/nmichael/pda/gui/img/graphbackward.png
src/de/nmichael/pda/gui/img/graphforwards.png
src/de/nmichael/pda/gui/img/graphreset.png
src/de/nmichael/pda/gui/img/graphbackwards.png
src/de/nmichael/pda/gui/img/graphforward.png
src/de/nmichael/pda/gui/img/graphbegin.png
src/de/nmichael/pda/gui/img/graphend.png


Diffs:
------
Index: src/de/nmichael/pda/util/Util.java
===================================================================
--- src/de/nmichael/pda/util/Util.java  (revision 17)
+++ src/de/nmichael/pda/util/Util.java  (revision 18)
@@ -299,4 +299,23 @@
         }
     }
     
+    private static String makeTimeString(int value, int chars) {
+        String s = Integer.toString(value);
+        while (s.length() < chars) {
+            s = "0" + s;
+        }
+        return s;
+    }
+    
+    public static String getTimeString(long ts) {
+        Calendar cal = new GregorianCalendar();
+        cal.setTimeInMillis(ts);
+        return makeTimeString(cal.get(Calendar.DAY_OF_MONTH), 2) + "."
+                + makeTimeString(cal.get(Calendar.MONTH) + 1, 2) + "."
+                + makeTimeString(cal.get(Calendar.YEAR), 4) + " "
+                + makeTimeString(cal.get(Calendar.HOUR_OF_DAY), 2) + ":"
+                + makeTimeString(cal.get(Calendar.MINUTE), 2) + ":"
+                + makeTimeString(cal.get(Calendar.SECOND), 2);
+    }
+    
 }
Index: src/de/nmichael/pda/Main.java
===================================================================
--- src/de/nmichael/pda/Main.java       (revision 17)
+++ src/de/nmichael/pda/Main.java       (revision 18)
@@ -17,7 +17,7 @@
 
 public class Main {
     
-    public static final String VERSIONID = "2.0.0_07";
+    public static final String VERSIONID = "2.0.1_00";
     
     public static final String PROGRAM = "Performance Data Analyzer";
     public static final String PROGRAMSHORT = "PDA";
Index: src/de/nmichael/pda/gui/img/graphbackwards.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/de/nmichael/pda/gui/img/graphbackwards.png
===================================================================
--- src/de/nmichael/pda/gui/img/graphbackwards.png      (revision 17)
+++ src/de/nmichael/pda/gui/img/graphbackwards.png      (revision 18)

Property changes on: src/de/nmichael/pda/gui/img/graphbackwards.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: src/de/nmichael/pda/gui/img/graphzoomin.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/de/nmichael/pda/gui/img/graphzoomin.png
===================================================================
--- src/de/nmichael/pda/gui/img/graphzoomin.png (revision 17)
+++ src/de/nmichael/pda/gui/img/graphzoomin.png (revision 18)

Property changes on: src/de/nmichael/pda/gui/img/graphzoomin.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: src/de/nmichael/pda/gui/img/graphreset.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/de/nmichael/pda/gui/img/graphreset.png
===================================================================
--- src/de/nmichael/pda/gui/img/graphreset.png  (revision 17)
+++ src/de/nmichael/pda/gui/img/graphreset.png  (revision 18)

Property changes on: src/de/nmichael/pda/gui/img/graphreset.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: src/de/nmichael/pda/gui/img/graphforward.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/de/nmichael/pda/gui/img/graphforward.png
===================================================================
--- src/de/nmichael/pda/gui/img/graphforward.png        (revision 17)
+++ src/de/nmichael/pda/gui/img/graphforward.png        (revision 18)

Property changes on: src/de/nmichael/pda/gui/img/graphforward.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: src/de/nmichael/pda/gui/img/graphend.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/de/nmichael/pda/gui/img/graphend.png
===================================================================
--- src/de/nmichael/pda/gui/img/graphend.png    (revision 17)
+++ src/de/nmichael/pda/gui/img/graphend.png    (revision 18)

Property changes on: src/de/nmichael/pda/gui/img/graphend.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: src/de/nmichael/pda/gui/img/graphzoomout.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/de/nmichael/pda/gui/img/graphzoomout.png
===================================================================
--- src/de/nmichael/pda/gui/img/graphzoomout.png        (revision 17)
+++ src/de/nmichael/pda/gui/img/graphzoomout.png        (revision 18)

Property changes on: src/de/nmichael/pda/gui/img/graphzoomout.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: src/de/nmichael/pda/gui/img/graphbackward.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/de/nmichael/pda/gui/img/graphbackward.png
===================================================================
--- src/de/nmichael/pda/gui/img/graphbackward.png       (revision 17)
+++ src/de/nmichael/pda/gui/img/graphbackward.png       (revision 18)

Property changes on: src/de/nmichael/pda/gui/img/graphbackward.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: src/de/nmichael/pda/gui/img/graphbegin.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/de/nmichael/pda/gui/img/graphbegin.png
===================================================================
--- src/de/nmichael/pda/gui/img/graphbegin.png  (revision 17)
+++ src/de/nmichael/pda/gui/img/graphbegin.png  (revision 18)

Property changes on: src/de/nmichael/pda/gui/img/graphbegin.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: src/de/nmichael/pda/gui/img/graphforwards.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: src/de/nmichael/pda/gui/img/graphforwards.png
===================================================================
--- src/de/nmichael/pda/gui/img/graphforwards.png       (revision 17)
+++ src/de/nmichael/pda/gui/img/graphforwards.png       (revision 18)

Property changes on: src/de/nmichael/pda/gui/img/graphforwards.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Index: src/de/nmichael/pda/gui/MainFrame.java
===================================================================
--- src/de/nmichael/pda/gui/MainFrame.java      (revision 17)
+++ src/de/nmichael/pda/gui/MainFrame.java      (revision 18)
@@ -46,7 +46,6 @@
     private JButton statisticsButton = new JButton();
     private JButton printButton = new JButton();
     private JButton saveImageButton = new JButton();
-    private JButton resetZoomButton = new JButton();
     private JButton addLabelButton = new JButton();
 
     // Series Panel
@@ -56,6 +55,8 @@
     // Graph Panel
     private JPanel graphRootPanel = new JPanel();
     private GraphPanel graphPanel = null;
+    private JPanel graphControlPanel;
+    private JLabel graphZoomLabel;
     
     // Menu Bar
     private JMenuBar menuBar = new JMenuBar();
@@ -184,17 +185,6 @@
         controlPanel.add(saveImageButton,new GridBagConstraints(0, 5, 1, 1, 
0.0, 0.0,
                 GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL, new 
Insets(0, 10, 0, 10), 0, 0));
 
-        resetZoomButton.setText("Reset Zoom");
-        resetZoomButton.setMnemonic('z');
-        BaseDialog.setIcon(resetZoomButton, "zoomout.png", false);
-        resetZoomButton.addActionListener(new 
java.awt.event.ActionListener() {
-            public void actionPerformed(ActionEvent e) {
-                resetZoom(e);
-            }
-        });
-        controlPanel.add(resetZoomButton,new GridBagConstraints(0, 6, 1, 1, 
0.0, 0.0,
-                GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL, new 
Insets(10, 10, 0, 10), 0, 0));
-        
         addLabelButton.setText("Add Label");
         addLabelButton.setMnemonic('l');
         BaseDialog.setIcon(addLabelButton, "label.png", false);
@@ -209,7 +199,107 @@
         // Graph Panel
         graphRootPanel.setLayout(new BorderLayout());
         contentPane.add(graphRootPanel,BorderLayout.CENTER);
+
+        // Graph Control Panel
+        graphControlPanel = new JPanel();
+        graphControlPanel.setLayout(new GridBagLayout());
+        graphRootPanel.add(graphControlPanel, BorderLayout.SOUTH);
         
+        JButton graphBegin = new JButton();
+        graphBegin.setPreferredSize(new Dimension(26, 26));
+        BaseDialog.setIcon(graphBegin, "graphbegin.png");
+        graphBegin.addActionListener(new ActionListener()  {
+            public void actionPerformed(ActionEvent e) {
+                graphAction(GraphPanel.GraphAction.begin);
+            }
+        });
+        graphControlPanel.add(graphBegin, new GridBagConstraints(0, 0, 1, 1, 
0.0, 0.0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 
new Insets(5, 0, 5, 00), 0, 0));
+        JButton graphBackward = new JButton();
+        graphBackward.setPreferredSize(new Dimension(26, 26));
+        BaseDialog.setIcon(graphBackward, "graphbackward.png");
+        graphBackward.addActionListener(new ActionListener()  {
+            public void actionPerformed(ActionEvent e) {
+                graphAction(GraphPanel.GraphAction.backward);
+            }
+        });
+        graphControlPanel.add(graphBackward, new GridBagConstraints(1, 0, 1, 
1, 0.0, 0.0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 
new Insets(5, 0, 5, 00), 0, 0));
+        JButton graphBackwardSlow = new JButton();
+        graphBackwardSlow.setPreferredSize(new Dimension(26, 26));
+        BaseDialog.setIcon(graphBackwardSlow, "graphbackwards.png");
+        graphBackwardSlow.addActionListener(new ActionListener()  {
+            public void actionPerformed(ActionEvent e) {
+                graphAction(GraphPanel.GraphAction.backwardslow);
+            }
+        });
+        graphControlPanel.add(graphBackwardSlow, new GridBagConstraints(2, 
0, 1, 1, 0.0, 0.0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 
new Insets(5, 0, 5, 00), 0, 0));
+        JButton graphForwardSlow = new JButton();
+        graphForwardSlow.setPreferredSize(new Dimension(26, 26));
+        BaseDialog.setIcon(graphForwardSlow, "graphforwards.png");
+        graphForwardSlow.addActionListener(new ActionListener()  {
+            public void actionPerformed(ActionEvent e) {
+                graphAction(GraphPanel.GraphAction.forwardslow);
+            }
+        });
+        graphControlPanel.add(graphForwardSlow, new GridBagConstraints(3, 0, 
1, 1, 0.0, 0.0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 
new Insets(5, 0, 5, 00), 0, 0));
+        JButton graphForward = new JButton();
+        graphForward.setPreferredSize(new Dimension(26, 26));
+        BaseDialog.setIcon(graphForward, "graphforward.png");
+        graphForward.addActionListener(new ActionListener()  {
+            public void actionPerformed(ActionEvent e) {
+                graphAction(GraphPanel.GraphAction.forward);
+            }
+        });
+        graphControlPanel.add(graphForward, new GridBagConstraints(4, 0, 1, 
1, 0.0, 0.0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 
new Insets(5, 0, 5, 00), 0, 0));
+        JButton graphEnd = new JButton();
+        graphEnd.setPreferredSize(new Dimension(26, 26));
+        BaseDialog.setIcon(graphEnd, "graphend.png");
+        graphEnd.addActionListener(new ActionListener()  {
+            public void actionPerformed(ActionEvent e) {
+                graphAction(GraphPanel.GraphAction.end);
+            }
+        });
+        graphControlPanel.add(graphEnd, new GridBagConstraints(5, 0, 1, 1, 
0.0, 0.0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 
new Insets(5, 0, 5, 00), 0, 0));
+        JButton graphZoomIn = new JButton();
+        graphZoomIn.setPreferredSize(new Dimension(26, 26));
+        BaseDialog.setIcon(graphZoomIn, "graphzoomin.png");
+        graphZoomIn.addActionListener(new ActionListener()  {
+            public void actionPerformed(ActionEvent e) {
+                graphAction(GraphPanel.GraphAction.zoomin);
+            }
+        });
+        graphControlPanel.add(graphZoomIn, new GridBagConstraints(6, 0, 1, 
1, 0.0, 0.0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 
new Insets(5, 20, 5, 00), 0, 0));
+        JButton graphZoomOut = new JButton();
+        graphZoomOut.setPreferredSize(new Dimension(26, 26));
+        BaseDialog.setIcon(graphZoomOut, "graphzoomout.png");
+        graphZoomOut.addActionListener(new ActionListener()  {
+            public void actionPerformed(ActionEvent e) {
+                graphAction(GraphPanel.GraphAction.zoomout);
+            }
+        });
+        graphControlPanel.add(graphZoomOut, new GridBagConstraints(7, 0, 1, 
1, 0.0, 0.0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 
new Insets(5, 0, 5, 00), 0, 0));
+        JButton graphZoomReset = new JButton();
+        graphZoomReset.setPreferredSize(new Dimension(26, 26));
+        BaseDialog.setIcon(graphZoomReset, "graphreset.png");
+        graphZoomReset.addActionListener(new ActionListener()  {
+            public void actionPerformed(ActionEvent e) {
+                graphAction(GraphPanel.GraphAction.zoomreset);
+            }
+        });
+        graphControlPanel.add(graphZoomReset, new GridBagConstraints(8, 0, 
1, 1, 0.0, 0.0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 
new Insets(5, 0, 5, 00), 0, 0));
+        
+        graphZoomLabel = new JLabel();
+        graphControlPanel.add(graphZoomLabel, new GridBagConstraints(9, 0, 
1, 1, 0.0, 0.0,
+                GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, 
new Insets(5, 20, 5, 00), 0, 0));
+        
         // Menu Bar
         menuProject.setText("Project");
         menuProject.setMnemonic('p');
@@ -376,9 +466,6 @@
     }
     
     void resetZoom(ActionEvent e) {
-        projectItem.unsetScaleMaxX();
-        projectItem.unsetScaleMinX();
-        updateDisplay();
     }
  
     void addLabel(ActionEvent e) {
@@ -413,6 +500,15 @@
             graphPanel.addLabel(dl[i].getText(), dl[i].getPX(), 
dl[i].getPY());
         }
         
+        if (projectItem.getScaleMinX() > 0 && projectItem.getScaleMaxX() > 0
+                && projectItem.getScaleMaxX() < Long.MAX_VALUE) {
+            
graphZoomLabel.setText(Util.getTimeString(projectItem.getScaleMinX()) + " - "
+                    + Util.getTimeString(projectItem.getScaleMaxX())
+                    + " (" + ((projectItem.getScaleMaxX() - 
projectItem.getScaleMinX()) / 1000) + " sec)");
+        } else {
+            graphZoomLabel.setText("");
+        }
+        
         freeMem.setText("Free Mem: "+Runtime.getRuntime().freeMemory());
         
         validateFrame();
@@ -518,12 +614,51 @@
                 addSeriesButton(seriesNamesPanel, prop.getDataProperties(i), 
i, width);
             }
         }
-        
-        rightPanel.add(seriesPanel,BorderLayout.CENTER);
-        
+
+        rightPanel.add(seriesPanel, BorderLayout.CENTER);
+
     }
-    
-    protected JLabel getPdaLogo() {
+
+    protected void graphAction(GraphPanel.GraphAction action) {
+        synchronized (graphRootPanel) {
+            if (graphPanel == null) {
+                return;
+            }
+            switch (action) {
+                case begin:
+                    graphPanel.setZoomStart(0);
+                    break;
+                case backward:
+                    graphPanel.scrollZoom(-1 * graphPanel.getZoomWidth());
+                    break;
+                case backwardslow:
+                    graphPanel.scrollZoom(-1 * 
(graphPanel.getZoomWidth()/10));
+                    break;
+                case forwardslow:
+                    graphPanel.scrollZoom(graphPanel.getZoomWidth()/10);
+                    break;
+                case forward:
+                    graphPanel.scrollZoom(graphPanel.getZoomWidth());
+                    break;
+                case end:
+                    graphPanel.setZoomEnd(Long.MAX_VALUE);
+                    break;
+                case zoomin:
+                    graphPanel.setZoomWidth(graphPanel.getZoomWidth() / 2);
+                    break;
+                case zoomout:
+                    graphPanel.setZoomWidth(graphPanel.getZoomWidth() * 2);
+                    break;
+                case zoomreset:
+                    projectItem.unsetScaleMaxX();
+                    projectItem.unsetScaleMinX();
+                    break;
+            }
+        }
+        updateDisplay();
+    }
+
+     protected JLabel getPdaLogo() {
         JLabel logo = new JLabel();
         logo.setHorizontalAlignment(SwingConstants.CENTER);
         logo.setHorizontalTextPosition(SwingConstants.CENTER);
Index: src/de/nmichael/pda/gui/GraphPanel.java
===================================================================
--- src/de/nmichael/pda/gui/GraphPanel.java     (revision 17)
+++ src/de/nmichael/pda/gui/GraphPanel.java     (revision 18)
@@ -57,6 +57,18 @@
     private int yaxiscnt;
     private SGLabel selectedLabel;
     
+    public enum GraphAction {
+        begin,
+        backward,
+        backwardslow,
+        forwardslow,
+        forward,
+        end,
+        zoomreset,
+        zoomin,
+        zoomout
+    }
+
     /** Creates a new instance of GraphPanel */
     public GraphPanel(MainFrame mainFrame, ProjectItem projectItem, int 
width, int height) {
         super("Performance Data",  new Dimension(width,height));
@@ -415,6 +427,48 @@
         
     }
     
+    public void setZoomRange(long zoomStart, long zoomEnd) {
+        zoomStart = projectItem.getMinX(zoomStart);
+        zoomEnd = projectItem.getMaxX(zoomEnd);
+        zoomAllGraphs(zoomStart, zoomEnd);
+    }
+
+    public void setZoomStart(long zoomStart) {
+        zoomStart = projectItem.getMinX(zoomStart);
+        long zoomEnd = projectItem.getMaxX(zoomStart + getZoomWidth());
+        zoomAllGraphs(zoomStart, zoomEnd);
+    }
+
+    public void setZoomEnd(long zoomEnd) {
+        zoomEnd = projectItem.getMaxX(zoomEnd);
+        long zoomStart = projectItem.getMinX(zoomEnd - getZoomWidth());
+        zoomAllGraphs(zoomStart, zoomEnd);
+    }
+
+    public void setZoomWidth(long zoomWidth) {
+        long diff = (zoomWidth - (projectItem.getScaleMaxX() - 
projectItem.getScaleMinX())) / 2;
+        long zoomStart = projectItem.getMinX(projectItem.getScaleMinX() - 
diff);
+        long zoomEnd = projectItem.getMaxX(projectItem.getScaleMaxX() + 
diff);
+        zoomAllGraphs(zoomStart, zoomEnd);
+    }
+    
+    public void scrollZoom(long direction) {
+        long width = getZoomWidth();
+        if (direction < 0) {
+            long zoomStart = projectItem.getMinX(projectItem.getScaleMinX() 
+ direction);
+            long zoomEnd = projectItem.getMaxX(zoomStart + width);
+            zoomAllGraphs(zoomStart, zoomEnd);
+        } else {
+            long zoomEnd = projectItem.getMaxX(projectItem.getScaleMaxX() + 
direction);
+            long zoomStart = projectItem.getMinX(zoomEnd - width);
+            zoomAllGraphs(zoomStart, zoomEnd);
+        }
+    }
+
+    public long getZoomWidth() {
+        return projectItem.getScaleMaxX() - projectItem.getScaleMinX();
+    }
+
     public void panePropertyChange(PropertyChangeEvent event) {
         String name = event.getPropertyName();
         
@@ -506,11 +560,17 @@
     }
     
     public void zoomAllGraphs(long startX, long endX) {
+        if (endX <= startX) {
+            return;
+        }
+
+        TimeRange tr = new TimeRange(new GeoDate(startX),new GeoDate(endX));
         for (int i=0; i<layers.size(); i++) {
             CartesianGraph g = (CartesianGraph) layers.get(i).getGraph();
-            TimeRange tr = new TimeRange(new GeoDate(startX),new 
GeoDate(endX));
             zoomGraph(g, tr);
         }
+        projectItem.setScaleMinX(startX);
+        projectItem.setScaleMaxX(endX);
     }
     
     public String saveImageToFile(String fname) {
Index: src/de/nmichael/pda/data/ProjectItem.java
===================================================================
--- src/de/nmichael/pda/data/ProjectItem.java   (revision 17)
+++ src/de/nmichael/pda/data/ProjectItem.java   (revision 18)
@@ -125,6 +125,34 @@
         return max;
     }
     
+    public long getMinX(long preferredMinX) {
+        long min = Long.MAX_VALUE;
+        for (int i=0; i<propertySet.size(); i++) {
+            DataSeries s = propertySet.getDataProperties(i).getSeries();
+            if (s != null) {
+                long mins = s.getFirstTimestamp();
+                if (mins > 0) {
+                    min = Math.min(mins, min);
+                }
+            }
+        }
+        return Math.max(min, preferredMinX);
+    }
+    
+    public long getMaxX(long preferredMaxX) {
+        long max = 0;
+        for (int i=0; i<propertySet.size(); i++) {
+            DataSeries s = propertySet.getDataProperties(i).getSeries();
+            if (s != null) {
+                long maxs = s.getLastTimestamp();
+                if (maxs < Long.MAX_VALUE) {
+                    max = Math.max(maxs, max);
+                }
+            }
+        }
+        return Math.min(max, preferredMaxX);
+    }
+    
     public void setScaleMinX(long minX) {
         scaleMinXexplicitlySet = minX;
     }
Index: src/de/nmichael/pda/data/DataSeriesProperties.java
===================================================================
--- src/de/nmichael/pda/data/DataSeriesProperties.java  (revision 17)
+++ src/de/nmichael/pda/data/DataSeriesProperties.java  (revision 18)
@@ -64,7 +64,7 @@
         scaleMin = 0.0;
         scaleMax = 100.0;
         style = STYLE_LINE;
-        lineWidth = 1;
+        lineWidth = 2;
         lineStyle = LINESTYLE_SOLID;
         valueAxis = VALUEAXIS_LINEAR;
         smooth = 1;
Index: src/CHANGELOG.TXT
===================================================================
--- src/CHANGELOG.TXT   (revision 17)
+++ src/CHANGELOG.TXT   (revision 18)
@@ -1,3 +1,14 @@
+Version 2.0.1_00 (2013-08-14)
+-----------------------------
+* New: Improved Zoom now allows to zoom in and out, scroll left and right, 
without having to reset the zoom each time
+* New: Line Width 2 now default plotting style
+
+Version 2.0.0_07 (2013-08-13)
+-----------------------------
+* Bugfix: File names now stored relative to project file
+* Bugfix: Fixed error dialog (parser error message not displayed properly)
+* Bugfix: Lost "max scale" setting fixed
+
 Version 2.0.0_04 (2013-06-06)
 -----------------------------
 * New: Improved SeriesSelect Dialog (double click, focus)





[perfdata~pda:18] PDA Version 2.0.1_00

nicolasmichael 08/14/2013
 
 
Close
loading
Please Confirm
Close