Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 33c58983e3 | |||
| 2ffcbe1fa3 | |||
| 360df27a53 | |||
| 17015f1bbc | |||
| e4ba753f82 |
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<version>3.0.0-SNAPSHOT</version>
|
<version>3.0.0-SNAPSHOT</version>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<version>1.1.0-SNAPSHOT</version>
|
<version>1.1.0-SNAPSHOT</version>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<feature
|
<feature
|
||||||
id="com.minres.scviewer.feature"
|
id="com.minres.scviewer.feature"
|
||||||
label="%featureName"
|
label="%featureName"
|
||||||
version="2.19.4"
|
version="2.19.5"
|
||||||
provider-name="%providerName">
|
provider-name="%providerName">
|
||||||
|
|
||||||
<description>
|
<description>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<version>1.1.0-SNAPSHOT</version>
|
<version>1.1.0-SNAPSHOT</version>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
|
|||||||
@@ -153,8 +153,11 @@ abstract class AbstractTxStream extends HierNode implements IWaveform {
|
|||||||
switch(evt.getKind()) {
|
switch(evt.getKind()) {
|
||||||
case END: //TODO: might throw NPE in concurrent execution
|
case END: //TODO: might throw NPE in concurrent execution
|
||||||
Long txId = txEvt.getTransaction().getId();
|
Long txId = txEvt.getTransaction().getId();
|
||||||
txEvt.setConcurrencyIndex(rowByTxId.get(txId));
|
Integer row = rowByTxId.get(txId);
|
||||||
rowByTxId.remove(txId);
|
if(row!=null) {
|
||||||
|
txEvt.setConcurrencyIndex(row);
|
||||||
|
rowByTxId.remove(txId);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SINGLE:
|
case SINGLE:
|
||||||
for (; rowIdx < rowEndTime.size() && rowEndTime.get(rowIdx)>tx.getBeginTime(); rowIdx++);
|
for (; rowIdx < rowEndTime.size() && rowEndTime.get(rowIdx)>tx.getBeginTime(); rowIdx++);
|
||||||
|
|||||||
@@ -238,6 +238,8 @@ public class FtrDbLoader implements IWaveformDbLoader {
|
|||||||
genId = cborDecoder.readInt();
|
genId = cborDecoder.readInt();
|
||||||
long startTime = cborDecoder.readInt()*time_scale_factor;
|
long startTime = cborDecoder.readInt()*time_scale_factor;
|
||||||
long endTime = cborDecoder.readInt()*time_scale_factor;
|
long endTime = cborDecoder.readInt()*time_scale_factor;
|
||||||
|
if(endTime<startTime) // fix buggy recording, end time needs to be later or equal start time
|
||||||
|
endTime=startTime;
|
||||||
TxGenerator gen = txGenerators.get(genId);
|
TxGenerator gen = txGenerators.get(genId);
|
||||||
TxStream stream = gen.stream;
|
TxStream stream = gen.stream;
|
||||||
FtrTx scvTx = new FtrTx(txId, stream.getId(), genId, startTime, endTime, blockId, blockOffset);
|
FtrTx scvTx = new FtrTx(txId, stream.getId(), genId, startTime, endTime, blockId, blockOffset);
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ class TxRelation implements ITxRelation {
|
|||||||
TxStream fiber = loader.txStreams.get(fiberId);
|
TxStream fiber = loader.txStreams.get(fiberId);
|
||||||
fiber.loadStream();
|
fiber.loadStream();
|
||||||
tx = loader.getTransaction(txId);
|
tx = loader.getTransaction(txId);
|
||||||
return loader.txStreams.get(fiberId);
|
return fiber;
|
||||||
} else
|
} else
|
||||||
return tx.getStream();
|
return tx.getStream();
|
||||||
}
|
}
|
||||||
@@ -116,7 +116,7 @@ class TxRelation implements ITxRelation {
|
|||||||
loader.txStreams.get(fiberId).loadStream();
|
loader.txStreams.get(fiberId).loadStream();
|
||||||
tx = loader.getTransaction(txId);
|
tx = loader.getTransaction(txId);
|
||||||
}
|
}
|
||||||
return tx.getGenerator();
|
return tx!=null?tx.getGenerator():null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ class TxStream extends AbstractTxStream {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void loadStream() {
|
public void loadStream() {
|
||||||
|
if(chunks.size()>0) return;
|
||||||
try {
|
try {
|
||||||
List<byte[]> chunks = getChunks();
|
List<byte[]> chunks = getChunks();
|
||||||
int blockid = 0;
|
int blockid = 0;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<version>4.0.0-SNAPSHOT</version>
|
<version>4.0.0-SNAPSHOT</version>
|
||||||
|
|||||||
@@ -124,7 +124,8 @@ public class StreamPainter extends TrackPainter{
|
|||||||
|
|
||||||
protected void drawTx(Projection proj, Rectangle area, ITx tx, int concurrencyIndex, boolean highlighted ) {
|
protected void drawTx(Projection proj, Rectangle area, ITx tx, int concurrencyIndex, boolean highlighted ) {
|
||||||
// compute colors
|
// compute colors
|
||||||
Color[] transColor = waveCanvas.styleProvider.computeColor( tx.getGenerator().getName());
|
IWaveform generator = tx.getGenerator();
|
||||||
|
Color[] transColor = waveCanvas.styleProvider.computeColor( generator!=null?generator.getName():"unknown");
|
||||||
|
|
||||||
proj.setBackground(transColor[highlighted?1:0]);
|
proj.setBackground(transColor[highlighted?1:0]);
|
||||||
|
|
||||||
|
|||||||
@@ -842,7 +842,7 @@ public class WaveformView implements IWaveformView {
|
|||||||
|
|
||||||
public void setSelection(ISelection selection, boolean add, boolean addIfNeeded) {
|
public void setSelection(ISelection selection, boolean add, boolean addIfNeeded) {
|
||||||
boolean selectionChanged = false;
|
boolean selectionChanged = false;
|
||||||
currentWaveformSelection.forEach(e -> e.selected = false);
|
currentWaveformSelection.forEach(e -> {if(e!=null) e.selected = false;});
|
||||||
if (selection instanceof IStructuredSelection) {
|
if (selection instanceof IStructuredSelection) {
|
||||||
IStructuredSelection sel = (IStructuredSelection) selection;
|
IStructuredSelection sel = (IStructuredSelection) selection;
|
||||||
if (sel.size() == 0) {
|
if (sel.size() == 0) {
|
||||||
@@ -862,8 +862,12 @@ public class WaveformView implements IWaveformView {
|
|||||||
if (trackEntry == null) {
|
if (trackEntry == null) {
|
||||||
trackEntry = getEntryFor(txSel);
|
trackEntry = getEntryFor(txSel);
|
||||||
if (trackEntry == null && addIfNeeded) {
|
if (trackEntry == null && addIfNeeded) {
|
||||||
trackEntry = new TrackEntry(txSel.getStream(), styleProvider);
|
IWaveform stream = txSel.getStream();
|
||||||
streams.add(trackEntry);
|
Optional<TrackEntry> te = streams.stream().filter(e -> stream.equals(e.waveform)).findFirst();
|
||||||
|
if (te.isEmpty()) { // add stream only if really needed
|
||||||
|
trackEntry = new TrackEntry(txSel.getStream(), styleProvider);
|
||||||
|
streams.add(trackEntry);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
currentTxSelection = txSel;
|
currentTxSelection = txSel;
|
||||||
@@ -885,7 +889,7 @@ public class WaveformView implements IWaveformView {
|
|||||||
currentTxSelection = null;
|
currentTxSelection = null;
|
||||||
currentWaveformSelection.clear();
|
currentWaveformSelection.clear();
|
||||||
}
|
}
|
||||||
currentWaveformSelection.forEach(e -> e.selected = true);
|
currentWaveformSelection.forEach(e -> {if(e!=null)e.selected = true;});
|
||||||
if (selectionChanged) {
|
if (selectionChanged) {
|
||||||
currentWaveformSelection.forEach(e -> waveformCanvas.reveal(e.waveform));
|
currentWaveformSelection.forEach(e -> waveformCanvas.reveal(e.waveform));
|
||||||
waveformCanvas.setSelected(currentTxSelection);
|
waveformCanvas.setSelected(currentTxSelection);
|
||||||
@@ -1376,10 +1380,13 @@ public class WaveformView implements IWaveformView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public TrackEntry getEntryFor(ITx source) {
|
public TrackEntry getEntryFor(ITx source) {
|
||||||
Optional<TrackEntry> optGen = streams.stream().filter(e -> source.getGenerator().equals(e.waveform))
|
if(source.getGenerator()==null) return null;
|
||||||
|
Optional<TrackEntry> optGen = streams.stream()
|
||||||
|
.filter(e -> source.getGenerator().equals(e.waveform))
|
||||||
.findFirst();
|
.findFirst();
|
||||||
if (optGen.isPresent())
|
if (optGen.isPresent())
|
||||||
return optGen.get();
|
return optGen.get();
|
||||||
|
if(source.getStream()==null) return null;
|
||||||
Optional<TrackEntry> optStr = streams.stream().filter(e -> source.getStream().equals(e.waveform)).findFirst();
|
Optional<TrackEntry> optStr = streams.stream().filter(e -> source.getStream().equals(e.waveform)).findFirst();
|
||||||
if (optStr.isPresent())
|
if (optStr.isPresent())
|
||||||
return optStr.get();
|
return optStr.get();
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: SCViewer Help
|
Bundle-Name: SCViewer Help
|
||||||
Bundle-SymbolicName: com.minres.scviewer.e4.application.help;singleton:=true
|
Bundle-SymbolicName: com.minres.scviewer.e4.application.help;singleton:=true
|
||||||
Bundle-Version: 2.19.4
|
Bundle-Version: 2.19.5
|
||||||
Bundle-Vendor: MINRES Technologies GmbH
|
Bundle-Vendor: MINRES Technologies GmbH
|
||||||
Automatic-Module-Name: com.minres.scviewer.e4.application.help
|
Automatic-Module-Name: com.minres.scviewer.e4.application.help
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
|||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: %Bundle-Name
|
Bundle-Name: %Bundle-Name
|
||||||
Bundle-SymbolicName: com.minres.scviewer.e4.application;singleton:=true
|
Bundle-SymbolicName: com.minres.scviewer.e4.application;singleton:=true
|
||||||
Bundle-Version: 2.19.4
|
Bundle-Version: 2.19.5
|
||||||
Bundle-Vendor: %Bundle-Vendor
|
Bundle-Vendor: %Bundle-Vendor
|
||||||
Require-Bundle: javax.inject;bundle-version="1.0.0",
|
Require-Bundle: javax.inject;bundle-version="1.0.0",
|
||||||
org.eclipse.core.runtime;bundle-version="3.11.1",
|
org.eclipse.core.runtime;bundle-version="3.11.1",
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
|
|||||||
@@ -653,7 +653,9 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
|||||||
public void reloadDatabase() {
|
public void reloadDatabase() {
|
||||||
Map<String, String> state = new HashMap<>();
|
Map<String, String> state = new HashMap<>();
|
||||||
saveWaveformViewerState(state);
|
saveWaveformViewerState(state);
|
||||||
|
setSelection(null);
|
||||||
waveformPane.getStreamList().clear();
|
waveformPane.getStreamList().clear();
|
||||||
|
waveformPane.update();
|
||||||
if(database.isLoaded())
|
if(database.isLoaded())
|
||||||
database.close();
|
database.close();
|
||||||
database = dbFactory.getDatabase();
|
database = dbFactory.getDatabase();
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import java.util.Vector;
|
|||||||
import org.eclipse.jface.viewers.ITreeContentProvider;
|
import org.eclipse.jface.viewers.ITreeContentProvider;
|
||||||
import org.eclipse.jface.viewers.Viewer;
|
import org.eclipse.jface.viewers.Viewer;
|
||||||
|
|
||||||
|
import com.minres.scviewer.database.IWaveform;
|
||||||
import com.minres.scviewer.database.tx.ITx;
|
import com.minres.scviewer.database.tx.ITx;
|
||||||
import com.minres.scviewer.database.tx.ITxRelation;
|
import com.minres.scviewer.database.tx.ITxRelation;
|
||||||
import com.minres.scviewer.e4.application.Messages;
|
import com.minres.scviewer.e4.application.Messages;
|
||||||
@@ -51,9 +52,11 @@ public abstract class AbstractTransactionTreeContentProvider implements ITreeCon
|
|||||||
TransactionTreeNode node=(TransactionTreeNode) element;
|
TransactionTreeNode node=(TransactionTreeNode) element;
|
||||||
switch(node.type) {
|
switch(node.type) {
|
||||||
case PROPS:
|
case PROPS:
|
||||||
|
IWaveform stream = node.element.getStream();
|
||||||
|
IWaveform generator = node.element.getGenerator();
|
||||||
return new Object[][]{
|
return new Object[][]{
|
||||||
{Messages.TransactionDetails_1, Messages.TransactionDetails_16, node.element.getStream().getFullName()},
|
{Messages.TransactionDetails_1, Messages.TransactionDetails_16, stream!=null?stream.getFullName():"[unknown]"},
|
||||||
{Messages.TransactionDetails_2, Messages.TransactionDetails_16, node.element.getGenerator().getName()},
|
{Messages.TransactionDetails_2, Messages.TransactionDetails_16, generator!=null?generator.getName():"[unknown]"},
|
||||||
{Messages.TransactionDetails_19, Messages.TransactionDetails_20, waveformViewerPart.getScaledTime(node.element.getBeginTime())},
|
{Messages.TransactionDetails_19, Messages.TransactionDetails_20, waveformViewerPart.getScaledTime(node.element.getBeginTime())},
|
||||||
{Messages.TransactionDetails_21, Messages.TransactionDetails_20, waveformViewerPart.getScaledTime(node.element.getEndTime())}
|
{Messages.TransactionDetails_21, Messages.TransactionDetails_20, waveformViewerPart.getScaledTime(node.element.getEndTime())}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -16,12 +16,12 @@ import com.minres.scviewer.e4.application.Messages;
|
|||||||
public class TransactionTreeNode implements Comparable<TransactionTreeNode>{
|
public class TransactionTreeNode implements Comparable<TransactionTreeNode>{
|
||||||
|
|
||||||
/** The type. */
|
/** The type. */
|
||||||
public TransactionTreeNodeType type;
|
public final TransactionTreeNodeType type;
|
||||||
|
|
||||||
/** The element. */
|
/** The element. */
|
||||||
public ITx element;
|
public final ITx element;
|
||||||
|
|
||||||
private String hier_path;
|
private final String hier_path;
|
||||||
/**
|
/**
|
||||||
* Instantiates a new tree node.
|
* Instantiates a new tree node.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -17,7 +17,9 @@ Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
|
|||||||
org.eclipse.swt,
|
org.eclipse.swt,
|
||||||
org.eclipse.osgi,
|
org.eclipse.osgi,
|
||||||
org.eclipse.core.expressions;bundle-version="3.4.600",
|
org.eclipse.core.expressions;bundle-version="3.4.600",
|
||||||
org.eclipse.jface
|
org.eclipse.jface,
|
||||||
|
org.eclipse.ui.console,
|
||||||
|
org.eclipse.jdt.ui
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||||
Bundle-ActivationPolicy: lazy
|
Bundle-ActivationPolicy: lazy
|
||||||
Import-Package: com.google.common.collect
|
Import-Package: com.google.common.collect
|
||||||
|
|||||||
@@ -20,10 +20,11 @@
|
|||||||
<editor
|
<editor
|
||||||
class="com.minres.scviewer.ui.TxEditorPart"
|
class="com.minres.scviewer.ui.TxEditorPart"
|
||||||
contributorClass="com.minres.scviewer.ui.TxEditorActionBarContributor"
|
contributorClass="com.minres.scviewer.ui.TxEditorActionBarContributor"
|
||||||
extensions="txdb"
|
default="true"
|
||||||
filenames="*.txdb,*.txlog,*.vcd,*.ftr"
|
filenames="*.txlog,*.vcd,*.ftr,*.fst,*.txlog.gz,*.txdb"
|
||||||
icon="res/images/scviewer.png"
|
icon="res/images/scviewer.png"
|
||||||
id="com.minres.scviewer.ui.TxEditorPart"
|
id="com.minres.scviewer.ui.TxEditorPart"
|
||||||
|
matchingStrategy="SCViewerMatchingStrategy"
|
||||||
name="Wave Viewer">
|
name="Wave Viewer">
|
||||||
</editor>
|
</editor>
|
||||||
</extension>
|
</extension>
|
||||||
@@ -372,5 +373,14 @@
|
|||||||
icon="res/images/cross.png">
|
icon="res/images/cross.png">
|
||||||
</image>
|
</image>
|
||||||
</extension>
|
</extension>
|
||||||
|
<extension
|
||||||
|
point="org.eclipse.ui.perspectives">
|
||||||
|
<perspective
|
||||||
|
class="com.minres.scviewer.ui.perspectives.WaveformPerspective"
|
||||||
|
icon="res/images/scviewer.png"
|
||||||
|
id="com.minres.scviewer.ui.perspectives.WaveformPerspective"
|
||||||
|
name="Waveform">
|
||||||
|
</perspective>
|
||||||
|
</extension>
|
||||||
|
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
import org.eclipse.ui.IEditorInput;
|
||||||
|
import org.eclipse.ui.IEditorMatchingStrategy;
|
||||||
|
import org.eclipse.ui.IEditorReference;
|
||||||
|
|
||||||
|
public class SCViewerMatchingStrategy implements IEditorMatchingStrategy {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean matches(IEditorReference editorRef, IEditorInput input) {
|
||||||
|
return input.getName().endsWith(".ftr") || input.getName().endsWith(".fst")
|
||||||
|
|| input.getName().endsWith(".vcd") || input.getName().endsWith(".txlog")
|
||||||
|
|| input.getName().endsWith(".txlog.gz") || input.getName().endsWith(".txdb");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
package com.minres.scviewer.ui.perspectives;
|
||||||
|
|
||||||
|
import org.eclipse.ui.IFolderLayout;
|
||||||
|
import org.eclipse.ui.IPageLayout;
|
||||||
|
import org.eclipse.ui.IPerspectiveFactory;
|
||||||
|
import org.eclipse.ui.console.IConsoleConstants;
|
||||||
|
import org.eclipse.jdt.ui.JavaUI;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class is meant to serve as an example for how various contributions
|
||||||
|
* are made to a perspective. Note that some of the extension point id's are
|
||||||
|
* referred to as API constants while others are hardcoded and may be subject
|
||||||
|
* to change.
|
||||||
|
*/
|
||||||
|
public class WaveformPerspective implements IPerspectiveFactory {
|
||||||
|
|
||||||
|
private IPageLayout factory;
|
||||||
|
|
||||||
|
public WaveformPerspective() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void createInitialLayout(IPageLayout factory) {
|
||||||
|
this.factory = factory;
|
||||||
|
addViews();
|
||||||
|
addActionSets();
|
||||||
|
addNewWizardShortcuts();
|
||||||
|
addPerspectiveShortcuts();
|
||||||
|
addViewShortcuts();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addViews() {
|
||||||
|
// Creates the overall folder layout.
|
||||||
|
// Note that each new Folder uses a percentage of the remaining EditorArea.
|
||||||
|
IFolderLayout topLeft =
|
||||||
|
factory.createFolder(
|
||||||
|
"topLeft", //NON-NLS-1
|
||||||
|
IPageLayout.LEFT,
|
||||||
|
0.25f,
|
||||||
|
factory.getEditorArea());
|
||||||
|
topLeft.addView(IPageLayout.ID_PROJECT_EXPLORER);
|
||||||
|
|
||||||
|
IFolderLayout bottomLeft =
|
||||||
|
factory.createFolder(
|
||||||
|
"bottomLeft", //NON-NLS-1
|
||||||
|
IPageLayout.BOTTOM,
|
||||||
|
0.25f,
|
||||||
|
"topLeft");
|
||||||
|
bottomLeft.addView(IPageLayout.ID_OUTLINE);
|
||||||
|
|
||||||
|
IFolderLayout bottom =
|
||||||
|
factory.createFolder(
|
||||||
|
"bottomRight", //NON-NLS-1
|
||||||
|
IPageLayout.BOTTOM,
|
||||||
|
0.75f,
|
||||||
|
factory.getEditorArea());
|
||||||
|
bottom.addView(IPageLayout.ID_PROP_SHEET);
|
||||||
|
bottom.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addActionSets() {
|
||||||
|
factory.addActionSet(JavaUI.ID_ACTION_SET);
|
||||||
|
factory.addActionSet(JavaUI.ID_ELEMENT_CREATION_ACTION_SET);
|
||||||
|
factory.addActionSet(IPageLayout.ID_NAVIGATE_ACTION_SET); //NON-NLS-1
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addPerspectiveShortcuts() {
|
||||||
|
factory.addPerspectiveShortcut("org.eclipse.team.ui.TeamSynchronizingPerspective"); //NON-NLS-1
|
||||||
|
factory.addPerspectiveShortcut("org.eclipse.ui.resourcePerspective"); //NON-NLS-1
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addNewWizardShortcuts() {
|
||||||
|
factory.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//NON-NLS-1
|
||||||
|
factory.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//NON-NLS-1
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addViewShortcuts() {
|
||||||
|
factory.addShowViewShortcut("org.eclipse.ant.ui.views.AntView"); //NON-NLS-1
|
||||||
|
factory.addShowViewShortcut("org.eclipse.pde.ui.DependenciesView"); //NON-NLS-1
|
||||||
|
factory.addShowViewShortcut("org.eclipse.jdt.junit.ResultView"); //NON-NLS-1
|
||||||
|
factory.addShowViewShortcut("org.eclipse.team.ui.GenericHistoryView"); //NON-NLS-1
|
||||||
|
factory.addShowViewShortcut(IConsoleConstants.ID_CONSOLE_VIEW);
|
||||||
|
factory.addShowViewShortcut(JavaUI.ID_PACKAGES);
|
||||||
|
factory.addShowViewShortcut(IPageLayout.ID_PROJECT_EXPLORER);
|
||||||
|
factory.addShowViewShortcut(IPageLayout.ID_PROBLEM_VIEW);
|
||||||
|
factory.addShowViewShortcut(IPageLayout.ID_OUTLINE);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -26,23 +26,13 @@ public class TxDbTreeLabelProvider implements ILabelProvider {
|
|||||||
|
|
||||||
private List<ILabelProviderListener> listeners = new ArrayList<ILabelProviderListener>();
|
private List<ILabelProviderListener> listeners = new ArrayList<ILabelProviderListener>();
|
||||||
|
|
||||||
private Image database;
|
private static Image database=TxEditorPlugin.createImage("database");
|
||||||
private Image stream;
|
private static Image stream=TxEditorPlugin.createImage("stream");
|
||||||
private Image signal;
|
private static Image signal=TxEditorPlugin.createImage("signal");
|
||||||
private Image folder;
|
private static Image folder=TxEditorPlugin.createImage("folder");
|
||||||
private Image wave;
|
private static Image wave=TxEditorPlugin.createImage("wave");
|
||||||
|
|
||||||
|
|
||||||
public TxDbTreeLabelProvider() {
|
|
||||||
super();
|
|
||||||
database=TxEditorPlugin.createImage("database");
|
|
||||||
stream=TxEditorPlugin.createImage("stream");
|
|
||||||
folder=TxEditorPlugin.createImage("folder");
|
|
||||||
signal=TxEditorPlugin.createImage("signal");
|
|
||||||
wave=TxEditorPlugin.createImage("wave");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addListener(ILabelProviderListener listener) {
|
public void addListener(ILabelProviderListener listener) {
|
||||||
listeners.add(listener);
|
listeners.add(listener);
|
||||||
|
|||||||
4
pom.xml
4
pom.xml
@@ -4,7 +4,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<modules>
|
<modules>
|
||||||
<module>releng/com.minres.scviewer.target</module>
|
<module>releng/com.minres.scviewer.target</module>
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
<artifact>
|
<artifact>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.target</artifactId>
|
<artifactId>com.minres.scviewer.target</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
</artifact>
|
</artifact>
|
||||||
</target>
|
</target>
|
||||||
<executionEnvironment>
|
<executionEnvironment>
|
||||||
|
|||||||
@@ -6,11 +6,11 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>com.minres.scviewer.e4.product</artifactId>
|
<artifactId>com.minres.scviewer.e4.product</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<packaging>eclipse-repository</packaging>
|
<packaging>eclipse-repository</packaging>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<?pde version="3.5"?>
|
<?pde version="3.5"?>
|
||||||
|
|
||||||
<product name="SCViewer" uid="scviewer" id="com.minres.scviewer.e4.application.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="2.19.4" useFeatures="true" includeLaunchers="true" autoIncludeRequirements="true">
|
<product name="SCViewer" uid="scviewer" id="com.minres.scviewer.e4.application.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="2.19.5" useFeatures="true" includeLaunchers="true" autoIncludeRequirements="true">
|
||||||
|
|
||||||
<configIni use="default">
|
<configIni use="default">
|
||||||
</configIni>
|
</configIni>
|
||||||
@@ -22,14 +22,6 @@
|
|||||||
<macosx icon="icons/SCViewer.icns"/>
|
<macosx icon="icons/SCViewer.icns"/>
|
||||||
<win useIco="true">
|
<win useIco="true">
|
||||||
<ico path="icons/SCViewer.ico"/>
|
<ico path="icons/SCViewer.ico"/>
|
||||||
<bmp
|
|
||||||
winSmallHigh="icons/SCViewer_16x16@32.bmp"
|
|
||||||
winSmallLow="icons/SCViewer_16x16@8.bmp"
|
|
||||||
winMediumHigh="icons/SCViewer_32x32@32.bmp"
|
|
||||||
winMediumLow="icons/SCViewer_32x32@8.bmp"
|
|
||||||
winLargeHigh="icons/SCViewer_48x48@32.bmp"
|
|
||||||
winLargeLow="icons/SCViewer_48x48@8.bmp"
|
|
||||||
winExtraLargeHigh="icons/SCViewer_256x256@32.bmp"/>
|
|
||||||
</win>
|
</win>
|
||||||
</launcher>
|
</launcher>
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<build>
|
<build>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||||
<version>2.19.4</version>
|
<version>2.19.5</version>
|
||||||
<relativePath>../..</relativePath>
|
<relativePath>../..</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-test-plugin</packaging>
|
<packaging>eclipse-test-plugin</packaging>
|
||||||
|
|||||||
Reference in New Issue
Block a user