diff --git a/com.minres.scviewer.e4.product/pom.xml b/com.minres.scviewer.e4.product/pom.xml
index 59e17ee..fbe589e 100644
--- a/com.minres.scviewer.e4.product/pom.xml
+++ b/com.minres.scviewer.e4.product/pom.xml
@@ -10,7 +10,7 @@
..
com.minres.scviewer.e4.product
- 2.6.1-SNAPSHOT
+ 2.7.0-SNAPSHOT
eclipse-repository
com.minres.scviewer
diff --git a/com.minres.scviewer.e4.product/scviewer.product b/com.minres.scviewer.e4.product/scviewer.product
index e44db74..a6fafc2 100644
--- a/com.minres.scviewer.e4.product/scviewer.product
+++ b/com.minres.scviewer.e4.product/scviewer.product
@@ -1,7 +1,7 @@
-
+
@@ -17,7 +17,6 @@
-
diff --git a/features/com.minres.scviewer.database.feature/feature.xml b/features/com.minres.scviewer.database.feature/feature.xml
index 72e69a7..f9100b4 100644
--- a/features/com.minres.scviewer.database.feature/feature.xml
+++ b/features/com.minres.scviewer.database.feature/feature.xml
@@ -29,26 +29,12 @@ http://www.eclipse.org/legal/epl-v10.html
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -51,17 +50,15 @@
-
-
-
+
+
-
@@ -52,7 +52,6 @@ http://www.eclipse.org/legal/epl-v10.html
-
-
+
+
+
+
+
+
+
+
+
+
+
2.0.0-SNAPSHOT
../..
- 2.2.0-SNAPSHOT
+ 2.3.0-SNAPSHOT
diff --git a/plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/GotoDirection.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/GotoDirection.java
similarity index 100%
rename from plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/GotoDirection.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/GotoDirection.java
diff --git a/plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/ICursor.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/ICursor.java
similarity index 100%
rename from plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/ICursor.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/ICursor.java
diff --git a/plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/IWaveformView.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/IWaveformView.java
similarity index 94%
rename from plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/IWaveformView.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/IWaveformView.java
index 2d8e85b..c3eeb49 100644
--- a/plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/IWaveformView.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/IWaveformView.java
@@ -51,7 +51,9 @@ public interface IWaveformView extends PropertyChangeListener, ISelectionProvide
public void setSelection(ISelection selection);
- public void setSelection(ISelection selection, boolean addIfNeeded);
+ public void setSelection(ISelection selection, boolean showIfNeeded);
+
+ public void addToSelection(ISelection selection, boolean showIfNeeded);
public void moveSelection(GotoDirection direction);
@@ -110,4 +112,6 @@ public interface IWaveformView extends PropertyChangeListener, ISelectionProvide
public void scrollHorizontal(int percent);
public void addDisposeListener( DisposeListener listener );
+
+ public void deleteSelectedTracks();
}
\ No newline at end of file
diff --git a/plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/IWaveformViewFactory.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/IWaveformViewFactory.java
similarity index 100%
rename from plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/IWaveformViewFactory.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/IWaveformViewFactory.java
diff --git a/plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/TrackEntry.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/TrackEntry.java
similarity index 100%
rename from plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/TrackEntry.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/TrackEntry.java
diff --git a/plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/WaveformColors.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/WaveformColors.java
similarity index 100%
rename from plugins/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/WaveformColors.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/WaveformColors.java
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/Constants.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/Constants.java
similarity index 88%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/Constants.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/Constants.java
index 4abb67c..31b43eb 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/Constants.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/Constants.java
@@ -1,4 +1,4 @@
-package com.minres.scviewer.database.swt;
+package com.minres.scviewer.database.ui.swt;
public class Constants {
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/DatabaseUiPlugin.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/DatabaseUiPlugin.java
similarity index 96%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/DatabaseUiPlugin.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/DatabaseUiPlugin.java
index 84ed5cc..f274d1d 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/DatabaseUiPlugin.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/DatabaseUiPlugin.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt;
+package com.minres.scviewer.database.ui.swt;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/ToolTipContentProvider.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/ToolTipContentProvider.java
similarity index 80%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/ToolTipContentProvider.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/ToolTipContentProvider.java
index 6d46a31..c9c2f6a 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/ToolTipContentProvider.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/ToolTipContentProvider.java
@@ -1,4 +1,4 @@
-package com.minres.scviewer.database.swt;
+package com.minres.scviewer.database.ui.swt;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/ToolTipHelpTextProvider.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/ToolTipHelpTextProvider.java
similarity index 83%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/ToolTipHelpTextProvider.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/ToolTipHelpTextProvider.java
index 8892b80..524751c 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/ToolTipHelpTextProvider.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/ToolTipHelpTextProvider.java
@@ -1,4 +1,4 @@
-package com.minres.scviewer.database.swt;
+package com.minres.scviewer.database.ui.swt;
import org.eclipse.swt.widgets.Widget;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/WaveformViewFactory.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/WaveformViewFactory.java
similarity index 88%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/WaveformViewFactory.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/WaveformViewFactory.java
index 3401c24..cb197dc 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/WaveformViewFactory.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/WaveformViewFactory.java
@@ -8,13 +8,13 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt;
+package com.minres.scviewer.database.ui.swt;
import org.eclipse.swt.widgets.Composite;
-import com.minres.scviewer.database.swt.internal.WaveformView;
import com.minres.scviewer.database.ui.IWaveformView;
import com.minres.scviewer.database.ui.IWaveformViewFactory;
+import com.minres.scviewer.database.ui.swt.internal.WaveformView;
public class WaveformViewFactory implements IWaveformViewFactory {
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/ArrowPainter.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/ArrowPainter.java
similarity index 99%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/ArrowPainter.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/ArrowPainter.java
index 4a65f2c..966dc9f 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/ArrowPainter.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/ArrowPainter.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import java.util.Collection;
import java.util.LinkedList;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/CursorPainter.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/CursorPainter.java
similarity index 97%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/CursorPainter.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/CursorPainter.java
index 4559d2d..1c5719f 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/CursorPainter.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/CursorPainter.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Rectangle;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/IPainter.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/IPainter.java
similarity index 92%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/IPainter.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/IPainter.java
index d093f71..745ec5e 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/IPainter.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/IPainter.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import org.eclipse.swt.graphics.Rectangle;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/IWaveformPainter.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/IWaveformPainter.java
similarity index 93%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/IWaveformPainter.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/IWaveformPainter.java
index 16ec992..da1c814 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/IWaveformPainter.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/IWaveformPainter.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import com.minres.scviewer.database.ui.TrackEntry;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/ObservableList.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/ObservableList.java
similarity index 99%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/ObservableList.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/ObservableList.java
index 8972ac0..9adfe03 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/ObservableList.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/ObservableList.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/Projection.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/Projection.java
similarity index 98%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/Projection.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/Projection.java
index 79c68c9..d13aaca 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/Projection.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/Projection.java
@@ -1,4 +1,4 @@
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import java.util.Arrays;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/RelSelectionDialog.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/RelSelectionDialog.java
similarity index 97%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/RelSelectionDialog.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/RelSelectionDialog.java
index fc53660..28c7d97 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/RelSelectionDialog.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/RelSelectionDialog.java
@@ -1,4 +1,4 @@
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import static org.eclipse.swt.events.SelectionListener.widgetSelectedAdapter;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/RulerPainter.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/RulerPainter.java
similarity index 98%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/RulerPainter.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/RulerPainter.java
index 9d5f52e..85c0364 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/RulerPainter.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/RulerPainter.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import java.text.DecimalFormat;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/SignalPainter.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/SignalPainter.java
similarity index 99%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/SignalPainter.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/SignalPainter.java
index 883bfc6..4672582 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/SignalPainter.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/SignalPainter.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import java.util.Collection;
import java.util.Map.Entry;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/StreamPainter.java
similarity index 99%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/StreamPainter.java
index 4d36c2b..289e1f8 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/StreamPainter.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import java.util.Collection;
import java.util.List;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/ToolTipHandler.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/ToolTipHandler.java
similarity index 94%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/ToolTipHandler.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/ToolTipHandler.java
index c6b448c..b86ad5b 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/ToolTipHandler.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/ToolTipHandler.java
@@ -1,4 +1,4 @@
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Point;
@@ -13,9 +13,9 @@ import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Widget;
-import com.minres.scviewer.database.swt.Constants;
-import com.minres.scviewer.database.swt.ToolTipContentProvider;
-import com.minres.scviewer.database.swt.ToolTipHelpTextProvider;
+import com.minres.scviewer.database.ui.swt.Constants;
+import com.minres.scviewer.database.ui.swt.ToolTipContentProvider;
+import com.minres.scviewer.database.ui.swt.ToolTipHelpTextProvider;
class ToolTipHandler {
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/TrackAreaPainter.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/TrackAreaPainter.java
similarity index 97%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/TrackAreaPainter.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/TrackAreaPainter.java
index 0820afd..0ffaf35 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/TrackAreaPainter.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/TrackAreaPainter.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import java.util.Map.Entry;
import java.util.TreeMap;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/TrackPainter.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/TrackPainter.java
similarity index 95%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/TrackPainter.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/TrackPainter.java
index 9fa285c..762d505 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/TrackPainter.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/TrackPainter.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import com.minres.scviewer.database.ui.TrackEntry;
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/WaveformCanvas.java
similarity index 99%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/WaveformCanvas.java
index c20038d..1a105e9 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformCanvas.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/WaveformCanvas.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import java.util.ArrayList;
import java.util.HashMap;
@@ -40,10 +40,10 @@ import com.google.common.collect.Lists;
import com.minres.scviewer.database.ITx;
import com.minres.scviewer.database.IWaveform;
import com.minres.scviewer.database.RelationType;
-import com.minres.scviewer.database.swt.Constants;
import com.minres.scviewer.database.ui.IWaveformView;
import com.minres.scviewer.database.ui.TrackEntry;
import com.minres.scviewer.database.ui.WaveformColors;
+import com.minres.scviewer.database.ui.swt.Constants;
public class WaveformCanvas extends Canvas {
diff --git a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformView.java b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/WaveformView.java
similarity index 89%
rename from plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformView.java
rename to plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/WaveformView.java
index bff0e80..23273d2 100644
--- a/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/WaveformView.java
+++ b/plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/WaveformView.java
@@ -8,7 +8,7 @@
* Contributors:
* MINRES Technologies GmbH - initial API and implementation
*******************************************************************************/
-package com.minres.scviewer.database.swt.internal;
+package com.minres.scviewer.database.ui.swt.internal;
import java.awt.Color;
import java.beans.PropertyChangeEvent;
@@ -86,12 +86,12 @@ import com.minres.scviewer.database.ITxRelation;
import com.minres.scviewer.database.ITxStream;
import com.minres.scviewer.database.IWaveform;
import com.minres.scviewer.database.RelationType;
-import com.minres.scviewer.database.swt.Constants;
import com.minres.scviewer.database.ui.GotoDirection;
import com.minres.scviewer.database.ui.ICursor;
import com.minres.scviewer.database.ui.IWaveformView;
import com.minres.scviewer.database.ui.TrackEntry;
import com.minres.scviewer.database.ui.WaveformColors;
+import com.minres.scviewer.database.ui.swt.Constants;
public class WaveformView implements IWaveformView {
@@ -103,7 +103,7 @@ public class WaveformView implements IWaveformView {
private ITx currentTxSelection;
- private TrackEntry currentWaveformSelection;
+ private ArrayList currentWaveformSelection = new ArrayList<>();
private ScrolledComposite nameListScrolled;
@@ -133,18 +133,41 @@ public class WaveformView implements IWaveformView {
private Font nameFont, nameFontB;
+ protected TrackEntry lastClickedEntry;
+
protected MouseListener nameValueMouseListener = new MouseAdapter() {
+
@Override
public void mouseDown(MouseEvent e) {
if (e.button == 1) {
Entry entry = trackVerticalOffset.floorEntry(e.y);
- if (entry != null)
- setSelection(new StructuredSelection(entry.getValue()));
+ entry.getValue().selected=true;
} else if (e.button == 3) {
Menu topMenu= top.getMenu();
if(topMenu!=null) topMenu.setVisible(true);
}
}
+
+ @Override
+ public void mouseUp(MouseEvent e) {
+ if (e.button == 1) {
+ Entry entry = trackVerticalOffset.floorEntry(e.y);
+ if (entry != null) {
+ if((e.stateMask & SWT.SHIFT) != 0) {
+ if(lastClickedEntry.selected) {
+ int firstIdx=streams.indexOf(lastClickedEntry);
+ int lastIdx = streams.indexOf(entry.getValue());
+ List res = firstIdx>lastIdx?streams.subList(lastIdx, firstIdx+1):streams.subList(firstIdx, lastIdx+1);
+ setSelection(new StructuredSelection(res), (e.stateMask & SWT.CTRL) !=0 , false);
+ } else
+ setSelection(new StructuredSelection(entry.getValue()), (e.stateMask & SWT.CTRL) !=0 , false);
+ } else {
+ setSelection(new StructuredSelection(entry.getValue()), (e.stateMask & SWT.CTRL) !=0 , false);
+ }
+ }
+ lastClickedEntry = entry.getValue();
+ }
+ }
};
class WaveformMouseListener implements MouseMoveListener, MouseListener, PaintListener {
@@ -457,7 +480,7 @@ public class WaveformView implements IWaveformView {
@Override
public void run() {
update();
- waveformCanvas.reveal(currentWaveformSelection.waveform);
+ currentWaveformSelection.stream().forEach(e -> waveformCanvas.reveal(e.waveform));
valueList.redraw();
nameList.redraw();
}
@@ -480,13 +503,11 @@ public class WaveformView implements IWaveformView {
trackVerticalOffset.clear();
waveformCanvas.clearAllWaveformPainter(false);
boolean even = true;
- boolean clearSelection = true;
TextLayout tl = new TextLayout(waveformCanvas.getDisplay());
tl.setFont(nameFontB);
for (TrackEntry streamEntry : streams) {
streamEntry.height = waveformCanvas.getTrackHeight();
streamEntry.vOffset=trackVerticalHeight;
- clearSelection &= currentWaveformSelection!=null && (streamEntry.waveform != currentWaveformSelection.waveform);
if (streamEntry.isStream()) {
streamEntry.currentValue="";
streamEntry.height *= streamEntry.getStream().getMaxConcurrency();
@@ -512,7 +533,6 @@ public class WaveformView implements IWaveformView {
if (trackVerticalOffset.isEmpty()){
waveformCanvas.setOrigin(0, 0);
}
- if(clearSelection) setSelection(new StructuredSelection());
}
private int calculateValueWidth() {
@@ -651,11 +671,12 @@ public class WaveformView implements IWaveformView {
@Override
public ISelection getSelection() {
if (currentTxSelection != null) {
- Object[] elem = {currentTxSelection, currentWaveformSelection};
- return new StructuredSelection(elem);
- } else if (currentWaveformSelection != null) {
- Object[] elem = {currentWaveformSelection.waveform, currentWaveformSelection};
- return new StructuredSelection(elem);
+ ArrayList