tmf: Update histogram layout
authorPatrick Tasse <patrick.tasse@gmail.com>
Wed, 13 Nov 2013 21:44:12 +0000 (16:44 -0500)
committerPatrick Tasse <patrick.tasse@gmail.com>
Mon, 25 Nov 2013 20:53:27 +0000 (15:53 -0500)
- Both histograms fill all available space with no minimum height
- The max nb event text control grows in width according to its maximum
(watermark) text extent but never shrinks, eliminating layout jitter
(bug 375990)

Change-Id: I1ca835434f3e0fca4196aa7f23eb29dead2f50db
Signed-off-by: Patrick Tasse <patrick.tasse@gmail.com>
Reviewed-on: https://git.eclipse.org/r/18355
Tested-by: Hudson CI
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
IP-Clean: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/Histogram.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java

index 341d7052caf0771e29a2e2fb05e56c32ca407e7c..8eb5d157db160d8b9342100244d22e463bc5d1bc 100644 (file)
@@ -263,6 +263,7 @@ public abstract class Histogram implements ControlListener, PaintListener, KeyLi
         gridData.horizontalAlignment = SWT.FILL;
         gridData.verticalAlignment = SWT.FILL;
         gridData.grabExcessHorizontalSpace = true;
+        gridData.grabExcessVerticalSpace = true;
         composite.setLayoutData(gridData);
 
         // Y-axis max event
@@ -283,7 +284,10 @@ public abstract class Histogram implements ControlListener, PaintListener, KeyLi
         gridData.verticalSpan = 2;
         gridData.horizontalAlignment = SWT.FILL;
         gridData.verticalAlignment = SWT.FILL;
+        gridData.heightHint = 0;
+        gridData.widthHint = 0;
         gridData.grabExcessHorizontalSpace = true;
+        gridData.grabExcessVerticalSpace = true;
         canvasComposite.setLayoutData(gridData);
         canvasComposite.setLayout(new FillLayout());
         fCanvas = new Canvas(canvasComposite, SWT.DOUBLE_BUFFERED);
@@ -577,6 +581,8 @@ public abstract class Histogram implements ControlListener, PaintListener, KeyLi
                                 long maxNbEvents = HistogramScaledData.hideLostEvents ? fScaledData.fMaxValue : fScaledData.fMaxCombinedValue;
                                 fMaxNbEventsText.setText(Long.toString(maxNbEvents));
                                 // The Y-axis area might need to be re-sized
+                                GridData gd = (GridData) fMaxNbEventsText.getLayoutData();
+                                gd.widthHint = Math.max(gd.widthHint, fMaxNbEventsText.computeSize(SWT.DEFAULT, SWT.DEFAULT).x);
                                 fMaxNbEventsText.getParent().layout();
                             }
                         }
index 4035b12c12b7659a52a14b332b1cf205212fc6d8..89fd32aad343e57af5958105936dae59a77a1155 100644 (file)
@@ -224,6 +224,7 @@ public class HistogramView extends TmfView {
         gridData.horizontalAlignment = SWT.FILL;
         gridData.verticalAlignment = SWT.FILL;
         gridData.grabExcessHorizontalSpace = true;
+        gridData.grabExcessVerticalSpace = true;
         timeRangeComposite.setLayoutData(gridData);
 
         // Histogram
@@ -251,6 +252,7 @@ public class HistogramView extends TmfView {
         gridData.verticalAlignment = SWT.FILL;
         gridData.horizontalSpan = 2;
         gridData.grabExcessHorizontalSpace = true;
+        gridData.grabExcessVerticalSpace = true;
         fullRangeComposite.setLayoutData(gridData);
 
         // Histogram
This page took 0.026814 seconds and 5 git commands to generate.