Fixed display issues
This commit is contained in:
		@@ -114,11 +114,11 @@ public class Track extends Composite implements IWaveformWidget, MouseListener {
 | 
			
		||||
		gc.setForeground(lineColor);
 | 
			
		||||
		gc.setFillRule(SWT.FILL_EVEN_ODD);
 | 
			
		||||
		gc.setBackground(trackBgColor);
 | 
			
		||||
		gc.setLineWidth(1);
 | 
			
		||||
		gc.setLineWidth(3);
 | 
			
		||||
		gc.setLineStyle(SWT.LINE_SOLID);
 | 
			
		||||
		gc.fillRectangle(new Rectangle(e.x, e.y, e.width, e.height));
 | 
			
		||||
		for(int offset=e.y+trackHeight/2; offset<e.height; offset+=trackHeight)
 | 
			
		||||
			gc.drawLine(e.x, offset, e.x+e.width, offset);
 | 
			
		||||
		for(int offset=trackHeight/2; offset<e.height; offset+=trackHeight)
 | 
			
		||||
			gc.drawLine(0, e.y+offset, e.x+e.width, e.y+offset);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@ public class Transaction extends Composite {
 | 
			
		||||
	public static Color txBgColor;
 | 
			
		||||
	public static Color highliteLineColor;
 | 
			
		||||
	public static Color txHighliteBgColor;
 | 
			
		||||
	public static Color trackBgColor;
 | 
			
		||||
	private int length;
 | 
			
		||||
	private boolean highlighted=false;
 | 
			
		||||
	
 | 
			
		||||
@@ -39,8 +40,10 @@ public class Transaction extends Composite {
 | 
			
		||||
		TxEditorPlugin plugin=TxEditorPlugin.getDefault();	
 | 
			
		||||
		lineColor=plugin.getColor(TxEditorPlugin.lineColor);
 | 
			
		||||
		txBgColor=plugin.getColor(TxEditorPlugin.txBgColor);
 | 
			
		||||
		trackBgColor=plugin.getColor(TxEditorPlugin.trackBgDarkColor);
 | 
			
		||||
		highliteLineColor=plugin.getColor(TxEditorPlugin.highliteLineColor);
 | 
			
		||||
		txHighliteBgColor=plugin.getColor(TxEditorPlugin.txHighliteBgColor);
 | 
			
		||||
		setBackground(trackBgColor);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	protected void widgetDisposed(DisposeEvent e) {
 | 
			
		||||
@@ -48,18 +51,20 @@ public class Transaction extends Composite {
 | 
			
		||||
	
 | 
			
		||||
	void paintControl(PaintEvent e) {
 | 
			
		||||
		GC gc = e.gc;
 | 
			
		||||
        gc.setBackground(trackBgColor);
 | 
			
		||||
        gc.fillRectangle(new Rectangle(0, 0, length, height));
 | 
			
		||||
        gc.setForeground(highlighted?highliteLineColor:lineColor);
 | 
			
		||||
        gc.setFillRule(SWT.FILL_EVEN_ODD);
 | 
			
		||||
        gc.setBackground(highlighted?txHighliteBgColor:txBgColor);
 | 
			
		||||
        gc.setLineWidth(1);
 | 
			
		||||
        gc.setLineStyle(SWT.LINE_SOLID);
 | 
			
		||||
		Rectangle bb = new Rectangle(0, height/5, length-1, 3*height/5);
 | 
			
		||||
		if(bb.width<8){
 | 
			
		||||
		if(bb.width<10){
 | 
			
		||||
			gc.fillRectangle(bb);
 | 
			
		||||
			gc.drawRectangle(bb);
 | 
			
		||||
		} else {
 | 
			
		||||
	        gc.fillRoundRectangle(bb.x, bb.y, bb.width, bb.height, 4, 4);
 | 
			
		||||
	        gc.drawRoundRectangle(bb.x, bb.y, bb.width, bb.height, 4, 4);
 | 
			
		||||
	        gc.fillRoundRectangle(bb.x, bb.y, bb.width, bb.height, 5, 5);
 | 
			
		||||
	        gc.drawRoundRectangle(bb.x, bb.y, bb.width, bb.height, 5, 5);
 | 
			
		||||
		}	
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -39,6 +39,7 @@ 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.internal.ole.win32.CONTROLINFO;
 | 
			
		||||
import org.eclipse.swt.layout.FillLayout;
 | 
			
		||||
import org.eclipse.swt.layout.GridData;
 | 
			
		||||
import org.eclipse.swt.layout.GridLayout;
 | 
			
		||||
@@ -102,7 +103,7 @@ public class TxDisplay implements PropertyChangeListener, ISelectionProvider, Mo
 | 
			
		||||
		});
 | 
			
		||||
	
 | 
			
		||||
		nameListScrolled = new ScrolledComposite(namePane, SWT.H_SCROLL | SWT.V_SCROLL);
 | 
			
		||||
		nameListScrolled.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true, 1, 1));
 | 
			
		||||
		nameListScrolled.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
 | 
			
		||||
		nameListScrolled.setExpandHorizontal(true);
 | 
			
		||||
		nameListScrolled.setExpandVertical(true);
 | 
			
		||||
		nameList = new Composite(nameListScrolled, SWT.NONE);
 | 
			
		||||
@@ -118,7 +119,7 @@ public class TxDisplay implements PropertyChangeListener, ISelectionProvider, Mo
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
		valueListScrolled = new ScrolledComposite(valuePane, SWT.H_SCROLL | SWT.V_SCROLL);
 | 
			
		||||
		valueListScrolled.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, true, true, 1, 1));
 | 
			
		||||
		valueListScrolled.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
 | 
			
		||||
		valueListScrolled.setExpandHorizontal(true);
 | 
			
		||||
		valueListScrolled.setExpandVertical(true);
 | 
			
		||||
		valueList = new Composite(valueListScrolled, SWT.NONE);
 | 
			
		||||
@@ -151,20 +152,15 @@ public class TxDisplay implements PropertyChangeListener, ISelectionProvider, Mo
 | 
			
		||||
				trackListScrolled.setOrigin(trackListScrolled.getOrigin().x, y);
 | 
			
		||||
			}
 | 
			
		||||
        });
 | 
			
		||||
		trackListScrolled.getVerticalBar().addSelectionListener(new SelectionAdapter() {
 | 
			
		||||
			public void widgetSelected(SelectionEvent e) {
 | 
			
		||||
				int y = ((ScrollBar) e.widget).getSelection();
 | 
			
		||||
		trackListScrolled.getContent().addControlListener(new ControlAdapter() {
 | 
			
		||||
			@Override
 | 
			
		||||
			public void controlMoved(ControlEvent e) {
 | 
			
		||||
				ruler.setStartPoint(trackListScrolled.getHorizontalBar().getSelection());
 | 
			
		||||
				int y = trackListScrolled.getVerticalBar().getSelection();
 | 
			
		||||
				nameListScrolled.setOrigin(nameListScrolled.getOrigin().x, y);
 | 
			
		||||
				valueListScrolled.setOrigin(valueListScrolled.getOrigin().x, y);
 | 
			
		||||
			}
 | 
			
		||||
        });
 | 
			
		||||
		trackListScrolled.getHorizontalBar().addSelectionListener(new SelectionAdapter() {
 | 
			
		||||
			public void widgetSelected(SelectionEvent e) {
 | 
			
		||||
				int x = ((ScrollBar) e.widget).getSelection();
 | 
			
		||||
				ruler.setStartPoint(x);
 | 
			
		||||
			}
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
		});
 | 
			
		||||
		topSash.setWeights(new int[] {30, 70});
 | 
			
		||||
		leftSash.setWeights(new int[] {75, 25});
 | 
			
		||||
        
 | 
			
		||||
@@ -247,6 +243,7 @@ public class TxDisplay implements PropertyChangeListener, ISelectionProvider, Mo
 | 
			
		||||
				track.setData("VALUEWIDGET", trackValue);
 | 
			
		||||
				trackMap.put(stream, track);
 | 
			
		||||
			} else if(wave instanceof ISignal<?>){
 | 
			
		||||
				@SuppressWarnings("unchecked")
 | 
			
		||||
				ISignal<ISignalChange> isignal = (ISignal<ISignalChange>) wave;
 | 
			
		||||
				SignalWidget signal = new SignalWidget(trackList, SWT.NONE);
 | 
			
		||||
				signal.setTransactions(isignal);
 | 
			
		||||
@@ -277,11 +274,8 @@ public class TxDisplay implements PropertyChangeListener, ISelectionProvider, Mo
 | 
			
		||||
 | 
			
		||||
	protected void recalculateValueBounds() {
 | 
			
		||||
		if(streams.size()>0){
 | 
			
		||||
			Rectangle bounds = valueListScrolled.getParent().getBounds();
 | 
			
		||||
			Point size = valueList.computeSize(SWT.DEFAULT, SWT.DEFAULT);
 | 
			
		||||
//			System.out.println("Value calc: "+bounds+" / "+size);
 | 
			
		||||
			int corr = (int) (2.35*valueListScrolled.getHorizontalBar().getSize().y);
 | 
			
		||||
			valueListScrolled.setMinSize(Math.max(bounds.width,  size.x), Math.max(bounds.height-corr,  size.y));
 | 
			
		||||
			valueListScrolled.setMinSize(size);
 | 
			
		||||
			valueListScrolled.setAlwaysShowScrollBars(true);
 | 
			
		||||
			valueListScrolled.getVerticalBar().setVisible(false);
 | 
			
		||||
		}
 | 
			
		||||
@@ -289,11 +283,8 @@ public class TxDisplay implements PropertyChangeListener, ISelectionProvider, Mo
 | 
			
		||||
 | 
			
		||||
	protected void recalculateNameBounds() {
 | 
			
		||||
		if(streams.size()>0){
 | 
			
		||||
			Rectangle bounds = nameListScrolled.getParent().getBounds();
 | 
			
		||||
			Point size = nameList.computeSize(SWT.DEFAULT, SWT.DEFAULT);
 | 
			
		||||
//			System.out.println("Name calc: "+bounds+" / "+size);
 | 
			
		||||
			int corr = (int) (2.35*valueListScrolled.getHorizontalBar().getSize().y);
 | 
			
		||||
			nameListScrolled.setMinSize(Math.max(bounds.width,  size.x), Math.max(bounds.height-corr,  size.y));
 | 
			
		||||
			nameListScrolled.setMinSize(size);
 | 
			
		||||
			nameListScrolled.setAlwaysShowScrollBars(true);
 | 
			
		||||
			nameListScrolled.getVerticalBar().setVisible(false);
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user