public class Platform
{
- private static boolean isJS = /** @j2sNative true || */false;
+ private static boolean isJS = /** @j2sNative true || */
+ false;
+
+ private static Boolean isNoJSMac = null, isNoJSWin = null, isMac = null,
+ isWin = null;
- private static Boolean isNoJSMac = null, isNoJSWin = null,
- isMac = null, isWin = null;
-
private static Boolean isHeadless = null;
/**
* added to group mouse events into Windows and nonWindows (mac, unix, linux)
+ *
* @return
*/
public static boolean isMac()
{
- return (isMac == null ? (isMac = (System.getProperty("os.name").indexOf("Mac") >= 0)) : isMac);
+ return (isMac == null
+ ? (isMac = (System.getProperty("os.name").indexOf("Mac") >= 0))
+ : isMac);
}
/**
* added to group mouse events into Windows and nonWindows (mac, unix, linux)
+ *
* @return
*/
- public static boolean isWin()
+ public static boolean isWin()
{
- return (isWin == null ? (isWin = (System.getProperty("os.name").indexOf("Win") >= 0)) : isWin);
+ return (isWin == null
+ ? (isWin = (System.getProperty("os.name").indexOf("Win") >= 0))
+ : isWin);
}
/**
*/
public static boolean isJS()
{
- return isJS;
+ return isJS;
}
/**
*/
public static boolean isAMacAndNotJS()
{
- return (isNoJSMac == null ? (isNoJSMac = !isJS && isMac()) : isNoJSMac);
+ return (isNoJSMac == null ? (isNoJSMac = !isJS && isMac()) : isNoJSMac);
}
-/**
+ /**
* Check if we are on a Microsoft plaform...
*
* @return true if we have to cope with another platform variation
*/
public static boolean isWindowsAndNotJS()
{
- return (isNoJSWin == null ? (isNoJSWin = !isJS && isWin()) : isNoJSWin);
- }
+ return (isNoJSWin == null ? (isNoJSWin = !isJS && isWin()) : isNoJSWin);
+ }
/**
*
/**
* 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-pressed on Mac,
- * you can use e.isPopupTrigger().
+ * pressed instead of the Meta/Cmd key on Mac. To test for Ctrl-pressed on
+ * Mac, you can use e.isPopupTrigger().
*
* @param e
* @return
*/
protected static boolean isControlDown(MouseEvent e, boolean aMac)
{
- if (!aMac) {
- return e.isControlDown();
+ if (!aMac)
+ {
+ return e.isControlDown();
}
- // answer false for right mouse button
- // shortcut key will be META for a Mac
- return !e.isPopupTrigger()
- && (Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() & e.getModifiers()) != 0;
- // could we use e.isMetaDown() here?
+ // answer false for right mouse button
+ // shortcut key will be META for a Mac
+ return !e.isPopupTrigger()
+ && (Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
+ & e.getModifiers()) != 0;
+ // could we use e.isMetaDown() here?
}
// BH: I don't know about that previous method. Here is what SwingJS uses.
//
/**
- * Windows (not Mac, Linux, or Unix) and right button
- * to test for the right-mouse pressed event in Windows
- * that would have opened a menu or a Mac.
+ * Windows (not Mac, Linux, or Unix) and right button to test for the
+ * right-mouse pressed event in Windows that would have opened a menu or a
+ * Mac.
*
* @param e
* @return
*/
- public static boolean isWinRightButton(MouseEvent e)
+ public static boolean isWinRightButton(MouseEvent e)
{
- // was !isAMac(), but that is true also for Linux and Unix and JS,
+ // was !isAMac(), but that is true also for Linux and Unix and JS,
- return isWin() && SwingUtilities.isRightMouseButton(e);
+ return isWin() && SwingUtilities.isRightMouseButton(e);
}
-
-
+
/**
- * Windows (not Mac, Linux, or Unix) and middle button -- for mouse wheeling
+ * Windows (not Mac, Linux, or Unix) and middle button -- for mouse wheeling
* without pressing the button.
*
* @param e
* @return
*/
- public static boolean isWinMiddleButton(MouseEvent e)
+ public static boolean isWinMiddleButton(MouseEvent e)
{
- // was !isAMac(), but that is true also for Linux and Unix and JS
- return isWin() && SwingUtilities.isMiddleMouseButton(e);
+ // was !isAMac(), but that is true also for Linux and Unix and JS
+ return isWin() && SwingUtilities.isMiddleMouseButton(e);
}
- public static boolean allowMnemonics()
+ public static boolean allowMnemonics()
{
- return !isMac();
+ return !isMac();
}
-
+
public final static int TIME_RESET = 0;
- public final static int TIME_MARK = 1;
- public static final int TIME_SET = 2;
- public static final int TIME_GET = 3;
-
+
+ public final static int TIME_MARK = 1;
+
+ public static final int TIME_SET = 2;
+
+ public static final int TIME_GET = 3;
+
public static long time, mark, set, duration;
-
- public static void timeCheck(String msg, int mode) {
- long t = System.currentTimeMillis();
- switch (mode) {
- case TIME_RESET:
- time = mark = t;
- if (msg != null)
+
+ public static void timeCheck(String msg, int mode)
+ {
+ long t = System.currentTimeMillis();
+ switch (mode)
+ {
+ case TIME_RESET:
+ time = mark = t;
+ if (msg != null)
{
System.err.println("Platform: timer reset\t\t\t" + msg);
}
- break;
- case TIME_MARK:
- if (set > 0) {
- duration += (t - set);
- } else {
- if (time == 0)
+ break;
+ case TIME_MARK:
+ if (set > 0)
{
- time = mark = t;
+ duration += (t - set);
}
- if (msg != null)
+ else
+ {
+ if (time == 0)
+ {
+ time = mark = t;
+ }
+ if (msg != null)
{
- System.err.println("Platform: timer mark\t" + ((t - time)/1000f) + "\t" + ((t - mark)/1000f) + "\t" + msg);
+ System.err.println("Platform: timer mark\t" + ((t - time) / 1000f)
+ + "\t" + ((t - mark) / 1000f) + "\t" + msg);
}
- mark = t;
- }
- break;
- case TIME_SET:
- set = t;
- break;
- case TIME_GET:
- if (msg != null)
+ mark = t;
+ }
+ break;
+ case TIME_SET:
+ set = t;
+ break;
+ case TIME_GET:
+ if (msg != null)
{
- System.err.println("Platform: timer dur\t" + ((t - time)/1000f) + "\t" + ((duration)/1000f) + "\t" + msg);
+ System.err.println("Platform: timer dur\t" + ((t - time) / 1000f)
+ + "\t" + ((duration) / 1000f) + "\t" + msg);
}
- set = 0;
- break;
- }
+ set = 0;
+ break;
+ }
}
- public static void cacheFileData(String path, byte[] data)
- {
- if (!isJS())
+ public static void cacheFileData(String path, byte[] data)
{
- return;
- /**
- * @j2sNative
- *
- * swingjs.JSUtil.cacheFileData$S$O(path, data);
- *
- */
- }
+ if (!isJS())
+ {
+ return;
+ }
+ /**
+ * @j2sNative
+ *
+ * swingjs.JSUtil.cacheFileData$S$O(path, data);
+ *
+ */
}
- public static byte[] getFileBytes(File f)
+ public static byte[] getFileBytes(File f)
{
- return /** @j2sNative f && f._bytes || */null;
+ return /** @j2sNative f && f._bytes || */
+ null;
}
- public static byte[] getFileAsBytes(String fileStr)
+ public static byte[] getFileAsBytes(String fileStr)
{
// BH 2018 hack for no support for access-origin
- return /** @j2sNative swingjs.JSUtil.getFileAsBytes$O(fileStr) || */ null;
+ return /** @j2sNative swingjs.JSUtil.getFileAsBytes$O(fileStr) || */
+ null;
}
- public static String getFileAsString(String data)
+ public static String getFileAsString(String data)
{
- return /** @j2sNative swingjs.JSUtil.getFileAsString$S(data) || */ null;
+ return /** @j2sNative swingjs.JSUtil.getFileAsString$S(data) || */
+ null;
}
- public static boolean setFileBytes(File f, String urlstring)
+ public static boolean setFileBytes(File f, String urlstring)
{
- if (!isJS())
- {
- return false;
- }
- @SuppressWarnings("unused")
- byte[] bytes = getFileAsBytes(urlstring);
- /** @j2sNative
- * f._bytes = bytes;
- */
- return true;
+ if (!isJS())
+ {
+ return false;
+ }
+ @SuppressWarnings("unused")
+ byte[] bytes = getFileAsBytes(urlstring);
+ /**
+ * @j2sNative f._bytes = bytes;
+ */
+ return true;
}
-
public static void addJ2SBinaryType(String ext)
{
- /**
- * @j2sNative
- *
- * J2S._binaryTypes.push("." + ext + "?");
- *
- */
+ /**
+ * @j2sNative
+ *
+ * J2S._binaryTypes.push("." + ext + "?");
+ *
+ */
}
- public static String encodeURI(String value)
+ public static String encodeURI(String value)
{
/**
- * @j2sNative
- * return encodeURIComponent(value);
+ * @j2sNative return encodeURIComponent(value);
*/
- return value;
+ return value;
}
- public static boolean openURL(String url)
- {
- if (!isJS())
+ public static boolean openURL(String url)
{
- return false;
- }
- /**
- * @j2sNative
- *
- *
- * window.open(url);
- */
- return true;
+ if (!isJS())
+ {
+ return false;
+ }
+ /**
+ * @j2sNative
+ *
+ *
+ * window.open(url);
+ */
+ return true;
}
- public static String getUniqueAppletID() {
- @SuppressWarnings("unused")
- ThreadGroup g = Thread.currentThread().getThreadGroup();
- /**
- * @j2sNative return g.html5Applet._uniqueId;
- *
- */
- return null;
+ public static String getUniqueAppletID()
+ {
+ @SuppressWarnings("unused")
+ ThreadGroup g = Thread.currentThread().getThreadGroup();
+ /**
+ * @j2sNative return g.html5Applet._uniqueId;
+ *
+ */
+ return null;
+
+ }
- }
/**
- * Read the Info block for this applet.
+ * Read the Info block for this applet.
*
- * @param prefix "jalview_"
+ * @param prefix
+ * "jalview_"
* @param p
- * @return unique id for this applet
+ * @return unique id for this applet
*/
- public static void readInfoProperties(String prefix, Properties p)
+ public static void readInfoProperties(String prefix, Properties p)
{
- @SuppressWarnings("unused")
- ThreadGroup g = Thread.currentThread().getThreadGroup();
- String id = getUniqueAppletID();
- String key = "", value = "";
- /**
- * @j2sNative
- var info = g.html5Applet.__Info || {};
- for (var key in info) {
- if (key.indexOf(prefix) == 0) {
- value = "" + info[key];
- */
-
- p.put(id + "_" + key, value);
-
- /**
- * @j2sNative
-
-
- }
- }
- */
- }
+ @SuppressWarnings("unused")
+ ThreadGroup g = Thread.currentThread().getThreadGroup();
+ String id = getUniqueAppletID();
+ String key = "", value = "";
+ /**
+ * @j2sNative var info = g.html5Applet.__Info || {}; for (var key in info) {
+ * if (key.indexOf(prefix) == 0) { value = "" + info[key];
+ */
+ p.put(id + "_" + key, value);
+
+ /**
+ * @j2sNative
+ *
+ *
+ * } }
+ */
+ }
}