Skip to content

Commit 6ef91bb

Browse files
committed
Merge branch 'release/2.14.2'
2 parents 9384d32 + a2adf66 commit 6ef91bb

File tree

28 files changed

+142
-114
lines changed

28 files changed

+142
-114
lines changed

features/com.minres.scviewer.database.feature/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.minres.scviewer</groupId>
77
<artifactId>com.minres.scviewer.parent</artifactId>
8-
<version>2.14.1</version>
8+
<version>2.14.2</version>
99
<relativePath>../..</relativePath>
1010
</parent>
1111
<version>3.0.0-SNAPSHOT</version>

features/com.minres.scviewer.e4.feature/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.minres.scviewer</groupId>
77
<artifactId>com.minres.scviewer.parent</artifactId>
8-
<version>2.14.1</version>
8+
<version>2.14.2</version>
99
<relativePath>../..</relativePath>
1010
</parent>
1111
<version>1.1.0-SNAPSHOT</version>

features/com.minres.scviewer.e4.platform.feature/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.minres.scviewer</groupId>
77
<artifactId>com.minres.scviewer.parent</artifactId>
8-
<version>2.14.1</version>
8+
<version>2.14.2</version>
99
<relativePath>../..</relativePath>
1010
</parent>
1111
<version>1.0.0-SNAPSHOT</version>

features/com.minres.scviewer.feature/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.minres.scviewer</groupId>
77
<artifactId>com.minres.scviewer.parent</artifactId>
8-
<version>2.14.1</version>
8+
<version>2.14.2</version>
99
<relativePath>../..</relativePath>
1010
</parent>
1111
<version>1.1.0-SNAPSHOT</version>

features/com.minres.scviewer.ui.feature/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.minres.scviewer</groupId>
77
<artifactId>com.minres.scviewer.parent</artifactId>
8-
<version>2.14.1</version>
8+
<version>2.14.2</version>
99
<relativePath>../..</relativePath>
1010
</parent>
1111
<version>1.1.0-SNAPSHOT</version>

plugins/com.minres.scviewer.database.sqlite/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>com.minres.scviewer</groupId>
66
<artifactId>com.minres.scviewer.parent</artifactId>
7-
<version>2.14.1</version>
7+
<version>2.14.2</version>
88
<relativePath>../..</relativePath>
99
</parent>
1010
<packaging>eclipse-plugin</packaging>

plugins/com.minres.scviewer.database.text/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>com.minres.scviewer</groupId>
88
<artifactId>com.minres.scviewer.parent</artifactId>
9-
<version>2.14.1</version>
9+
<version>2.14.2</version>
1010
<relativePath>../..</relativePath>
1111
</parent>
1212
<packaging>eclipse-plugin</packaging>

plugins/com.minres.scviewer.database.ui.swt/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<groupId>com.minres.scviewer</groupId>
77
<artifactId>com.minres.scviewer.parent</artifactId>
8-
<version>2.14.1</version>
8+
<version>2.14.2</version>
99
<relativePath>../..</relativePath>
1010
</parent>
1111
<version>4.0.0-SNAPSHOT</version>

plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/WaveformCanvas.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,18 +179,19 @@ public void setZoomLevel(int level) {
179179
}
180180

181181
public void setZoomLevel(int level, long centerTime) {
182+
int maxLevel = findFitZoomLevel(maxTime);
182183
if(level<0) {
183184
if(level<-1) {
184185
long cTime = getCursorPainters().get(0).getTime();
185186
long time_diff = centerTime>cTime?centerTime-cTime:cTime-centerTime;
186187
level = findFitZoomLevel(time_diff);
187188
centerTime = (centerTime>cTime?cTime:centerTime)+time_diff/2;
188189
} else
189-
level = findFitZoomLevel(maxTime);
190+
level=maxLevel;
190191
if(level<0) level = 0;
191192
}
192193
//FIXME: keep center if zoom-out and cursor is not in view
193-
if(level<Constants.SCALE_MULTIPLIER.length*Constants.UNIT_STRING.length){
194+
if(level<Constants.SCALE_MULTIPLIER.length*Constants.UNIT_STRING.length && level <= maxLevel){
194195
int scale = level%Constants.SCALE_MULTIPLIER.length;
195196
int unit = level/Constants.SCALE_MULTIPLIER.length;
196197
this.scaleFactor = Constants.UNIT_MULTIPLIER[unit]*Constants.SCALE_MULTIPLIER[scale];

plugins/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/ui/swt/internal/WaveformView.java

Lines changed: 48 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -122,12 +122,6 @@ public class WaveformView implements IWaveformView {
122122

123123
protected ObservableList<TrackEntry> streams;
124124

125-
private boolean waveformsContainTx=false;
126-
127-
public boolean isWaveformsContainTx() {
128-
return waveformsContainTx;
129-
}
130-
131125
int selectedMarker = 0;
132126

133127
private int tracksVerticalHeight;
@@ -166,8 +160,7 @@ public void mouseUp(MouseEvent e) {
166160
: streams.subList(firstIdx, lastIdx + 1);
167161
setSelection(new StructuredSelection(res), (e.stateMask & SWT.CTRL) != 0, false);
168162
} else
169-
setSelection(new StructuredSelection(entry.getValue()), (e.stateMask & SWT.CTRL) != 0,
170-
false);
163+
setSelection(new StructuredSelection(entry.getValue()), (e.stateMask & SWT.CTRL) != 0, false);
171164
} else {
172165
setSelection(new StructuredSelection(entry.getValue()), (e.stateMask & SWT.CTRL) != 0, false);
173166
}
@@ -295,8 +288,15 @@ protected long snapOffsetToEvent(Point p) {
295288
@Override
296289
public void handleEvent(Event e) {
297290
switch (e.type) {
298-
// case SWT.MouseWheel:
299-
// break;
291+
case SWT.MouseWheel:
292+
if((e.stateMask & SWT.CTRL) != 0) {
293+
int zoom = waveformCanvas.getZoomLevel();
294+
if(e.count<0)
295+
waveformCanvas.setZoomLevel(zoom+1);
296+
else
297+
waveformCanvas.setZoomLevel(zoom-1);
298+
}
299+
break;
300300
case SWT.MouseDown:
301301
start = new Point(e.x, e.y);
302302
end = new Point(e.x, e.y);
@@ -469,6 +469,17 @@ public void widgetSelected(SelectionEvent e) {
469469

470470
toolTipHandler = new ToolTipHandler(parent.getShell());
471471
toolTipHandler.activateHoverHelp(waveformCanvas);
472+
// This is the filter that prevents it
473+
getControl().getDisplay().addFilter(SWT.MouseWheel, new Listener() {
474+
@Override
475+
public void handleEvent(Event e) {
476+
// Check if it's the correct widget
477+
if((e.widget.equals(waveformCanvas) || e.widget.equals(this)) && (e.stateMask & SWT.CTRL) != 0) {
478+
waveformMouseListener.handleEvent(e);
479+
e.doit = false;
480+
}
481+
}
482+
});
472483
}
473484

474485
private void createTextPane(Composite namePane, String text) {
@@ -518,15 +529,13 @@ public void update() {
518529
boolean even = true;
519530
TextLayout tl = new TextLayout(waveformCanvas.getDisplay());
520531
tl.setFont(styleProvider.getNameFont());
521-
waveformsContainTx=false;
522532
for (TrackEntry streamEntry : streams) {
523533
streamEntry.height = styleProvider.getTrackHeight();
524534
streamEntry.vOffset = tracksVerticalHeight;
525535
if (streamEntry.waveform.getType() == WaveformType.TRANSACTION) {
526536
streamEntry.currentValue = "";
527537
streamEntry.height *= streamEntry.waveform.getRowCount();
528538
painter = new StreamPainter(waveformCanvas, even, streamEntry);
529-
waveformsContainTx=true;
530539
} else if (streamEntry.waveform.getType() == WaveformType.SIGNAL) {
531540
streamEntry.currentValue = "---";
532541
painter = new SignalPainter(waveformCanvas, even, streamEntry);
@@ -762,27 +771,30 @@ public void setSelection(ISelection selection, boolean add, boolean addIfNeeded)
762771
if (!add)
763772
currentWaveformSelection.clear();
764773
List<?> selList = sel.toList();
765-
if (selList.get(0) instanceof ITx) {
766-
ITx txSel = (ITx) selList.get(0);
767-
TrackEntry trackEntry = selList.size() == 2 && selList.get(1) instanceof TrackEntry
768-
? (TrackEntry) selList.get(1)
769-
: null;
770-
if (trackEntry == null) {
771-
trackEntry = getEntryFor(txSel);
772-
if (trackEntry == null && addIfNeeded) {
773-
trackEntry = new TrackEntry(txSel.getStream(), styleProvider);
774-
streams.add(trackEntry);
774+
for(Object o: selList) {
775+
if (o instanceof ITx) {
776+
ITx txSel = (ITx) o;
777+
TrackEntry trackEntry = selList.size() == 2 && selList.get(1) instanceof TrackEntry
778+
? (TrackEntry) selList.get(1)
779+
: null;
780+
if (trackEntry == null) {
781+
trackEntry = getEntryFor(txSel);
782+
if (trackEntry == null && addIfNeeded) {
783+
trackEntry = new TrackEntry(txSel.getStream(), styleProvider);
784+
streams.add(trackEntry);
785+
}
775786
}
787+
currentTxSelection = txSel;
788+
currentWaveformSelection.clear();
789+
currentWaveformSelection.add(trackEntry);
790+
selectionChanged = true;
791+
} else if (o instanceof TrackEntry) {
792+
TrackEntry e = (TrackEntry)o;
793+
if(!currentWaveformSelection.contains(e))
794+
currentWaveformSelection.add(e);
795+
selectionChanged = true;
776796
}
777-
currentTxSelection = txSel;
778-
currentWaveformSelection.clear();
779-
currentWaveformSelection.add(trackEntry);
780-
selectionChanged = true;
781-
} else if (selList.size() == 1 && selList.get(0) instanceof TrackEntry) {
782-
currentWaveformSelection.add((TrackEntry) selList.get(0));
783-
if (currentTxSelection != null)
784-
currentTxSelection = null;
785-
selectionChanged = true;
797+
786798
}
787799
}
788800
} else {
@@ -1563,4 +1575,9 @@ public TrackEntry addWaveform(IWaveform waveform, int idx) {
15631575
getStreamList().add(idx, e);
15641576
return e;
15651577
}
1578+
1579+
public boolean waveformsContainsTx() {
1580+
return streams.stream().filter(e -> e.waveform.getType() == WaveformType.TRANSACTION).findFirst().isPresent();
1581+
}
1582+
15661583
}

0 commit comments

Comments
 (0)