+ // copied from AppJmol - will be refactored to binding eventually
+ int pdbResNum;
+ int mdlSep = strInfo.indexOf("/");
+ int chainSeparator = strInfo.indexOf(":"), chainSeparator1 = -1;
+
+ if (chainSeparator == -1)
+ {
+ chainSeparator = strInfo.indexOf(".");
+ if (mdlSep > -1 && mdlSep < chainSeparator)
+ {
+ chainSeparator1 = chainSeparator;
+ chainSeparator = mdlSep;
+ }
+ }
+ pdbResNum = Integer.parseInt(strInfo.substring(
+ strInfo.indexOf("]") + 1, chainSeparator));
+
+ String chainId;
+
+ if (strInfo.indexOf(":") > -1)
+ chainId = strInfo.substring(strInfo.indexOf(":") + 1, strInfo
+ .indexOf("."));
+ else
+ {
+ chainId = " ";
+ }
+
+ String pdbfilename = pdbentry.getFile();
+ if (mdlSep > -1)
+ {
+ if (chainSeparator1 == -1)
+ {
+ chainSeparator1 = strInfo.indexOf(".", mdlSep);
+ }
+ String mdlId = (chainSeparator1 > -1) ? strInfo.substring(mdlSep + 1,
+ chainSeparator1) : strInfo.substring(mdlSep + 1);
+ try
+ {
+ // recover PDB filename for the model hovered over.
+ pdbfilename = viewer
+ .getModelFileName(new Integer(mdlId).intValue() - 1);
+ } catch (Exception e)
+ {
+ }
+ ;
+ }
+ if (lastMessage == null || !lastMessage.equals(strInfo))
+ ssm.mouseOverStructure(pdbResNum, chainId, pdbfilename);
+
+ lastMessage = strInfo;
+/*
+ * Old Implementation based on Pattern regex.