diff --git a/com.minres.scviewer.database.text/src/com/minres/scviewer/database/text/TextDbLoader.groovy b/com.minres.scviewer.database.text/src/com/minres/scviewer/database/text/TextDbLoader.groovy
index 21145ed..a5adb3b 100644
--- a/com.minres.scviewer.database.text/src/com/minres/scviewer/database/text/TextDbLoader.groovy
+++ b/com.minres.scviewer.database.text/src/com/minres/scviewer/database/text/TextDbLoader.groovy
@@ -88,6 +88,8 @@ public class TextDbLoader implements IWaveformDbLoader{
}
} catch (IndexOutOfBoundsException e) {
return false
+ } catch (IllegalArgumentException e) {
+ return false
} catch (NumberFormatException e) {
return false
} catch(EOFException e) {
diff --git a/com.minres.scviewer.database.ui.swt/META-INF/MANIFEST.MF b/com.minres.scviewer.database.ui.swt/META-INF/MANIFEST.MF
index 7ee26fb..1e8ad75 100644
--- a/com.minres.scviewer.database.ui.swt/META-INF/MANIFEST.MF
+++ b/com.minres.scviewer.database.ui.swt/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: SWT widget
Bundle-SymbolicName: com.minres.scviewer.database.ui.swt
-Bundle-Version: 2.0.2.qualifier
+Bundle-Version: 2.1.0.qualifier
Bundle-Vendor: MINRES Technologies GmbH
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.swt;bundle-version="3.103.1",
diff --git a/com.minres.scviewer.database.ui.swt/pom.xml b/com.minres.scviewer.database.ui.swt/pom.xml
index 3c274f8..95ddd22 100644
--- a/com.minres.scviewer.database.ui.swt/pom.xml
+++ b/com.minres.scviewer.database.ui.swt/pom.xml
@@ -8,5 +8,5 @@
2.0.0-SNAPSHOT
../com.minres.scviewer.parent
- 2.0.2-SNAPSHOT
+ 2.1.0-SNAPSHOT
\ No newline at end of file
diff --git a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java
index 0da478c..35ccff3 100644
--- a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java
+++ b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java
@@ -229,6 +229,11 @@ public class WaveformCanvas extends Canvas{
}
public void setZoomLevel(int level) {
+ long tc=cursorPainters.get(0).getTime(); // cursor time
+ setZoomLevel(level, tc);
+ }
+
+ public void setZoomLevel(int level, long centerTime) {
long oldScaleFactor=scaleFactor;
if(level0) {
origin.x=(int) -originX; // new cursor time offset relative to left border
@@ -557,7 +561,7 @@ public class WaveformCanvas extends Canvas{
return (getClientArea().width+origin.x)*scaleFactor;
}
- long getOriginTime() {
+ long getMinVisibleTime() {
return origin.x * scaleFactor;
}
}
diff --git a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformViewer.java b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformViewer.java
index ca5a566..9b959d4 100644
--- a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformViewer.java
+++ b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformViewer.java
@@ -40,6 +40,7 @@ import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.DragSource;
import org.eclipse.swt.dnd.DragSourceAdapter;
import org.eclipse.swt.dnd.DragSourceEvent;
+import org.eclipse.swt.dnd.DragSourceListener;
import org.eclipse.swt.dnd.DropTarget;
import org.eclipse.swt.dnd.DropTargetAdapter;
import org.eclipse.swt.dnd.DropTargetEvent;
@@ -50,6 +51,9 @@ import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseListener;
+import org.eclipse.swt.events.MouseMoveListener;
+import org.eclipse.swt.events.PaintEvent;
+import org.eclipse.swt.events.PaintListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
@@ -139,14 +143,21 @@ public class WaveformViewer implements IWaveformViewer {
}
}
};
-
- protected MouseListener waveformMouseListener = new MouseAdapter(){
- Point start;
+
+ class WaveformMouseListener implements MouseMoveListener, MouseListener, PaintListener {
+ Point start, end;
List