Merge branch 'release/v2.6.2'
This commit is contained in:
commit
62e0ec2008
|
@ -12,15 +12,15 @@ package com.minres.scviewer.database.swt;
|
||||||
|
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
|
|
||||||
import com.minres.scviewer.database.swt.internal.WaveformViewer;
|
import com.minres.scviewer.database.swt.internal.WaveformView;
|
||||||
import com.minres.scviewer.database.ui.IWaveformViewer;
|
import com.minres.scviewer.database.ui.IWaveformView;
|
||||||
import com.minres.scviewer.database.ui.IWaveformViewerFactory;
|
import com.minres.scviewer.database.ui.IWaveformViewFactory;
|
||||||
|
|
||||||
public class WaveformViewerFactory implements IWaveformViewerFactory {
|
public class WaveformViewFactory implements IWaveformViewFactory {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IWaveformViewer createPanel(Composite parent) {
|
public IWaveformView createPanel(Composite parent) {
|
||||||
return new WaveformViewer(parent);
|
return new WaveformView(parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -249,7 +249,7 @@ public class SignalPainter extends TrackPainter {
|
||||||
final boolean continous;
|
final boolean continous;
|
||||||
private long minVal;
|
private long minVal;
|
||||||
private long range;
|
private long range;
|
||||||
|
double yRange = (yOffsetB-yOffsetT);
|
||||||
public MultiBitStencilAnalog(NavigableMap<Long, ?> entries, Object left, boolean continous, boolean signed) {
|
public MultiBitStencilAnalog(NavigableMap<Long, ?> entries, Object left, boolean continous, boolean signed) {
|
||||||
this.continous=continous;
|
this.continous=continous;
|
||||||
Collection<?> values = ((NavigableMap<Long, ?>) entries).values();
|
Collection<?> values = ((NavigableMap<Long, ?>) entries).values();
|
||||||
|
@ -276,8 +276,8 @@ public class SignalPainter extends TrackPainter {
|
||||||
long leftVal = ((BitVector) left).toUnsignedValue();
|
long leftVal = ((BitVector) left).toUnsignedValue();
|
||||||
long rightVal= ((BitVector) right).toUnsignedValue();
|
long rightVal= ((BitVector) right).toUnsignedValue();
|
||||||
proj.setForeground(waveCanvas.colors[WaveformColors.SIGNAL_REAL.ordinal()]);
|
proj.setForeground(waveCanvas.colors[WaveformColors.SIGNAL_REAL.ordinal()]);
|
||||||
int yOffsetLeft = (int) ((leftVal-minVal) / range * (yOffsetB-yOffsetT));
|
int yOffsetLeft = (int) ((leftVal-minVal) * yRange / range);
|
||||||
int yOffsetRight = (int) ((rightVal-minVal) / range * (yOffsetB-yOffsetT));
|
int yOffsetRight = (int) ((rightVal-minVal) * yRange / range);
|
||||||
if(continous) {
|
if(continous) {
|
||||||
if (xEnd > maxPosX) {
|
if (xEnd > maxPosX) {
|
||||||
proj.drawLine(xBegin, yOffsetB-yOffsetLeft, maxPosX, yOffsetB-yOffsetRight);
|
proj.drawLine(xBegin, yOffsetB-yOffsetLeft, maxPosX, yOffsetB-yOffsetRight);
|
||||||
|
@ -401,8 +401,8 @@ public class SignalPainter extends TrackPainter {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
proj.setForeground(waveCanvas.colors[WaveformColors.SIGNAL_REAL.ordinal()]);
|
proj.setForeground(waveCanvas.colors[WaveformColors.SIGNAL_REAL.ordinal()]);
|
||||||
int yOffsetLeft = (int) ((leftVal-minVal) / range * (yOffsetB-yOffsetT));
|
int yOffsetLeft = (int) ((leftVal-minVal) * (yOffsetB-yOffsetT) / range);
|
||||||
int yOffsetRight = Double.isNaN(rightVal)?yOffsetLeft:(int) ((rightVal-minVal) / range * (yOffsetB-yOffsetT));
|
int yOffsetRight = Double.isNaN(rightVal)?yOffsetLeft:(int) ((rightVal-minVal) * (yOffsetB-yOffsetT) / range);
|
||||||
if(continous) {
|
if(continous) {
|
||||||
if (xEnd > maxPosX) {
|
if (xEnd > maxPosX) {
|
||||||
proj.drawLine(xBegin, yOffsetB-yOffsetLeft, maxPosX, yOffsetB-yOffsetRight);
|
proj.drawLine(xBegin, yOffsetB-yOffsetLeft, maxPosX, yOffsetB-yOffsetRight);
|
||||||
|
|
|
@ -25,6 +25,7 @@ import org.eclipse.swt.events.SelectionAdapter;
|
||||||
import org.eclipse.swt.events.SelectionEvent;
|
import org.eclipse.swt.events.SelectionEvent;
|
||||||
import org.eclipse.swt.graphics.Color;
|
import org.eclipse.swt.graphics.Color;
|
||||||
import org.eclipse.swt.graphics.GC;
|
import org.eclipse.swt.graphics.GC;
|
||||||
|
import org.eclipse.swt.graphics.Image;
|
||||||
import org.eclipse.swt.graphics.Point;
|
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.graphics.Rectangle;
|
||||||
|
@ -40,7 +41,7 @@ import com.minres.scviewer.database.ITx;
|
||||||
import com.minres.scviewer.database.IWaveform;
|
import com.minres.scviewer.database.IWaveform;
|
||||||
import com.minres.scviewer.database.RelationType;
|
import com.minres.scviewer.database.RelationType;
|
||||||
import com.minres.scviewer.database.swt.Constants;
|
import com.minres.scviewer.database.swt.Constants;
|
||||||
import com.minres.scviewer.database.ui.IWaveformViewer;
|
import com.minres.scviewer.database.ui.IWaveformView;
|
||||||
import com.minres.scviewer.database.ui.TrackEntry;
|
import com.minres.scviewer.database.ui.TrackEntry;
|
||||||
import com.minres.scviewer.database.ui.WaveformColors;
|
import com.minres.scviewer.database.ui.WaveformColors;
|
||||||
|
|
||||||
|
@ -48,6 +49,8 @@ public class WaveformCanvas extends Canvas {
|
||||||
|
|
||||||
Color[] colors = new Color[WaveformColors.values().length];
|
Color[] colors = new Color[WaveformColors.values().length];
|
||||||
|
|
||||||
|
private boolean doubleBuffering = true;
|
||||||
|
|
||||||
private int trackHeight = 50;
|
private int trackHeight = 50;
|
||||||
|
|
||||||
private long scaleFactor = 1000000L; // 1ns
|
private long scaleFactor = 1000000L; // 1ns
|
||||||
|
@ -110,7 +113,7 @@ public class WaveformCanvas extends Canvas {
|
||||||
painterList.add(trackAreaPainter);
|
painterList.add(trackAreaPainter);
|
||||||
rulerPainter=new RulerPainter(this);
|
rulerPainter=new RulerPainter(this);
|
||||||
painterList.add(rulerPainter);
|
painterList.add(rulerPainter);
|
||||||
arrowPainter=new ArrowPainter(this, IWaveformViewer.NEXT_PREV_IN_STREAM);
|
arrowPainter=new ArrowPainter(this, IWaveformView.NEXT_PREV_IN_STREAM);
|
||||||
painterList.add(arrowPainter);
|
painterList.add(arrowPainter);
|
||||||
CursorPainter cp = new CursorPainter(this, scaleFactor * 10, cursorPainters.size()-1);
|
CursorPainter cp = new CursorPainter(this, scaleFactor * 10, cursorPainters.size()-1);
|
||||||
painterList.add(cp);
|
painterList.add(cp);
|
||||||
|
@ -398,7 +401,18 @@ public class WaveformCanvas extends Canvas {
|
||||||
/* Paint function */
|
/* Paint function */
|
||||||
private void paint(GC gc) {
|
private void paint(GC gc) {
|
||||||
Rectangle clientRect = getClientArea(); /* Canvas' painting area */
|
Rectangle clientRect = getClientArea(); /* Canvas' painting area */
|
||||||
Projection p = new Projection(gc);
|
GC thisGc = gc;
|
||||||
|
Image d_backingImg = null;
|
||||||
|
if(doubleBuffering) {
|
||||||
|
Point p = getSize();
|
||||||
|
d_backingImg = new Image(getDisplay(), p.x, p.y);
|
||||||
|
thisGc = new GC(d_backingImg);
|
||||||
|
thisGc.setBackground(gc.getBackground());
|
||||||
|
thisGc.setForeground(gc.getForeground());
|
||||||
|
thisGc.setFont(gc.getFont());
|
||||||
|
|
||||||
|
}
|
||||||
|
Projection p = new Projection(thisGc);
|
||||||
p.setTranslation(origin);
|
p.setTranslation(origin);
|
||||||
if (painterList.size() > 0 ) {
|
if (painterList.size() > 0 ) {
|
||||||
for (IPainter painter : painterList)
|
for (IPainter painter : painterList)
|
||||||
|
@ -407,6 +421,11 @@ public class WaveformCanvas extends Canvas {
|
||||||
gc.fillRectangle(clientRect);
|
gc.fillRectangle(clientRect);
|
||||||
initScrollBars();
|
initScrollBars();
|
||||||
}
|
}
|
||||||
|
if(doubleBuffering) {
|
||||||
|
gc.drawImage(d_backingImg, 0, 0);
|
||||||
|
d_backingImg.dispose();
|
||||||
|
thisGc.dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Object> getElementsAt(Point point) {
|
public List<Object> getElementsAt(Point point) {
|
||||||
|
|
|
@ -89,11 +89,11 @@ import com.minres.scviewer.database.RelationType;
|
||||||
import com.minres.scviewer.database.swt.Constants;
|
import com.minres.scviewer.database.swt.Constants;
|
||||||
import com.minres.scviewer.database.ui.GotoDirection;
|
import com.minres.scviewer.database.ui.GotoDirection;
|
||||||
import com.minres.scviewer.database.ui.ICursor;
|
import com.minres.scviewer.database.ui.ICursor;
|
||||||
import com.minres.scviewer.database.ui.IWaveformViewer;
|
import com.minres.scviewer.database.ui.IWaveformView;
|
||||||
import com.minres.scviewer.database.ui.TrackEntry;
|
import com.minres.scviewer.database.ui.TrackEntry;
|
||||||
import com.minres.scviewer.database.ui.WaveformColors;
|
import com.minres.scviewer.database.ui.WaveformColors;
|
||||||
|
|
||||||
public class WaveformViewer implements IWaveformViewer {
|
public class WaveformView implements IWaveformView {
|
||||||
|
|
||||||
private ListenerList<ISelectionChangedListener> selectionChangedListeners = new ListenerList<ISelectionChangedListener>();
|
private ListenerList<ISelectionChangedListener> selectionChangedListeners = new ListenerList<ISelectionChangedListener>();
|
||||||
|
|
||||||
|
@ -185,8 +185,7 @@ public class WaveformViewer implements IWaveformViewer {
|
||||||
gc.setAlpha(128);
|
gc.setAlpha(128);
|
||||||
int minX = Math.min(start.x, end.x);
|
int minX = Math.min(start.x, end.x);
|
||||||
int width = Math.max(start.x, end.x) - minX;
|
int width = Math.max(start.x, end.x) - minX;
|
||||||
Point origin = waveformCanvas.getOrigin();
|
int y_top = waveformCanvas.getRulerHeight();
|
||||||
int y_top = waveformCanvas.getRulerHeight()- origin.y;
|
|
||||||
int y_bottom = waveformCanvas.getSize().y;
|
int y_bottom = waveformCanvas.getSize().y;
|
||||||
gc.fillRectangle(minX, y_top, width,y_bottom);
|
gc.fillRectangle(minX, y_top, width,y_bottom);
|
||||||
}
|
}
|
||||||
|
@ -288,7 +287,7 @@ public class WaveformViewer implements IWaveformViewer {
|
||||||
};
|
};
|
||||||
protected WaveformMouseListener waveformMouseListener = new WaveformMouseListener();
|
protected WaveformMouseListener waveformMouseListener = new WaveformMouseListener();
|
||||||
|
|
||||||
public WaveformViewer(Composite parent) {
|
public WaveformView(Composite parent) {
|
||||||
pcs=new PropertyChangeSupport(this);
|
pcs=new PropertyChangeSupport(this);
|
||||||
|
|
||||||
trackVerticalOffset = new TreeMap<Integer, TrackEntry>();
|
trackVerticalOffset = new TreeMap<Integer, TrackEntry>();
|
||||||
|
@ -755,7 +754,7 @@ public class WaveformViewer implements IWaveformViewer {
|
||||||
@Override
|
@Override
|
||||||
public void moveSelection(GotoDirection direction, RelationType relationType) {
|
public void moveSelection(GotoDirection direction, RelationType relationType) {
|
||||||
if (currentWaveformSelection!=null && currentWaveformSelection.isStream() && currentTxSelection!=null) {
|
if (currentWaveformSelection!=null && currentWaveformSelection.isStream() && currentTxSelection!=null) {
|
||||||
if(relationType.equals(IWaveformViewer.NEXT_PREV_IN_STREAM)){
|
if(relationType.equals(IWaveformView.NEXT_PREV_IN_STREAM)){
|
||||||
ITxStream<? extends ITxEvent> stream = currentWaveformSelection.getStream();
|
ITxStream<? extends ITxEvent> stream = currentWaveformSelection.getStream();
|
||||||
ITx transaction = null;
|
ITx transaction = null;
|
||||||
if (direction == GotoDirection.NEXT) {
|
if (direction == GotoDirection.NEXT) {
|
|
@ -25,7 +25,7 @@ import org.eclipse.swt.widgets.Control;
|
||||||
import com.minres.scviewer.database.IWaveform;
|
import com.minres.scviewer.database.IWaveform;
|
||||||
import com.minres.scviewer.database.RelationType;
|
import com.minres.scviewer.database.RelationType;
|
||||||
|
|
||||||
public interface IWaveformViewer extends PropertyChangeListener, ISelectionProvider{
|
public interface IWaveformView extends PropertyChangeListener, ISelectionProvider{
|
||||||
|
|
||||||
String CURSOR_PROPERTY = "cursor_time";
|
String CURSOR_PROPERTY = "cursor_time";
|
||||||
|
|
|
@ -12,6 +12,6 @@ package com.minres.scviewer.database.ui;
|
||||||
|
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
|
|
||||||
public interface IWaveformViewerFactory {
|
public interface IWaveformViewFactory {
|
||||||
public IWaveformViewer createPanel(Composite parent);
|
public IWaveformView createPanel(Composite parent);
|
||||||
}
|
}
|
|
@ -41,6 +41,7 @@ public class Messages extends NLS {
|
||||||
public static String TransactionDetails_21;
|
public static String TransactionDetails_21;
|
||||||
public static String TransactionDetails_3;
|
public static String TransactionDetails_3;
|
||||||
public static String TransactionDetails_4;
|
public static String TransactionDetails_4;
|
||||||
|
public static String WaveformPreferencesPage_description;
|
||||||
public static String WaveformPreferencesPage_1;
|
public static String WaveformPreferencesPage_1;
|
||||||
public static String WaveformViewer_13;
|
public static String WaveformViewer_13;
|
||||||
public static String WaveformViewer_14;
|
public static String WaveformViewer_14;
|
||||||
|
@ -61,6 +62,30 @@ public class Messages extends NLS {
|
||||||
public static String WaveStatusBarControl_6;
|
public static String WaveStatusBarControl_6;
|
||||||
public static String WaveStatusBarControl_7;
|
public static String WaveStatusBarControl_7;
|
||||||
public static String WaveStatusBarControl_8;
|
public static String WaveStatusBarControl_8;
|
||||||
|
public static String line;
|
||||||
|
public static String line_highlite;
|
||||||
|
public static String track_bg_even;
|
||||||
|
public static String track_bg_odd;
|
||||||
|
public static String track_bg_highlite;
|
||||||
|
public static String tx_bg;
|
||||||
|
public static String tx_bg_highlite;
|
||||||
|
public static String tx_border;
|
||||||
|
public static String signal0;
|
||||||
|
public static String signal1;
|
||||||
|
public static String signalz;
|
||||||
|
public static String signalx;
|
||||||
|
public static String signalu;
|
||||||
|
public static String signal_text;
|
||||||
|
public static String signal_real;
|
||||||
|
public static String signal_nan;
|
||||||
|
public static String cursor;
|
||||||
|
public static String cursor_drag;
|
||||||
|
public static String cursor_text;
|
||||||
|
public static String marker;
|
||||||
|
public static String marker_text;
|
||||||
|
public static String rel_arrow;
|
||||||
|
public static String rel_arrow_highlite;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
// initialize resource bundle
|
// initialize resource bundle
|
||||||
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
|
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
|
||||||
|
|
|
@ -35,6 +35,7 @@ TransactionDetails_20=Time
|
||||||
TransactionDetails_21=End time
|
TransactionDetails_21=End time
|
||||||
TransactionDetails_3=Value
|
TransactionDetails_3=Value
|
||||||
TransactionDetails_4=Relation
|
TransactionDetails_4=Relation
|
||||||
|
WaveformPreferencesPage_description=Default Waveform Window Settings
|
||||||
WaveformPreferencesPage_1=Color for
|
WaveformPreferencesPage_1=Color for
|
||||||
WaveformViewer_13=Database Load Status
|
WaveformViewer_13=Database Load Status
|
||||||
WaveformViewer_14=Database Load Cancelled
|
WaveformViewer_14=Database Load Cancelled
|
||||||
|
@ -55,3 +56,27 @@ WaveStatusBarControl_5=C:
|
||||||
WaveStatusBarControl_6=M:
|
WaveStatusBarControl_6=M:
|
||||||
WaveStatusBarControl_7=C-M:
|
WaveStatusBarControl_7=C-M:
|
||||||
WaveStatusBarControl_8=Z:
|
WaveStatusBarControl_8=Z:
|
||||||
|
line=Track line
|
||||||
|
line_highlite=higlighted Track line
|
||||||
|
track_bg_even=even Track Background
|
||||||
|
track_bg_odd=odd Track Background
|
||||||
|
track_bg_highlite=highlighted Track Background
|
||||||
|
tx_bg=Transaction Background
|
||||||
|
tx_bg_highlite=highlighted Transaction Background
|
||||||
|
tx_border=Transaction Border
|
||||||
|
signal0=Signal Value '0'
|
||||||
|
signal1=Signal Value '1'
|
||||||
|
signalz=Signal Value 'Z'
|
||||||
|
signalx=Signal Value 'X'
|
||||||
|
signalu=Signal Value 'U'
|
||||||
|
signal_text=Signal text
|
||||||
|
signal_real=Signal real Value
|
||||||
|
signal_nan=Signal NaN Value
|
||||||
|
cursor=Cursor
|
||||||
|
cursor_drag=dragged Cursor
|
||||||
|
cursor_text=Cursor Text
|
||||||
|
marker=Marker
|
||||||
|
marker_text=Marker TExt
|
||||||
|
rel_arrow=Relation arrow
|
||||||
|
rel_arrow_highlite=highlighted Relation arrorw
|
||||||
|
|
||||||
|
|
|
@ -93,10 +93,10 @@ import com.minres.scviewer.database.RelationType;
|
||||||
import com.minres.scviewer.database.swt.Constants;
|
import com.minres.scviewer.database.swt.Constants;
|
||||||
import com.minres.scviewer.database.swt.ToolTipContentProvider;
|
import com.minres.scviewer.database.swt.ToolTipContentProvider;
|
||||||
import com.minres.scviewer.database.swt.ToolTipHelpTextProvider;
|
import com.minres.scviewer.database.swt.ToolTipHelpTextProvider;
|
||||||
import com.minres.scviewer.database.swt.WaveformViewerFactory;
|
import com.minres.scviewer.database.swt.WaveformViewFactory;
|
||||||
import com.minres.scviewer.database.ui.GotoDirection;
|
import com.minres.scviewer.database.ui.GotoDirection;
|
||||||
import com.minres.scviewer.database.ui.ICursor;
|
import com.minres.scviewer.database.ui.ICursor;
|
||||||
import com.minres.scviewer.database.ui.IWaveformViewer;
|
import com.minres.scviewer.database.ui.IWaveformView;
|
||||||
import com.minres.scviewer.database.ui.TrackEntry;
|
import com.minres.scviewer.database.ui.TrackEntry;
|
||||||
import com.minres.scviewer.database.ui.TrackEntry.ValueDisplay;
|
import com.minres.scviewer.database.ui.TrackEntry.ValueDisplay;
|
||||||
import com.minres.scviewer.database.ui.TrackEntry.WaveDisplay;
|
import com.minres.scviewer.database.ui.TrackEntry.WaveDisplay;
|
||||||
|
@ -164,10 +164,10 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||||
private static int disposeListenerNumber = 0;
|
private static int disposeListenerNumber = 0;
|
||||||
|
|
||||||
/** The factory. */
|
/** The factory. */
|
||||||
WaveformViewerFactory factory = new WaveformViewerFactory();
|
WaveformViewFactory factory = new WaveformViewFactory();
|
||||||
|
|
||||||
/** The waveform pane. */
|
/** The waveform pane. */
|
||||||
private IWaveformViewer waveformPane;
|
private IWaveformView waveformPane;
|
||||||
|
|
||||||
/** get UISynchronize injected as field */
|
/** get UISynchronize injected as field */
|
||||||
@Inject UISynchronize sync;
|
@Inject UISynchronize sync;
|
||||||
|
@ -217,7 +217,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||||
private Object detailsSettings;
|
private Object detailsSettings;
|
||||||
|
|
||||||
/** The navigation relation type. */
|
/** The navigation relation type. */
|
||||||
private RelationType navigationRelationType=IWaveformViewer.NEXT_PREV_IN_STREAM ;
|
private RelationType navigationRelationType=IWaveformView.NEXT_PREV_IN_STREAM ;
|
||||||
|
|
||||||
/** The file monitor. */
|
/** The file monitor. */
|
||||||
FileMonitor fileMonitor = new FileMonitor();
|
FileMonitor fileMonitor = new FileMonitor();
|
||||||
|
@ -262,7 +262,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||||
//set selection to empty selection when opening a new waveformPane
|
//set selection to empty selection when opening a new waveformPane
|
||||||
selectionService.setSelection(new StructuredSelection());
|
selectionService.setSelection(new StructuredSelection());
|
||||||
|
|
||||||
waveformPane.addPropertyChangeListener(IWaveformViewer.CURSOR_PROPERTY, new PropertyChangeListener() {
|
waveformPane.addPropertyChangeListener(IWaveformView.CURSOR_PROPERTY, new PropertyChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void propertyChange(PropertyChangeEvent evt) {
|
public void propertyChange(PropertyChangeEvent evt) {
|
||||||
Long time = (Long) evt.getNewValue();
|
Long time = (Long) evt.getNewValue();
|
||||||
|
@ -272,7 +272,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
waveformPane.addPropertyChangeListener(IWaveformViewer.MARKER_PROPERTY, new PropertyChangeListener() {
|
waveformPane.addPropertyChangeListener(IWaveformView.MARKER_PROPERTY, new PropertyChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void propertyChange(PropertyChangeEvent evt) {
|
public void propertyChange(PropertyChangeEvent evt) {
|
||||||
Long time = (Long) evt.getNewValue();
|
Long time = (Long) evt.getNewValue();
|
||||||
|
@ -478,13 +478,13 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Optional
|
@Optional
|
||||||
public void reactOnShowHoverChange(@Preference(value = PreferenceConstants.SHOW_HOVER) Boolean hover) {
|
public void reactOnShowHoverChange(@Preference(nodePath = PreferenceConstants.PREFERENCES_SCOPE, value = PreferenceConstants.SHOW_HOVER) Boolean hover) {
|
||||||
showHover=hover;
|
showHover=hover;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Optional
|
@Optional
|
||||||
public void reactOnReloadDatabaseChange(@Preference(value = PreferenceConstants.DATABASE_RELOAD) Boolean checkForUpdates) {
|
public void reactOnReloadDatabaseChange(@Preference(nodePath = PreferenceConstants.PREFERENCES_SCOPE, value = PreferenceConstants.DATABASE_RELOAD) Boolean checkForUpdates) {
|
||||||
if (checkForUpdates) {
|
if (checkForUpdates) {
|
||||||
fileChecker = fileMonitor.addFileChangeListener(WaveformViewer.this, filesToLoad, FILE_CHECK_INTERVAL);
|
fileChecker = fileMonitor.addFileChangeListener(WaveformViewer.this, filesToLoad, FILE_CHECK_INTERVAL);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1215,7 +1215,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||||
*/
|
*/
|
||||||
public List<RelationType> getAllRelationTypes() {
|
public List<RelationType> getAllRelationTypes() {
|
||||||
List<RelationType> res =new ArrayList<>();
|
List<RelationType> res =new ArrayList<>();
|
||||||
res.add(IWaveformViewer.NEXT_PREV_IN_STREAM);
|
res.add(IWaveformView.NEXT_PREV_IN_STREAM);
|
||||||
res.addAll(database.getAllRelationTypes());
|
res.addAll(database.getAllRelationTypes());
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
@ -1227,7 +1227,7 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
|
||||||
*/
|
*/
|
||||||
public List<RelationType> getSelectionRelationTypes() {
|
public List<RelationType> getSelectionRelationTypes() {
|
||||||
List<RelationType> res =new ArrayList<>();
|
List<RelationType> res =new ArrayList<>();
|
||||||
res.add(IWaveformViewer.NEXT_PREV_IN_STREAM);
|
res.add(IWaveformView.NEXT_PREV_IN_STREAM);
|
||||||
ISelection selection = waveformPane.getSelection();
|
ISelection selection = waveformPane.getSelection();
|
||||||
if(selection instanceof IStructuredSelection && !selection.isEmpty()){
|
if(selection instanceof IStructuredSelection && !selection.isEmpty()){
|
||||||
IStructuredSelection sel=(IStructuredSelection) selection;
|
IStructuredSelection sel=(IStructuredSelection) selection;
|
||||||
|
|
|
@ -10,6 +10,9 @@
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package com.minres.scviewer.e4.application.preferences;
|
package com.minres.scviewer.e4.application.preferences;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
import org.eclipse.jface.preference.ColorFieldEditor;
|
import org.eclipse.jface.preference.ColorFieldEditor;
|
||||||
import org.eclipse.jface.preference.FieldEditorPreferencePage;
|
import org.eclipse.jface.preference.FieldEditorPreferencePage;
|
||||||
|
|
||||||
|
@ -26,6 +29,7 @@ public class WaveformPreferencesPage extends FieldEditorPreferencePage {
|
||||||
*/
|
*/
|
||||||
public WaveformPreferencesPage() {
|
public WaveformPreferencesPage() {
|
||||||
super(GRID);
|
super(GRID);
|
||||||
|
setDescription(Messages.WaveformPreferencesPage_description);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
|
@ -33,9 +37,18 @@ public class WaveformPreferencesPage extends FieldEditorPreferencePage {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void createFieldEditors() {
|
protected void createFieldEditors() {
|
||||||
|
Field[] declaredFields = Messages.class.getDeclaredFields();
|
||||||
|
HashMap<String, String> staticFields = new HashMap<String, String>();
|
||||||
|
for (Field field : declaredFields) {
|
||||||
|
if (java.lang.reflect.Modifier.isStatic(field.getModifiers())) {
|
||||||
|
try {
|
||||||
|
staticFields.put(field.getName(), (String)field.get(null));
|
||||||
|
} catch (IllegalArgumentException | IllegalAccessException e) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
for (WaveformColors c : WaveformColors.values()) {
|
for (WaveformColors c : WaveformColors.values()) {
|
||||||
addField(new ColorFieldEditor(c.name() + "_COLOR", Messages.WaveformPreferencesPage_1 + c.name().toLowerCase(), //$NON-NLS-1$
|
addField(new ColorFieldEditor(c.name() + "_COLOR",
|
||||||
|
Messages.WaveformPreferencesPage_1 + staticFields.get(c.name().toLowerCase()), //$NON-NLS-1$
|
||||||
getFieldEditorParent()));
|
getFieldEditorParent()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,9 +48,9 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
|
||||||
import com.minres.scviewer.database.IWaveform;
|
import com.minres.scviewer.database.IWaveform;
|
||||||
import com.minres.scviewer.database.IWaveformDb;
|
import com.minres.scviewer.database.IWaveformDb;
|
||||||
import com.minres.scviewer.database.IWaveformDbFactory;
|
import com.minres.scviewer.database.IWaveformDbFactory;
|
||||||
import com.minres.scviewer.database.swt.WaveformViewerFactory;
|
import com.minres.scviewer.database.swt.WaveformViewFactory;
|
||||||
import com.minres.scviewer.database.ui.GotoDirection;
|
import com.minres.scviewer.database.ui.GotoDirection;
|
||||||
import com.minres.scviewer.database.ui.IWaveformViewer;
|
import com.minres.scviewer.database.ui.IWaveformView;
|
||||||
import com.minres.scviewer.database.ui.TrackEntry;
|
import com.minres.scviewer.database.ui.TrackEntry;
|
||||||
import com.minres.scviewer.ui.views.TxOutlinePage;
|
import com.minres.scviewer.ui.views.TxOutlinePage;
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ public class TxEditorPart extends EditorPart implements ITabbedPropertySheetPage
|
||||||
|
|
||||||
public static final String WAVE_ACTION_ID = "com.minres.scviewer.ui.action.AddToWave";
|
public static final String WAVE_ACTION_ID = "com.minres.scviewer.ui.action.AddToWave";
|
||||||
|
|
||||||
private IWaveformViewer txDisplay;
|
private IWaveformView txDisplay;
|
||||||
|
|
||||||
/** This is the root of the editor's model. */
|
/** This is the root of the editor's model. */
|
||||||
private IWaveformDb database;
|
private IWaveformDb database;
|
||||||
|
@ -112,10 +112,10 @@ public class TxEditorPart extends EditorPart implements ITabbedPropertySheetPage
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
WaveformViewerFactory factory = new WaveformViewerFactory();
|
WaveformViewFactory factory = new WaveformViewFactory();
|
||||||
txDisplay = factory.createPanel(parent);
|
txDisplay = factory.createPanel(parent);
|
||||||
txDisplay.setMaxTime(0);
|
txDisplay.setMaxTime(0);
|
||||||
txDisplay.addPropertyChangeListener(IWaveformViewer.CURSOR_PROPERTY, new PropertyChangeListener() {
|
txDisplay.addPropertyChangeListener(IWaveformView.CURSOR_PROPERTY, new PropertyChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void propertyChange(PropertyChangeEvent evt) {
|
public void propertyChange(PropertyChangeEvent evt) {
|
||||||
Long time = (Long) evt.getNewValue();
|
Long time = (Long) evt.getNewValue();
|
||||||
|
|
Loading…
Reference in New Issue