JmolPopup
Date: 2019-10-22

org.jmol.popup

## Class JmolPopup

- java.lang.Object
- - org.jmol.popup.GenericPopup
  - - org.jmol.popup.JmolGenericPopup
    - - org.jmol.popup.JmolPopup

- All Implemented Interfaces:
    GenericMenuInterface
  Direct Known Subclasses:
    AwtJmolPopup, JSJmolPopup

      public abstract class JmolPopup
      extends JmolGenericPopup

  An abstract popup class that is instantiated for a given platform and context as one of:

         -- abstract JmolPopup
            -- AwtJmolPopup
            -- JSJmolPopup

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private int` | `ac`
    `private java.lang.String` | `altlocs`
    `private javajs.util.Lst<SC>` | `ChargesOnly`
    `private javajs.util.Lst<java.lang.String>` | `cnmrPeaks`
    `private java.lang.String` | `configurationSelected`
    `private java.lang.String` | `currentFrankId`
    `private boolean` | `fileHasUnitCell`
    `private javajs.util.Lst<SC>` | `FileMolOnly`
    `private javajs.util.Lst<SC>` | `FileUnitOnly`
    `private javajs.util.Lst<SC>` | `FramesOnly`
    `private java.lang.Object[][]` | `frankList`
    `private int[]` | `group3Counts`
    `private java.lang.String` | `group3List`
    `private boolean` | `hasSymmetry`
    `private boolean` | `haveBFactors`
    `private boolean` | `haveCharges`
    `private javajs.util.Lst<java.lang.String>` | `hnmrPeaks`
    `private boolean` | `isLastFrame`
    `private boolean` | `isMultiConfiguration`
    `private boolean` | `isMultiFrame`
    `private boolean` | `isPDB`
    `private boolean` | `isUnitCell`
    `private boolean` | `isVibration`
    `private boolean` | `isZapped`
    `private static int` | `itemMax`
    `private static int` | `MENUITEM_HEIGHT`
    `private int` | `modelCount`
    `private int` | `modelIndex`
    `private java.util.Map<java.lang.String,java.lang.Object>` | `modelInfo`
    `private java.lang.String` | `modelSetFileName`
    `private java.util.Map<java.lang.String,java.lang.Object>` | `modelSetInfo`
    `private java.lang.String` | `modelSetName`
    `private java.lang.String` | `modelSetRoot`
    `private javajs.util.Lst<SC>` | `NotPDB`
    `private java.lang.String[]` | `noZapped`
    `private java.lang.String` | `nullModelSetName`
    `private javajs.util.Lst<SC>` | `PDBOnly`
    `private javajs.util.Lst<SC>` | `SingleModelOnly`
    `private javajs.util.Lst<SC>` | `Special`
    `private javajs.util.Lst<SC>` | `SymmetryOnly`
    `private javajs.util.Lst<SC>` | `TemperatureOnly`
    `private int` | `titleWidthMax`
    `private javajs.util.Lst<SC>` | `UnitcellOnly`
    `private static int` | `UPDATE_ALL`
    `private static int` | `UPDATE_CONFIG`
    `protected static int` | `UPDATE_NEVER`
    `private static int` | `UPDATE_SHOW`
    `protected int` | `updateMode`
    `private javajs.util.Lst<SC>` | `VibrationOnly`

    - ### Fields inherited from class org.jmol.popup.JmolGenericPopup

      `frankPopup, menuText, nFrankList, vwr`

    - ### Fields inherited from class org.jmol.popup.GenericPopup

      `allowSignedFeatures, buttonGroup, currentMenuItemId, helper, htCheckbox, htMenus, isApplet, isJS, isSigned, isTainted, isWebGL, menuName, popupMenu, strMenuStructure, thisPopup, thisx, thisy, updatingForShow`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JmolPopup()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `appCheckItem(java.lang.String item, SC newMenu)` Opportunity to do something special with an item.
    `protected void` | `appCheckSpecialMenu(java.lang.String item, SC subMenu, java.lang.String word)` Opportunity to do something special with a given submenu is created
    `protected java.lang.String` | `appGetMenuAsString(java.lang.String title)`
    `protected void` | `appRestorePopupMenu()`
    `protected void` | `appUpdateForShow()`
    `protected void` | `appUpdateSpecialCheckBoxValue(SC item, java.lang.String what, boolean TF)` (1) setOption --> set setOption true or set setOption false
    `private int` | `augmentGroup3List(SC menu, java.lang.String type, boolean addSeparator)`
    `private boolean` | `checkBoolean(java.lang.String key)`
    `protected PopupResource` | `getBundle(java.lang.String menu)`
    `private java.lang.String` | `getMenuText(java.lang.String key)`
    `protected java.lang.String` | `getScriptForCallback(SC source, java.lang.String id, java.lang.String script)`
    `protected java.lang.String` | `getSpecialLabel(java.lang.String name, java.lang.String text)` menus or menu items with SPECIAL in their name are sent here for on-the-fly labeling
    `private void` | `getViewerData()`
    `private java.lang.String` | `gti(java.lang.String s, int n)`
    `private java.lang.String` | `gto(java.lang.String s, java.lang.Object o)`
    `void` | `jpiDispose()`
    `void` | `jpiUpdateComputedMenus()`
    `private void` | `setFrankMenu(java.lang.String id)`
    `private boolean` | `setSecStrucMenu(SC menu, java.util.Map<java.lang.String,java.lang.Object> dssr)`
    `private boolean` | `setSpectraMenu(SC menu, javajs.util.Lst<java.lang.String> peaks)`
    `protected boolean` | `showFrankMenu()`
    `private void` | `updateAboutSubmenu()`
    `private void` | `updateConfigurationComputedMenu()`
    `private void` | `updateElementsComputedMenu(javajs.util.BS elementsPresentBitSet)`
    `private void` | `updateFileMenu()`
    `private void` | `updateFileTypeDependentMenus()`
    `private void` | `updateFRAMESbyModelComputedMenu()`
    `private int` | `updateGroup3List(SC menu, java.lang.String name)`
    `private void` | `updateHeteroComputedMenu(java.util.Map<java.lang.String,java.lang.String> htHetero)`
    `private void` | `updateLanguageSubmenu()`
    `private void` | `updateModelSetComputedMenu()`
    `private void` | `updatePDBComputedMenus()`
    `private void` | `updateSceneComputedMenu()`
    `private void` | `updateSelectMenu()`
    `private void` | `updateSpecialMenuItem(SC m)`
    `private void` | `updateSpectraMenu()`
    `private void` | `updateSurfMoComputedMenu(java.util.Map<java.lang.String,java.lang.Object> moData)`
    `private void` | `updateSYMMETRYComputedMenus()`
    `private void` | `updateSYMMETRYSelectComputedMenu()`
    `private void` | `updateSYMMETRYShowComputedMenu()`

    - ### Methods inherited from class org.jmol.popup.JmolGenericPopup

      `appFixLabel, appGetBooleanProperty, appRunScript, appRunSpecialCheckBox, initialize, jpiGetMenuAsObject, jpiInitialize, jpiShow`

    - ### Methods inherited from class org.jmol.popup.GenericPopup

      `addMenuItem, addMenuItems, convertToMegabytes, doMenuCheckBoxCallback, doMenuClickCallback, getEntryIcon, getImageIcon, getUnknownCheckBoxScriptToRun, initSwing, jpiGetMenuAsString, menuAddSeparator, menuAddSubMenu, menuCheckBoxCallback, menuClickCallback, menuCreateCheckboxItem, menuCreateItem, menuEnable, menuFocusCallback, menuGetId, menuGetListPosition, menuNewSubMenu, menuRemoveAll, menuSetAutoscrolls, menuSetLabel, menuShowPopup, setText, show, updateButton, updateSignedAppletItems`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### UPDATE_NEVER

          protected static final int UPDATE_NEVER

      See Also:
        Constant Field Values

    - #### UPDATE_ALL

          private static final int UPDATE_ALL

      See Also:
        Constant Field Values

    - #### UPDATE_CONFIG

          private static final int UPDATE_CONFIG

      See Also:
        Constant Field Values

    - #### UPDATE_SHOW

          private static final int UPDATE_SHOW

      See Also:
        Constant Field Values

    - #### updateMode

          protected int updateMode

    - #### itemMax

          private static final int itemMax

      See Also:
        Constant Field Values

    - #### titleWidthMax

          private int titleWidthMax

    - #### nullModelSetName

          private java.lang.String nullModelSetName

    - #### modelSetName

          private java.lang.String modelSetName

    - #### modelSetFileName

          private java.lang.String modelSetFileName

    - #### modelSetRoot

          private java.lang.String modelSetRoot

    - #### currentFrankId

          private java.lang.String currentFrankId

    - #### configurationSelected

          private java.lang.String configurationSelected

    - #### altlocs

          private java.lang.String altlocs

    - #### frankList

          private java.lang.Object[][] frankList

    - #### modelSetInfo

          private java.util.Map<java.lang.String,java.lang.Object> modelSetInfo

    - #### modelInfo

          private java.util.Map<java.lang.String,java.lang.Object> modelInfo

    - #### NotPDB

          private javajs.util.Lst<SC> NotPDB

    - #### PDBOnly

          private javajs.util.Lst<SC> PDBOnly

    - #### FileUnitOnly

          private javajs.util.Lst<SC> FileUnitOnly

    - #### FileMolOnly

          private javajs.util.Lst<SC> FileMolOnly

    - #### UnitcellOnly

          private javajs.util.Lst<SC> UnitcellOnly

    - #### SingleModelOnly

          private javajs.util.Lst<SC> SingleModelOnly

    - #### FramesOnly

          private javajs.util.Lst<SC> FramesOnly

    - #### VibrationOnly

          private javajs.util.Lst<SC> VibrationOnly

    - #### Special

          private javajs.util.Lst<SC> Special

    - #### SymmetryOnly

          private javajs.util.Lst<SC> SymmetryOnly

    - #### ChargesOnly

          private javajs.util.Lst<SC> ChargesOnly

    - #### TemperatureOnly

          private javajs.util.Lst<SC> TemperatureOnly

    - #### fileHasUnitCell

          private boolean fileHasUnitCell

    - #### haveBFactors

          private boolean haveBFactors

    - #### haveCharges

          private boolean haveCharges

    - #### isLastFrame

          private boolean isLastFrame

    - #### isMultiConfiguration

          private boolean isMultiConfiguration

    - #### isMultiFrame

          private boolean isMultiFrame

    - #### isPDB

          private boolean isPDB

    - #### hasSymmetry

          private boolean hasSymmetry

    - #### isUnitCell

          private boolean isUnitCell

    - #### isVibration

          private boolean isVibration

    - #### isZapped

          private boolean isZapped

    - #### modelIndex

          private int modelIndex

    - #### modelCount

          private int modelCount

    - #### ac

          private int ac

    - #### group3List

          private java.lang.String group3List

    - #### group3Counts

          private int[] group3Counts

    - #### cnmrPeaks

          private javajs.util.Lst<java.lang.String> cnmrPeaks

    - #### hnmrPeaks

          private javajs.util.Lst<java.lang.String> hnmrPeaks

    - #### MENUITEM_HEIGHT

          private static final int MENUITEM_HEIGHT

      See Also:
        Constant Field Values

    - #### noZapped

          private final java.lang.String[] noZapped

  - ### Constructor Detail

    - #### JmolPopup

          public JmolPopup()

  - ### Method Detail

    - #### jpiDispose

          public void jpiDispose()

      Specified by:
        `jpiDispose` in interface `GenericMenuInterface`
      Overrides:
        `jpiDispose` in class `JmolGenericPopup`

    - #### getBundle

          protected PopupResource getBundle(java.lang.String menu)

      Specified by:
        `getBundle` in class `JmolGenericPopup`

    - #### showFrankMenu

          protected boolean showFrankMenu()

      Overrides:
        `showFrankMenu` in class `JmolGenericPopup`

    - #### jpiUpdateComputedMenus

          public void jpiUpdateComputedMenus()

    - #### appCheckItem

          protected void appCheckItem(java.lang.String item,
                                      SC newMenu)

      Description copied from class: `GenericPopup`
      Opportunity to do something special with an item.
      Overrides:
        `appCheckItem` in class `GenericPopup`

    - #### appGetMenuAsString

          protected java.lang.String appGetMenuAsString(java.lang.String title)

      Overrides:
        `appGetMenuAsString` in class `GenericPopup`

    - #### getScriptForCallback

          protected java.lang.String getScriptForCallback(SC source,
                                                          java.lang.String id,
                                                          java.lang.String script)

      Specified by:
        `getScriptForCallback` in class `GenericPopup`

    - #### appRestorePopupMenu

          protected void appRestorePopupMenu()

      Overrides:
        `appRestorePopupMenu` in class `JmolGenericPopup`

    - #### appUpdateSpecialCheckBoxValue

          protected void appUpdateSpecialCheckBoxValue(SC item,
                                                       java.lang.String what,
                                                       boolean TF)

      (1) setOption --> set setOption true or set setOption false
      Specified by:
        `appUpdateSpecialCheckBoxValue` in class `GenericPopup`
      Parameters:
        `item` -
        `what` - option to set
        `TF` - true or false

    - #### setFrankMenu

          private void setFrankMenu(java.lang.String id)

    - #### checkBoolean

          private boolean checkBoolean(java.lang.String key)

    - #### getViewerData

          private void getViewerData()

    - #### appCheckSpecialMenu

          protected void appCheckSpecialMenu(java.lang.String item,
                                             SC subMenu,
                                             java.lang.String word)

      Description copied from class: `GenericPopup`
      Opportunity to do something special with a given submenu is created
      Overrides:
        `appCheckSpecialMenu` in class `GenericPopup`

    - #### appUpdateForShow

          protected void appUpdateForShow()

      Specified by:
        `appUpdateForShow` in class `GenericPopup`

    - #### updateFileMenu

          private void updateFileMenu()

    - #### getMenuText

          private java.lang.String getMenuText(java.lang.String key)

    - #### updateSelectMenu

          private void updateSelectMenu()

    - #### updateElementsComputedMenu

          private void updateElementsComputedMenu(javajs.util.BS elementsPresentBitSet)

    - #### updateSpectraMenu

          private void updateSpectraMenu()

    - #### setSpectraMenu

          private boolean setSpectraMenu(SC menu,
                                         javajs.util.Lst<java.lang.String> peaks)

    - #### updateHeteroComputedMenu

          private void updateHeteroComputedMenu(java.util.Map<java.lang.String,java.lang.String> htHetero)

    - #### updateSurfMoComputedMenu

          private void updateSurfMoComputedMenu(java.util.Map<java.lang.String,java.lang.Object> moData)

    - #### updateFileTypeDependentMenus

          private void updateFileTypeDependentMenus()

    - #### updateSceneComputedMenu

          private void updateSceneComputedMenu()

    - #### updatePDBComputedMenus

          private void updatePDBComputedMenus()

    - #### setSecStrucMenu

          private boolean setSecStrucMenu(SC menu,
                                          java.util.Map<java.lang.String,java.lang.Object> dssr)

    - #### updateGroup3List

          private int updateGroup3List(SC menu,
                                       java.lang.String name)

    - #### augmentGroup3List

          private int augmentGroup3List(SC menu,
                                        java.lang.String type,
                                        boolean addSeparator)

    - #### updateSYMMETRYComputedMenus

          private void updateSYMMETRYComputedMenus()

    - #### updateSYMMETRYShowComputedMenu

          private void updateSYMMETRYShowComputedMenu()

    - #### updateSYMMETRYSelectComputedMenu

          private void updateSYMMETRYSelectComputedMenu()

    - #### updateFRAMESbyModelComputedMenu

          private void updateFRAMESbyModelComputedMenu()

    - #### updateConfigurationComputedMenu

          private void updateConfigurationComputedMenu()

    - #### updateModelSetComputedMenu

          private void updateModelSetComputedMenu()

    - #### gti

          private java.lang.String gti(java.lang.String s,
                                       int n)

    - #### gto

          private java.lang.String gto(java.lang.String s,
                                       java.lang.Object o)

    - #### updateAboutSubmenu

          private void updateAboutSubmenu()

    - #### updateLanguageSubmenu

          private void updateLanguageSubmenu()

    - #### updateSpecialMenuItem

          private void updateSpecialMenuItem(SC m)

    - #### getSpecialLabel

          protected java.lang.String getSpecialLabel(java.lang.String name,
                                                     java.lang.String text)

      menus or menu items with SPECIAL in their name are sent here for on-the-fly labeling
      Parameters:
        `name` -
        `text` -
      Returns:
        revised text