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 {
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();
}
TmfExperiment<LttngEvent> tmpExperiment = (TmfExperiment<LttngEvent>)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() );
@SuppressWarnings("unchecked")
@TmfSignalHandler
public void experimentSelected(TmfExperimentSelectedSignal<LttngEvent> signal) {
- fullTraceCanvas.getHistogramContent().resetContentData();
+
+ fullTraceCanvas.createNewHistogramContent();
+
fullTraceCanvas.resetSelectedWindow();
TmfExperiment<LttngEvent> tmpExperiment = (TmfExperiment<LttngEvent>)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);
*******************************************************************************/
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;
//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;
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() );
*/
}
+ 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);
}