Merge branch 'develop' of https://git.minres.com/VP/SCViewer into develop
This commit is contained in:
commit
e02df858fa
|
@ -6,6 +6,8 @@ created by the SystemC VCD trace implementation and the SystemC Verification Lib
|
||||||
For further description of the SCV please refer to
|
For further description of the SCV please refer to
|
||||||
http://www.accellera.org/activities/committees/systemc-verification.
|
http://www.accellera.org/activities/committees/systemc-verification.
|
||||||
|
|
||||||
|
> If you encounter issue when running on Linux please try running as `SWT_GTK3=0 scviewer` as there exist issues wiht GTK3.
|
||||||
|
|
||||||
The viewer is in early alpha stage and not yet ready for production use!
|
The viewer is in early alpha stage and not yet ready for production use!
|
||||||
|
|
||||||
The plugins are structured as follows:
|
The plugins are structured as follows:
|
||||||
|
@ -39,4 +41,4 @@ TODO
|
||||||
- add more tests
|
- add more tests
|
||||||
- move to feature based product to allow automatic updates
|
- move to feature based product to allow automatic updates
|
||||||
- improve graphics
|
- improve graphics
|
||||||
- catch-up e3 plugin to functionality of e4 product
|
- catch-up e3 plugin to functionality of e4 product
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<booleanAttribute key="clearws" value="true"/>
|
<booleanAttribute key="clearws" value="true"/>
|
||||||
<booleanAttribute key="clearwslog" value="false"/>
|
<booleanAttribute key="clearwslog" value="false"/>
|
||||||
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
|
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
|
||||||
<booleanAttribute key="default" value="false"/>
|
<booleanAttribute key="default" value="true"/>
|
||||||
<stringAttribute key="deselected_workspace_plugins" value="com.minres.scviewer.e4.application,com.minres.scviewer.ui"/>
|
<stringAttribute key="deselected_workspace_plugins" value="com.minres.scviewer.e4.application,com.minres.scviewer.ui"/>
|
||||||
<booleanAttribute key="includeOptional" value="true"/>
|
<booleanAttribute key="includeOptional" value="true"/>
|
||||||
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
|
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
|
||||||
|
@ -35,8 +35,8 @@
|
||||||
<stringAttribute key="pde.version" value="3.3"/>
|
<stringAttribute key="pde.version" value="3.3"/>
|
||||||
<stringAttribute key="product" value="com.minres.scviewer.e4.product"/>
|
<stringAttribute key="product" value="com.minres.scviewer.e4.product"/>
|
||||||
<booleanAttribute key="run_in_ui_thread" value="true"/>
|
<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,javax.xml@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@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@default:default,org.hamcrest.core@default:default,org.junit@default:default"/>
|
<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.binary@default:default,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"/>
|
<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="show_selected_only" value="false"/>
|
||||||
<booleanAttribute key="tracing" value="false"/>
|
<booleanAttribute key="tracing" value="false"/>
|
||||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -86,5 +86,15 @@ public class DatabaseServicesTest {
|
||||||
assertEquals(1, waveformDb.getChildNodes().size());
|
assertEquals(1, waveformDb.getChildNodes().size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testHierarchicalVCD() throws Exception {
|
||||||
|
File f = new File("inputs/simple_system.vcd").getAbsoluteFile();
|
||||||
|
assertTrue(f.exists());
|
||||||
|
waveformDb.load(f);
|
||||||
|
assertNotNull(waveformDb);
|
||||||
|
assertEquals(778, waveformDb.getAllWaves().size());
|
||||||
|
assertEquals(1, waveformDb.getChildNodes().size());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: Textual transaction database
|
Bundle-Name: Textual transaction database
|
||||||
Bundle-SymbolicName: com.minres.scviewer.database.text
|
Bundle-SymbolicName: com.minres.scviewer.database.text
|
||||||
Bundle-Version: 1.0.0.qualifier
|
Bundle-Version: 1.0.1.qualifier
|
||||||
Bundle-Vendor: MINRES Technologies GmbH
|
Bundle-Vendor: MINRES Technologies GmbH
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||||
Import-Package: com.minres.scviewer.database,
|
Import-Package: com.minres.scviewer.database,
|
||||||
|
|
|
@ -39,4 +39,5 @@
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>
|
||||||
</project>
|
<version>1.0.1-SNAPSHOT</version>
|
||||||
|
</project>
|
|
@ -165,9 +165,11 @@ public class TextDbLoader implements IWaveformDbLoader{
|
||||||
break
|
break
|
||||||
case "a"://matcher = line =~ /^a\s+(.+)$/
|
case "a"://matcher = line =~ /^a\s+(.+)$/
|
||||||
if(endTransaction){
|
if(endTransaction){
|
||||||
transaction.attributes << new TxAttribute(transaction.generator.end_attrs[0], tokens[1])
|
transaction.attributes << new TxAttribute(transaction.generator.end_attrs[transaction.generator.end_attrs_idx], tokens[1])
|
||||||
|
transaction.generator.end_attrs_idx++
|
||||||
} else {
|
} else {
|
||||||
transaction.attributes << new TxAttribute(transaction.generator.begin_attrs[0], tokens[1])
|
transaction.attributes << new TxAttribute(transaction.generator.begin_attrs[transaction.generator.begin_attrs_idx], tokens[1])
|
||||||
|
transaction.generator.begin_attrs_idx++
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
case "tx_relation"://matcher = line =~ /^tx_relation\s+\"(\S+)\"\s+(\d+)\s+(\d+)$/
|
case "tx_relation"://matcher = line =~ /^tx_relation\s+\"(\S+)\"\s+(\d+)\s+(\d+)$/
|
||||||
|
|
|
@ -56,7 +56,7 @@ public class WaveformCanvas extends Canvas {
|
||||||
|
|
||||||
private int level = 12;
|
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};
|
public final static int[] unitMultiplier={1, 3, 10, 30, 100, 300};
|
||||||
|
|
||||||
|
|
|
@ -124,9 +124,9 @@ public class VCDDbLoader implements IWaveformDbLoader, IVCDDatabaseBuilder {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void enterModule(String tokenString) {
|
public void enterModule(String tokenString) {
|
||||||
if(moduleStack.isEmpty())
|
if(moduleStack.isEmpty()) {
|
||||||
moduleStack.push(tokenString);
|
if("SystemC".compareTo(tokenString)!=0) moduleStack.push(tokenString);
|
||||||
else
|
} else
|
||||||
moduleStack.push(moduleStack.peek()+"."+tokenString);
|
moduleStack.push(moduleStack.peek()+"."+tokenString);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -144,7 +144,8 @@ public class VCDDbLoader implements IWaveformDbLoader, IVCDDatabaseBuilder {
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public Integer newNet(String netName, int i, int width) {
|
public Integer newNet(String name, int i, int width) {
|
||||||
|
String netName = moduleStack.empty()? name: moduleStack.lastElement()+"."+name;
|
||||||
int id = signals.size();
|
int id = signals.size();
|
||||||
VCDSignal<? extends IWaveformEvent> signal;
|
VCDSignal<? extends IWaveformEvent> signal;
|
||||||
if(width==1){
|
if(width==1){
|
||||||
|
|
|
@ -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: 1.1.0.qualifier
|
Bundle-Version: 1.1.1.qualifier
|
||||||
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",
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<product
|
<product
|
||||||
application="org.eclipse.e4.ui.workbench.swt.E4Application"
|
application="org.eclipse.e4.ui.workbench.swt.E4Application"
|
||||||
description="%product.description"
|
description="%product.description"
|
||||||
name="%product.name">
|
name="SCViewer">
|
||||||
<property
|
<property
|
||||||
name="lifeCycleURI"
|
name="lifeCycleURI"
|
||||||
value="bundleclass://com.minres.scviewer.e4.application/com.minres.scviewer.e4.application.E4LifeCycle">
|
value="bundleclass://com.minres.scviewer.e4.application/com.minres.scviewer.e4.application.E4LifeCycle">
|
||||||
|
@ -16,14 +16,6 @@
|
||||||
name="appName"
|
name="appName"
|
||||||
value="SCViewer">
|
value="SCViewer">
|
||||||
</property>
|
</property>
|
||||||
<property
|
|
||||||
name="windowImages"
|
|
||||||
value="icons/SCViewer_16x32.png,icons/SCViewer_32x32.png,icons/SCViewer_48x32.png,icons/SCViewer_64x32.png,icons/SCViewer_128x32.png,icons/SCViewer_256x32.png">
|
|
||||||
</property>
|
|
||||||
<property
|
|
||||||
name="applicationCSS"
|
|
||||||
value="platform:/plugin/com.minres.scviewer.e4.application/css/default.css">
|
|
||||||
</property>
|
|
||||||
</product>
|
</product>
|
||||||
</extension>
|
</extension>
|
||||||
<extension
|
<extension
|
||||||
|
|
|
@ -8,5 +8,5 @@
|
||||||
<relativePath>../com.minres.scviewer.parent</relativePath>
|
<relativePath>../com.minres.scviewer.parent</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
<version>1.1.0-SNAPSHOT</version>
|
<version>1.1.1-SNAPSHOT</version>
|
||||||
</project>
|
</project>
|
|
@ -1,4 +1,4 @@
|
||||||
AboutDialog_0=\nSCViewer - a SystemC waveform viewer\n\nVersion: 1.2\n
|
AboutDialog_0=\nSCViewer - a SystemC waveform viewer\n\nVersion: 1.2.2\n
|
||||||
AboutDialog_1=\nCopyright (c) 2015,2016,2017 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.apache.jdbm and org.sqlite JDBC driver\n\nSources code is hosted at GitHub: https://github.com/minres/SCViewer\n
|
AboutDialog_1=\nCopyright (c) 2015,2016,2017 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.apache.jdbm and org.sqlite JDBC driver\n\nSources code is hosted at GitHub: https://github.com/minres/SCViewer\n
|
||||||
DesignBrowser_12=Append all after
|
DesignBrowser_12=Append all after
|
||||||
DesignBrowser_16=Insert all before
|
DesignBrowser_16=Insert all before
|
||||||
|
|
|
@ -55,6 +55,7 @@ import org.eclipse.swt.widgets.Tree;
|
||||||
import com.minres.scviewer.database.ITx;
|
import com.minres.scviewer.database.ITx;
|
||||||
import com.minres.scviewer.database.ITxAttribute;
|
import com.minres.scviewer.database.ITxAttribute;
|
||||||
import com.minres.scviewer.database.ITxRelation;
|
import com.minres.scviewer.database.ITxRelation;
|
||||||
|
import com.minres.scviewer.database.DataType;
|
||||||
import com.minres.scviewer.e4.application.Messages;
|
import com.minres.scviewer.e4.application.Messages;
|
||||||
import com.minres.scviewer.e4.application.provider.TxPropertiesLabelProvider;
|
import com.minres.scviewer.e4.application.provider.TxPropertiesLabelProvider;
|
||||||
|
|
||||||
|
@ -579,7 +580,13 @@ PROPS, /** The attrs. */
|
||||||
default:
|
default:
|
||||||
if (element instanceof ITxAttribute) {
|
if (element instanceof ITxAttribute) {
|
||||||
ITxAttribute attribute = (ITxAttribute) element;
|
ITxAttribute attribute = (ITxAttribute) element;
|
||||||
return new StyledString(attribute.getValue().toString());
|
String value = attribute.getValue().toString();
|
||||||
|
if((DataType.UNSIGNED == attribute.getDataType() || DataType.INTEGER==attribute.getDataType()) && !"0".equals(value)) {
|
||||||
|
try {
|
||||||
|
value = attribute.getValue().toString() + " [0x"+Long.toHexString(Long.parseLong(attribute.getValue().toString()))+"]";
|
||||||
|
} catch(NumberFormatException e) { }
|
||||||
|
}
|
||||||
|
return new StyledString(value);
|
||||||
}else if(element instanceof Object[]){
|
}else if(element instanceof Object[]){
|
||||||
Object[] elements = (Object[]) element;
|
Object[] elements = (Object[]) element;
|
||||||
return new StyledString(elements[field].toString());
|
return new StyledString(elements[field].toString());
|
||||||
|
|
|
@ -17,6 +17,7 @@ import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
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.ISelectionChangedListener;
|
||||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||||
import org.eclipse.jface.viewers.SelectionChangedEvent;
|
import org.eclipse.jface.viewers.SelectionChangedEvent;
|
||||||
|
import org.eclipse.swt.graphics.Point;
|
||||||
import org.eclipse.swt.graphics.RGB;
|
import org.eclipse.swt.graphics.RGB;
|
||||||
|
import org.eclipse.swt.graphics.Rectangle;
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
|
import org.eclipse.swt.widgets.Control;
|
||||||
import org.eclipse.swt.widgets.Display;
|
import org.eclipse.swt.widgets.Display;
|
||||||
|
|
||||||
import com.minres.scviewer.database.ITx;
|
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.internal.util.IModificationChecker;
|
||||||
import com.minres.scviewer.e4.application.preferences.DefaultValuesInitializer;
|
import com.minres.scviewer.e4.application.preferences.DefaultValuesInitializer;
|
||||||
import com.minres.scviewer.e4.application.preferences.PreferenceConstants;
|
import com.minres.scviewer.e4.application.preferences.PreferenceConstants;
|
||||||
|
//import com.minres.scviewer.database.swt.internal.WaveformCanvas;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class WaveformViewerPart.
|
* The Class WaveformViewerPart.
|
||||||
|
@ -724,6 +729,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||||
* @param level the new zoom level
|
* @param level the new zoom level
|
||||||
*/
|
*/
|
||||||
public void setZoomLevel(Integer level) {
|
public void setZoomLevel(Integer level) {
|
||||||
|
//System.out.println("setZoomLevel() - ZoomLevel: " + level);
|
||||||
if (level < 0)
|
if (level < 0)
|
||||||
level = 0;
|
level = 0;
|
||||||
if (level > zoomLevel.length - 1)
|
if (level > zoomLevel.length - 1)
|
||||||
|
@ -732,11 +738,43 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||||
updateAll();
|
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.
|
* Sets the zoom fit.
|
||||||
*/
|
*/
|
||||||
public void setZoomFit() {
|
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<unitMultiplier.length*unitString.length; level++){
|
||||||
|
long scaleFactor = (long) Math.pow(10, level/2);
|
||||||
|
if(level%2==1) scaleFactor*=3;
|
||||||
|
if(scaleFactor*clientAreaWidth >= 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();
|
updateAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
<relativePath>../com.minres.scviewer.parent</relativePath>
|
<relativePath>../com.minres.scviewer.parent</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<artifactId>com.minres.scviewer.e4.product</artifactId>
|
<artifactId>com.minres.scviewer.e4.product</artifactId>
|
||||||
<version>1.2.0-SNAPSHOT</version>
|
<version>1.3.0-SNAPSHOT</version>
|
||||||
<packaging>eclipse-repository</packaging>
|
<packaging>eclipse-repository</packaging>
|
||||||
<groupId>com.minres.scviewer</groupId>
|
<groupId>com.minres.scviewer</groupId>
|
||||||
<build>
|
<build>
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
<?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="1.2.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="1.3.0.qualifier" useFeatures="false" includeLaunchers="true">
|
||||||
|
|
||||||
|
|
||||||
<configIni use="default">
|
<configIni use="default">
|
||||||
</configIni>
|
</configIni>
|
||||||
|
@ -9,6 +10,8 @@
|
||||||
<launcherArgs>
|
<launcherArgs>
|
||||||
<programArgs>-clearPersistedState -data @none
|
<programArgs>-clearPersistedState -data @none
|
||||||
</programArgs>
|
</programArgs>
|
||||||
|
<vmArgs>-Xmx2G
|
||||||
|
</vmArgs>
|
||||||
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
|
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
|
||||||
</vmArgsMac>
|
</vmArgsMac>
|
||||||
</launcherArgs>
|
</launcherArgs>
|
||||||
|
@ -31,6 +34,7 @@
|
||||||
</win>
|
</win>
|
||||||
</launcher>
|
</launcher>
|
||||||
|
|
||||||
|
|
||||||
<vm>
|
<vm>
|
||||||
</vm>
|
</vm>
|
||||||
|
|
||||||
|
@ -39,6 +43,7 @@
|
||||||
</license>
|
</license>
|
||||||
|
|
||||||
<plugins>
|
<plugins>
|
||||||
|
<plugin id="com.google.guava"/>
|
||||||
<plugin id="com.ibm.icu"/>
|
<plugin id="com.ibm.icu"/>
|
||||||
<plugin id="com.minres.scviewer.database"/>
|
<plugin id="com.minres.scviewer.database"/>
|
||||||
<plugin id="com.minres.scviewer.database.sqlite"/>
|
<plugin id="com.minres.scviewer.database.sqlite"/>
|
||||||
|
@ -50,12 +55,16 @@
|
||||||
<plugin id="com.opcoach.e4.preferences"/>
|
<plugin id="com.opcoach.e4.preferences"/>
|
||||||
<plugin id="javax.annotation"/>
|
<plugin id="javax.annotation"/>
|
||||||
<plugin id="javax.inject"/>
|
<plugin id="javax.inject"/>
|
||||||
<plugin id="javax.xml"/>
|
<plugin id="org.apache.batik.constants"/>
|
||||||
<plugin id="org.apache.batik.css"/>
|
<plugin id="org.apache.batik.css"/>
|
||||||
|
<plugin id="org.apache.batik.i18n"/>
|
||||||
<plugin id="org.apache.batik.util"/>
|
<plugin id="org.apache.batik.util"/>
|
||||||
<plugin id="org.apache.batik.util.gui"/>
|
<plugin id="org.apache.commons.io"/>
|
||||||
<plugin id="org.apache.commons.jxpath"/>
|
<plugin id="org.apache.commons.jxpath"/>
|
||||||
<plugin id="org.apache.commons.logging"/>
|
<plugin id="org.apache.commons.logging"/>
|
||||||
|
<plugin id="org.apache.felix.scr"/>
|
||||||
|
<plugin id="org.apache.xmlgraphics"/>
|
||||||
|
<plugin id="org.codehaus.groovy"/>
|
||||||
<plugin id="org.eclipse.core.commands"/>
|
<plugin id="org.eclipse.core.commands"/>
|
||||||
<plugin id="org.eclipse.core.contenttype"/>
|
<plugin id="org.eclipse.core.contenttype"/>
|
||||||
<plugin id="org.eclipse.core.databinding"/>
|
<plugin id="org.eclipse.core.databinding"/>
|
||||||
|
@ -65,14 +74,17 @@
|
||||||
<plugin id="org.eclipse.core.expressions"/>
|
<plugin id="org.eclipse.core.expressions"/>
|
||||||
<plugin id="org.eclipse.core.filesystem"/>
|
<plugin id="org.eclipse.core.filesystem"/>
|
||||||
<plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
|
<plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
|
||||||
|
<plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
|
||||||
<plugin id="org.eclipse.core.jobs"/>
|
<plugin id="org.eclipse.core.jobs"/>
|
||||||
<plugin id="org.eclipse.core.resources"/>
|
<plugin id="org.eclipse.core.resources"/>
|
||||||
|
<plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/>
|
||||||
<plugin id="org.eclipse.core.runtime"/>
|
<plugin id="org.eclipse.core.runtime"/>
|
||||||
<plugin id="org.eclipse.e4.core.commands"/>
|
<plugin id="org.eclipse.e4.core.commands"/>
|
||||||
<plugin id="org.eclipse.e4.core.contexts"/>
|
<plugin id="org.eclipse.e4.core.contexts"/>
|
||||||
<plugin id="org.eclipse.e4.core.di"/>
|
<plugin id="org.eclipse.e4.core.di"/>
|
||||||
<plugin id="org.eclipse.e4.core.di.annotations"/>
|
<plugin id="org.eclipse.e4.core.di.annotations"/>
|
||||||
<plugin id="org.eclipse.e4.core.di.extensions"/>
|
<plugin id="org.eclipse.e4.core.di.extensions"/>
|
||||||
|
<plugin id="org.eclipse.e4.core.di.extensions.supplier"/>
|
||||||
<plugin id="org.eclipse.e4.core.services"/>
|
<plugin id="org.eclipse.e4.core.services"/>
|
||||||
<plugin id="org.eclipse.e4.emf.xpath"/>
|
<plugin id="org.eclipse.e4.emf.xpath"/>
|
||||||
<plugin id="org.eclipse.e4.ui.bindings"/>
|
<plugin id="org.eclipse.e4.ui.bindings"/>
|
||||||
|
@ -84,6 +96,7 @@
|
||||||
<plugin id="org.eclipse.e4.ui.services"/>
|
<plugin id="org.eclipse.e4.ui.services"/>
|
||||||
<plugin id="org.eclipse.e4.ui.widgets"/>
|
<plugin id="org.eclipse.e4.ui.widgets"/>
|
||||||
<plugin id="org.eclipse.e4.ui.workbench"/>
|
<plugin id="org.eclipse.e4.ui.workbench"/>
|
||||||
|
<plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
|
||||||
<plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
|
<plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
|
||||||
<plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/>
|
<plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/>
|
||||||
<plugin id="org.eclipse.e4.ui.workbench.swt"/>
|
<plugin id="org.eclipse.e4.ui.workbench.swt"/>
|
||||||
|
@ -105,8 +118,11 @@
|
||||||
<plugin id="org.eclipse.osgi"/>
|
<plugin id="org.eclipse.osgi"/>
|
||||||
<plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
|
<plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
|
||||||
<plugin id="org.eclipse.osgi.services"/>
|
<plugin id="org.eclipse.osgi.services"/>
|
||||||
|
<plugin id="org.eclipse.osgi.util"/>
|
||||||
|
<plugin id="org.eclipse.pde.ds.lib"/>
|
||||||
<plugin id="org.eclipse.swt"/>
|
<plugin id="org.eclipse.swt"/>
|
||||||
<plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
|
<plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
|
||||||
|
<plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
|
||||||
<plugin id="org.w3c.css.sac"/>
|
<plugin id="org.w3c.css.sac"/>
|
||||||
<plugin id="org.w3c.dom.events"/>
|
<plugin id="org.w3c.dom.events"/>
|
||||||
<plugin id="org.w3c.dom.smil"/>
|
<plugin id="org.w3c.dom.smil"/>
|
||||||
|
|
|
@ -34,12 +34,12 @@
|
||||||
<repository>
|
<repository>
|
||||||
<id>mars</id>
|
<id>mars</id>
|
||||||
<layout>p2</layout>
|
<layout>p2</layout>
|
||||||
<url>http://download.eclipse.org/releases/neon</url>
|
<url>http://download.eclipse.org/releases/photon</url>
|
||||||
</repository>
|
</repository>
|
||||||
<repository>
|
<repository>
|
||||||
<id>GRECLIPSE</id>
|
<id>GRECLIPSE</id>
|
||||||
<layout>p2</layout>
|
<layout>p2</layout>
|
||||||
<url>http://dist.springsource.org/snapshot/GRECLIPSE/e4.6</url>
|
<url>http://dist.springsource.org/snapshot/GRECLIPSE/e4.8</url>
|
||||||
</repository>
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?pde version="3.8"?><target name="Neon Platform" sequenceNumber="138">
|
||||||
<?pde version="3.8"?><target name="Neon Platform" sequenceNumber="138">
|
|
||||||
<locations>
|
<locations>
|
||||||
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
||||||
<unit id="org.eclipse.equinox.executable.feature.group" version="3.6.300.v20161122-1740"/>
|
<unit id="org.eclipse.equinox.executable.feature.group" version="3.6.300.v20161122-1740"/>
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?><?pde version="3.8"?><target name="Photon Platform" sequenceNumber="138">
|
||||||
|
<locations>
|
||||||
|
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
||||||
|
<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
|
||||||
|
<unit id="org.eclipse.platform.sdk" version="0.0.0"/>
|
||||||
|
<unit id="org.eclipse.sdk.feature.group" version="0.0.0"/>
|
||||||
|
<unit id="org.eclipse.rcp.sdk.id" version="0.0.0"/>
|
||||||
|
<unit id="org.eclipse.rcptt.core.feature.group" version="0.0.0"/>
|
||||||
|
<unit id="org.eclipse.e4.rcp.feature.group" version="0.0.0"/>
|
||||||
|
<unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
|
||||||
|
<repository location="http://download.eclipse.org/releases/photon"/>
|
||||||
|
</location>
|
||||||
|
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
||||||
|
<unit id="org.codehaus.groovy24.feature.feature.group" version="0.0.0"/>
|
||||||
|
<repository location="http://dist.springsource.org/snapshot/GRECLIPSE/e4.8/"/>
|
||||||
|
</location>
|
||||||
|
</locations>
|
||||||
|
<environment>
|
||||||
|
<arch>x86_64</arch>
|
||||||
|
<nl>de_DE</nl>
|
||||||
|
</environment>
|
||||||
|
<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 7 [1.7.0_45]"/>
|
||||||
|
<launcherArgs>
|
||||||
|
<vmArgs>-Dosgi.requiredJavaVersion=1.6 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -Xdock:icon=../Resources/Eclipse.icns -Xms40m -Xmx2G</vmArgs>
|
||||||
|
</launcherArgs>
|
||||||
|
</target>
|
|
@ -4,7 +4,7 @@
|
||||||
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<artifactId>neon</artifactId>
|
<artifactId>photon</artifactId>
|
||||||
|
|
||||||
<packaging>eclipse-target-definition</packaging>
|
<packaging>eclipse-target-definition</packaging>
|
||||||
<name>SCViewer Target Definition</name>
|
<name>SCViewer Target Definition</name>
|
||||||
|
|
|
@ -2,7 +2,7 @@ Manifest-Version: 1.0
|
||||||
Bundle-ManifestVersion: 2
|
Bundle-ManifestVersion: 2
|
||||||
Bundle-Name: SCViewer
|
Bundle-Name: SCViewer
|
||||||
Bundle-SymbolicName: com.minres.scviewer.ui;singleton:=true
|
Bundle-SymbolicName: com.minres.scviewer.ui;singleton:=true
|
||||||
Bundle-Version: 1.0.0.qualifier
|
Bundle-Version: 1.0.1.qualifier
|
||||||
Bundle-Activator: com.minres.scviewer.ui.TxEditorPlugin
|
Bundle-Activator: com.minres.scviewer.ui.TxEditorPlugin
|
||||||
Bundle-Vendor: MINRES Technologies GmbH
|
Bundle-Vendor: MINRES Technologies GmbH
|
||||||
Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
|
Require-Bundle: com.minres.scviewer.database;bundle-version="1.0.0",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="com.minres.scviewer.ui">
|
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="com.minres.scviewer.ui">
|
||||||
<implementation class="com.minres.scviewer.ui.TxEditorPart"/>
|
<implementation class="com.minres.scviewer.ui.TxEditorPart"/>
|
||||||
<reference bind="bind" cardinality="1..1" interface="com.minres.scviewer.database.IWaveformDbFactory" name="IWaveformDbFactory" policy="static" unbind="unbin"/>
|
<reference bind="bind" cardinality="1..1" interface="com.minres.scviewer.database.IWaveformDbFactory" name="IWaveformDbFactory" policy="static" unbind="unbind"/>
|
||||||
</scr:component>
|
</scr:component>
|
||||||
|
|
|
@ -8,4 +8,5 @@
|
||||||
<relativePath>../com.minres.scviewer.parent</relativePath>
|
<relativePath>../com.minres.scviewer.parent</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<packaging>eclipse-plugin</packaging>
|
<packaging>eclipse-plugin</packaging>
|
||||||
</project>
|
<version>1.0.1-SNAPSHOT</version>
|
||||||
|
</project>
|
|
@ -44,6 +44,7 @@ import org.eclipse.ui.views.properties.tabbed.AbstractPropertySection;
|
||||||
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
|
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
|
||||||
|
|
||||||
import com.minres.scviewer.database.AssociationType;
|
import com.minres.scviewer.database.AssociationType;
|
||||||
|
import com.minres.scviewer.database.DataType;
|
||||||
import com.minres.scviewer.database.ITxAttribute;
|
import com.minres.scviewer.database.ITxAttribute;
|
||||||
import com.minres.scviewer.database.ITx;
|
import com.minres.scviewer.database.ITx;
|
||||||
|
|
||||||
|
@ -199,12 +200,13 @@ public class AttributeProperty extends AbstractPropertySection implements ISelec
|
||||||
else if (columnIndex == 2 )
|
else if (columnIndex == 2 )
|
||||||
return attr.getDataType().name();
|
return attr.getDataType().name();
|
||||||
else if (columnIndex == 3){
|
else if (columnIndex == 3){
|
||||||
if("UNSIGNED".equals(attr.getType()) && (attr.getName().contains("addr")||attr.getName().contains("data")))
|
String value = attr.getValue().toString();
|
||||||
|
if((DataType.UNSIGNED == attr.getDataType() || DataType.INTEGER==attr.getDataType()) && !"0".equals(value)) {
|
||||||
try {
|
try {
|
||||||
return "0x"+Long.toHexString(Long.parseLong(attr.getValue().toString()));
|
value = attr.getValue().toString() + "(0x"+Long.toHexString(Long.parseLong(attr.getValue().toString()))+")";
|
||||||
} catch(NumberFormatException e) {
|
} catch(NumberFormatException e) { }
|
||||||
}
|
}
|
||||||
return attr.getValue().toString();
|
return value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
Loading…
Reference in New Issue