Class StatusManager

java.lang.Object
org.jmol.viewer.StatusManager

public class StatusManager extends Object
The StatusManager class handles all details of status reporting, including: 1) saving the message in a queue that replaces the "callback" mechanism, 2) sending messages off to the console, and 3) delivering messages back to the main Jmol.java class in app or applet to handle differences in capabilities, including true callbacks. atomPicked fileLoaded fileLoadError frameChanged measureCompleted measurePending measurePicked newOrientation scriptEcho scriptError scriptMessage scriptStarted scriptStatus scriptTerminated userAction vwrRefreshed Bob Hanson hansonr@stolaf.edu 2/2006
  • Field Details

    • vwr

      protected Viewer vwr
    • jsl

    • cbl

    • statusList

      public String statusList
    • allowStatusReporting

      public boolean allowStatusReporting
    • messageQueue

      public Map<String,javajs.util.Lst<javajs.util.Lst<Object>>> messageQueue
    • statusPtr

      private int statusPtr
    • MAXIMUM_QUEUE_LENGTH

      private static int MAXIMUM_QUEUE_LENGTH
    • jmolScriptCallbacks

      private Map<String,String> jmolScriptCallbacks
    • _args

      private Object[] _args
    • imageMap

      private Map<String,GenericImageDialog> imageMap
    • minSyncRepeatMs

      private int minSyncRepeatMs
    • syncingScripts

      public boolean syncingScripts
    • syncingMouse

      boolean syncingMouse
    • drivingSync

      private boolean drivingSync
    • isSynced

      private boolean isSynced
    • syncDisabled

      private boolean syncDisabled
    • stereoSync

      boolean stereoSync
    • SYNC_OFF

      public static final int SYNC_OFF
      See Also:
    • SYNC_DRIVER

      public static final int SYNC_DRIVER
      See Also:
    • SYNC_SLAVE

      public static final int SYNC_SLAVE
      See Also:
    • SYNC_DISABLE

      public static final int SYNC_DISABLE
      See Also:
    • SYNC_ENABLE

      public static final int SYNC_ENABLE
      See Also:
    • SYNC_STEREO

      public static final int SYNC_STEREO
      See Also:
    • qualityJPG

      private int qualityJPG
    • qualityPNG

      private int qualityPNG
    • imageType

      private String imageType
    • audios

      private Map<String,JmolAudioPlayer> audios
  • Constructor Details

    • StatusManager

      StatusManager(Viewer vwr)
  • Method Details

    • recordStatus

      private boolean recordStatus(String statusName)
    • setStatusChanged

      private void setStatusChanged(String statusName, int intInfo, Object statusInfo, boolean isReplace)
    • getStatusChanged

      javajs.util.Lst<javajs.util.Lst<javajs.util.Lst<Object>>> getStatusChanged(String newStatusList)
    • setCallbackFunction

      public void setCallbackFunction(String callbackType, Object callbackObject)
      Set a JmolScript or JavaScript or Java callback. This method can be called with a JavaScript function, but only directly by an applet method, not using Jmol scripting.
      Parameters:
      callbackType -
      callbackObject -
    • notifyEnabled

      boolean notifyEnabled(CBK type)
    • getJmolScriptCallback

      private String getJmolScriptCallback(CBK callback)
    • getParameter

      public Object getParameter(int i)
    • fireJmolScriptCallback

      private void fireJmolScriptCallback(boolean isEnabled, CBK callback, Object[] o)
    • setStatusAppletReady

      void setStatusAppletReady(String htmlName, boolean isReady)
    • setStatusAtomMoved

      void setStatusAtomMoved(javajs.util.BS bsMoved)
    • setStatusSelect

      void setStatusSelect(javajs.util.BS atoms)
      Callback for selection change. Data will include [callbackFuncName, atoms, numberSelected, firstIndex, lastIndex + 1]
      Parameters:
      atoms -
    • setStatusStructureModified

      public void setStatusStructureModified(int atomIndex, int modelIndex, int mode, String msg, int n, javajs.util.BS bsAtoms)
    • setStatusAtomPicked

      void setStatusAtomPicked(int atomIndex, String strInfo, Map<String,Object> map)
      Parameters:
      atomIndex - -2 for draw, -3 for bond
      strInfo -
      map -
    • setStatusClicked

      int setStatusClicked(int x, int y, int action, int clickCount, int mode)
    • setStatusResized

      void setStatusResized(int width, int height)
    • haveHoverCallback

      boolean haveHoverCallback()
    • setStatusAtomHovered

      void setStatusAtomHovered(int iatom, String strInfo)
    • setStatusObjectHovered

      void setStatusObjectHovered(String id, String strInfo, javajs.util.T3 pt)
    • showImage

      void showImage(String title, Object image)
      called by Viewer.loadImageData to pop up a window with an image in it
      Parameters:
      title -
      image - or Boolean.TRUE for "close all" or Boolean.FALSE for "close"
    • setFileLoadStatus

      void setFileLoadStatus(String fullPathName, String fileName, String modelName, String errorMsg, int ptLoad, boolean doCallback, Boolean isAsync)
    • setStatusModelKit

      void setStatusModelKit(int istate)
    • setStatusFrameChanged

      void setStatusFrameChanged(int fileNo, int modelNo, int firstNo, int lastNo, int currentFrame, float currentMorphModel, String entryName)
    • setStatusDragDropped

      boolean setStatusDragDropped(int mode, int x, int y, String fileName, String[] retType)
    • setScriptEcho

      void setScriptEcho(String strEcho, boolean isScriptQueued)
    • setStatusMeasuring

      void setStatusMeasuring(String status, int intInfo, String strMeasure, float value)
    • notifyError

      void notifyError(String errType, String errMsg, String errMsgUntranslated)
    • notifyMinimizationStatus

      void notifyMinimizationStatus(String minStatus, Integer minSteps, Float minEnergy, Float minEnergyDiff, String ff)
    • setScriptStatus

      void setScriptStatus(String strStatus, String statusMessage, int msWalltime, String strErrorMessageUntranslated)
    • processScript

      void processScript(Object[] data)
    • doSync

      boolean doSync()
    • setSync

      void setSync(String mouseCommand)
    • setSyncDriver

      void setSyncDriver(int syncMode)
    • syncSend

      public Object syncSend(String script, Object appletNameOrProp, int port)
    • processService

      public Object processService(Map<String,Object> info)
      service is expected to return a value in the "ret" key
      Parameters:
      info - with key "service"
      Returns:
      info, for chaining
    • getSyncMode

      public int getSyncMode()
    • showUrl

      void showUrl(String urlString)
    • clearConsole

      public void clearConsole()
    • functionXY

      float[][] functionXY(String functionName, int nX, int nY)
    • functionXYZ

      float[][][] functionXYZ(String functionName, int nX, int nY, int nZ)
    • jsEval

      String jsEval(String strEval)
      Parameters:
      strEval -
      Returns:
      in Java a String; in JavaScript window.eval()
    • createImage

      String createImage(String fileNameOrError, String type, String text, byte[] bytes, int quality)
      offer to let application do the image creation. if text_or_bytes == null, then this is an error report.
      Parameters:
      fileNameOrError -
      type -
      text -
      bytes -
      quality -
      Returns:
      null (canceled) or a message starting with OK or an error message
    • getRegistryInfo

      Map<String,Object> getRegistryInfo()
    • dialogAsk

      String dialogAsk(String type, String fileName, Map<String,Object> params)
    • getJspecViewProperties

      Map<String,Object> getJspecViewProperties(String myParam)
    • resizeInnerPanel

      public int[] resizeInnerPanel(int width, int height)
    • resizeInnerPanelString

      public void resizeInnerPanelString(String data)
      called by file droppers
      Parameters:
      data -
    • registerAudio

      public void registerAudio(String id, Map<String,Object> htParams)
    • stopAudio

      private void stopAudio(String id)
    • playAudio

      public void playAudio(Map<String,Object> htParams)
    • notifyAudioStatus

      public void notifyAudioStatus(Map<String,Object> htParams)
      called from JmolAudio
      Parameters:
      htParams -
    • syncScript

      void syncScript(String script, String applet, int port)
    • mouseScript

      void mouseScript(String script)