From 252ae4bdc4ac9e437311a2d1ae793e2ec2b1b9c4 Mon Sep 17 00:00:00 2001 From: William Bourque Date: Thu, 1 Apr 2010 01:11:41 +0000 Subject: [PATCH] Better way of settings Histogram size --- .../ui/views/histogram/HistogramView.java | 32 +++++++++------- .../lttng/ui/views/histogram/TraceCanvas.java | 37 ++++++++++++++----- 2 files changed, 45 insertions(+), 24 deletions(-) diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/histogram/HistogramView.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/histogram/HistogramView.java index c6eb642ef2..0cd1237395 100644 --- a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/histogram/HistogramView.java +++ b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/histogram/HistogramView.java @@ -24,6 +24,7 @@ import org.eclipse.linuxtools.tmf.signal.TmfTimeSynchSignal; import org.eclipse.linuxtools.tmf.ui.views.TmfView; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; public class HistogramView extends TmfView { @@ -47,20 +48,20 @@ public class HistogramView extends TmfView { Composite folderGroup = new Composite(parent, SWT.NONE); -// GridLayout gl = new GridLayout(); -// gl.marginHeight = 0; -// gl.marginWidth = 0; -// folderGroup.setLayout(gl); + GridLayout gridLayout = new GridLayout(); + gridLayout.marginHeight = 0; + gridLayout.marginWidth = 0; + folderGroup.setLayout(gridLayout); + //folderGroup.setSize(parent.getDisplay().getBounds().width, parent.getDisplay().getBounds().height); + //folderGroup.setLayoutData(new GridData(GridData.FILL_BOTH)); folderGroup.setSize(parent.getDisplay().getBounds().width, parent.getDisplay().getBounds().height); - folderGroup.setLayoutData(new GridData(GridData.FILL_BOTH)); - fullTraceCanvas = new TraceCanvas(folderGroup, SWT.NONE, 2, 50); - - -// GridData gd = new GridData(SWT.FILL, SWT.TOP, true, false); -// gd.heightHint = 50; -// fullTraceCanvas.setLayoutData(gd); + GridData gridData = new GridData(SWT.FILL, SWT.TOP, true, false); + gridData.heightHint = 50; + gridData.minimumHeight = 50; + fullTraceCanvas = new TraceCanvas(folderGroup, SWT.NONE, 1, 50); + fullTraceCanvas.setLayoutData(gridData); fullTraceCanvas.redraw(); } @@ -73,6 +74,9 @@ public class HistogramView extends TmfView { TmfExperiment tmpExperiment = (TmfExperiment)TmfExperiment.getCurrentExperiment(); if ( (dataBackgroundFullRequest == null) && (tmpExperiment != null) ) { + + fullTraceCanvas.createNewHistogramContent(); + // Create a new time range from "start" to "end" // That way, we will get "everything" in the trace LttngTimestamp ts1 = new LttngTimestamp( tmpExperiment.getStartTime() ); @@ -88,15 +92,15 @@ public class HistogramView extends TmfView { @SuppressWarnings("unchecked") @TmfSignalHandler public void experimentSelected(TmfExperimentSelectedSignal signal) { - fullTraceCanvas.getHistogramContent().resetContentData(); + + fullTraceCanvas.createNewHistogramContent(); + fullTraceCanvas.resetSelectedWindow(); TmfExperiment tmpExperiment = (TmfExperiment)signal.getExperiment(); // Create a new time range from "start" to "end" // That way, we will get "everything" in the trace - //LttngTimestamp ts1 = new LttngTimestamp( tmpExperiment.getStartTime() ); - //LttngTimestamp ts2 = new LttngTimestamp( tmpExperiment.getEndTime() ); LttngTimestamp ts1 = new LttngTimestamp( tmpExperiment.getStartTime() ); LttngTimestamp ts2 = new LttngTimestamp( tmpExperiment.getEndTime() ); TmfTimeRange tmpRange = new TmfTimeRange(ts1, ts2); diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/histogram/TraceCanvas.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/histogram/TraceCanvas.java index 25974c271e..9b8cfd3301 100644 --- a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/histogram/TraceCanvas.java +++ b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/histogram/TraceCanvas.java @@ -11,13 +11,11 @@ *******************************************************************************/ package org.eclipse.linuxtools.lttng.ui.views.histogram; -import org.eclipse.swt.SWT; import org.eclipse.swt.events.FocusEvent; import org.eclipse.swt.events.FocusListener; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.events.MouseMoveListener; -import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Canvas; import org.eclipse.swt.widgets.Composite; @@ -25,7 +23,7 @@ public class TraceCanvas extends Canvas implements MouseMoveListener, MouseListe //public class TraceCanvas extends Canvas implements FocusListener, KeyListener, MouseMoveListener, MouseListener, MouseWheelListener, ControlListener, SelectionListener, MouseTrackListener, TraverseListener { - public Long BIDON_VARIABLE_WINDOW_SIZE = (long)(0.1 * 1000000000L); // 0.1 seconds + public Long BIDON_VARIABLE_WINDOW_SIZE = (long)(1 * 1000000000L); // 1 seconds final static int DEFAULT_WIDTH_PER_COL = 2; @@ -48,18 +46,18 @@ public class TraceCanvas extends Canvas implements MouseMoveListener, MouseListe columnWidth = widthPerColumn; columnMaxHeight = columnHeight; - setSize(parent.getDisplay().getBounds().width, columnHeight); + //setSize(parent.getDisplay().getBounds().width, columnHeight); - //int viewWidth = getParent().computeSize(SWT.DEFAULT,SWT.DEFAULT).x; - //System.out.println("*************** X " + viewWidth); +// int viewWidth = getParent().computeSize(SWT.DEFAULT,SWT.DEFAULT).x; +// System.out.println("*************** X " + viewWidth); - int viewWidth = parent.getDisplay().getBounds().width; - - histogramContent = new HistogramContent( viewWidth / widthPerColumn, viewWidth, columnMaxHeight); + //int viewWidth = parent.getDisplay().getBounds().width; + //histogramContent = new HistogramContent( viewWidth / widthPerColumn, viewWidth, columnMaxHeight); addNeededListeners(); + } - + public void addNeededListeners() { paintListener = new TraceCanvasPaintListener(getHistogramContent(), getColumnWidth(), getColumnMaxHeight() ); @@ -77,6 +75,25 @@ public class TraceCanvas extends Canvas implements MouseMoveListener, MouseListe */ } + public void createNewHistogramContent() { + + /* + System.out.println("getBounds().width : " + getBounds().width); + System.out.println("getParent().computeSize(SWT.DEFAULT,SWT.DEFAULT).x; : " + getParent().computeSize(SWT.DEFAULT,SWT.DEFAULT).x); + System.out.println("getColumnWidth : " + getColumnWidth()); + System.out.println("getLocation().x : " + getLocation().x); + System.out.println("getSize().x : " + getSize().x); + */ + + histogramContent = new HistogramContent( getSize().x / columnWidth, getSize().x, columnMaxHeight); + + // *** FIXME *** + // paintlistener need to know about the new content... + // This is nowhere near elegant, change me. + paintListener.setHistogramContent(histogramContent); + } + + public void resetSelectedWindow() { paintListener.setSelectedWindow(null); } -- 2.34.1