Class ModelKitPopup

    • Field Detail

      • hasUnitCell

        private boolean hasUnitCell
      • allOperators

        private java.lang.String[] allOperators
      • currentModelIndex

        private int currentModelIndex
      • alertedNoEdit

        private boolean alertedNoEdit
      • atomHoverLabel

        private java.lang.String atomHoverLabel
      • bondHoverLabel

        private java.lang.String bondHoverLabel
      • xtalHoverLabel

        private java.lang.String xtalHoverLabel
      • activeMenu

        private java.lang.String activeMenu
      • lastModelSet

        protected ModelSet lastModelSet
      • pickAtomAssignType

        private java.lang.String pickAtomAssignType
      • lastElementType

        private java.lang.String lastElementType
      • pickBondAssignType

        private java.lang.String pickBondAssignType
      • isPickAtomAssignCharge

        private boolean isPickAtomAssignCharge
      • bsHighlight

        private javajs.util.BS bsHighlight
      • bondIndex

        private int bondIndex
      • bondAtomIndex1

        private int bondAtomIndex1
      • bondAtomIndex2

        private int bondAtomIndex2
      • bsRotateBranch

        private javajs.util.BS bsRotateBranch
      • branchAtomIndex

        private int branchAtomIndex
      • isRotateBond

        private boolean isRotateBond
      • screenXY

        private int[] screenXY
      • mkdata

        private java.util.Map<java.lang.String,​java.lang.Object> mkdata
      • showSymopInfo

        private boolean showSymopInfo
      • addXtalHydrogens

        private boolean addXtalHydrogens
        when TRUE, add H atoms to C when added to the modelSet.
      • clickToSetElement

        private boolean clickToSetElement
        Except for H atoms, do not allow changes to elements just by clicking them. This protects against doing that inadvertently when editing.
      • centerPoint

        private javajs.util.P3 centerPoint
      • spherePoint

        private javajs.util.P3 spherePoint
      • viewOffset

        private javajs.util.P3 viewOffset
      • centerDistance

        private float centerDistance
      • symop

        private java.lang.Object symop
      • centerAtomIndex

        private int centerAtomIndex
      • secondAtomIndex

        private int secondAtomIndex
      • atomIndexSphere

        private int atomIndexSphere
      • drawData

        private java.lang.String drawData
      • drawScript

        private java.lang.String drawScript
      • iatom0

        private int iatom0
      • SYMMETRY_OPTIONS

        public static final java.lang.String SYMMETRY_OPTIONS
        See Also:
        Constant Field Values
      • UNITCELL_OPTIONS

        public static final java.lang.String UNITCELL_OPTIONS
        See Also:
        Constant Field Values
      • Pt000

        private static final javajs.util.P3 Pt000
      • state

        private int state
      • rotationDeg

        private float rotationDeg
      • lastCenter

        private java.lang.String lastCenter
      • lastOffset

        private java.lang.String lastOffset
    • Constructor Detail

      • ModelKitPopup

        public ModelKitPopup()
    • Method Detail

      • initializeForModel

        public void initializeForModel()
      • jpiUpdateComputedMenus

        public void jpiUpdateComputedMenus()
      • updateOperatorMenu

        protected void updateOperatorMenu()
      • addAllCheckboxItems

        private void addAllCheckboxItems​(SC menu,
                                         java.lang.String[] labels)
      • updateAllXtalMenuOptions

        protected void updateAllXtalMenuOptions()
      • setLabel

        private void setLabel​(java.lang.String key,
                              java.lang.String label)
      • getActiveMenu

        public java.lang.String getActiveMenu()
        for FrankRender -- the thin box on the top left
        Returns:
        [ "atomMenu" | "bondMenu" | "xtalMenu" | null ]
      • setActiveMenu

        public java.lang.String setActiveMenu​(java.lang.String name)
        Set the active menu and request a repaint.
        Parameters:
        name -
        Returns:
        activeMenu or null
      • appUpdateSpecialCheckBoxValue

        protected void appUpdateSpecialCheckBoxValue​(SC source,
                                                     java.lang.String actionCommand,
                                                     boolean selected)
        Set the active menu based on updating a value -- usually by the user, but also during setup (ignored).
        Specified by:
        appUpdateSpecialCheckBoxValue in class GenericPopup
      • isXtalState

        private boolean isXtalState()
      • setMKState

        private void setMKState​(int bits)
      • getMKState

        private int getMKState()
      • setSymEdit

        private void setSymEdit​(int bits)
      • getSymEditState

        private int getSymEditState()
      • getViewState

        private int getViewState()
      • setSymViewState

        private void setSymViewState​(int bits)
      • getSymViewState

        private int getSymViewState()
      • setUnitCell

        private void setUnitCell​(int bits)
      • getUnitCellState

        private int getUnitCellState()
      • isPickAtomAssignCharge

        public boolean isPickAtomAssignCharge()
      • getProperty

        public java.lang.Object getProperty​(java.lang.Object data)
        Get a property of the modelkit.
        Parameters:
        data - a name or an array with [name, value]
        Returns:
        value
      • setProperty

        public java.lang.Object setProperty​(java.lang.String name,
                                            java.lang.Object value)
        Modify the state by setting a property -- primarily from CmdExt.modelkit. Also can be used for "get" purposes.
        Parameters:
        name -
        value -
        Returns:
        null or "get" value
      • isTrue

        private static boolean isTrue​(java.lang.Object value)
      • getData

        private java.lang.Object getData​(java.lang.String key)
        Parameters:
        key -
        Returns:
      • addData

        private void addData​(java.lang.String key,
                             java.lang.Object value)
      • processAtomClick

        private boolean processAtomClick​(int atomIndex)
        An atom has been clicked -- handle it. Called from CmdExt.assignAtom from the script created in ActionManager.assignNew from Actionmanager.checkReleaseAction
        Parameters:
        atomIndex -
        Returns:
        true if handled
      • getHoverLabel

        private java.lang.String getHoverLabel​(int atomIndex)
        Called by Viewer.hoverOn to set the special label if desired.
        Parameters:
        atomIndex -
        Returns:
        special label or null
      • setDefaultState

        private void setDefaultState​(int mode)
      • getUnknownCheckBoxScriptToRun

        public java.lang.String getUnknownCheckBoxScriptToRun​(SC item,
                                                              java.lang.String name,
                                                              java.lang.String what,
                                                              boolean TF)
        From JmolGenericPopup.appRunSpecialCheckBox when name starts with "mk" or has "??" in it.
        Specified by:
        getUnknownCheckBoxScriptToRun in class GenericPopup
      • processMKPropertyItem

        private void processMKPropertyItem​(java.lang.String name,
                                           boolean TF)
      • showXtalSymmetry

        private void showXtalSymmetry()
        Draw the symmetry element
      • assignAtom

        private void assignAtom​(int atomIndex,
                                java.lang.String type,
                                boolean autoBond,
                                boolean addHsAndBond,
                                boolean isClick)
        Original ModelKitPopup functionality -- assign an atom.
        Parameters:
        atomIndex -
        type -
        autoBond -
        addHsAndBond -
        isClick - whether this is a click or not
      • assignBond

        private javajs.util.BS assignBond​(int bondIndex,
                                          char type)
        Original ModelKit functionality -- assign a bond.
        Parameters:
        bondIndex -
        type -
        Returns:
        bit set of atoms to modify
      • isVwrRotateBond

        private boolean isVwrRotateBond()
      • getRotateBondIndex

        public int getRotateBondIndex()
      • resetBondFields

        private void resetBondFields​(java.lang.String where)
        Parameters:
        where -
      • setBondIndex

        private void setBondIndex​(int index,
                                  boolean isRotate)
        Set the bond for rotation -- called by Sticks.checkObjectHovered via Viewer.highlightBond.
        Parameters:
        index -
        isRotate -
      • actionRotateBond

        public void actionRotateBond​(int deltaX,
                                     int deltaY,
                                     int x,
                                     int y,
                                     boolean forceFull)
        Actually rotate the bond. Called by ActionManager.checkDragWheelAction.
        Parameters:
        deltaX -
        deltaY -
        x -
        y -
        forceFull -
      • menuFocusCallback

        public void menuFocusCallback​(java.lang.String name,
                                      java.lang.String actionCommand,
                                      boolean gained)
        Specified by:
        menuFocusCallback in class GenericPopup
      • doMenuClickCallbackMK

        public void doMenuClickCallbackMK​(SC source,
                                          java.lang.String script)
      • getScriptForCallback

        protected java.lang.String getScriptForCallback​(SC source,
                                                        java.lang.String id,
                                                        java.lang.String script)
        Secondary processing of menu item click
        Specified by:
        getScriptForCallback in class GenericPopup
      • processXtalClick

        private void processXtalClick​(java.lang.String id,
                                      java.lang.String action)
      • processSelOpClick

        private void processSelOpClick​(java.lang.String action)
      • processSymop

        private boolean processSymop​(java.lang.String id,
                                     boolean isFocus)
      • showSymop

        private void showSymop​(java.lang.Object symop)
      • processModeClick

        private void processModeClick​(java.lang.String action)
      • processSelClick

        private void processSelClick​(java.lang.String action)
      • processSymClick

        private void processSymClick​(java.lang.String action)
      • processUCClick

        private void processUCClick​(java.lang.String action)
      • handleDragAtom

        public boolean handleDragAtom​(MouseState pressed,
                                      MouseState dragged,
                                      int[] countPlusIndices)
        Called from ActionManager for a drag-drop
        Parameters:
        pressed -
        dragged -
        countPlusIndices -
        Returns:
        true if handled here
      • pointFromTriad

        private static javajs.util.P3 pointFromTriad​(java.lang.String pos)
      • notImplemented

        private static void notImplemented​(java.lang.String action)
      • promptUser

        private java.lang.String promptUser​(java.lang.String msg,
                                            java.lang.String def)
      • runScriptBuffered

        private java.lang.String runScriptBuffered​(java.lang.String script)
      • handleAssignNew

        public boolean handleAssignNew​(MouseState pressed,
                                       MouseState dragged,
                                       MeasurementPending mp,
                                       int dragAtomIndex)
        C
        Parameters:
        pressed -
        dragged -
        mp -
        dragAtomIndex -
        Returns:
        true if we should do a refresh now
      • cmdAssignAtom

        public void cmdAssignAtom​(int atomIndex,
                                  javajs.util.P3 pt,
                                  java.lang.String type,
                                  java.lang.String cmd,
                                  boolean isClick)
      • cmdAssignBond

        public void cmdAssignBond​(int bondIndex,
                                  char type,
                                  java.lang.String cmd)
      • cmdAssignConnect

        public void cmdAssignConnect​(int index,
                                     int index2,
                                     java.lang.String cmd,
                                     boolean isClick)
      • assignAtomClick

        public void assignAtomClick​(int atomIndex,
                                    java.lang.String element,
                                    javajs.util.P3 ptNew)
      • appRunSpecialCheckBox

        protected boolean appRunSpecialCheckBox​(SC item,
                                                java.lang.String basename,
                                                java.lang.String script,
                                                boolean TF)
        Overrides:
        appRunSpecialCheckBox in class JmolGenericPopup