isAMac() -> isAMacAndNotJS(), isWindows() -> isWindowsAndNotJS()
[jalview.git] / src / jalview / util / Platform.java
index 2953c97..bb3f7fa 100644 (file)
 package jalview.util;
 
 import java.awt.Toolkit;
+import java.awt.event.InputEvent;
 import java.awt.event.MouseEvent;
 
+import javax.swing.SwingUtilities;
+
 /**
  * System platform information used by Applet and Application
  * 
@@ -31,7 +34,7 @@ import java.awt.event.MouseEvent;
 public class Platform
 {
 
-  private static Boolean isAMac = null, isWindows = null;
+  private static Boolean isNoJSMac = null, isNoJSWindows = null;
 
   private static Boolean isHeadless = null;
 
@@ -42,15 +45,15 @@ public class Platform
    * 
    * @return true if we do things in a special way.
    */
-  public static boolean isAMac()
+  public static boolean isAMacAndNotJS()
   {
-    if (isAMac == null)
+    if (isNoJSMac == null)
     {
-      isAMac = /** @j2sNative false && */
+      isNoJSMac = /** @j2sNative false && */
               System.getProperty("os.name").indexOf("Mac") > -1;
     }
 
-    return isAMac.booleanValue();
+    return isNoJSMac.booleanValue();
 
   }
 
@@ -59,14 +62,14 @@ public class Platform
    * 
    * @return true if we have to cope with another platform variation
    */
-  public static boolean isWindows()
+  public static boolean isWindowsAndNotJS()
   {
-    if (isWindows == null)
+    if (isNoJSWindows == null)
     {
-      isWindows = /** @j2sNative false && */
+      isNoJSWindows = /** @j2sNative false && */
               System.getProperty("os.name").indexOf("Win") > -1;
     }
-    return isWindows.booleanValue();
+    return isNoJSWindows.booleanValue();
   }
 
 // BH - preferred:
@@ -146,7 +149,7 @@ public class Platform
   /**
    * Answers true if the mouse event has Meta-down (Command key on Mac) or
    * Ctrl-down (on other o/s). Note this answers _false_ if the Ctrl key is
-   * pressed instead of the Meta/Cmd key on Mac. To test for Ctrl-click on Mac,
+   * pressed instead of the Meta/Cmd key on Mac. To test for Ctrl-pressed on Mac,
    * you can use e.isPopupTrigger().
    * 
    * @param e
@@ -154,7 +157,7 @@ public class Platform
    */
   public static boolean isControlDown(MouseEvent e)
   {
-    boolean aMac = isAMac();
+    boolean aMac = isAMacAndNotJS();
     return isControlDown(e, aMac);
   }
 
@@ -182,4 +185,14 @@ public class Platform
     }
     return e.isControlDown();
   }
+
+  public static boolean isWinRightButton(MouseEvent e) 
+  {
+       return !isAMacAndNotJS() && SwingUtilities.isRightMouseButton(e);
+  }
+
+  public static boolean isWinMiddleButton(MouseEvent evt) 
+  {
+       return !isAMacAndNotJS() && ((evt.getModifiers() & InputEvent.BUTTON2_MASK) == InputEvent.BUTTON2_MASK);
+  }
 }