Class CustomCodePanel

  • All Implemented Interfaces:
    com.zerog.ia.api.priv.InstallPanelInterface, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

    public abstract class CustomCodePanel
    extends com.zerog.ia.api.priv.InstallPanel

    The CustomCodePanel class is designed to allow developers to create install panels that seemlessly integrate with default InstallAnywhere install panels.

    There are several services and classes that help classes that extend CustomCodeConsoleAction provide useful functionality and interaction with the installer and the console.

    See Also:
    CustomCodePanelProxy, GUIAccess, Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.zerog.ia.api.priv.InstallPanel

        com.zerog.ia.api.priv.InstallPanel.AccessibleAWTInstallPanel
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static CustomCodePanelProxy customCodePanelProxy
      This class variable provides access to designer-specified resources, system and user-defined variables, and international resources.
      • Fields inherited from class com.zerog.ia.api.priv.InstallPanel

        rand
      • Fields inherited from class java.awt.Component

        BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      CustomCodePanel()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void clickNextButton()
      Deprecated. 
      java.lang.String getAccessibleDescription()
      Static texts (such as prompts, descriptions, or directions) do not normally receive focus in the tab order of the panel.
      java.lang.String getTitle()
      This method returns the String to be displayed on the installation step of which this Panel will be contained.
      boolean okToContinue()
      This method gets called prior to installer proceeding with the next step in the installation -- typically, when the user clicks the installer's "Next" button.
      boolean okToGoPrevious()
      This method gets called prior to installer returning to a previous step in the installation -- typically, when the user clicks the installer's "Previous" button.
      void panelIsDisplayed()
      This method is called immediately after the Panel has been displayed.
      static void setCustomCodePanelProxy​(CustomCodePanelProxy ccpp)
      This method sets the customCodePanelProxy variable to make it available for use in the custom code panels.
      void setNextButtonEnabled​(boolean state)
      Deprecated. 
      abstract boolean setupUI​(CustomCodePanelProxy customCodePanelProxy)
      This method gets called prior to the CustomCodePanel being displayed.
      • Methods inherited from class com.zerog.ia.api.priv.InstallPanel

        getAccessibleContext, getName
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, isValidateRoot, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusDownCycle, update, validate, validateTree
      • Methods inherited from class java.awt.Component

        action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface com.zerog.ia.api.priv.InstallPanelInterface

        doLayout, getBackground, getFont, getLayout, invalidate, isVisible, remove, removeAll, repaint, setBackground, setFont, setLayout, validate
    • Field Detail

      • customCodePanelProxy

        protected static CustomCodePanelProxy customCodePanelProxy

        This class variable provides access to designer-specified resources, system and user-defined variables, and international resources.

        As a class variable, this instance is available to all methods of a CustomCodePanel implementation, not just the setupUI() method which receives an instance of CustomCodePanelProxy as a parameter.

        See Also:
        CustomCodePanelProxy
    • Constructor Detail

      • CustomCodePanel

        public CustomCodePanel()
    • Method Detail

      • setCustomCodePanelProxy

        public static void setCustomCodePanelProxy​(CustomCodePanelProxy ccpp)

        This method sets the customCodePanelProxy variable to make it available for use in the custom code panels. This method should not be called or overridden by CustomCodePanel subclasses.

        Parameters:
        ccpp - Used to initialize the customCodePanelProxy class variable, provides access to designer-specified resources, system and user-defined variables, and international resources.
        See Also:
        CustomCodePanelProxy
      • setupUI

        public abstract boolean setupUI​(CustomCodePanelProxy customCodePanelProxy)

        This method gets called prior to the CustomCodePanel being displayed. This is useful for initializing Panel Components or other objects that may be needed by the install panel.

        It is very important that this method returns quickly so that the CustomCodePanel may be displayed when needed. If it is necessary to do lengthy processing, it should be done in a separate Thread.

        NOTE 1: The setupUI() method is called each time a Custom Code Panel is (re-)visited, as well as, when the installer is verifying if an install phase (e.g., Pre-Install, or Post-Install) contains any viewable install panels. This verification is performed at the beginning of an install phase -- prior to any other actions from that phase being executed. This is important to remember, as InstallAnywhere variables that a custom code panel may depend upon may not be set the first time that the setupUI() method is called.

        If this behavior causes UI problems for your install panel (e.g., duplicate or misaligned UI components), the simplest solution is to use a non-static flag to control the setup of the GUI as described in the User Guide included with your InstallAnywhere distribution.

        NOTE 2: If setupUI():boolean returns false, to indicate that the CustomCodePanel should not be displayed, the installation manager will proceed without calling any other methods in CustomCodePanel.

        Specified by:
        setupUI in interface com.zerog.ia.api.priv.InstallPanelInterface
        Specified by:
        setupUI in class com.zerog.ia.api.priv.InstallPanel
        Parameters:
        customCodePanelProxy - Provides access to designer-specified resources, system and user-defined variables, and international resources.
        Returns:
        true if the Panel should be displayed, false otherwise. By default, this method returns false.
        See Also:
        CustomCodePanelProxy, panelIsDisplayed()
      • panelIsDisplayed

        public void panelIsDisplayed()

        This method is called immediately after the Panel has been displayed.

        This is useful for doing additional processing while the Panel is displayed, without having to wait for the okToContinue() method to be called.

        This method will not be called if the setupUI() method returns false to indicate that the CustomCodePanel should not be displayed.

        A default implementation with an empty method body is automatically inherited. Classes that extend CustomCodePanel may override this method if they wish to be notified when the Panel is displayed to the user.

        Specified by:
        panelIsDisplayed in interface com.zerog.ia.api.priv.InstallPanelInterface
        Overrides:
        panelIsDisplayed in class com.zerog.ia.api.priv.InstallPanel
        See Also:
        setupUI(CustomCodePanelProxy), okToContinue(), okToGoPrevious()
      • okToContinue

        public boolean okToContinue()

        This method gets called prior to installer proceeding with the next step in the installation -- typically, when the user clicks the installer's "Next" button.

        This method will not be called if the setupUI() method returns false to indicate that the CustomCodePanel should not be displayed.

        A default implementation that returns true is automatically inherited. Classes that extend CustomCodePanel may override this method to perform runtime checks to verify if it is ok to continue to the next step in the installation process.

        Specified by:
        okToContinue in interface com.zerog.ia.api.priv.InstallPanelInterface
        Overrides:
        okToContinue in class com.zerog.ia.api.priv.InstallPanel
        Returns:
        true if it is ok to continue, false otherwise. By default, this method returns true.
        See Also:
        okToGoPrevious(), GUIAccess.setNextButtonEnabled(boolean)
      • okToGoPrevious

        public boolean okToGoPrevious()

        This method gets called prior to installer returning to a previous step in the installation -- typically, when the user clicks the installer's "Previous" button.

        This method will not be called if the setupUI() method returns false to indicate that the CustomCodePanel should not be displayed.

        A default implementation that returns true is automatically inherited. Classes that extend CustomCodePanel may override this method to perform runtime checks to verify if it is ok to return to a previous step in the installation process.

        Specified by:
        okToGoPrevious in interface com.zerog.ia.api.priv.InstallPanelInterface
        Overrides:
        okToGoPrevious in class com.zerog.ia.api.priv.InstallPanel
        Returns:
        true if it is ok to return to a previous step, false otherwise. By default, this method returns true.
        See Also:
        okToContinue(), GUIAccess.setPreviousButtonEnabled(boolean)
      • getTitle

        public java.lang.String getTitle()

        This method returns the String to be displayed on the installation step of which this Panel will be contained. By default, this method returns an empty String. Classes that extend CustomCodeConsoleAction may override this method if they wish to have a title displayed at install-time.

        Specified by:
        getTitle in interface com.zerog.ia.api.priv.InstallPanelInterface
        Overrides:
        getTitle in class com.zerog.ia.api.priv.InstallPanel
        Returns:
        The title to be displayed for this panel.
      • clickNextButton

        public final void clickNextButton()
        Deprecated.

        This method allows instances of CustomCodePanel subclasses to programatically simulate the end-user clicking the "Next" button of the installation navigator.

        This method has been deprecated as of InstallAnywhere 4. Please use the services provided by the GUIAccess service.

        Overrides:
        clickNextButton in class com.zerog.ia.api.priv.InstallPanel
        See Also:
        okToContinue(), GUIAccess.goNext(), GUIAccess.goPrevious()
      • getAccessibleDescription

        public java.lang.String getAccessibleDescription()

        Static texts (such as prompts, descriptions, or directions) do not normally receive focus in the tab order of the panel. The String returned by this method will be read by a screen reader when this panel is displayed and when the 'Next' button receives focus.

        Specified by:
        getAccessibleDescription in interface com.zerog.ia.api.priv.InstallPanelInterface
        Overrides:
        getAccessibleDescription in class com.zerog.ia.api.priv.InstallPanel
        Returns:
        String to be read by a screen reader for this panel. Empty string is returned by default.