Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
47b58ed770 | |||
20cb208719 |
@ -9,6 +9,7 @@ Import-Package: org.osgi.framework;version="1.3.0"
|
||||
Automatic-Module-Name: com.minres.scviewer.database.leveldb
|
||||
Service-Component: OSGI-INF/*.xml
|
||||
Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
|
||||
org.eclipse.equinox.util;bundle-version="1.0.500",
|
||||
org.eclipse.equinox.ds;bundle-version="1.4.200",
|
||||
org.eclipse.osgi.services;bundle-version="3.4.0"
|
||||
Bundle-ActivationPolicy: lazy
|
||||
|
@ -64,7 +64,7 @@ public class LevelDBLoader implements IWaveformDbLoader {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<IWaveform> getAllWaves() {
|
||||
public List<IWaveform> getAllWaves() {
|
||||
List<IWaveform> streams=new ArrayList<IWaveform>();
|
||||
SeekingIterator<String, String> it = levelDb.iterator();
|
||||
it.seek("s~");
|
||||
|
@ -61,7 +61,7 @@ public class SQLiteDbLoader implements IWaveformDbLoader {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<IWaveform> getAllWaves() {
|
||||
public List<IWaveform> getAllWaves() {
|
||||
SQLiteDatabaseSelectHandler<ScvStream> handler = new SQLiteDatabaseSelectHandler<ScvStream>(ScvStream.class, database);
|
||||
List<IWaveform> streams=new ArrayList<IWaveform>();
|
||||
try {
|
||||
|
@ -1,104 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
|
||||
<booleanAttribute key="append.args" value="true"/>
|
||||
<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
|
||||
<booleanAttribute key="askclear" value="false"/>
|
||||
<booleanAttribute key="automaticAdd" value="true"/>
|
||||
<booleanAttribute key="automaticValidate" value="false"/>
|
||||
<stringAttribute key="bootstrap" value=""/>
|
||||
<stringAttribute key="checked" value="[NONE]"/>
|
||||
<booleanAttribute key="clearConfig" value="true"/>
|
||||
<booleanAttribute key="clearws" value="true"/>
|
||||
<booleanAttribute key="clearwslog" value="false"/>
|
||||
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
|
||||
<booleanAttribute key="default" value="true"/>
|
||||
<setAttribute key="deselected_workspace_bundles">
|
||||
<setEntry value="com.minres.scviewer.e4.application"/>
|
||||
<setEntry value="com.minres.scviewer.ui"/>
|
||||
</setAttribute>
|
||||
<booleanAttribute key="includeOptional" value="true"/>
|
||||
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.minres.scviewer.database.test"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=com.minres.scviewer.database.test"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
|
||||
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.minres.scviewer.database.test"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx512m"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<stringAttribute key="product" value="com.minres.scviewer.e4.product"/>
|
||||
<booleanAttribute key="run_in_ui_thread" value="true"/>
|
||||
<setAttribute key="selected_target_bundles">
|
||||
<setEntry value="com.google.guava@default:default"/>
|
||||
<setEntry value="javax.annotation@default:default"/>
|
||||
<setEntry value="javax.inject@default:default"/>
|
||||
<setEntry value="javax.servlet@default:default"/>
|
||||
<setEntry value="org.apache.ant@default:default"/>
|
||||
<setEntry value="org.apache.commons.jxpath@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.command@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.codehaus.groovy@default:default"/>
|
||||
<setEntry value="org.eclipse.ant.core@default:default"/>
|
||||
<setEntry value="org.eclipse.core.commands@default:default"/>
|
||||
<setEntry value="org.eclipse.core.contenttype@default:default"/>
|
||||
<setEntry value="org.eclipse.core.expressions@default:default"/>
|
||||
<setEntry value="org.eclipse.core.filesystem.macosx@default:false"/>
|
||||
<setEntry value="org.eclipse.core.filesystem@default:default"/>
|
||||
<setEntry value="org.eclipse.core.jobs@default:default"/>
|
||||
<setEntry value="org.eclipse.core.resources@default:default"/>
|
||||
<setEntry value="org.eclipse.core.runtime@default:true"/>
|
||||
<setEntry value="org.eclipse.core.variables@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.contexts@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.di.annotations@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.di.extensions@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.di@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.services@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.emf.xpath@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.di@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.model.workbench@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.services@default:default"/>
|
||||
<setEntry value="org.eclipse.emf.common@default:default"/>
|
||||
<setEntry value="org.eclipse.emf.ecore@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.app@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.bidi@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.ds@1:true"/>
|
||||
<setEntry value="org.eclipse.equinox.preferences@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.registry@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.util@default:default"/>
|
||||
<setEntry value="org.eclipse.jface@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.compatibility.state@default:false"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.eclipse.swt.cocoa.macosx.x86_64@default:false"/>
|
||||
<setEntry value="org.eclipse.swt@default:default"/>
|
||||
<setEntry value="org.hamcrest.core@default:default"/>
|
||||
<setEntry value="org.junit@default:default"/>
|
||||
</setAttribute>
|
||||
<setAttribute key="selected_workspace_bundles">
|
||||
<setEntry value="com.minres.scviewer.database.sqlite@default:true"/>
|
||||
<setEntry value="com.minres.scviewer.database.test@default:default"/>
|
||||
<setEntry value="com.minres.scviewer.database.text@default:true"/>
|
||||
<setEntry value="com.minres.scviewer.database.ui.swt@default:default"/>
|
||||
<setEntry value="com.minres.scviewer.database.ui@default:default"/>
|
||||
<setEntry value="com.minres.scviewer.database.vcd@default:default"/>
|
||||
<setEntry value="com.minres.scviewer.database@default:true"/>
|
||||
<setEntry value="com.opcoach.e4.preferences@default:default"/>
|
||||
</setAttribute>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfig" value="true"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<booleanAttribute key="useProduct" value="false"/>
|
||||
<booleanAttribute key="append.args" value="true"/>
|
||||
<stringAttribute key="application" value="org.eclipse.pde.junit.runtime.coretestapplication"/>
|
||||
<booleanAttribute key="askclear" value="false"/>
|
||||
<booleanAttribute key="automaticAdd" value="true"/>
|
||||
<booleanAttribute key="automaticValidate" value="false"/>
|
||||
<stringAttribute key="bootstrap" value=""/>
|
||||
<stringAttribute key="checked" value="[NONE]"/>
|
||||
<booleanAttribute key="clearConfig" value="true"/>
|
||||
<booleanAttribute key="clearws" value="true"/>
|
||||
<booleanAttribute key="clearwslog" value="false"/>
|
||||
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
|
||||
<booleanAttribute key="default" value="true"/>
|
||||
<stringAttribute key="deselected_workspace_plugins" value="com.minres.scviewer.e4.application,com.minres.scviewer.ui"/>
|
||||
<booleanAttribute key="includeOptional" value="true"/>
|
||||
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/com.minres.scviewer.database.test"/>
|
||||
</listAttribute>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
||||
<listEntry value="4"/>
|
||||
</listAttribute>
|
||||
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value="=com.minres.scviewer.database.test"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
|
||||
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
|
||||
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
|
||||
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value=""/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="com.minres.scviewer.database.test"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx512m"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<stringAttribute key="product" value="com.minres.scviewer.e4.product"/>
|
||||
<booleanAttribute key="run_in_ui_thread" value="true"/>
|
||||
<stringAttribute key="selected_target_plugins" value="com.google.guava@default:default,javax.annotation@default:default,javax.inject@default:default,javax.servlet@default:default,org.apache.ant@default:default,org.apache.commons.jxpath@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.codehaus.groovy@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.macosx@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.annotations@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.emf.xpath@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.util@default:default,org.eclipse.jface@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.swt.cocoa.macosx.x86_64@default:false,org.eclipse.swt@default:default,org.hamcrest.core@default:default,org.junit@default:default"/>
|
||||
<stringAttribute key="selected_workspace_plugins" value="com.minres.scviewer.database.sqlite@default:true,com.minres.scviewer.database.test@default:default,com.minres.scviewer.database.text@default:true,com.minres.scviewer.database.ui.swt@default:default,com.minres.scviewer.database.ui@default:default,com.minres.scviewer.database.vcd@default:default,com.minres.scviewer.database@default:true,com.opcoach.e4.preferences@default:default"/>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfig" value="true"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="false"/>
|
||||
<booleanAttribute key="useProduct" value="false"/>
|
||||
</launchConfiguration>
|
||||
|
@ -8,6 +8,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Import-Package: org.osgi.framework;version="1.3.0"
|
||||
Require-Bundle: com.minres.scviewer.database,
|
||||
org.codehaus.groovy;bundle-version="2.5.8",
|
||||
org.eclipse.equinox.util;bundle-version="1.0.500",
|
||||
org.eclipse.equinox.ds;bundle-version="1.4.200",
|
||||
org.eclipse.osgi.services;bundle-version="3.4.0",
|
||||
com.google.guava;bundle-version="15.0.0"
|
||||
|
@ -24,8 +24,8 @@
|
||||
</compilerArguments>
|
||||
<!-- set verbose to be true if you want lots of uninteresting messages -->
|
||||
<!-- <verbose>true</verbose> -->
|
||||
<source>1.8</source>
|
||||
<target>1.8</target>
|
||||
<source>1.7</source>
|
||||
<target>1.7</target>
|
||||
</configuration>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
|
@ -50,8 +50,8 @@ public class TextDbLoader implements IWaveformDbLoader{
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<IWaveform> getAllWaves() {
|
||||
return streams;
|
||||
public List<IWaveform> getAllWaves() {
|
||||
return new LinkedList<IWaveform>(streams);
|
||||
}
|
||||
|
||||
public Map<Long, ITxGenerator> getGeneratorsById() {
|
||||
@ -83,7 +83,7 @@ public class TextDbLoader implements IWaveformDbLoader{
|
||||
.make()
|
||||
// NPE here --->
|
||||
parseInput(gzipped?new GZIPInputStream(new FileInputStream(file)):new FileInputStream(file))
|
||||
streams.each{ TxStream stream -> stream.getMaxConcurrency() }
|
||||
calculateConcurrencyIndicees()
|
||||
return true
|
||||
}
|
||||
} catch (IndexOutOfBoundsException e) {
|
||||
@ -136,7 +136,7 @@ public class TextDbLoader implements IWaveformDbLoader{
|
||||
case "ms":return 1000000000000L
|
||||
case "s": return 1000000000000000L
|
||||
}
|
||||
return 1L
|
||||
return "fs"
|
||||
}
|
||||
|
||||
private def parseInput(InputStream inputStream){
|
||||
@ -153,29 +153,23 @@ public class TextDbLoader implements IWaveformDbLoader{
|
||||
def tokens = line.split(/\s+/) as ArrayList
|
||||
switch(tokens[0]){
|
||||
case "scv_tr_stream":
|
||||
case "scv_tr_generator":
|
||||
case "begin_attribute":
|
||||
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(this, id, matcher[0][2], matcher[0][3])
|
||||
streams<<stream
|
||||
streamsById[id]=stream
|
||||
}
|
||||
break;
|
||||
case "scv_tr_generator":
|
||||
if ((matcher = line =~ /^scv_tr_generator\s+\(ID\s+(\d+),\s+name\s+"([^"]+)",\s+scv_tr_stream\s+(\d+),$/)) {
|
||||
} else if ((matcher = line =~ /^scv_tr_generator\s+\(ID\s+(\d+),\s+name\s+"([^"]+)",\s+scv_tr_stream\s+(\d+),$/)) {
|
||||
def id = Integer.parseInt(matcher[0][1])
|
||||
ITxStream stream=streamsById[Integer.parseInt(matcher[0][3])]
|
||||
generator=new TxGenerator(id, stream, matcher[0][2])
|
||||
stream.generators<<generator
|
||||
generatorsById[id]=generator
|
||||
}
|
||||
break;
|
||||
case "begin_attribute":
|
||||
if ((matcher = line =~ /^begin_attribute \(ID (\d+), name "([^"]+)", type "([^"]+)"\)$/)) {
|
||||
} else if ((matcher = line =~ /^begin_attribute \(ID (\d+), name "([^"]+)", type "([^"]+)"\)$/)) {
|
||||
generator.begin_attrs << TxAttributeType.getAttrType(matcher[0][2], DataType.valueOf(matcher[0][3]), AssociationType.BEGIN)
|
||||
}
|
||||
break;
|
||||
case "end_attribute":
|
||||
if ((matcher = line =~ /^end_attribute \(ID (\d+), name "([^"]+)", type "([^"]+)"\)$/)) {
|
||||
} else if ((matcher = line =~ /^end_attribute \(ID (\d+), name "([^"]+)", type "([^"]+)"\)$/)) {
|
||||
generator.end_attrs << TxAttributeType.getAttrType(matcher[0][2], DataType.valueOf(matcher[0][3]), AssociationType.END)
|
||||
}
|
||||
break;
|
||||
@ -234,6 +228,31 @@ public class TextDbLoader implements IWaveformDbLoader{
|
||||
}
|
||||
}
|
||||
|
||||
private def toDataType(String str){
|
||||
switch (str)
|
||||
{
|
||||
case "BOOLEAN": return DataType. BOOLEAN
|
||||
case "ENUMERATION": return DataType. ENUMERATION
|
||||
case "INTEGER": return DataType. INTEGER
|
||||
case "UNSIGNED": return DataType. UNSIGNED
|
||||
case "FLOATING_POINT_NUMBER": return DataType. FLOATING_POINT_NUMBER
|
||||
case "BIT_VECTOR": return DataType. BIT_VECTOR
|
||||
case "LOGIC_VECTOR": return DataType. LOGIC_VECTOR
|
||||
case "FIXED_POINT_INTEGER": return DataType. FIXED_POINT_INTEGER
|
||||
case "UNSIGNED_FIXED_POINT_INTEGER": return DataType. UNSIGNED_FIXED_POINT_INTEGER
|
||||
case "RECORD": return DataType. RECORD
|
||||
case "POINTER": return DataType. POINTER
|
||||
case "ARRAY": return DataType. ARRAY
|
||||
case "STRING": return DataType. STRING
|
||||
default: return DataType.INTEGER
|
||||
}
|
||||
}
|
||||
|
||||
private def calculateConcurrencyIndicees(){
|
||||
streams.each{ TxStream stream -> stream.getMaxConcurrency() }
|
||||
}
|
||||
|
||||
|
||||
public Collection<RelationType> getAllRelationTypes(){
|
||||
return relationTypes.values();
|
||||
}
|
||||
|
@ -7,6 +7,5 @@ Bundle-Vendor: MINRES Technologies GmbH
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Export-Package: com.minres.scviewer.database.ui
|
||||
Require-Bundle: com.minres.scviewer.database,
|
||||
org.eclipse.jface,
|
||||
org.eclipse.swt
|
||||
org.eclipse.jface
|
||||
Automatic-Module-Name: com.minres.scviewer.database.ui
|
||||
|
@ -51,12 +51,31 @@ public class TrackEntry {
|
||||
|
||||
result[0] = fallback;
|
||||
result[1] = highlightedFallback;
|
||||
|
||||
// assign "random" color here, one name always results in the same color!
|
||||
if( streamValue!=null && randomColors.length > 0 ) {
|
||||
int index = Math.abs(streamValue.hashCode()) % randomColors.length;
|
||||
result[0] = randomColors[index][0];
|
||||
result[1] = randomColors[index][1];
|
||||
|
||||
// assign colors to standard values
|
||||
if (streamValue.contains("read")){
|
||||
result[0] = new Color(86,174,53);
|
||||
result[1] = new Color (86,194,53);
|
||||
}else if (streamValue.contains("rdata")){
|
||||
result[0] = new Color(138,151,71);
|
||||
result[1] = new Color (138,171,71);
|
||||
}else if (streamValue.contains("addr")){
|
||||
result[0] = new Color(233,187,68);
|
||||
result[1] = new Color (233,207,68);
|
||||
}else if (streamValue.contains("write")){
|
||||
result[0] = new Color(1,128,191);
|
||||
result[1] = new Color (1,128,211);
|
||||
}else if (streamValue.contains("wdata")){
|
||||
result[0] = new Color(2,181,160);
|
||||
result[1] = new Color (2,201,160);
|
||||
|
||||
}else {
|
||||
// assign "random" color here, one name always results in the same color!
|
||||
if( randomColors.length > 0 ) {
|
||||
int index = Math.abs(streamValue.hashCode()) % randomColors.length;
|
||||
result[0] = randomColors[index][0];
|
||||
result[1] = randomColors[index][1];
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -6,6 +6,7 @@ Bundle-Version: 2.0.2.qualifier
|
||||
Bundle-Vendor: MINRES Technologies GmbH
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
|
||||
org.eclipse.equinox.util;bundle-version="1.0.500",
|
||||
org.eclipse.equinox.ds;bundle-version="1.4.200",
|
||||
org.eclipse.osgi.services;bundle-version="3.4.0",
|
||||
com.google.guava;bundle-version="15.0.0"
|
||||
|
@ -128,7 +128,7 @@ public class VCDDbLoader implements IWaveformDbLoader, IVCDDatabaseBuilder {
|
||||
* @see com.minres.scviewer.database.ITrDb#getAllWaves()
|
||||
*/
|
||||
@Override
|
||||
public Collection<IWaveform> getAllWaves() {
|
||||
public List<IWaveform> getAllWaves() {
|
||||
return signals;
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,7 @@ package com.minres.scviewer.database;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public interface IWaveformDbLoader {
|
||||
|
||||
@ -19,7 +20,7 @@ public interface IWaveformDbLoader {
|
||||
|
||||
public Long getMaxTime();
|
||||
|
||||
public Collection<IWaveform> getAllWaves() ;
|
||||
public List<IWaveform> getAllWaves() ;
|
||||
|
||||
public Collection<RelationType> getAllRelationTypes() ;
|
||||
|
||||
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %Bundle-Name
|
||||
Bundle-SymbolicName: com.minres.scviewer.e4.application;singleton:=true
|
||||
Bundle-Version: 2.6.0.qualifier
|
||||
Bundle-Version: 2.5.0.qualifier
|
||||
Bundle-Vendor: %Bundle-Vendor
|
||||
Require-Bundle: javax.inject;bundle-version="1.0.0",
|
||||
org.eclipse.core.runtime;bundle-version="3.11.1",
|
||||
@ -18,6 +18,7 @@ Require-Bundle: javax.inject;bundle-version="1.0.0",
|
||||
com.minres.scviewer.database.ui,
|
||||
com.minres.scviewer.database;bundle-version="1.0.0",
|
||||
org.eclipse.equinox.ds;bundle-version="1.4.300",
|
||||
org.eclipse.equinox.util;bundle-version="1.0.500",
|
||||
org.eclipse.osgi.services;bundle-version="3.5.0",
|
||||
org.eclipse.e4.core.services;bundle-version="2.0.0",
|
||||
org.eclipse.osgi.services;bundle-version="3.5.0",
|
||||
|
@ -1,7 +1,7 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>com.minres.scviewer.e4.application</artifactId>
|
||||
<version>2.6.0-SNAPSHOT</version>
|
||||
<version>2.5.0-SNAPSHOT</version>
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
|
@ -1,5 +1,5 @@
|
||||
AboutDialog_0=\nSCViewer - a SystemC waveform viewer\n\nVersion: {0}\n
|
||||
AboutDialog_1=\nCopyright (c) 2015, 2019, 2020 MINRES Technologies GmbH and others.\n\nAll rights reserved. MINRES and the MINRES logo are trademarks of MINRES Technologies GmbH, http://www.minres.com/. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html\n\nParts of the software are governed by the Apache License Version 2.0 available at http://www.apache.org/licenses/. These are namely org.mapdb and org.sqlite JDBC driver\n\nSource code is hosted at https://git.minres.com/VP-Tools/SCViewer and the master branch is mirrored to GitHub: https://github.com/minres/SCViewer\n
|
||||
AboutDialog_1=\nCopyright (c) 2015, 2019 MINRES Technologies GmbH and others.\n\nAll rights reserved. MINRES and the MINRES logo are trademarks of MINRES Technologies GmbH, http://www.minres.com/. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html\n\nParts of the software are governed by the Apache License Version 2.0 available at http://www.apache.org/licenses/. These are namely org.mapdb and org.sqlite JDBC driver\n\nSource code is hosted at https://git.minres.com/VP-Tools/SCViewer and the master branch is mirrored to GitHub: https://github.com/minres/SCViewer\n
|
||||
DesignBrowser_12=Append all after
|
||||
DesignBrowser_16=Insert all before
|
||||
DesignBrowser_2=Enter text to filter waveforms
|
||||
|
@ -328,15 +328,13 @@ public class DesignBrowser {
|
||||
*/
|
||||
@Focus
|
||||
public void setFocus() {
|
||||
if(txTableViewer!=null) {
|
||||
txTableViewer.getTable().setFocus();
|
||||
IStructuredSelection selection = (IStructuredSelection)txTableViewer.getSelection();
|
||||
if(selection.size()==0){
|
||||
appendItem.setEnabled(false);
|
||||
}
|
||||
selectionService.setSelection(selection);
|
||||
thisSelectionCount=selection.toList().size();
|
||||
txTableViewer.getTable().setFocus();
|
||||
IStructuredSelection selection = (IStructuredSelection)txTableViewer.getSelection();
|
||||
if(selection.size()==0){
|
||||
appendItem.setEnabled(false);
|
||||
}
|
||||
selectionService.setSelection(selection);
|
||||
thisSelectionCount=selection.toList().size();
|
||||
updateButtons();
|
||||
}
|
||||
|
||||
|
@ -10,14 +10,8 @@
|
||||
*******************************************************************************/
|
||||
package com.minres.scviewer.e4.application.parts;
|
||||
|
||||
import java.util.AbstractMap;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
import java.util.Vector;
|
||||
import java.util.regex.PatternSyntaxException;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.inject.Inject;
|
||||
@ -483,19 +477,12 @@ public class TransactionDetails {
|
||||
return true;
|
||||
}
|
||||
if(element instanceof ITxAttribute){
|
||||
try {
|
||||
return (((ITxAttribute) element).getName().toLowerCase().matches(searchString.toLowerCase()));
|
||||
} catch (PatternSyntaxException e) {
|
||||
return true;
|
||||
}
|
||||
return (((ITxAttribute) element).getName().toLowerCase().matches(searchString.toLowerCase()));
|
||||
}
|
||||
if(element instanceof Object[]) {
|
||||
try {
|
||||
return (((Object[])element)[0]).toString().toLowerCase().matches(searchString.toLowerCase());
|
||||
} catch (PatternSyntaxException e) {
|
||||
return true;
|
||||
}
|
||||
return (((Object[])element)[0]).toString().toLowerCase().matches(searchString.toLowerCase());
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -503,13 +490,11 @@ public class TransactionDetails {
|
||||
/**
|
||||
* The Enum Type.
|
||||
*/
|
||||
enum Type {
|
||||
PROPS, /** The props. */
|
||||
ATTRS, /** The attrs. */
|
||||
IN_REL, /** The in rel. */
|
||||
OUT_REL,/** The out rel. */
|
||||
HIER
|
||||
}
|
||||
enum Type {/** The props. */
|
||||
PROPS, /** The attrs. */
|
||||
ATTRS, /** The in rel. */
|
||||
IN_REL, /** The out rel. */
|
||||
OUT_REL}
|
||||
|
||||
/**
|
||||
* The Class TreeNode.
|
||||
@ -522,7 +507,6 @@ public class TransactionDetails {
|
||||
/** The element. */
|
||||
public ITx element;
|
||||
|
||||
private String hier_path;
|
||||
/**
|
||||
* Instantiates a new tree node.
|
||||
*
|
||||
@ -532,13 +516,6 @@ public class TransactionDetails {
|
||||
public TreeNode(ITx element, Type type){
|
||||
this.element=element;
|
||||
this.type=type;
|
||||
this.hier_path="";
|
||||
}
|
||||
|
||||
public TreeNode(ITx element, String path){
|
||||
this.element=element;
|
||||
this.type=Type.HIER;
|
||||
this.hier_path=path;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
@ -550,33 +527,9 @@ public class TransactionDetails {
|
||||
case ATTRS: return Messages.TransactionDetails_11;
|
||||
case IN_REL: return Messages.TransactionDetails_12;
|
||||
case OUT_REL: return Messages.TransactionDetails_13;
|
||||
case HIER:{
|
||||
String[] tokens = hier_path.split("\\.");
|
||||
return tokens[tokens.length-1];
|
||||
}
|
||||
}
|
||||
return ""; //$NON-NLS-1$
|
||||
}
|
||||
|
||||
public Object[] getAttributeListForHier() {
|
||||
if(childs==null) {
|
||||
Map<String, Object> res = element.getAttributes().stream()
|
||||
.filter(txAttr -> txAttr.getName().startsWith(hier_path))
|
||||
.map(txAttr -> {
|
||||
String target = hier_path.length()==0?txAttr.getName():txAttr.getName().replace(hier_path+'.', "");
|
||||
String[] tokens = target.split("\\.");
|
||||
if(tokens.length==1)
|
||||
return new AbstractMap.SimpleEntry<>(tokens[0], txAttr);
|
||||
else
|
||||
return new AbstractMap.SimpleEntry<>(tokens[0], new TreeNode(element, hier_path.length()>0?hier_path+"."+tokens[0]:tokens[0]));
|
||||
})
|
||||
.collect(Collectors.toMap(p -> p.getKey(), p -> p.getValue(), (first, second) -> first));
|
||||
childs = new TreeMap<String, Object>(res).values().toArray();
|
||||
}
|
||||
return childs;
|
||||
}
|
||||
|
||||
private Object[] childs=null;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -624,8 +577,8 @@ public class TransactionDetails {
|
||||
{Messages.TransactionDetails_19, Messages.TransactionDetails_20, timeToString(propertyHolder.element.getBeginTime())},
|
||||
{Messages.TransactionDetails_21, Messages.TransactionDetails_20, timeToString(propertyHolder.element.getEndTime())}
|
||||
};
|
||||
}else if(propertyHolder.type == Type.ATTRS || propertyHolder.type == Type.HIER)
|
||||
return propertyHolder.getAttributeListForHier();
|
||||
}else if(propertyHolder.type == Type.ATTRS)
|
||||
return propertyHolder.element.getAttributes().toArray();
|
||||
else if(propertyHolder.type == Type.IN_REL){
|
||||
Vector<Object[] > res = new Vector<>();
|
||||
for(ITxRelation rel:propertyHolder.element.getIncomingRelations()){
|
||||
@ -702,8 +655,7 @@ public class TransactionDetails {
|
||||
case NAME:
|
||||
if (element instanceof ITxAttribute) {
|
||||
ITxAttribute attribute = (ITxAttribute) element;
|
||||
String[] tokens = attribute.getName().split("\\.");
|
||||
return new StyledString(tokens[tokens.length-1]);
|
||||
return new StyledString(attribute.getName());
|
||||
}else if (element instanceof ITxRelation) {
|
||||
return new StyledString(Messages.TransactionDetails_4);
|
||||
}else if(element instanceof Object[]){
|
||||
|
@ -10,7 +10,7 @@
|
||||
<relativePath>../com.minres.scviewer.parent</relativePath>
|
||||
</parent>
|
||||
<artifactId>com.minres.scviewer.e4.product</artifactId>
|
||||
<version>2.6.0-SNAPSHOT</version>
|
||||
<version>2.5.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-repository</packaging>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<build>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?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.6.0.qualifier" useFeatures="false" includeLaunchers="true">
|
||||
<product name="SCViewer" uid="scviewer" id="com.minres.scviewer.e4.application.product" application="org.eclipse.e4.ui.workbench.swt.E4Application" version="2.5.0.qualifier" useFeatures="false" includeLaunchers="true">
|
||||
|
||||
<configIni use="default">
|
||||
</configIni>
|
||||
@ -56,7 +56,6 @@
|
||||
<plugin id="com.minres.scviewer.database.vcd"/>
|
||||
<plugin id="com.minres.scviewer.e4.application"/>
|
||||
<plugin id="com.opcoach.e4.preferences"/>
|
||||
<plugin id="com.opcoach.e4.preferences.mainmenu"/>
|
||||
<plugin id="javax.annotation"/>
|
||||
<plugin id="javax.inject"/>
|
||||
<plugin id="org.apache.batik.constants"/>
|
||||
@ -114,6 +113,7 @@
|
||||
<plugin id="org.eclipse.equinox.app"/>
|
||||
<plugin id="org.eclipse.equinox.common"/>
|
||||
<plugin id="org.eclipse.equinox.concurrent"/>
|
||||
<plugin id="org.eclipse.equinox.ds"/>
|
||||
<plugin id="org.eclipse.equinox.event"/>
|
||||
<plugin id="org.eclipse.equinox.preferences"/>
|
||||
<plugin id="org.eclipse.equinox.registry"/>
|
||||
|
@ -30,12 +30,11 @@ http://www.eclipse.org/legal/epl-v10.html
|
||||
|
||||
<requires>
|
||||
<import plugin="org.eclipse.equinox.ds" version="1.4.200" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.equinox.util" version="1.0.500" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.osgi.services" version="3.4.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.google.guava" version="15.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.osgi"/>
|
||||
<import plugin="com.minres.scviewer.database" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.minres.scviewer.database.ui" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.minres.scviewer.database.ui.swt" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.codehaus.groovy" version="1.8.6" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.osgi"/>
|
||||
<import plugin="org.eclipse.core.runtime"/>
|
||||
<import plugin="org.eclipse.core.resources"/>
|
||||
<import plugin="org.eclipse.jface.text"/>
|
||||
@ -44,12 +43,15 @@ http://www.eclipse.org/legal/epl-v10.html
|
||||
<import plugin="org.eclipse.ui.ide"/>
|
||||
<import plugin="org.eclipse.ui.views.properties.tabbed"/>
|
||||
<import plugin="org.eclipse.swt"/>
|
||||
<import plugin="org.apache.ant"/>
|
||||
<import plugin="com.google.guava" version="15.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.minres.scviewer.database.ui" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.minres.scviewer.database.ui.swt" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.core.expressions" version="3.4.600" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.jface"/>
|
||||
<import plugin="org.junit"/>
|
||||
<import plugin="org.eclipse.swt" version="3.103.1" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.equinox.registry"/>
|
||||
<import plugin="org.codehaus.groovy" version="2.5.8" match="greaterOrEqual"/>
|
||||
<import plugin="org.hamcrest.core" version="1.3.0" match="greaterOrEqual"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
|
@ -24,8 +24,8 @@
|
||||
|
||||
<properties>
|
||||
<tycho-version>1.5.0</tycho-version>
|
||||
<groovy-eclipse-compiler-version>3.6.0-03</groovy-eclipse-compiler-version>
|
||||
<groovy-eclipse-batch-version>3.0.3-01</groovy-eclipse-batch-version>
|
||||
<groovy-eclipse-compiler-version>3.5.0</groovy-eclipse-compiler-version>
|
||||
<groovy-eclipse-batch-version>2.5.8-03</groovy-eclipse-batch-version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
|
Reference in New Issue
Block a user