Merge branch 'bug/JAL-2621' into develop
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Tue, 5 Mar 2019 15:22:40 +0000 (15:22 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Tue, 5 Mar 2019 15:22:40 +0000 (15:22 +0000)
Conflicts:
src/jalview/gui/OverviewPanel.java

1  2 
src/jalview/appletgui/OverviewPanel.java
src/jalview/gui/OverviewPanel.java

@@@ -126,13 -126,14 +126,14 @@@ public class OverviewPanel extends Pane
    {
      if (od.isPositionInBox(evt.getX(), evt.getY()))
      {
-       // display drag cursor at mouse position
-       setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
+       this.getParent()
+               .setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
      }
      else
      {
-       // reset cursor
-       setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
+       this.getParent()
+               .setCursor(
+                       Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
      }
    }
  
        if (!od.isPositionInBox(evt.getX(), evt.getY()))
        { 
        draggingBox = false;
 +
 +        // display drag cursor at mouse position
 +        setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
 +
          od.updateViewportFromMouse(evt.getX(), evt.getY(),
                  av.getAlignment().getHiddenSequences(),
                  av.getAlignment().getHiddenColumns());
+         getParent()
+                 .setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
        }
        else
        {
    @Override
    public void mouseReleased(MouseEvent evt)
    {
 +    draggingBox = false;
    }
  
    @Override
      } finally
      {
        av = null;
 +      if (oviewCanvas != null)
 +      {
 +        oviewCanvas.dispose();
 +      }
        oviewCanvas = null;
        ap = null;
        od = null;
@@@ -86,7 -86,7 +86,7 @@@ public class OverviewPanel extends JPan
      this.ap = alPanel;
  
      showHidden = Cache.getDefault(Preferences.SHOW_OV_HIDDEN_AT_START,
 -            true);
 +            false);
      if (showHidden)
      {
        od = new OverviewDimensionsShowHidden(av.getRanges(),
  
      // without this the overview window does not size to fit the overview canvas
      setPreferredSize(new Dimension(od.getWidth(), od.getHeight()));
+     
      addComponentListener(new ComponentAdapter()
      {
        @Override
        @Override
        public void mouseMoved(MouseEvent evt)
        {
-         if (!draggingBox)
-         // don't bother changing the cursor if we're dragging the box
-         // as we can't have moved inside or out of the box in that case
+         if (od.isPositionInBox(evt.getX(), evt.getY()))
          {
-           if (od.isPositionInBox(evt.getX(), evt.getY()))
-           {
-             // display drag cursor at mouse position
-             setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
-           }
-           else
-           {
-             // reset cursor
-             setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
-           }
+           /*
+            * using HAND_CURSOR rather than DRAG_CURSOR 
+            * as the latter is not supported on Mac
+            */
+           getParent().setCursor(
+                   Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
+         }
+         else
+         {
+           // reset cursor
+           getParent().setCursor(
+                   Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR));
          }
        }
      });
  
      addMouseListener(new MouseAdapter()
            if (!od.isPositionInBox(evt.getX(), evt.getY()))
            {
              draggingBox = false;
 +
 +            // display drag cursor at mouse position
 +            setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
 +
              od.updateViewportFromMouse(evt.getX(), evt.getY(),
                      av.getAlignment().getHiddenSequences(),
                      av.getAlignment().getHiddenColumns());
+             getParent().setCursor(
+                     Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            }
            else
            {
            showPopupMenu(evt);
          }
        }
 +
 +      @Override
 +      public void mouseReleased(MouseEvent evt)
 +      {
 +        draggingBox = false;
 +      }
 +
      });
    }