Better way of settings Histogram size
authorWilliam Bourque <william.bourque@polymtl.ca>
Thu, 1 Apr 2010 01:11:41 +0000 (01:11 +0000)
committerWilliam Bourque <william.bourque@polymtl.ca>
Thu, 1 Apr 2010 01:11:41 +0000 (01:11 +0000)
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/histogram/HistogramView.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/histogram/TraceCanvas.java

index c6eb642ef2ac763e73e0f87986b6439b949cd573..0cd12373957e76a19b1f40a677328504c85c0e0d 100644 (file)
@@ -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<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() );
@@ -88,15 +92,15 @@ public class HistogramView extends TmfView {
     @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);
index 25974c271eadacd49f9caa5c5501b57f1e5ba8c1..9b8cfd33019f82689978e07f573655db07418cab 100644 (file)
  *******************************************************************************/
 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);
        }
This page took 0.02824 seconds and 5 git commands to generate.