diff --git a/com.minres.scviewer.database.test/DatabaseServicesTest.launch b/com.minres.scviewer.database.test/DatabaseServicesTest.launch index c68ede6..c44770d 100644 --- a/com.minres.scviewer.database.test/DatabaseServicesTest.launch +++ b/com.minres.scviewer.database.test/DatabaseServicesTest.launch @@ -31,7 +31,7 @@ - + diff --git a/com.minres.scviewer.database.test/inputs/simple_system.vcd b/com.minres.scviewer.database.test/inputs/simple_system.vcd index 0345ff2..539f4a6 100755 --- a/com.minres.scviewer.database.test/inputs/simple_system.vcd +++ b/com.minres.scviewer.database.test/inputs/simple_system.vcd @@ -1622,7 +1622,7 @@ b1110100011010100101001010 aabdd 0aabdv 0aabdw 0aabdx -r0.0 bbbbb +r1.0 bbbbb $end #10000 @@ -1643,7 +1643,6 @@ $end #1287121272 b1000000000100000000000000000100 aabcr -r1.0 bbbbb #1288121272 b111111110100111110 aaabi @@ -1659,43 +1658,33 @@ b11000000000100000000000000000100 aabcr b111111110100111110 aabcw b101010 aabdb b111111110100111110 aabdc -r2.0 bbbbb #1303801016 b1000 aaacx -r3.0 bbbbb #1311382718 b100000000 aabcu -r2.0 bbbbb #1312689908 b1000000010111110001 aabct -r1.0 bbbbb #1315304288 b10000000000000000000010111110001 aabct -r0.0 bbbbb #1317395792 b101011 aabdb -r-1.0 bbbbb #1345892534 b101100 aabdb -r-2.0 bbbbb #1375173590 b101101 aabdb -r-3.0 bbbbb #1404454646 b101110 aabdb -r-2.0 bbbbb #1437918710 b101111 aabdb -r-1.0 bbbbb #1443670346 b11111111010100 aaabi @@ -1710,7 +1699,6 @@ b11111111010100 aabac b10000000000000010000010111110001 aabct b11111111010100 aabcw b11111111010100 aabdc -r0.0 bbbbb #1444438324 1aaaar 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 fc6bf7e..8d0038e 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 @@ -13,8 +13,6 @@ package com.minres.scviewer.database.text; import java.nio.charset.CharsetDecoder; import java.util.Collection; import java.util.zip.GZIPInputStream -import org.apache.jdbm.DB -import org.apache.jdbm.DBMaker import groovy.io.FileType import com.minres.scviewer.database.AssociationType @@ -32,8 +30,6 @@ public class TextDbLoader implements IWaveformDbLoader{ IWaveformDb db; - DB backingDb; - def streams = [] def relationTypes=[:] @@ -65,20 +61,6 @@ public class TextDbLoader implements IWaveformDbLoader{ this.streams=[] def gzipped = isGzipped(file) if(isTxfile(gzipped?new GZIPInputStream(new FileInputStream(file)):new FileInputStream(file))){ - if(true) { - def parentDir=file.absoluteFile.parent - def filename=file.name - new File(parentDir).eachFileRecurse (FileType.FILES) { f -> if(f.name=~/^\.${filename}/) f.delete() } - this.backingDb = DBMaker.openFile(parentDir+File.separator+"."+filename+"_bdb") - .deleteFilesAfterClose() - .useRandomAccessFile() - .setMRUCacheSize(4096) - //.disableTransactions() - .disableLocking() - .make(); - } else { - this.backingDb = DBMaker.openMemory().disableLocking().make() - } parseInput(gzipped?new GZIPInputStream(new FileInputStream(file)):new FileInputStream(file)) calculateConcurrencyIndicees() return true @@ -140,7 +122,7 @@ public class TextDbLoader implements IWaveformDbLoader{ case "end_attribute": if ((matcher = line =~ /^scv_tr_stream\s+\(ID (\d+),\s+name\s+"([^"]+)",\s+kind\s+"([^"]+)"\)$/)) { def id = Integer.parseInt(matcher[0][1]) - def stream = new TxStream(db, id, matcher[0][2], matcher[0][3], backingDb) + def stream = new TxStream(db, id, matcher[0][2], matcher[0][3]) streams<> events - TxStream(IWaveformDb db, int id, String name, String kind, DB backingStore){ + TxStream(IWaveformDb db, int id, String name, String kind){ super(name) this.id=id this.database=db this.fullName=name this.kind=kind this.maxConcurrency=0 - //events = new TreeMap>() - events=backingStore.createTreeMap("stream-"+name) + events = new TreeMap>() } List getGenerators(){ diff --git a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/SignalPainter.java b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/SignalPainter.java index 42ead12..b924b83 100644 --- a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/SignalPainter.java +++ b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/SignalPainter.java @@ -10,9 +10,8 @@ *******************************************************************************/ package com.minres.scviewer.database.swt.internal; -import java.util.Map.Entry; import java.util.Collection; -import java.util.Map; +import java.util.Map.Entry; import java.util.NavigableMap; import javax.swing.JPanel; @@ -26,9 +25,9 @@ import org.eclipse.swt.graphics.Rectangle; import com.minres.scviewer.database.ISignal; import com.minres.scviewer.database.ISignalChange; +import com.minres.scviewer.database.ISignalChangeBit; import com.minres.scviewer.database.ISignalChangeBitVector; import com.minres.scviewer.database.ISignalChangeReal; -import com.minres.scviewer.database.ISignalChangeBit; import com.minres.scviewer.database.ui.TrackEntry; import com.minres.scviewer.database.ui.WaveformColors; @@ -110,7 +109,6 @@ public class SignalPainter extends TrackPainter { NavigableMap entries = signal.getEvents().subMap(first.getKey(), false, last.getKey(), true); SignalChange left = new SignalChange(first); SignalChange right = new SignalChange(entries.size() > 0 ? entries.firstEntry() : first); - maxX = area.x + area.width; yOffsetT = this.waveCanvas.getTrackHeight() / 5 + area.y; yOffsetM = this.waveCanvas.getTrackHeight() / 2 + area.y; @@ -124,7 +122,6 @@ public class SignalPainter extends TrackPainter { // b) left to close to right if (left.time == right.time) { right.time = endTime; - } else { multiple = true; long eTime = (xBegin + 1) * this.waveCanvas.getScaleFactor(); @@ -147,7 +144,9 @@ public class SignalPainter extends TrackPainter { if (xEnd == xBegin) { multiple = true; long eTime = (xBegin + 1) * this.waveCanvas.getScaleFactor(); - right.set(entries.floorEntry(eTime), endTime); + Entry entry = entries.floorEntry(eTime); + if(entry!=null && entry.getKey()> right.time) + right.set(entry, endTime); xEnd = getXEnd(eTime); } } while (left.time < endTime); @@ -269,9 +268,86 @@ public class SignalPainter extends TrackPainter { } } } - } +/* + private class RealStencil implements SignalStencil { + double min; + double max; + double diff; + + public RealStencil(ISignalChange value, NavigableMap entries) { + min=((ISignalChangeReal) value).getValue(); + max=min; + for (ISignalChange e : entries.values()) { + double v = ((ISignalChangeReal)e).getValue(); + max= Double.isNaN(max)? v : Math.max(max, v); + min= Double.isNaN(min)? v : Math.min(min, v); + } + int nans = (Double.isNaN(max)?2:0) + (Double.isNaN(max)?1:0); + switch(nans) { + case 0: + break; + case 1: + max=min; + break; + case 2: + min=max; + case 3: + max=min=0; + } + diff=max-min; + if(diff==0.0) { + if(max>0) + min=0.0; + else if(min<0.0) + max=0.0; + else { + max=1.0; + min=0.0; + } + diff=max-min; + } + } + public void draw(GC gc, Rectangle area, ISignalChange left, ISignalChange right, int xBegin, int xEnd, boolean multiple) { + double value = ((ISignalChangeReal)left).getValue(); + if(Double.isNaN(value)) { + Color color = waveCanvas.colors[WaveformColors.SIGNAL_NAN.ordinal()]; + int width = xEnd - xBegin; + if (width > 1) { + int[] points = { + xBegin, yOffsetT, + xEnd, yOffsetT, + xEnd, yOffsetB, + xBegin, yOffsetB + }; + gc.setForeground(color); + gc.drawPolygon(points); + gc.setBackground(color); + gc.fillPolygon(points); + } else { + gc.setForeground(color); + gc.drawLine(xEnd, yOffsetT, xEnd, yOffsetB); + } + } else { + Color color = waveCanvas.colors[WaveformColors.SIGNAL_ANALOG.ordinal()]; + int height=yOffsetT-yOffsetB; + double offset=value-min; + int yOffset=diff>0?(int)(height*(offset/diff)) + yOffsetB:yOffsetM; + gc.setForeground(color); + if (xEnd > maxX) { + gc.drawLine(xBegin, yOffset, maxX, yOffset); + } else { + gc.drawLine(xBegin, yOffset, xEnd, yOffset); + double nextOffset = ((ISignalChangeReal)right).getValue()-min; + int yNext = diff>0?(int)(height*(nextOffset/diff)) + yOffsetB:height/2; + if (yOffset != yNext) + gc.drawLine(xEnd, yOffset, xEnd, yNext); + } + } + } + } +*/ private class RealStencil implements SignalStencil { double minVal, range; diff --git a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java index 4730c33..81f8faf 100644 --- a/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java +++ b/com.minres.scviewer.database.ui.swt/src/com/minres/scviewer/database/swt/internal/StreamPainter.java @@ -110,6 +110,17 @@ public class StreamPainter extends TrackPainter{ gc.fillRectangle(bb); gc.drawRectangle(bb); } else { + // adjusting drawing width to circumvent issues in canvas algos + if(bb.x < area.x) { + bb.width = bb.width-(area.x-bb.x)+5; + bb.x=area.x-5; + } + int bb_x2 = bb.x+bb.width; + int area_x2 = area.x+area.width; + if(bb_x2>area_x2){ + bb_x2=area_x2+5; + bb.width= bb_x2-bb.x; + } gc.fillRoundRectangle(bb.x, bb.y, bb.width, bb.height, 5, 5); gc.drawRoundRectangle(bb.x, bb.y, bb.width, bb.height, 5, 5); } 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 4621e54..815ae84 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 @@ -56,7 +56,7 @@ public class WaveformCanvas extends Canvas { private int level = 12; - public final static String[] unitString={"fs", "ps", "ns", "µs", "ms"};//, "s"}; + public final static String[] unitString={"fs", "ps", "ns", "us", "ms"};//, "s"}; public final static int[] unitMultiplier={1, 3, 10, 30, 100, 300}; @@ -142,6 +142,7 @@ public class WaveformCanvas extends Canvas { colors[WaveformColors.SIGNALU.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_YELLOW); colors[WaveformColors.SIGNAL_TEXT.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_WHITE); colors[WaveformColors.SIGNAL_REAL.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_YELLOW); + colors[WaveformColors.SIGNAL_NAN.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_RED); colors[WaveformColors.CURSOR.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_RED); colors[WaveformColors.CURSOR_DRAG.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_GRAY); colors[WaveformColors.CURSOR_TEXT.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_WHITE); 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 470b3af..ac95951 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 @@ -13,7 +13,6 @@ package com.minres.scviewer.database.swt.internal; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; diff --git a/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/WaveformColors.java b/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/WaveformColors.java index 72fb07e..3c77796 100644 --- a/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/WaveformColors.java +++ b/com.minres.scviewer.database.ui/src/com/minres/scviewer/database/ui/WaveformColors.java @@ -14,7 +14,7 @@ public enum WaveformColors { LINE, LINE_HIGHLITE, TRACK_BG_EVEN, TRACK_BG_ODD, TRACK_BG_HIGHLITE, TX_BG, TX_BG_HIGHLITE, TX_BORDER, - SIGNAL0, SIGNAL1, SIGNALZ, SIGNALX, SIGNALU, SIGNAL_TEXT, SIGNAL_REAL, + SIGNAL0, SIGNAL1, SIGNALZ, SIGNALX, SIGNALU, SIGNAL_TEXT, SIGNAL_REAL, SIGNAL_NAN, CURSOR, CURSOR_DRAG, CURSOR_TEXT, MARKER, MARKER_TEXT, REL_ARROW, REL_ARROW_HIGHLITE } \ No newline at end of file diff --git a/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/IVCDDatabaseBuilder.java b/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/IVCDDatabaseBuilder.java index 812b2ba..9e4bab8 100644 --- a/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/IVCDDatabaseBuilder.java +++ b/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/IVCDDatabaseBuilder.java @@ -52,7 +52,7 @@ public interface IVCDDatabaseBuilder { * * @param netId the int value * @param currentTime the current time in ps - * @param decodedValues the decoded values + * @param decodedValues the decoded bit values */ public void appendTransition(int netId, long currentTime, char decodedValue); diff --git a/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDDbLoader.java b/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDDbLoader.java index 0616e4c..15c5f79 100644 --- a/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDDbLoader.java +++ b/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDDbLoader.java @@ -184,7 +184,7 @@ public class VCDDbLoader implements IWaveformDbLoader, IVCDDatabaseBuilder { @Override public void appendTransition(int signalId, long currentTime, char decodedValues) { VCDSignal signal = (VCDSignal) signals.get(signalId); - Long time = currentTime* TIME_RES; + Long time = currentTime*TIME_RES; if(signal.getWidth()==1){ ((VCDSignal)signal).values.put(time, new VCDSignalChangeBit(time, decodedValues)); } diff --git a/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDFileParser.java b/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDFileParser.java index c714dec..06976f8 100644 --- a/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDFileParser.java +++ b/com.minres.scviewer.database.vcd/src/com/minres/scviewer/database/vcd/VCDFileParser.java @@ -149,6 +149,7 @@ class VCDFileParser { if (tokenizer.sval.charAt(0) == '#') { // If the line begins with a #, this is a timestamp. currentTime = Long.parseLong(tokenizer.sval.substring(1)) * picoSecondsPerIncrement; } else { + boolean isReal=false; if(tokenizer.sval.equals("$comment")){ do { if (!nextToken()) return false; diff --git a/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/parts/WaveformViewer.java b/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/parts/WaveformViewer.java index 78699a0..928de0f 100644 --- a/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/parts/WaveformViewer.java +++ b/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/parts/WaveformViewer.java @@ -17,6 +17,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -55,8 +56,11 @@ import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.RGB; +import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import com.minres.scviewer.database.ITx; @@ -79,6 +83,7 @@ import com.minres.scviewer.e4.application.internal.util.IFileChangeListener; import com.minres.scviewer.e4.application.internal.util.IModificationChecker; import com.minres.scviewer.e4.application.preferences.DefaultValuesInitializer; import com.minres.scviewer.e4.application.preferences.PreferenceConstants; +//import com.minres.scviewer.database.swt.internal.WaveformCanvas; /** * The Class WaveformViewerPart. @@ -727,6 +732,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis * @param level the new zoom level */ public void setZoomLevel(Integer level) { + //System.out.println("setZoomLevel() - ZoomLevel: " + level); if (level < 0) level = 0; if (level > zoomLevel.length - 1) @@ -735,11 +741,43 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis updateAll(); } + //FIXME: need to use unitString and unitMultiplier from class WaveformCanvas which is located in >com.minres.scviewer.database.swt.internal. + //Trying to import com.minres.scviewer.database.swt.internal.WaveformCanvas results in the error: + //'Access restriction: The type 'WaveformCanvas' is not API (restriction on required project 'com.minres.scviewer.database.ui.swt')'. + public final static String[] unitString={"fs", "ps", "ns", "µs", "ms"};//, "s"}; + public final static int[] unitMultiplier={1, 3, 10, 30, 100, 300}; + /** * Sets the zoom fit. */ public void setZoomFit() { - waveformPane.setZoomLevel(6); + + //actual max time of signal + long maxTime = waveformPane.getMaxTime(); + + //get area actually capable of displaying data, i.e. area of the receiver which is capable of displaying data + Rectangle clientArea = myParent.getClientArea(); + long clientAreaWidth = clientArea.width; + + //System.out.println("ZoomLevel[] Array (Length " + zoomLevel.length + "): " + Arrays.toString(zoomLevel)); + //System.out.println("ClientArea myParent: " + myParent.getClientArea()); + //System.out.println("MaxTime: " + maxTime); + //System.out.println("clientAreaWidth: " + clientAreaWidth); + + boolean foundZoom=false; + //try to find existing zoomlevel where scaleFactor*clientAreaWidth >= maxTime, if one is found set it as new zoomlevel + for (int level=0; level= maxTime) { + setZoomLevel(level); + foundZoom=true; + break; + } + } + //if no zoom level is found, set biggest one available + if(!foundZoom) setZoomLevel(unitMultiplier.length*unitString.length-1); + updateAll(); } diff --git a/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/preferences/DefaultValuesInitializer.java b/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/preferences/DefaultValuesInitializer.java index 4cdcf2b..2851277 100644 --- a/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/preferences/DefaultValuesInitializer.java +++ b/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/preferences/DefaultValuesInitializer.java @@ -41,11 +41,13 @@ public class DefaultValuesInitializer extends AbstractPreferenceInitializer { colors[WaveformColors.TX_BG.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_GREEN); colors[WaveformColors.TX_BG_HIGHLITE.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_DARK_GREEN); colors[WaveformColors.TX_BORDER.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_RED); - colors[WaveformColors.SIGNAL0.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_DARK_GREEN); - colors[WaveformColors.SIGNAL1.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_DARK_GREEN); + colors[WaveformColors.SIGNAL0.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_GREEN); + colors[WaveformColors.SIGNAL1.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_GREEN); colors[WaveformColors.SIGNALZ.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_YELLOW); colors[WaveformColors.SIGNALX.ordinal()] = SWTResourceManager.getColor(255, 51, 51); colors[WaveformColors.SIGNALU.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_DARK_YELLOW); + colors[WaveformColors.SIGNAL_REAL.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_YELLOW); + colors[WaveformColors.SIGNAL_NAN.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_RED); colors[WaveformColors.SIGNAL_TEXT.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_WHITE); colors[WaveformColors.CURSOR.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_RED); colors[WaveformColors.CURSOR_DRAG.ordinal()] = SWTResourceManager.getColor(SWT.COLOR_GRAY); diff --git a/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/provider/TxDbLabelProvider.java b/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/provider/TxDbLabelProvider.java index eab365c..ab0bd3b 100644 --- a/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/provider/TxDbLabelProvider.java +++ b/com.minres.scviewer.e4.application/src/com/minres/scviewer/e4/application/provider/TxDbLabelProvider.java @@ -20,7 +20,7 @@ import org.eclipse.wb.swt.ResourceManager; import com.minres.scviewer.database.IHierNode; import com.minres.scviewer.database.ISignal; -import com.minres.scviewer.database.ISignalChangeMulti; +import com.minres.scviewer.database.ISignalChangeBitVector; import com.minres.scviewer.database.ITxStream; import com.minres.scviewer.database.IWaveformDb; import com.minres.scviewer.e4.application.parts.LoadingWaveformDb; @@ -101,7 +101,7 @@ public class TxDbLabelProvider implements ILabelProvider { return stream; }else if(element instanceof ISignal){ Object o = ((ISignal)element).getEvents().firstEntry().getValue(); - if(o instanceof ISignalChangeMulti) + if(o instanceof ISignalChangeBitVector) return wave; else return signal; diff --git a/com.minres.scviewer.e4.product/scviewer.product b/com.minres.scviewer.e4.product/scviewer.product index c5b250e..d500d8d 100644 --- a/com.minres.scviewer.e4.product/scviewer.product +++ b/com.minres.scviewer.e4.product/scviewer.product @@ -33,6 +33,7 @@ + @@ -72,8 +73,10 @@ + + @@ -118,6 +121,7 @@ + diff --git a/com.minres.scviewer.target/neon.target b/com.minres.scviewer.target/neon.target new file mode 100644 index 0000000..d84fbf9 --- /dev/null +++ b/com.minres.scviewer.target/neon.target @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + +x86_64 +de_DE + + +-Dosgi.requiredJavaVersion=1.7 -XX:MaxPermSize=256 -Xms40m -Xmx2G + + \ No newline at end of file diff --git a/com.minres.scviewer.target/photon.target b/com.minres.scviewer.target/photon.target index 91b11cc..5d6c71b 100644 --- a/com.minres.scviewer.target/photon.target +++ b/com.minres.scviewer.target/photon.target @@ -6,6 +6,8 @@ + + diff --git a/com.minres.scviewer.ui/.settings/org.eclipse.jdt.groovy.core.prefs b/com.minres.scviewer.ui/.settings/org.eclipse.jdt.groovy.core.prefs index 021403d..bde59a0 100644 --- a/com.minres.scviewer.ui/.settings/org.eclipse.jdt.groovy.core.prefs +++ b/com.minres.scviewer.ui/.settings/org.eclipse.jdt.groovy.core.prefs @@ -1,2 +1,3 @@ eclipse.preferences.version=1 groovy.compiler.level=26 +groovy.script.filters=**/*.dsld,y,**/*.gradle,n