Do not act on user input when pinned
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Thu, 27 Oct 2016 19:37:15 +0000 (15:37 -0400)
committerJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Fri, 11 Nov 2016 15:36:07 +0000 (10:36 -0500)
Change-Id: Ib9eb4ff80a575ea79edbe1ec4e2a65670cdf8055
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/widgets/timegraph/widgets/TimeGraphScale.java

index 4cecd5708c0dc7043d2b5520953ff5c130ce6687..3128f68170ca481ebed49a3316e7db086f191870 100644 (file)
@@ -124,6 +124,8 @@ public class TimeGraphScale extends TimeGraphBaseControl implements
     private int fHeight;
     private List<Integer> fTickList = new ArrayList<>();
 
+    private boolean fIsUserInteractionEnabled = true;
+
     /**
      * Standard constructor
      *
@@ -541,7 +543,7 @@ public class TimeGraphScale extends TimeGraphBaseControl implements
     @Override
     public void mouseDown(MouseEvent e) {
         getParent().setFocus();
-        if (fDragState == NO_BUTTON && null != fTimeProvider) {
+        if (fDragState == NO_BUTTON && null != fTimeProvider && fIsUserInteractionEnabled) {
             int x = e.x - fTimeProvider.getNameSpace();
             if (LEFT_BUTTON == e.button && x > 0) {
                 setCapture(true);
@@ -599,7 +601,11 @@ public class TimeGraphScale extends TimeGraphBaseControl implements
 
     @Override
     public void mouseDoubleClick(MouseEvent e) {
-        if (e.button == 1 && null != fTimeProvider && fTimeProvider.getTime0() != fTimeProvider.getTime1() && (e.stateMask & SWT.BUTTON_MASK) == 0) {
+        if (e.button == 1
+                && null != fTimeProvider
+                && fTimeProvider.getTime0() != fTimeProvider.getTime1()
+                && (e.stateMask & SWT.BUTTON_MASK) == 0
+                && fIsUserInteractionEnabled) {
             fTimeProvider.resetStartFinishTime();
             fTime0bak = fTimeProvider.getTime0();
             fTime1bak = fTimeProvider.getTime1();
@@ -618,6 +624,13 @@ public class TimeGraphScale extends TimeGraphBaseControl implements
         Utils.updateTimeZone();
         redraw();
     }
+
+    @Override
+    public synchronized void setPinned(boolean pinned) {
+        /* When pinned disable user interaction */
+        boolean enabled = !pinned;
+        fIsUserInteractionEnabled = enabled;
+    }
 }
 
 abstract class TimeDraw {
This page took 0.027604 seconds and 5 git commands to generate.