Compare commits
97 Commits
Author | SHA1 | Date | |
---|---|---|---|
929af41dd3 | |||
979a7672e6 | |||
67818ff4dd | |||
0c7631e912 | |||
a06b888365 | |||
ded10e1c22 | |||
2f3bc0d892 | |||
184f1b2d2c | |||
90249dadb9 | |||
c88eb32db8 | |||
d47db29b93 | |||
e8148af10f | |||
b298a4ca6c | |||
f474e38687 | |||
2e806f7b86 | |||
b7a8d99e2d | |||
2a09fc7e6f | |||
e36abb8d55 | |||
5746b9f758 | |||
6be1f018b1 | |||
38a046aaef | |||
fdbd6f8402 | |||
1dad204494 | |||
54661c51ce | |||
b34fe0d0ba | |||
868eceddc5 | |||
b642c396c7 | |||
f3d8e34ed0 | |||
401c760e01 | |||
5add0e385d | |||
2ba6822f2b | |||
54124d13bf | |||
5b949a9d37 | |||
9a9b25622c | |||
dd6a8669b1 | |||
b483897769 | |||
bd24c4dd05 | |||
664e99d09e | |||
675b2ed972 | |||
e6f19311b1 | |||
4a8034191c | |||
9d4e5bf636 | |||
cc9be70708 | |||
2dcc72f679 | |||
563b6e2b01 | |||
6161c0e0ec | |||
61c2102ab7 | |||
796a04b981 | |||
2a71ab94f5 | |||
923b89c038 | |||
3de6c9900c | |||
ef1f2a758a | |||
3e6d5bd33e | |||
26968b8521 | |||
611cfc7b46 | |||
8cb77a555b | |||
b4a7f032f5 | |||
62e0ec2008 | |||
f6cc12e8c3 | |||
b38b268fcb | |||
55a14edc9d | |||
45c23564b5 | |||
b170fb3c2a | |||
ab975eadd1 | |||
7ad70411f3 | |||
24720340be | |||
ad51066f1c | |||
95e2db60b6 | |||
db1d377da6 | |||
230e8dcc7a | |||
ab2146102f | |||
b1148922d8 | |||
e4de765da9 | |||
47120c66b7 | |||
35ccc71f10 | |||
688a6abd99 | |||
97693cd0c4 | |||
3e5ab7b0ac | |||
ad80671dd2 | |||
4ab3000b69 | |||
572e999a5b | |||
e5bcb25d24 | |||
19ea1f0b6d | |||
e88014ebba | |||
10a0608fd3 | |||
60abfb7afd | |||
6b9e3c0e70 | |||
19065cdbb7 | |||
a7afeb1f7c | |||
150c404cdb | |||
5fe8b261ec | |||
f8a177c9e0 | |||
077a6f8011 | |||
8b84f1341b | |||
20824e75c1 | |||
fb283ab668 | |||
dc3df60716 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -8,3 +8,4 @@ SCViewer.xcf
|
||||
SCViewer_1.png
|
||||
*.launch
|
||||
copyrightLog.txt
|
||||
/workspace
|
||||
|
73
.project
Normal file
73
.project
Normal file
@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.minres.scviewer.parent</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
<filteredResources>
|
||||
<filter>
|
||||
<id>0</id>
|
||||
<name></name>
|
||||
<type>10</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-features</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>0</id>
|
||||
<name></name>
|
||||
<type>10</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-plugins</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>0</id>
|
||||
<name></name>
|
||||
<type>10</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-com.minres.*</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>0</id>
|
||||
<name></name>
|
||||
<type>10</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-product</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>0</id>
|
||||
<name></name>
|
||||
<type>10</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-tests</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
<filter>
|
||||
<id>0</id>
|
||||
<name></name>
|
||||
<type>10</type>
|
||||
<matcher>
|
||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||
<arguments>1.0-name-matches-false-false-p2repositories</arguments>
|
||||
</matcher>
|
||||
</filter>
|
||||
</filteredResources>
|
||||
</projectDescription>
|
@ -1,46 +0,0 @@
|
||||
<?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"/>
|
||||
<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>
|
@ -1,2 +0,0 @@
|
||||
/.scviewer.*
|
||||
/.my_db.txlog*
|
@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
groovy.compiler.level=25
|
@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.minres.scviewer.database.ui</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
@ -1,7 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
@ -1,11 +0,0 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Database UI
|
||||
Bundle-SymbolicName: com.minres.scviewer.database.ui
|
||||
Bundle-Version: 2.0.0.qualifier
|
||||
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
|
||||
Automatic-Module-Name: com.minres.scviewer.database.ui
|
@ -1,4 +0,0 @@
|
||||
source.. = src/
|
||||
output.. = bin/
|
||||
bin.includes = META-INF/,\
|
||||
.
|
@ -1,12 +0,0 @@
|
||||
<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.database.ui</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../com.minres.scviewer.parent</relativePath>
|
||||
</parent>
|
||||
</project>
|
@ -1,3 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
pluginProject.extensions=false
|
||||
resolve.requirebundle=false
|
@ -1,48 +0,0 @@
|
||||
|
||||
package com.minres.scviewer.e4.application.handlers;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.eclipse.core.runtime.preferences.ConfigurationScope;
|
||||
import org.eclipse.e4.core.contexts.Active;
|
||||
import org.eclipse.e4.core.di.annotations.Execute;
|
||||
import org.eclipse.e4.ui.model.application.MApplication;
|
||||
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
|
||||
import org.eclipse.e4.ui.model.application.ui.basic.MWindow;
|
||||
import org.eclipse.e4.ui.model.application.ui.menu.MHandledItem;
|
||||
import org.eclipse.e4.ui.workbench.modeling.EModelService;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
|
||||
import com.minres.scviewer.e4.application.preferences.PreferenceConstants;
|
||||
import com.opcoach.e4.preferences.ScopedPreferenceStore;
|
||||
|
||||
public class EnableHover {
|
||||
static final String TAG_NAME = "EnableHover"; //$NON-NLS-1$
|
||||
|
||||
@Inject
|
||||
MApplication application;
|
||||
|
||||
@PostConstruct
|
||||
public void initialize(EModelService modelService) {
|
||||
List<String> tags = new LinkedList<>();
|
||||
tags.add(TAG_NAME);
|
||||
List<MHandledItem> elements = modelService.findElements(application, null, MHandledItem.class, tags );
|
||||
// cover initialization stuff, sync it with code
|
||||
IPreferenceStore store = new ScopedPreferenceStore(ConfigurationScope.INSTANCE, PreferenceConstants.PREFERENCES_SCOPE);
|
||||
boolean state = store.getBoolean(PreferenceConstants.SHOW_HOVER);
|
||||
for( MHandledItem hi : elements ){
|
||||
hi.setSelected(state);
|
||||
}
|
||||
}
|
||||
|
||||
@Execute
|
||||
public void execute(@Active MPart part, @Active MWindow window, MHandledItem handledItem, EModelService modelService ) {
|
||||
IPreferenceStore store = new ScopedPreferenceStore(ConfigurationScope.INSTANCE, PreferenceConstants.PREFERENCES_SCOPE);
|
||||
store.setValue(PreferenceConstants.SHOW_HOVER, handledItem.isSelected());
|
||||
}
|
||||
|
||||
}
|
@ -1,701 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2015 MINRES Technologies GmbH and others.
|
||||
* All rights reserved. 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
|
||||
*
|
||||
* Contributors:
|
||||
* MINRES Technologies GmbH - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.minres.scviewer.e4.application.parts;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Vector;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Named;
|
||||
|
||||
import org.eclipse.e4.core.di.annotations.Optional;
|
||||
import org.eclipse.e4.core.services.events.IEventBroker;
|
||||
import org.eclipse.e4.ui.di.Focus;
|
||||
import org.eclipse.e4.ui.di.UIEventTopic;
|
||||
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
|
||||
import org.eclipse.e4.ui.services.IServiceConstants;
|
||||
import org.eclipse.e4.ui.workbench.modeling.EPartService;
|
||||
import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
|
||||
import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider;
|
||||
import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
|
||||
import org.eclipse.jface.viewers.DoubleClickEvent;
|
||||
import org.eclipse.jface.viewers.IDoubleClickListener;
|
||||
import org.eclipse.jface.viewers.ISelection;
|
||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||
import org.eclipse.jface.viewers.ITreeContentProvider;
|
||||
import org.eclipse.jface.viewers.ITreeViewerListener;
|
||||
import org.eclipse.jface.viewers.LabelProvider;
|
||||
import org.eclipse.jface.viewers.StructuredSelection;
|
||||
import org.eclipse.jface.viewers.StyledString;
|
||||
import org.eclipse.jface.viewers.TreeExpansionEvent;
|
||||
import org.eclipse.jface.viewers.TreeViewer;
|
||||
import org.eclipse.jface.viewers.TreeViewerColumn;
|
||||
import org.eclipse.jface.viewers.Viewer;
|
||||
import org.eclipse.jface.viewers.ViewerComparator;
|
||||
import org.eclipse.jface.viewers.ViewerFilter;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.ControlAdapter;
|
||||
import org.eclipse.swt.events.ControlEvent;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.graphics.Point;
|
||||
import org.eclipse.swt.graphics.Rectangle;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.eclipse.swt.widgets.Tree;
|
||||
import org.eclipse.swt.widgets.TreeItem;
|
||||
|
||||
import com.minres.scviewer.database.DataType;
|
||||
import com.minres.scviewer.database.ITx;
|
||||
import com.minres.scviewer.database.ITxAttribute;
|
||||
import com.minres.scviewer.database.ITxRelation;
|
||||
import com.minres.scviewer.e4.application.Messages;
|
||||
import com.minres.scviewer.e4.application.provider.TxPropertiesLabelProvider;
|
||||
|
||||
/**
|
||||
* The Class TransactionDetails shows the details of a selected transaction.
|
||||
*/
|
||||
public class TransactionDetails {
|
||||
|
||||
/** The Constant COLUMN_FIRST. */
|
||||
// Column constants
|
||||
public static final int COLUMN_FIRST = 0;
|
||||
|
||||
/** The Constant COLUMN_SECOND. */
|
||||
public static final int COLUMN_SECOND = 1;
|
||||
|
||||
/** The Constant COLUMN_THIRD. */
|
||||
public static final int COLUMN_THIRD = 2;
|
||||
|
||||
/** The event broker. */
|
||||
@Inject IEventBroker eventBroker;
|
||||
|
||||
/** The selection service. */
|
||||
@Inject ESelectionService selectionService;
|
||||
|
||||
/** The name filter. */
|
||||
private Text nameFilter;
|
||||
|
||||
/** The tree viewer. */
|
||||
private TreeViewer treeViewer;
|
||||
|
||||
/** The col3. */
|
||||
private TreeViewerColumn col1, col2, col3;
|
||||
|
||||
/** The attribute filter. */
|
||||
TxAttributeFilter attributeFilter;
|
||||
|
||||
/** The view sorter. */
|
||||
TxAttributeViewerSorter viewSorter;
|
||||
|
||||
/** The waveform viewer part. */
|
||||
private WaveformViewer waveformViewerPart;
|
||||
|
||||
|
||||
/**
|
||||
* Creates the composite.
|
||||
*
|
||||
* @param parent the parent
|
||||
*/
|
||||
@PostConstruct
|
||||
public void createComposite(final Composite parent) {
|
||||
parent.setLayout(new GridLayout(1, false));
|
||||
|
||||
nameFilter = new Text(parent, SWT.BORDER);
|
||||
nameFilter.setMessage(Messages.TransactionDetails_0);
|
||||
nameFilter.addModifyListener(new ModifyListener() {
|
||||
@Override
|
||||
public void modifyText(ModifyEvent e) {
|
||||
attributeFilter.setSearchText(((Text) e.widget).getText());
|
||||
treeViewer.refresh();
|
||||
treeViewer.expandAll(true);
|
||||
}
|
||||
});
|
||||
|
||||
nameFilter.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
||||
|
||||
attributeFilter = new TxAttributeFilter();
|
||||
viewSorter = new TxAttributeViewerSorter();
|
||||
|
||||
treeViewer = new TreeViewer(parent);
|
||||
treeViewer.setContentProvider(new TransactionTreeContentProvider());
|
||||
treeViewer.setLabelProvider(new TxPropertiesLabelProvider());
|
||||
treeViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
|
||||
treeViewer.addFilter(attributeFilter);
|
||||
treeViewer.setComparator(viewSorter);
|
||||
treeViewer.setAutoExpandLevel(2);
|
||||
treeViewer.addTreeListener(new ITreeViewerListener() {
|
||||
|
||||
@Override
|
||||
public void treeCollapsed(TreeExpansionEvent event) {
|
||||
treeViewer.getSelection();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void treeExpanded(TreeExpansionEvent event) {
|
||||
treeViewer.getSelection();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Set up the table
|
||||
Tree tree = treeViewer.getTree();
|
||||
tree.setLayoutData(new GridData(GridData.FILL_BOTH));
|
||||
// Add the name column
|
||||
col1 = new TreeViewerColumn(treeViewer, SWT.NONE);
|
||||
col1.getColumn().setText(Messages.TransactionDetails_1);
|
||||
col1.getColumn().setResizable(true);
|
||||
col1.setLabelProvider(new DelegatingStyledCellLabelProvider(new AttributeLabelProvider(AttributeLabelProvider.NAME)));
|
||||
col1.getColumn().addSelectionListener(new SelectionAdapter() {
|
||||
public void widgetSelected(SelectionEvent event) {
|
||||
((TxAttributeViewerSorter) treeViewer.getComparator()).doSort(COLUMN_FIRST);
|
||||
treeViewer.refresh();
|
||||
}
|
||||
});
|
||||
// Add the type column
|
||||
col2 = new TreeViewerColumn(treeViewer, SWT.NONE);
|
||||
col2.getColumn().setText(Messages.TransactionDetails_2);
|
||||
col2.getColumn().setResizable(true);
|
||||
col2.setLabelProvider(new DelegatingStyledCellLabelProvider(new AttributeLabelProvider(AttributeLabelProvider.TYPE)));
|
||||
col2.getColumn().addSelectionListener(new SelectionAdapter() {
|
||||
public void widgetSelected(SelectionEvent event) {
|
||||
((TxAttributeViewerSorter) treeViewer.getComparator()).doSort(COLUMN_SECOND);
|
||||
treeViewer.refresh();
|
||||
}
|
||||
});
|
||||
// Add the value column
|
||||
col3 = new TreeViewerColumn(treeViewer, SWT.NONE);
|
||||
col3.getColumn().setText(Messages.TransactionDetails_3);
|
||||
col3.getColumn().setResizable(true);
|
||||
col3.setLabelProvider(new DelegatingStyledCellLabelProvider(new AttributeLabelProvider(AttributeLabelProvider.VALUE)));
|
||||
col3.getColumn().addSelectionListener(new SelectionAdapter() {
|
||||
public void widgetSelected(SelectionEvent event) {
|
||||
((TxAttributeViewerSorter) treeViewer.getComparator()).doSort(COLUMN_SECOND);
|
||||
treeViewer.refresh();
|
||||
}
|
||||
});
|
||||
// Pack the columns
|
||||
// for (int i = 0, n = table.getColumnCount(); i < n; i++) {
|
||||
// table.getColumn(i).pack();
|
||||
// }
|
||||
|
||||
// Turn on the header and the lines
|
||||
tree.setHeaderVisible(true);
|
||||
tree.setLinesVisible(true);
|
||||
|
||||
treeViewer.addDoubleClickListener(new IDoubleClickListener(){
|
||||
|
||||
@Override
|
||||
public void doubleClick(DoubleClickEvent event) {
|
||||
ISelection selection = treeViewer.getSelection();
|
||||
if(selection instanceof IStructuredSelection){
|
||||
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
|
||||
Object selected = structuredSelection.getFirstElement();
|
||||
if(selected instanceof Object[]){
|
||||
Object[] selectedArray = (Object[]) selected;
|
||||
if(selectedArray.length==3 && selectedArray[2] instanceof ITx){
|
||||
waveformViewerPart.setSelection(new StructuredSelection(selectedArray[2]));
|
||||
setInput(selectedArray[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
parent.addControlListener(new ControlAdapter() {
|
||||
public void controlResized(ControlEvent e) {
|
||||
Tree table = treeViewer.getTree();
|
||||
Rectangle area = parent.getClientArea();
|
||||
Point preferredSize = table.computeSize(SWT.DEFAULT, SWT.DEFAULT);
|
||||
int width = area.width - 2*table.getBorderWidth();
|
||||
if (preferredSize.y > area.height + table.getHeaderHeight()) {
|
||||
// Subtract the scrollbar width from the total column width
|
||||
// if a vertical scrollbar will be required
|
||||
Point vBarSize = table.getVerticalBar().getSize();
|
||||
width -= vBarSize.x;
|
||||
}
|
||||
Point oldSize = table.getSize();
|
||||
if (oldSize.x > area.width) {
|
||||
// table is getting smaller so make the columns
|
||||
// smaller first and then resize the table to
|
||||
// match the client area width
|
||||
col1.getColumn().setWidth(width/3);
|
||||
col2.getColumn().setWidth(width/4);
|
||||
col3.getColumn().setWidth(width - col1.getColumn().getWidth());
|
||||
table.setSize(area.width, area.height);
|
||||
} else {
|
||||
// table is getting bigger so make the table
|
||||
// bigger first and then make the columns wider
|
||||
// to match the client area width
|
||||
table.setSize(area.width, area.height);
|
||||
col1.getColumn().setWidth(width/3);
|
||||
col2.getColumn().setWidth(width/4);
|
||||
col3.getColumn().setWidth(width - col1.getColumn().getWidth()- col2.getColumn().getWidth());
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the focus.
|
||||
*/
|
||||
@Focus
|
||||
public void setFocus() {
|
||||
treeViewer.getTree().setFocus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the status event.
|
||||
*
|
||||
* @param part the part
|
||||
* @return the status event
|
||||
*/
|
||||
@Inject @Optional
|
||||
public void getStatusEvent(@UIEventTopic(WaveformViewer.ACTIVE_WAVEFORMVIEW) WaveformViewer part) {
|
||||
this.waveformViewerPart=part;
|
||||
}
|
||||
|
||||
public void setInput(Object object) {
|
||||
if(object instanceof ITx){
|
||||
ArrayList<String> names = new ArrayList<>();
|
||||
int indexInParent=getTopItemHier(names);
|
||||
ArrayList<Boolean> states = getExpandedState(treeViewer.getTree().getItems());
|
||||
treeViewer.setInput(object);
|
||||
setExpandedState(treeViewer.getTree().getItems(), states);
|
||||
setTopItemFromHier(names, indexInParent);
|
||||
} else {
|
||||
treeViewer.setInput(null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void setExpandedState(TreeItem[] treeItems, ArrayList<Boolean> states) {
|
||||
for (int i = 0; i < treeItems.length; i++) {
|
||||
treeItems[i].setExpanded(states.size()>i?states.get(i):true);
|
||||
}
|
||||
}
|
||||
|
||||
private ArrayList<Boolean> getExpandedState(TreeItem[] items){
|
||||
ArrayList<Boolean> ret = new ArrayList<>();
|
||||
for (TreeItem treeItem : items)
|
||||
ret.add(treeItem.getItemCount()>0?treeItem.getExpanded():true);
|
||||
return ret;
|
||||
}
|
||||
|
||||
private int getTopItemHier(ArrayList<String> names){
|
||||
int indexInParent=-1;
|
||||
TreeItem obj = treeViewer.getTree().getTopItem();
|
||||
if(obj!=null) {
|
||||
names.add(0, obj.getText(0));
|
||||
if(obj.getParentItem()!=null) {
|
||||
TreeItem pobj=obj.getParentItem();
|
||||
names.add(0, pobj.getText(0));
|
||||
TreeItem[] items = pobj.getItems();
|
||||
for (int i = 0; i < items.length; i++) {
|
||||
if(items[i]==obj) {
|
||||
indexInParent=i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return indexInParent;
|
||||
}
|
||||
|
||||
private void setTopItemFromHier(ArrayList<String> names, int indexInParent) {
|
||||
if(indexInParent<0 || names.size()==0 ) return;
|
||||
TreeItem selItem=null;
|
||||
for (TreeItem item : treeViewer.getTree().getItems()) { // find item from category
|
||||
if(item.getText(0).equals(names.get(0))) {
|
||||
if(names.size()>1) { // if we had an attribute as top item
|
||||
TreeItem[] subItems=item.getItems();
|
||||
for(TreeItem it : subItems) { // try to align by name
|
||||
if(it.getText(0).equals(names.get(1))) {
|
||||
selItem=it;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(selItem==null && indexInParent>=0 && subItems.length>0) // name based match failed so try to use position
|
||||
selItem=subItems[subItems.length>indexInParent?indexInParent:subItems.length-1];
|
||||
}
|
||||
if(selItem==null) // no match in attributes so set the category as top item
|
||||
selItem=item;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(selItem!=null)
|
||||
treeViewer.getTree().setTopItem(selItem);
|
||||
}
|
||||
/**
|
||||
* Sets the selection.
|
||||
*
|
||||
* @param selection the new selection
|
||||
*/
|
||||
@Inject
|
||||
public void setSelection(@Named(IServiceConstants.ACTIVE_SELECTION) @Optional IStructuredSelection selection, EPartService partService){
|
||||
// only react if selection is actually from the WaveformViewer and nothing else
|
||||
MPart part = partService.getActivePart();
|
||||
if( part == null || ! (part.getObject() instanceof WaveformViewer ) )
|
||||
return;
|
||||
if(treeViewer!=null && selection!=null && !treeViewer.getTree().isDisposed()){
|
||||
if( selection instanceof IStructuredSelection) {
|
||||
setInput(((IStructuredSelection)selection).getFirstElement());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Time to string.
|
||||
*
|
||||
* @param time the time
|
||||
* @return the string
|
||||
*/
|
||||
String timeToString(Long time){
|
||||
return waveformViewerPart.getScaledTime(time);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tx to string.
|
||||
*
|
||||
* @param tx the tx
|
||||
* @return the string
|
||||
*/
|
||||
String txToString(ITx tx){
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("tx#").append(tx.getId()).append("[").append(timeToString(tx.getBeginTime())); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
sb.append(" - ").append(timeToString(tx.getEndTime())).append("]"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* The Class TxAttributeViewerSorter.
|
||||
*/
|
||||
class TxAttributeViewerSorter extends ViewerComparator {
|
||||
|
||||
/** The Constant ASCENDING. */
|
||||
private static final int ASCENDING = 0;
|
||||
|
||||
/** The Constant DESCENDING. */
|
||||
private static final int DESCENDING = 1;
|
||||
|
||||
/** The column. */
|
||||
private int column;
|
||||
|
||||
/** The direction. */
|
||||
private int direction;
|
||||
|
||||
/**
|
||||
* Does the sort. If it's a different column from the previous sort, do an
|
||||
* ascending sort. If it's the same column as the last sort, toggle the sort
|
||||
* direction.
|
||||
*
|
||||
* @param column the column
|
||||
*/
|
||||
public void doSort(int column) {
|
||||
if (column == this.column) {
|
||||
// Same column as last sort; toggle the direction
|
||||
direction = 1 - direction;
|
||||
} else {
|
||||
// New column; do an ascending sort
|
||||
this.column = column;
|
||||
direction = ASCENDING;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares the object for sorting.
|
||||
*
|
||||
* @param viewer the viewer
|
||||
* @param e1 the e1
|
||||
* @param e2 the e2
|
||||
* @return the int
|
||||
*/
|
||||
public int compare(Viewer viewer, Object e1, Object e2) {
|
||||
int rc = 0;
|
||||
if(e1 instanceof ITxAttribute && e2 instanceof ITxAttribute){
|
||||
ITxAttribute p1 = (ITxAttribute) e1;
|
||||
ITxAttribute p2 = (ITxAttribute) e2;
|
||||
// Determine which column and do the appropriate sort
|
||||
switch (column) {
|
||||
case COLUMN_FIRST:
|
||||
rc = getComparator().compare(p1.getName(), p2.getName());
|
||||
break;
|
||||
case COLUMN_SECOND:
|
||||
rc = getComparator().compare(p1.getDataType().name(), p2.getDataType().name());
|
||||
break;
|
||||
case COLUMN_THIRD:
|
||||
rc = getComparator().compare(p1.getValue().toString(), p2.getValue().toString());
|
||||
break;
|
||||
}
|
||||
// If descending order, flip the direction
|
||||
if (direction == DESCENDING) rc = -rc;
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The Class TxAttributeFilter.
|
||||
*/
|
||||
class TxAttributeFilter extends ViewerFilter {
|
||||
|
||||
/** The search string. */
|
||||
private String searchString;
|
||||
|
||||
/**
|
||||
* Sets the search text.
|
||||
*
|
||||
* @param s the new search text
|
||||
*/
|
||||
public void setSearchText(String s) {
|
||||
this.searchString = ".*" + s + ".*"; //$NON-NLS-1$ //$NON-NLS-2$
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public boolean select(Viewer viewer, Object parentElement, Object element) {
|
||||
|
||||
if (searchString == null || searchString.length() == 0) {
|
||||
return true;
|
||||
}
|
||||
if(element instanceof TreeNode) {
|
||||
return true;
|
||||
}
|
||||
if(element instanceof ITxAttribute){
|
||||
return (((ITxAttribute) element).getName().toLowerCase().matches(searchString.toLowerCase()));
|
||||
}
|
||||
if(element instanceof Object[]) {
|
||||
return (((Object[])element)[0]).toString().toLowerCase().matches(searchString.toLowerCase());
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The Enum Type.
|
||||
*/
|
||||
enum Type {/** The props. */
|
||||
PROPS, /** The attrs. */
|
||||
ATTRS, /** The in rel. */
|
||||
IN_REL, /** The out rel. */
|
||||
OUT_REL}
|
||||
|
||||
/**
|
||||
* The Class TreeNode.
|
||||
*/
|
||||
class TreeNode{
|
||||
|
||||
/** The type. */
|
||||
public Type type;
|
||||
|
||||
/** The element. */
|
||||
public ITx element;
|
||||
|
||||
/**
|
||||
* Instantiates a new tree node.
|
||||
*
|
||||
* @param element the element
|
||||
* @param type the type
|
||||
*/
|
||||
public TreeNode(ITx element, Type type){
|
||||
this.element=element;
|
||||
this.type=type;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
public String toString(){
|
||||
switch(type){
|
||||
case PROPS: return Messages.TransactionDetails_10;
|
||||
case ATTRS: return Messages.TransactionDetails_11;
|
||||
case IN_REL: return Messages.TransactionDetails_12;
|
||||
case OUT_REL: return Messages.TransactionDetails_13;
|
||||
}
|
||||
return ""; //$NON-NLS-1$
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The Class TransactionTreeContentProvider.
|
||||
*/
|
||||
class TransactionTreeContentProvider implements ITreeContentProvider {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
|
||||
*/
|
||||
@Override
|
||||
public void dispose() { }
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public Object[] getElements(Object element) {
|
||||
return new Object[]{
|
||||
new TreeNode((ITx)element, Type.PROPS),
|
||||
new TreeNode((ITx)element, Type.ATTRS),
|
||||
new TreeNode((ITx)element, Type.IN_REL),
|
||||
new TreeNode((ITx)element, Type.OUT_REL)
|
||||
};
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public Object[] getChildren(Object element) {
|
||||
if(element instanceof TreeNode){
|
||||
TreeNode propertyHolder=(TreeNode) element;
|
||||
if(propertyHolder.type == Type.PROPS){
|
||||
return new Object[][]{
|
||||
{Messages.TransactionDetails_1, Messages.TransactionDetails_16, propertyHolder.element.getStream().getFullName()},
|
||||
{Messages.TransactionDetails_2, Messages.TransactionDetails_16, propertyHolder.element.getGenerator().getName()},
|
||||
{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)
|
||||
return propertyHolder.element.getAttributes().toArray();
|
||||
else if(propertyHolder.type == Type.IN_REL){
|
||||
Vector<Object[] > res = new Vector<>();
|
||||
for(ITxRelation rel:propertyHolder.element.getIncomingRelations()){
|
||||
res.add(new Object[]{
|
||||
rel.getRelationType(),
|
||||
rel.getSource().getGenerator().getName(),
|
||||
rel.getSource()});
|
||||
}
|
||||
return res.toArray();
|
||||
} else if(propertyHolder.type == Type.OUT_REL){
|
||||
Vector<Object[] > res = new Vector<>();
|
||||
for(ITxRelation rel:propertyHolder.element.getOutgoingRelations()){
|
||||
res.add(new Object[]{
|
||||
rel.getRelationType(),
|
||||
rel.getTarget().getGenerator().getName(),
|
||||
rel.getTarget()});
|
||||
}
|
||||
return res.toArray();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public Object getParent(Object element) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public boolean hasChildren(Object element) {
|
||||
return getChildren(element)!=null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* The Class AttributeLabelProvider.
|
||||
*/
|
||||
class AttributeLabelProvider extends LabelProvider implements IStyledLabelProvider {
|
||||
|
||||
/** The field. */
|
||||
final int field;
|
||||
|
||||
/** The Constant NAME. */
|
||||
public static final int NAME=0;
|
||||
|
||||
/** The Constant TYPE. */
|
||||
public static final int TYPE=1;
|
||||
|
||||
/** The Constant VALUE. */
|
||||
public static final int VALUE=2;
|
||||
|
||||
/**
|
||||
* Instantiates a new attribute label provider.
|
||||
*
|
||||
* @param field the field
|
||||
*/
|
||||
public AttributeLabelProvider(int field) {
|
||||
this.field=field;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider#getStyledText(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public StyledString getStyledText(Object element) {
|
||||
switch(field){
|
||||
case NAME:
|
||||
if (element instanceof ITxAttribute) {
|
||||
ITxAttribute attribute = (ITxAttribute) element;
|
||||
return new StyledString(attribute.getName());
|
||||
}else if (element instanceof ITxRelation) {
|
||||
return new StyledString(Messages.TransactionDetails_4);
|
||||
}else if(element instanceof Object[]){
|
||||
Object[] elements = (Object[]) element;
|
||||
return new StyledString(elements[field].toString());
|
||||
} else
|
||||
return new StyledString(element.toString());
|
||||
case TYPE:
|
||||
if (element instanceof ITxAttribute) {
|
||||
ITxAttribute attribute = (ITxAttribute) element;
|
||||
return new StyledString(attribute.getDataType().toString());
|
||||
}else if(element instanceof Object[]){
|
||||
Object[] elements = (Object[]) element;
|
||||
return new StyledString(elements[field].toString());
|
||||
}else
|
||||
return new StyledString(""); //$NON-NLS-1$
|
||||
default:
|
||||
if (element instanceof ITxAttribute) {
|
||||
ITxAttribute attribute = (ITxAttribute) element;
|
||||
String value = attribute.getValue().toString();
|
||||
if((DataType.UNSIGNED == attribute.getDataType() || DataType.INTEGER==attribute.getDataType()) && !"0".equals(value)) {
|
||||
try {
|
||||
value += " [0x"+Long.toHexString(Long.parseLong(attribute.getValue().toString()))+"]";
|
||||
} catch(NumberFormatException e) { }
|
||||
}
|
||||
return new StyledString(value);
|
||||
}else if(element instanceof Object[]){
|
||||
Object[] elements = (Object[]) element;
|
||||
Object o = elements[field];
|
||||
if(o instanceof ITx) {
|
||||
ITx tx = (ITx)o;
|
||||
return new StyledString(txToString(tx)+" ("+tx.getStream().getFullName()+")");
|
||||
} else
|
||||
return new StyledString(o.toString());
|
||||
} else if(element instanceof ITx){
|
||||
return new StyledString(txToString((ITx) element));
|
||||
}else
|
||||
return new StyledString(""); //$NON-NLS-1$
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,18 +0,0 @@
|
||||
package com.minres.scviewer.e4.application.preferences;
|
||||
import org.eclipse.core.runtime.preferences.ConfigurationScope;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
|
||||
import com.opcoach.e4.preferences.IPreferenceStoreProvider;
|
||||
import com.opcoach.e4.preferences.ScopedPreferenceStore;
|
||||
|
||||
public class PreferencesStoreProvider implements IPreferenceStoreProvider{
|
||||
|
||||
public PreferencesStoreProvider(){
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPreferenceStore getPreferenceStore() {
|
||||
return new ScopedPreferenceStore(ConfigurationScope.INSTANCE, PreferenceConstants.PREFERENCES_SCOPE);
|
||||
}
|
||||
|
||||
}
|
1
com.minres.scviewer.parent/.gitignore
vendored
1
com.minres.scviewer.parent/.gitignore
vendored
@ -1 +0,0 @@
|
||||
/workspace/
|
@ -2,32 +2,38 @@
|
||||
<?pde version="3.8"?>
|
||||
<target name="com.minres.scviewer.target" 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="3.5.1.v201909291550-e48"/>
|
||||
<repository location="http://dist.springsource.org/snapshot/GRECLIPSE/e4.8/"/>
|
||||
<unit id="org.codehaus.groovy25.feature.feature.group" version="3.5.1.v201909291550-e48"/>
|
||||
</location>
|
||||
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
||||
<repository location="https://www.opcoach.com/repository/2018-12"/>
|
||||
<unit id="com.opcoach.e4.preferences.feature.feature.group" version="1.3.0.201903181741"/>
|
||||
<repository location="http://download.eclipse.org/releases/2020-03/"/>
|
||||
<unit id="org.eclipse.equinox.executable.feature.group" version="0.0.0"/>
|
||||
<unit id="org.eclipse.equinox.p2.sdk.feature.jar" version="0.0.0"/> <!-- needed by Linux exectable-->
|
||||
<unit id="org.eclipse.equinox.sdk.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"/> <!-- org.eclipse.equinox.p2.iu -->
|
||||
<unit id="org.eclipse.rcptt.core.feature.group" version="0.0.0"/><!-- com.google.guave-->
|
||||
<unit id="org.eclipse.pde.feature.group" version="0.0.0"/> <!-- org.junit for testing -->
|
||||
</location>
|
||||
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
||||
<repository location="https://www.opcoach.com/repository/2020-03/"/>
|
||||
<unit id="com.opcoach.e4.preferences.feature.feature.group" version="0.0.0"/>
|
||||
</location>
|
||||
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
||||
<repository location="http://dist.springsource.org/snapshot/GRECLIPSE/e4.15/"/>
|
||||
<unit id="org.codehaus.groovy25.feature.feature.group" version="0.0.0"/>
|
||||
</location>
|
||||
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
||||
<repository location="http://download.eclipse.org/nattable/releases/1.6.0/repository/"/>
|
||||
<unit id="org.eclipse.nebula.widgets.nattable.core.feature.feature.group" version="1.6.0.201909181823"/>
|
||||
<unit id="org.eclipse.nebula.widgets.nattable.extension.e4.feature.feature.group" version="1.2.0.201909181823"/>
|
||||
<unit id="org.eclipse.nebula.widgets.nattable.extension.glazedlists.feature.feature.group" version="1.6.0.201909181823"/>
|
||||
<unit id="org.eclipse.nebula.widgets.nattable.extension.poi.feature.feature.group" version="1.5.1.201909181823"/>
|
||||
</location>
|
||||
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
|
||||
<repository location="http://download.eclipse.org/nebula/releases/latest"/>
|
||||
<unit id="org.eclipse.nebula.widgets.xviewer.feature.feature.group" version="1.1.0.202011020719"/>
|
||||
</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]"/>
|
||||
<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<launcherArgs>
|
||||
<vmArgs>-Dosgi.requiredJavaVersion=1.6 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -Xdock:icon=../Resources/Eclipse.icns -Xms40m -Xmx2G</vmArgs>
|
||||
<vmArgs>-Xms40m -Xmx2G</vmArgs>
|
||||
</launcherArgs>
|
||||
</target>
|
@ -13,7 +13,7 @@
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../com.minres.scviewer.parent</relativePath>
|
||||
<relativePath>..</relativePath>
|
||||
</parent>
|
||||
|
||||
</project>
|
||||
</project>
|
||||
|
@ -1,325 +0,0 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2014 OPCoach.
|
||||
* All rights reserved. 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
|
||||
*
|
||||
* Contributors:
|
||||
* OPCoach - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package com.opcoach.e4.preferences.internal;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import org.eclipse.core.runtime.IConfigurationElement;
|
||||
import org.eclipse.core.runtime.IExtensionRegistry;
|
||||
import org.eclipse.core.runtime.preferences.InstanceScope;
|
||||
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
|
||||
import org.eclipse.e4.core.contexts.IEclipseContext;
|
||||
import org.eclipse.e4.core.di.annotations.Creatable;
|
||||
import org.eclipse.e4.core.services.contributions.IContributionFactory;
|
||||
import org.eclipse.e4.core.services.log.Logger;
|
||||
import org.eclipse.jface.preference.IPreferenceNode;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.jface.preference.PreferenceManager;
|
||||
import org.eclipse.jface.preference.PreferenceNode;
|
||||
import org.eclipse.jface.preference.PreferencePage;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
|
||||
import com.opcoach.e4.preferences.IPreferenceStoreProvider;
|
||||
import com.opcoach.e4.preferences.ScopedPreferenceStore;
|
||||
|
||||
@SuppressWarnings("restriction")
|
||||
@Creatable
|
||||
public class E4PreferenceRegistry
|
||||
{
|
||||
|
||||
public static final String PREFS_PAGE_XP = "com.opcoach.e4.preferences.e4PreferencePages"; // $NON-NLS-1$
|
||||
public static final String PREF_STORE_PROVIDER = "com.opcoach.e4.preferences.e4PreferenceStoreProvider"; // $NON-NLS-1$
|
||||
public static final String KEY_PREF_STORE_PROVIDERS = "com.opcoach.e4.preferences.e4PreferenceStoreProviders"; // $NON-NLS-1$
|
||||
protected static final String ELMT_PAGE = "page"; // $NON-NLS-1$
|
||||
protected static final String ATTR_ID = "id"; // $NON-NLS-1$
|
||||
protected static final String ATTR_CATEGORY = "category"; // $NON-NLS-1$
|
||||
protected static final String ATTR_CLASS = "class"; // $NON-NLS-1$
|
||||
protected static final String ATTR_NAME = "name"; // $NON-NLS-1$
|
||||
|
||||
protected static final String ATTR_PLUGIN_ID = "pluginId"; // $NON-NLS-1$
|
||||
protected static final String ATTR_ID_IN_WBCONTEXT = "idInWorkbenchContext"; // $NON-NLS-1$
|
||||
|
||||
@Inject
|
||||
protected Logger logger;
|
||||
|
||||
@Inject
|
||||
protected IEclipseContext context;
|
||||
|
||||
@Inject
|
||||
protected IExtensionRegistry registry;
|
||||
|
||||
private PreferenceManager pm = null;
|
||||
|
||||
// A map of (pluginId, { IPreferenceStoreProvider, or key in wbcontext }
|
||||
private Map<String, Object> psProviders;
|
||||
|
||||
public PreferenceManager getPreferenceManager()
|
||||
{
|
||||
|
||||
// Remember of the unbounded nodes to order parent pages.
|
||||
// Map<category, list of children> (all nodes except root nodes)
|
||||
Map<String, Collection<IPreferenceNode>> childrenNodes = new HashMap<String, Collection<IPreferenceNode>>();
|
||||
|
||||
if (pm != null)
|
||||
return pm;
|
||||
|
||||
pm = new PreferenceManager();
|
||||
IContributionFactory factory = context.get(IContributionFactory.class);
|
||||
|
||||
for (IConfigurationElement elmt : registry.getConfigurationElementsFor(PREFS_PAGE_XP))
|
||||
{
|
||||
String bundleId = elmt.getNamespaceIdentifier();
|
||||
if (!elmt.getName().equals(ELMT_PAGE))
|
||||
{
|
||||
logger.warn("unexpected element: {0}", elmt.getName());
|
||||
continue;
|
||||
} else if (isEmpty(elmt.getAttribute(ATTR_ID)) || isEmpty(elmt.getAttribute(ATTR_NAME)))
|
||||
{
|
||||
logger.warn("missing id and/or name: {}", bundleId);
|
||||
continue;
|
||||
}
|
||||
PreferenceNode pn = null;
|
||||
if (elmt.getAttribute(ATTR_CLASS) != null)
|
||||
{
|
||||
PreferencePage page = null;
|
||||
try
|
||||
{
|
||||
String prefPageURI = getClassURI(bundleId, elmt.getAttribute(ATTR_CLASS));
|
||||
Object object = factory.create(prefPageURI, context);
|
||||
if (!(object instanceof PreferencePage))
|
||||
{
|
||||
logger.error("Expected instance of PreferencePage: {0}", elmt.getAttribute(ATTR_CLASS));
|
||||
continue;
|
||||
}
|
||||
page = (PreferencePage) object;
|
||||
setPreferenceStore(bundleId, page);
|
||||
|
||||
} catch (ClassNotFoundException e)
|
||||
{
|
||||
logger.error(e);
|
||||
continue;
|
||||
}
|
||||
ContextInjectionFactory.inject(page, context);
|
||||
if ((page.getTitle() == null || page.getTitle().isEmpty()) && elmt.getAttribute(ATTR_NAME) != null)
|
||||
{
|
||||
page.setTitle(elmt.getAttribute(ATTR_NAME));
|
||||
}
|
||||
|
||||
pn = new PreferenceNode(elmt.getAttribute(ATTR_ID), page);
|
||||
} else
|
||||
{
|
||||
pn = new PreferenceNode(elmt.getAttribute(ATTR_ID), new EmptyPreferencePage(elmt.getAttribute(ATTR_NAME)));
|
||||
}
|
||||
|
||||
// Issue 2 : Fix bug on order (see :
|
||||
// https://github.com/opcoach/e4Preferences/issues/2)
|
||||
// Add only pages at root level and remember of child pages for
|
||||
// categories
|
||||
String category = elmt.getAttribute(ATTR_CATEGORY);
|
||||
if (isEmpty(category))
|
||||
{
|
||||
pm.addToRoot(pn);
|
||||
} else
|
||||
{
|
||||
/*
|
||||
* IPreferenceNode parent = findNode(pm, category); if (parent
|
||||
* == null) { // No parent found, but may be the extension has
|
||||
* not been read yet. So remember of it unboundedNodes.put(pn,
|
||||
* category); } else { parent.add(pn); }
|
||||
*/
|
||||
// Check if this category is already registered.
|
||||
Collection<IPreferenceNode> children = childrenNodes.get(category);
|
||||
if (children == null)
|
||||
{
|
||||
children = new ArrayList<IPreferenceNode>();
|
||||
childrenNodes.put(category, children);
|
||||
}
|
||||
children.add(pn);
|
||||
}
|
||||
}
|
||||
|
||||
// Must now bind pages that has not been added in nodes (depends on the
|
||||
// preference page read order)
|
||||
// Iterate on all possible categories
|
||||
Collection<String> categoriesDone = new ArrayList<String>();
|
||||
|
||||
while (!childrenNodes.isEmpty())
|
||||
{
|
||||
for (String cat : Collections.unmodifiableSet(childrenNodes.keySet()))
|
||||
{
|
||||
// Is this category already in preference manager ? If not add
|
||||
// it later...
|
||||
IPreferenceNode parent = findNode(pm, cat);
|
||||
if (parent != null)
|
||||
{
|
||||
// Can add the list of children to this parent page...
|
||||
for (IPreferenceNode pn : childrenNodes.get(cat))
|
||||
{
|
||||
parent.add(pn);
|
||||
}
|
||||
// Ok This parent page is done. Can remove it from map
|
||||
// outside of this loop
|
||||
categoriesDone.add(cat);
|
||||
}
|
||||
}
|
||||
|
||||
for (String keyToRemove : categoriesDone)
|
||||
childrenNodes.remove(keyToRemove);
|
||||
categoriesDone.clear();
|
||||
|
||||
}
|
||||
|
||||
return pm;
|
||||
}
|
||||
|
||||
private void setPreferenceStore(String bundleId, PreferencePage page)
|
||||
{
|
||||
// Affect preference store to this page if this is a
|
||||
// PreferencePage, else, must manage it internally
|
||||
// Set the issue#1 on github :
|
||||
// https://github.com/opcoach/e4Preferences/issues/1
|
||||
// And manage the extensions of IP
|
||||
initialisePreferenceStoreProviders();
|
||||
|
||||
IPreferenceStore store = null;
|
||||
|
||||
// Get the preference store according to policy.
|
||||
Object data = psProviders.get(bundleId);
|
||||
if (data != null)
|
||||
{
|
||||
if (data instanceof IPreferenceStore)
|
||||
store = (IPreferenceStore) data;
|
||||
else if (data instanceof IPreferenceStoreProvider)
|
||||
store = ((IPreferenceStoreProvider) data).getPreferenceStore();
|
||||
else if (data instanceof String)
|
||||
store = (IPreferenceStore) context.get((String) data);
|
||||
|
||||
} else
|
||||
{
|
||||
// Default behavior : create a preference store for this bundle and remember of it
|
||||
store = new ScopedPreferenceStore(InstanceScope.INSTANCE, bundleId);
|
||||
psProviders.put(bundleId, store);
|
||||
}
|
||||
|
||||
|
||||
if (store != null)
|
||||
page.setPreferenceStore(store);
|
||||
else
|
||||
{
|
||||
logger.warn("Unable to set the preferenceStore for page " + page.getTitle() + " defined in bundle " + bundleId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/** Read the e4PreferenceStoreProvider extension point */
|
||||
private void initialisePreferenceStoreProviders()
|
||||
{
|
||||
if (psProviders == null)
|
||||
{
|
||||
IContributionFactory factory = context.get(IContributionFactory.class);
|
||||
|
||||
psProviders = new HashMap<String, Object>();
|
||||
IExtensionRegistry registry = context.get(IExtensionRegistry.class);
|
||||
|
||||
// Read extensions and fill the map...
|
||||
for (IConfigurationElement elmt : registry.getConfigurationElementsFor(PREF_STORE_PROVIDER))
|
||||
{
|
||||
String declaringBundle = elmt.getNamespaceIdentifier();
|
||||
String pluginId = elmt.getAttribute(ATTR_PLUGIN_ID);
|
||||
if (isEmpty(pluginId))
|
||||
{
|
||||
logger.warn("missing plugin Id in extension " + PREF_STORE_PROVIDER + " check the plugin " + declaringBundle);
|
||||
continue;
|
||||
}
|
||||
|
||||
String classname = elmt.getAttribute(ATTR_CLASS);
|
||||
String objectId = elmt.getAttribute(ATTR_ID_IN_WBCONTEXT);
|
||||
|
||||
if ((isEmpty(classname) && isEmpty(objectId)) || (((classname != null) && classname.length() > 0) && ((objectId != null) && objectId.length() > 0)))
|
||||
{
|
||||
logger.warn("In extension " + PREF_STORE_PROVIDER + " only one of the two attributes (pluginId or idInWorkbenchContext) must be set. Check the plugin "
|
||||
+ declaringBundle);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Ok can now work with data...
|
||||
Object data = objectId;
|
||||
if (classname != null)
|
||||
{
|
||||
data = factory.create("bundleclass://"+declaringBundle+"/"+classname, context);
|
||||
if (!(data instanceof IPreferenceStoreProvider))
|
||||
{
|
||||
logger.warn("In extension " + PREF_STORE_PROVIDER + " the class must implements IPreferenceStoreProvider. Check the plugin " + declaringBundle);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
psProviders.put(pluginId, data);
|
||||
|
||||
}
|
||||
|
||||
context.set(KEY_PREF_STORE_PROVIDERS, psProviders);
|
||||
}
|
||||
}
|
||||
|
||||
private IPreferenceNode findNode(PreferenceManager pm, String categoryId)
|
||||
{
|
||||
for (Object o : pm.getElements(PreferenceManager.POST_ORDER))
|
||||
{
|
||||
if (o instanceof IPreferenceNode && ((IPreferenceNode) o).getId().equals(categoryId))
|
||||
{
|
||||
return (IPreferenceNode) o;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private String getClassURI(String definingBundleId, String spec) throws ClassNotFoundException
|
||||
{
|
||||
if (spec.startsWith("platform:"))
|
||||
{
|
||||
return spec;
|
||||
} // $NON-NLS-1$
|
||||
return "bundleclass://" + definingBundleId + '/' + spec;
|
||||
}
|
||||
|
||||
private boolean isEmpty(String value)
|
||||
{
|
||||
return value == null || value.trim().isEmpty();
|
||||
}
|
||||
|
||||
static class EmptyPreferencePage extends PreferencePage
|
||||
{
|
||||
|
||||
public EmptyPreferencePage(String title)
|
||||
{
|
||||
setTitle(title);
|
||||
noDefaultAndApplyButton();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Control createContents(Composite parent)
|
||||
{
|
||||
return new Label(parent, SWT.NONE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
23
features/com.minres.scviewer.database.feature/.project
Normal file
23
features/com.minres.scviewer.database.feature/.project
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.minres.scviewer.database.feature</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.FeatureBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.pde.FeatureNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
102
features/com.minres.scviewer.database.feature/feature.properties
Normal file
102
features/com.minres.scviewer.database.feature/feature.properties
Normal file
@ -0,0 +1,102 @@
|
||||
featureName=SystemC simulation results viewer
|
||||
providerName=MINRES Technologies GmbH
|
||||
updateSiteName=SC Viewer Database Updates
|
||||
description=A viewer for SystemC Verification Library transactions and VCD signals.
|
||||
licenseURL=license.html
|
||||
license=\
|
||||
ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
|
||||
March 17, 2005\n\
|
||||
\n\
|
||||
Usage Of Content\n\
|
||||
\n\
|
||||
THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
|
||||
OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
|
||||
USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
|
||||
AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
|
||||
NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
|
||||
AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
|
||||
AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
|
||||
OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
|
||||
TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
|
||||
OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
|
||||
BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
|
||||
\n\
|
||||
Applicable Licenses\n\
|
||||
\n\
|
||||
Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
|
||||
is provided to you under the terms and conditions of the Eclipse Public\n\
|
||||
License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
|
||||
Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
|
||||
For purposes of the EPL, "Program" will mean the Content.\n\
|
||||
\n\
|
||||
Content includes, but is not limited to, source code, object code,\n\
|
||||
documentation and other files maintained in the Eclipse.org CVS\n\
|
||||
repository ("Repository") in CVS modules ("Modules") and made available\n\
|
||||
as downloadable archives ("Downloads").\n\
|
||||
\n\
|
||||
- Content may be structured and packaged into modules to facilitate delivering,\n\
|
||||
extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
|
||||
plug-in fragments ("Fragments"), and features ("Features").\n\
|
||||
- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
|
||||
in a directory named "plugins".\n\
|
||||
- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
|
||||
Each Feature may be packaged as a sub-directory in a directory named "features".\n\
|
||||
Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
|
||||
numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
|
||||
- Features may also include other Features ("Included Features"). Within a Feature, files\n\
|
||||
named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
|
||||
\n\
|
||||
Features may also include other Features ("Included Features"). Files named\n\
|
||||
"feature.xml" may contain a list of the names and version numbers of\n\
|
||||
Included Features.\n\
|
||||
\n\
|
||||
The terms and conditions governing Plug-ins and Fragments should be\n\
|
||||
contained in files named "about.html" ("Abouts"). The terms and\n\
|
||||
conditions governing Features and Included Features should be contained\n\
|
||||
in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
|
||||
Licenses may be located in any directory of a Download or Module\n\
|
||||
including, but not limited to the following locations:\n\
|
||||
\n\
|
||||
- The top-level (root) directory\n\
|
||||
- Plug-in and Fragment directories\n\
|
||||
- Inside Plug-ins and Fragments packaged as JARs\n\
|
||||
- Sub-directories of the directory named "src" of certain Plug-ins\n\
|
||||
- Feature directories\n\
|
||||
\n\
|
||||
Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
|
||||
Eclipse Update Manager, you must agree to a license ("Feature Update\n\
|
||||
License") during the installation process. If the Feature contains\n\
|
||||
Included Features, the Feature Update License should either provide you\n\
|
||||
with the terms and conditions governing the Included Features or inform\n\
|
||||
you where you can locate them. Feature Update Licenses may be found in\n\
|
||||
the "license" property of files named "feature.properties". Such Abouts,\n\
|
||||
Feature Licenses and Feature Update Licenses contain the terms and\n\
|
||||
conditions (or references to such terms and conditions) that govern your\n\
|
||||
use of the associated Content in that directory.\n\
|
||||
\n\
|
||||
THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
|
||||
TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
|
||||
SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
|
||||
\n\
|
||||
- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
|
||||
- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
|
||||
- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
|
||||
- IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
|
||||
- Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
|
||||
- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
|
||||
\n\
|
||||
IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
|
||||
TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
|
||||
is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
|
||||
govern that particular Content.\n\
|
||||
\n\
|
||||
Cryptography\n\
|
||||
\n\
|
||||
Content may contain encryption software. The country in which you are\n\
|
||||
currently may have restrictions on the import, possession, and use,\n\
|
||||
and/or re-export to another country, of encryption software. BEFORE\n\
|
||||
using any encryption software, please check the country's laws,\n\
|
||||
regulations and policies concerning the import, possession, or use,\n\
|
||||
and re-export of encryption software, to see if this is permitted.\n\
|
||||
\n\
|
||||
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feature
|
||||
id="com.minres.scviewer.feature"
|
||||
id="com.minres.scviewer.database.feature"
|
||||
label="%featureName"
|
||||
version="1.0.0.qualifier"
|
||||
provider-name="%providerName">
|
||||
@ -29,29 +29,12 @@ http://www.eclipse.org/legal/epl-v10.html
|
||||
</url>
|
||||
|
||||
<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.codehaus.groovy" version="2.5.8" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.osgi.services" version="3.4.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.minres.scviewer.database" 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"/>
|
||||
<import plugin="org.eclipse.ui"/>
|
||||
<import plugin="org.eclipse.ui.editors"/>
|
||||
<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.eclipse.osgi"/>
|
||||
<import plugin="com.minres.scviewer.database" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.core.runtime"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
@ -68,13 +51,6 @@ http://www.eclipse.org/legal/epl-v10.html
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.minres.scviewer.ui"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.minres.scviewer.database.sqlite"
|
||||
download-size="0"
|
||||
@ -88,20 +64,6 @@ http://www.eclipse.org/legal/epl-v10.html
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.minres.scviewer.database.ui"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.minres.scviewer.database.ui.swt"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.minres.scviewer.database.vcd"
|
||||
download-size="0"
|
||||
@ -110,13 +72,7 @@ http://www.eclipse.org/legal/epl-v10.html
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.junit"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.hamcrest.core"
|
||||
id="com.google.guava"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
12
features/com.minres.scviewer.database.feature/pom.xml
Normal file
12
features/com.minres.scviewer.database.feature/pom.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<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.database.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</project>
|
@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.minres.scviewer.parent</name>
|
||||
<name>com.minres.scviewer.e4.feature</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<name>org.eclipse.pde.FeatureBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.pde.FeatureNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
1
features/com.minres.scviewer.e4.feature/build.properties
Normal file
1
features/com.minres.scviewer.e4.feature/build.properties
Normal file
@ -0,0 +1 @@
|
||||
bin.includes = feature.xml
|
78
features/com.minres.scviewer.e4.feature/feature.xml
Normal file
78
features/com.minres.scviewer.e4.feature/feature.xml
Normal file
@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feature
|
||||
id="com.minres.scviewer.e4.feature"
|
||||
label="SCViewer Feature"
|
||||
version="1.0.0.qualifier"
|
||||
provider-name="MINRES Technologies GmbH">
|
||||
|
||||
<description url="http://www.example.com/description">
|
||||
[Enter Feature Description here.]
|
||||
</description>
|
||||
|
||||
<copyright url="http://www.example.com/copyright">
|
||||
[Enter Copyright Description here.]
|
||||
</copyright>
|
||||
|
||||
<license url="http://www.example.com/license">
|
||||
[Enter License Description here.]
|
||||
</license>
|
||||
|
||||
<url>
|
||||
<update label="SC Viewer Updates" url="http://www.minres.com/scviewer/update"/>
|
||||
</url>
|
||||
|
||||
<includes
|
||||
id="com.minres.scviewer.database.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.minres.scviewer.ui.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<requires>
|
||||
<import plugin="javax.inject" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.core.runtime" version="3.11.1" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.swt" version="3.104.1" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.e4.ui.model.workbench" version="1.1.100" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.jface" version="3.11.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.e4.ui.services" version="1.2.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.e4.ui.workbench" version="1.3.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.e4.core.di" version="1.5.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.e4.ui.di" version="1.1.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.e4.core.contexts" version="1.4.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.minres.scviewer.database.ui.swt" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.minres.scviewer.database" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.osgi.services" version="3.5.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.e4.core.services" version="2.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.core.jobs"/>
|
||||
<import plugin="org.eclipse.osgi"/>
|
||||
<import plugin="com.google.guava"/>
|
||||
<import plugin="org.eclipse.equinox.preferences"/>
|
||||
<import plugin="org.eclipse.core.expressions"/>
|
||||
<import plugin="org.eclipse.e4.core.commands" version="0.11.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.e4.core.di.extensions"/>
|
||||
<import plugin="org.eclipse.e4.ui.css.swt.theme" version="0.10.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.core.resources" version="3.13.0" match="greaterOrEqual"/>
|
||||
<import feature="com.opcoach.e4.preferences.feature" version="1.3.0.202004072127"/>
|
||||
<import feature="org.eclipse.equinox.executable" version="3.8.700.v20200207-2156"/>
|
||||
<import feature="org.eclipse.equinox.sdk" version="3.20.100.v20200303-1901"/>
|
||||
<import feature="org.eclipse.sdk" version="4.15.0.v20200305-0155"/>
|
||||
<import feature="org.eclipse.rcptt.core" version="2.5.1.M3"/>
|
||||
<import plugin="org.eclipse.core.commands"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
id="com.minres.scviewer.e4.application"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.opcoach.e4.preferences"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
</feature>
|
12
features/com.minres.scviewer.e4.feature/pom.xml
Normal file
12
features/com.minres.scviewer.e4.feature/pom.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<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.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</project>
|
@ -1,2 +1 @@
|
||||
/bin/
|
||||
/target/
|
17
features/com.minres.scviewer.e4.platform.feature/.project
Normal file
17
features/com.minres.scviewer.e4.platform.feature/.project
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.minres.scviewer.e4.platform.feature</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.FeatureBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.FeatureNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
@ -0,0 +1 @@
|
||||
bin.includes = feature.xml
|
72
features/com.minres.scviewer.e4.platform.feature/feature.xml
Normal file
72
features/com.minres.scviewer.e4.platform.feature/feature.xml
Normal file
@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feature
|
||||
id="com.minres.scviewer.e4.platform.feature"
|
||||
label="SCViewer Platform Feature"
|
||||
version="1.0.0.qualifier"
|
||||
provider-name="MINRES Technologies GmbH">
|
||||
|
||||
<description url="http://www.example.com/description">
|
||||
[Enter Feature Description here.]
|
||||
</description>
|
||||
|
||||
<copyright url="http://www.example.com/copyright">
|
||||
[Enter Copyright Description here.]
|
||||
</copyright>
|
||||
|
||||
<license url="http://www.example.com/license">
|
||||
[Enter License Description here.]
|
||||
</license>
|
||||
|
||||
<includes
|
||||
id="org.eclipse.e4.rcp"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="org.eclipse.emf.ecore"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="org.eclipse.emf.common"
|
||||
version="0.0.0"/>
|
||||
|
||||
<requires>
|
||||
<import plugin="org.eclipse.core.expressions" version="3.2.0" match="compatible"/>
|
||||
<import plugin="org.eclipse.core.filesystem" version="1.3.0" match="compatible"/>
|
||||
<import plugin="org.eclipse.core.runtime" version="3.12.0" match="compatible"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.core.resources"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.core.filesystem"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.core.filesystem.linux.x86_64"
|
||||
os="linux"
|
||||
arch="x86_64"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
fragment="true"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.core.filesystem.win32.x86_64"
|
||||
os="win32"
|
||||
arch="x86_64"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
fragment="true"
|
||||
unpack="false"/>
|
||||
|
||||
</feature>
|
12
features/com.minres.scviewer.e4.platform.feature/pom.xml
Normal file
12
features/com.minres.scviewer.e4.platform.feature/pom.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<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.platform.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</project>
|
1
features/com.minres.scviewer.feature/.gitignore
vendored
Normal file
1
features/com.minres.scviewer.feature/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/target/
|
2
features/com.minres.scviewer.feature/build.properties
Normal file
2
features/com.minres.scviewer.feature/build.properties
Normal file
@ -0,0 +1,2 @@
|
||||
bin.includes = feature.xml,\
|
||||
feature.properties
|
77
features/com.minres.scviewer.feature/feature.xml
Normal file
77
features/com.minres.scviewer.feature/feature.xml
Normal file
@ -0,0 +1,77 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feature
|
||||
id="com.minres.scviewer.feature"
|
||||
label="%featureName"
|
||||
version="1.0.0.qualifier"
|
||||
provider-name="%providerName">
|
||||
|
||||
<description>
|
||||
A viewer for SystemC Verification Library transactions and VCD
|
||||
signals. It supports a SQLite based recording as well as the
|
||||
built-in text base recording.
|
||||
</description>
|
||||
|
||||
<copyright>
|
||||
Copyright (c) 2015 MINRES Technologies GmbH.
|
||||
All rights reserved. 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
|
||||
</copyright>
|
||||
|
||||
<license url="%licenseURL">
|
||||
%license
|
||||
</license>
|
||||
|
||||
<url>
|
||||
<update label="%updateSiteName" url="http://www.minres.com/scviewer/update"/>
|
||||
<discovery label="MINRES Website" url="http://www.minres.com"/>
|
||||
</url>
|
||||
|
||||
<includes
|
||||
id="com.minres.scviewer.database.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<includes
|
||||
id="com.minres.scviewer.ui.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<requires>
|
||||
<import plugin="org.hamcrest.core" version="1.3.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.minres.scviewer.database" 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.runtime"/>
|
||||
<import plugin="org.eclipse.core.resources"/>
|
||||
<import plugin="org.eclipse.jface.text"/>
|
||||
<import plugin="org.eclipse.ui"/>
|
||||
<import plugin="org.eclipse.ui.editors"/>
|
||||
<import plugin="org.eclipse.ui.ide"/>
|
||||
<import plugin="org.eclipse.ui.views.properties.tabbed"/>
|
||||
<import plugin="org.eclipse.swt"/>
|
||||
<import plugin="org.eclipse.osgi"/>
|
||||
<import plugin="org.eclipse.core.expressions" version="3.4.600" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.jface"/>
|
||||
<import plugin="com.google.guava" version="15.0.0" match="greaterOrEqual"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
id="org.junit"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.hamcrest.core"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.minres.scviewer.ui"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
</feature>
|
@ -6,7 +6,7 @@
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../com.minres.scviewer.parent</relativePath>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</project>
|
||||
</project>
|
1
features/com.minres.scviewer.ui.feature/.gitignore
vendored
Normal file
1
features/com.minres.scviewer.ui.feature/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/target/
|
17
features/com.minres.scviewer.ui.feature/.project
Normal file
17
features/com.minres.scviewer.ui.feature/.project
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.minres.scviewer.ui.feature</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.FeatureBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.FeatureNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
1
features/com.minres.scviewer.ui.feature/build.properties
Normal file
1
features/com.minres.scviewer.ui.feature/build.properties
Normal file
@ -0,0 +1 @@
|
||||
bin.includes = feature.xml
|
41
features/com.minres.scviewer.ui.feature/feature.xml
Normal file
41
features/com.minres.scviewer.ui.feature/feature.xml
Normal file
@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feature
|
||||
id="com.minres.scviewer.ui.feature"
|
||||
label="SCViewer UI"
|
||||
version="1.0.0.qualifier"
|
||||
provider-name="MINRES Technologies GmbH">
|
||||
|
||||
<description url="http://www.example.com/description">
|
||||
[Enter Feature Description here.]
|
||||
</description>
|
||||
|
||||
<copyright url="http://www.example.com/copyright">
|
||||
[Enter Copyright Description here.]
|
||||
</copyright>
|
||||
|
||||
<license url="http://www.example.com/license">
|
||||
[Enter License Description here.]
|
||||
</license>
|
||||
|
||||
<includes
|
||||
id="com.minres.scviewer.database.feature"
|
||||
version="0.0.0"/>
|
||||
|
||||
<requires>
|
||||
<import plugin="org.eclipse.swt" version="3.103.1" match="greaterOrEqual"/>
|
||||
<import plugin="com.minres.scviewer.database" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.google.guava" version="15.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.jface"/>
|
||||
<import plugin="org.eclipse.equinox.registry"/>
|
||||
<import plugin="org.eclipse.core.runtime"/>
|
||||
<import plugin="org.eclipse.osgi"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
id="com.minres.scviewer.database.ui.swt"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
</feature>
|
12
features/com.minres.scviewer.ui.feature/pom.xml
Normal file
12
features/com.minres.scviewer.ui.feature/pom.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<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.ui.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
<parent>
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</project>
|
@ -3,9 +3,13 @@
|
||||
<feature url="features/com.minres.scviewer.feature_1.0.0.qualifier.jar" id="com.minres.scviewer.feature" version="1.0.0.qualifier">
|
||||
<category name="com.minres.scviewer"/>
|
||||
</feature>
|
||||
<feature id="com.minres.scviewer.e4.feature">
|
||||
<category name="com.minres.scviewer.e4"/>
|
||||
</feature>
|
||||
<category-def name="com.minres.scviewer" label="SCViewer">
|
||||
<description>
|
||||
Viewer for SystemC Verification (SCV) library's transaction recording
|
||||
</description>
|
||||
</category-def>
|
||||
<category-def name="com.minres.scviewer.e4" label="SCViewer E4 application"/>
|
||||
</site>
|
@ -7,7 +7,7 @@
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../com.minres.scviewer.parent</relativePath>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<!-- <build>
|
||||
<finalName>resources</finalName>
|
@ -9,8 +9,6 @@ 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
|
||||
Bundle-ClassPath: leveldb-0.11-SNAPSHOT-uber.jar,
|
@ -7,7 +7,7 @@
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../com.minres.scviewer.parent</relativePath>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
</project>
|
||||
</project>
|
@ -64,7 +64,7 @@ public class LevelDBLoader implements IWaveformDbLoader {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IWaveform> getAllWaves() {
|
||||
public Collection<IWaveform> getAllWaves() {
|
||||
List<IWaveform> streams=new ArrayList<IWaveform>();
|
||||
SeekingIterator<String, String> it = levelDb.iterator();
|
||||
it.seek("s~");
|
@ -4,4 +4,5 @@ org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.release=disabled
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
@ -5,7 +5,7 @@
|
||||
<groupId>com.minres.scviewer</groupId>
|
||||
<artifactId>com.minres.scviewer.parent</artifactId>
|
||||
<version>2.0.0-SNAPSHOT</version>
|
||||
<relativePath>../com.minres.scviewer.parent</relativePath>
|
||||
<relativePath>../..</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
<dependencies>
|
||||
@ -16,4 +16,4 @@
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
</project>
|
||||
</project>
|
@ -61,7 +61,7 @@ public class SQLiteDbLoader implements IWaveformDbLoader {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IWaveform> getAllWaves() {
|
||||
public Collection<IWaveform> getAllWaves() {
|
||||
SQLiteDatabaseSelectHandler<ScvStream> handler = new SQLiteDatabaseSelectHandler<ScvStream>(ScvStream.class, database);
|
||||
List<IWaveform> streams=new ArrayList<IWaveform>();
|
||||
try {
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user