com.izforge.izpack.installer
Class InstallerFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by com.izforge.izpack.installer.InstallerFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class InstallerFrame
extends javax.swing.JFrame

The IzPack installer frame.

Author:
Julien Ponge created October 27, 2002, Fabrice Mirabile added fix for alert window on cross button, July 06 2005, Dennis Reil, added RulesEngine November 10 2006, several changes in January 2007
See Also:
Serialized Form

Nested Class Summary
private  class InstallerFrame.BlockFocusTraversalPolicy
          A FocusTraversalPolicy that only allows the block panel to have the focus
(package private)  class InstallerFrame.NavigationHandler
          Handles the events from the navigation bar elements.
(package private)  class InstallerFrame.WindowHandler
          The window events handler.
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  java.lang.Object blockFTP
           
private static java.lang.String CONDITIONS_SPECRESOURCENAME
          Resource name of the conditions specification
protected  javax.swing.JPanel contentPane
          The frame content pane.
private static java.lang.String CUSTOM_ICONS_RESOURCEFILE
          Resource name for custom icons
private  Debugger debugger
           
private  java.util.Map<java.lang.String,java.util.List<DynamicVariable>> dynamicvariables
           
protected  java.util.ArrayList<GUIListener> guiListener
          Registered GUICreationListener.
private static java.lang.String HEADING_ICON_RESOURCE
          Heading icon resource name.
protected  javax.swing.JComponent headingCounterComponent
          The heading counter component.
protected  javax.swing.JLabel[] headingLabels
          Heading major text.
protected  javax.swing.JPanel headingPanel
          Panel which contains the heading text and/or icon
private static java.lang.String ICON_RESOURCE
           
private static java.lang.String ICON_RESOURCE_EXT_VARIABLE_NAME
          Name of the variable where to find an extension to the resource name of the icon resource
private  javax.swing.JLabel iconLabel
          Image
 IconsDatabase icons
          The icons database.
private  boolean imageLeft
           
protected  InstallData installdata
          The installation data.
private  java.util.List<InstallerRequirement> installerrequirements
           
private  int interruptCount
          Count for discarded interrupt trials.
private  boolean isBack
          Here is persisted the direction of panel traversing.
private static float JAVA_SPECIFICATION_VERSION
          VM version to use version dependent methods calls
 LocaleDatabase langpack
          The language pack.
private static int MAX_INTERRUPT
          Maximum of discarded interrupt trials.
protected  javax.swing.JButton nextButton
          The next button.
protected  javax.swing.JPanel panelsContainer
          The panels container.
protected  javax.swing.JButton prevButton
          The previous button.
protected  javax.swing.JButton quitButton
          The quit button.
protected  RulesEngine rules
          conditions
private static long serialVersionUID
           
private  VariableSubstitutor substitutor
           
private  java.lang.Object usualFTP
          FocusTraversalPolicy objects to handle keybord blocking; the declaration os Object allows to use a pre version 1.4 VM.
protected  java.util.ArrayList<java.lang.Integer> visiblePanelMapping
          Mapping from "raw" panel number to visible panel number.
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
InstallerFrame(java.lang.String title, InstallData installdata)
          The constructor (normal mode).
 
Method Summary
 void addGuiListener(GUIListener listener)
          Add a listener to the listener list.
 void blockGUI()
          Blocks GUI interaction.
 void buildConstraints(java.awt.GridBagConstraints gbc, int gx, int gy, int gw, int gh, double wx, double wy)
          Sets the parameters of a GridBagConstraints object.
private  void buildGUI()
          Builds the GUI.
private  void callGUIListener(int what)
           
private  void callGUIListener(int what, java.lang.Object param)
           
 boolean canShow(int panelnumber)
          Method checks whether conditions are met to show the given panel.
 void centerFrame(java.awt.Window frame)
          Centers a window on screen.
private  boolean checkInstallerRequirements()
           
private  void createHeading(javax.swing.JPanel navPanel)
          Creates a Heading in given Panel.
private  void createHeadingCounter(java.awt.Color back, javax.swing.JPanel navPanel, javax.swing.JPanel leftHeadingPanel)
          Creates heading panel counter.
private  javax.swing.JPanel createHeadingIcon(java.awt.Color back)
          Creates heading icon.
private  void createHeadingLabels(int headingLines, java.awt.Color back)
          Creates heading labels.
 void exit()
          Makes a clean closing.
 Debugger getDebugger()
           
 java.util.List<GUIListener> getGuiListener()
          Returns the gui creation listener list.
private  java.lang.String getIconResourceNameExtension()
          Returns the current set extension to icon resource names.
 java.awt.Dimension getPanelsContainerSize()
          Returns the panels container size.
 java.io.InputStream getResource(java.lang.String res)
          Gets the stream to a resource.
 RulesEngine getRules()
           
 int hasNavigateNext(int startPanel, boolean visibleOnly)
          Check to see if there is another panel that can be navigated to next.
 int hasNavigatePrevious(int endingPanel, boolean visibleOnly)
          Check to see if there is another panel that can be navigated to previous.
 void install(AbstractUIProgressHandler listener)
          Launches the installation.
 boolean isHeading(IzPanel caller)
          Returns whether this installer frame uses with the given panel a separated heading panel or not.
private  void loadAndShowImage(int panelNo)
           
private  void loadAndShowImage(int panelNo, java.lang.String panelid)
           
private  void loadAndShowImage(javax.swing.JLabel iLabel, java.lang.String resPrefix, int panelNo)
           
private  void loadAndShowImage(javax.swing.JLabel iLabel, java.lang.String resPrefix, int panelno, java.lang.String panelid)
           
protected  void loadConditions()
          Reads the conditions specification file and initializes the rules engine.
protected  void loadCustomIcons()
          Loads custom icons into the installer.
private  void loadDynamicVariables()
          Loads Dynamic Variables.
private  javax.swing.ImageIcon loadIcon(java.lang.String resPrefix, int PanelNo, boolean tryBaseIcon)
          Loads icon for given panel.
private  javax.swing.ImageIcon loadIcon(java.lang.String resPrefix, java.lang.String panelid, boolean tryBaseIcon)
          Loads icon for given panel id.
private  void loadIcons()
          Loads the icons.
 void loadInstallerRequirements()
          Load installer conditions
private  void loadPanels()
          Loads the panels.
 void lockNextButton()
          Locks the 'next' button.
 void lockPrevButton()
          Locks the 'previous' button.
 void navigateNext()
          This function moves to the next panel
 void navigateNext(int startPanel, boolean doValidation)
          This function searches for the next available panel, the search begins from given panel+1
 void navigatePrevious()
          This function moves to the previous panel
 void navigatePrevious(int endingPanel)
          This function switches to the available panel that is just before the given one.
private  void performHeading(IzPanel panel)
           
private  void performHeadingCounter(IzPanel panel)
           
private  void refreshDynamicVariables()
          Refreshes Dynamic Variables.
 void releaseGUI()
          Releases GUI interaction.
 void setQuitButtonIcon(java.lang.String iconName)
          Sets a new icon into the quit button if icons should be used, else nothing will be done.
 void setQuitButtonText(java.lang.String text)
          Changes the quit button text.
 void setRules(RulesEngine rules)
           
private  void showFrame()
          Shows the frame.
 void skipPanel()
          Allows a panel to ask to be skipped.
protected  void switchPanel(int last)
          Switches the current panel.
 void unlockNextButton()
          Unlocks the 'next' button.
 void unlockNextButton(boolean requestFocus)
          Unlocks the 'next' button.
 void unlockPrevButton()
          Unlocks the 'previous' button.
protected  void wipeAborted()
          Wipes the written files when you abort the installation.
private  void writeUninstallData()
          Writes the uninstalldata.
 void writeXMLTree(XMLElement root, java.io.OutputStream out)
          Writes an XML tree.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, 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, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

JAVA_SPECIFICATION_VERSION

private static final float JAVA_SPECIFICATION_VERSION
VM version to use version dependent methods calls


ICON_RESOURCE

private static final java.lang.String ICON_RESOURCE
See Also:
Constant Field Values

ICON_RESOURCE_EXT_VARIABLE_NAME

private static final java.lang.String ICON_RESOURCE_EXT_VARIABLE_NAME
Name of the variable where to find an extension to the resource name of the icon resource

See Also:
Constant Field Values

HEADING_ICON_RESOURCE

private static final java.lang.String HEADING_ICON_RESOURCE
Heading icon resource name.

See Also:
Constant Field Values

langpack

public LocaleDatabase langpack
The language pack.


installdata

protected InstallData installdata
The installation data.


icons

public IconsDatabase icons
The icons database.


panelsContainer

protected javax.swing.JPanel panelsContainer
The panels container.


contentPane

protected javax.swing.JPanel contentPane
The frame content pane.


prevButton

protected javax.swing.JButton prevButton
The previous button.


nextButton

protected javax.swing.JButton nextButton
The next button.


quitButton

protected javax.swing.JButton quitButton
The quit button.


visiblePanelMapping

protected java.util.ArrayList<java.lang.Integer> visiblePanelMapping
Mapping from "raw" panel number to visible panel number.


guiListener

protected java.util.ArrayList<GUIListener> guiListener
Registered GUICreationListener.


headingLabels

protected javax.swing.JLabel[] headingLabels
Heading major text.


headingPanel

protected javax.swing.JPanel headingPanel
Panel which contains the heading text and/or icon


headingCounterComponent

protected javax.swing.JComponent headingCounterComponent
The heading counter component.


iconLabel

private javax.swing.JLabel iconLabel
Image


interruptCount

private int interruptCount
Count for discarded interrupt trials.


MAX_INTERRUPT

private static final int MAX_INTERRUPT
Maximum of discarded interrupt trials.

See Also:
Constant Field Values

rules

protected RulesEngine rules
conditions


CONDITIONS_SPECRESOURCENAME

private static final java.lang.String CONDITIONS_SPECRESOURCENAME
Resource name of the conditions specification

See Also:
Constant Field Values

CUSTOM_ICONS_RESOURCEFILE

private static final java.lang.String CUSTOM_ICONS_RESOURCEFILE
Resource name for custom icons

See Also:
Constant Field Values

dynamicvariables

private java.util.Map<java.lang.String,java.util.List<DynamicVariable>> dynamicvariables

substitutor

private VariableSubstitutor substitutor

debugger

private Debugger debugger

imageLeft

private boolean imageLeft

installerrequirements

private java.util.List<InstallerRequirement> installerrequirements

isBack

private boolean isBack
Here is persisted the direction of panel traversing.


usualFTP

private java.lang.Object usualFTP
FocusTraversalPolicy objects to handle keybord blocking; the declaration os Object allows to use a pre version 1.4 VM.


blockFTP

private java.lang.Object blockFTP
Constructor Detail

InstallerFrame

public InstallerFrame(java.lang.String title,
                      InstallData installdata)
               throws java.lang.Exception
The constructor (normal mode).

Parameters:
title - The window title.
installdata - The installation data.
Throws:
java.lang.Exception - Description of the Exception
Method Detail

checkInstallerRequirements

private boolean checkInstallerRequirements()
                                    throws java.lang.Exception
Throws:
java.lang.Exception

getDebugger

public Debugger getDebugger()

loadInstallerRequirements

public void loadInstallerRequirements()
                               throws java.lang.Exception
Load installer conditions

Throws:
java.lang.Exception

refreshDynamicVariables

private void refreshDynamicVariables()
Refreshes Dynamic Variables.


loadDynamicVariables

private void loadDynamicVariables()
Loads Dynamic Variables.


loadConditions

protected void loadConditions()
Reads the conditions specification file and initializes the rules engine.


loadPanels

private void loadPanels()
                 throws java.lang.Exception
Loads the panels.

Throws:
java.lang.Exception - Description of the Exception

loadIcons

private void loadIcons()
                throws java.lang.Exception
Loads the icons.

Throws:
java.lang.Exception - Description of the Exception

loadCustomIcons

protected void loadCustomIcons()
                        throws java.lang.Exception
Loads custom icons into the installer.

Throws:
java.lang.Exception

buildGUI

private void buildGUI()
Builds the GUI.


callGUIListener

private void callGUIListener(int what)

callGUIListener

private void callGUIListener(int what,
                             java.lang.Object param)

loadIcon

private javax.swing.ImageIcon loadIcon(java.lang.String resPrefix,
                                       int PanelNo,
                                       boolean tryBaseIcon)
                                throws ResourceNotFoundException,
                                       java.io.IOException
Loads icon for given panel.

Parameters:
resPrefix - resources prefix.
PanelNo - panel id.
tryBaseIcon - should try to fallback to base icon?
Returns:
icon image
Throws:
ResourceNotFoundException
java.io.IOException

loadIcon

private javax.swing.ImageIcon loadIcon(java.lang.String resPrefix,
                                       java.lang.String panelid,
                                       boolean tryBaseIcon)
                                throws ResourceNotFoundException,
                                       java.io.IOException
Loads icon for given panel id.

Parameters:
resPrefix - resource prefix.
panelid - panel id.
tryBaseIcon - should try to load base icon?
Returns:
image icon
Throws:
ResourceNotFoundException
java.io.IOException

getIconResourceNameExtension

private java.lang.String getIconResourceNameExtension()
Returns the current set extension to icon resource names. Can be used to change the static installer image based on user input

Returns:
a resource extension or an empty string if the variable was not set.

loadAndShowImage

private void loadAndShowImage(int panelNo)

loadAndShowImage

private void loadAndShowImage(int panelNo,
                              java.lang.String panelid)

loadAndShowImage

private void loadAndShowImage(javax.swing.JLabel iLabel,
                              java.lang.String resPrefix,
                              int panelno,
                              java.lang.String panelid)

loadAndShowImage

private void loadAndShowImage(javax.swing.JLabel iLabel,
                              java.lang.String resPrefix,
                              int panelNo)

showFrame

private void showFrame()
Shows the frame.


switchPanel

protected void switchPanel(int last)
Switches the current panel.

Parameters:
last - Description of the Parameter

writeUninstallData

private void writeUninstallData()
Writes the uninstalldata.


getResource

public java.io.InputStream getResource(java.lang.String res)
                                throws java.lang.Exception
Gets the stream to a resource.

Parameters:
res - The resource id.
Returns:
The resource value, null if not found
Throws:
java.lang.Exception

centerFrame

public void centerFrame(java.awt.Window frame)
Centers a window on screen.

Parameters:
frame - The window tp center.

getPanelsContainerSize

public java.awt.Dimension getPanelsContainerSize()
Returns the panels container size.

Returns:
The panels container size.

buildConstraints

public void buildConstraints(java.awt.GridBagConstraints gbc,
                             int gx,
                             int gy,
                             int gw,
                             int gh,
                             double wx,
                             double wy)
Sets the parameters of a GridBagConstraints object.

Parameters:
gbc - The constraints object.
gx - The x coordinates.
gy - The y coordinates.
gw - The width.
wx - The x wheight.
wy - The y wheight.
gh - Description of the Parameter

exit

public void exit()
Makes a clean closing.


wipeAborted

protected void wipeAborted()
Wipes the written files when you abort the installation.


install

public void install(AbstractUIProgressHandler listener)
Launches the installation.

Parameters:
listener - The installation listener.

writeXMLTree

public void writeXMLTree(XMLElement root,
                         java.io.OutputStream out)
                  throws java.lang.Exception
Writes an XML tree.

Parameters:
root - The XML tree to write out.
out - The stream to write on.
Throws:
java.lang.Exception - Description of the Exception

setQuitButtonText

public void setQuitButtonText(java.lang.String text)
Changes the quit button text. If text is null, the default quit text is used.

Parameters:
text - text to be used for changes

setQuitButtonIcon

public void setQuitButtonIcon(java.lang.String iconName)
Sets a new icon into the quit button if icons should be used, else nothing will be done.

Parameters:
iconName - name of the icon to be used

blockGUI

public void blockGUI()
Blocks GUI interaction.


releaseGUI

public void releaseGUI()
Releases GUI interaction.


lockPrevButton

public void lockPrevButton()
Locks the 'previous' button.


lockNextButton

public void lockNextButton()
Locks the 'next' button.


unlockPrevButton

public void unlockPrevButton()
Unlocks the 'previous' button.


unlockNextButton

public void unlockNextButton()
Unlocks the 'next' button.


unlockNextButton

public void unlockNextButton(boolean requestFocus)
Unlocks the 'next' button.

Parameters:
requestFocus - if true focus goes to nextButton

skipPanel

public void skipPanel()
Allows a panel to ask to be skipped.


canShow

public boolean canShow(int panelnumber)
Method checks whether conditions are met to show the given panel.

Parameters:
panelnumber - the panel number to check
Returns:
true or false

navigateNext

public void navigateNext()
This function moves to the next panel


navigateNext

public void navigateNext(int startPanel,
                         boolean doValidation)
This function searches for the next available panel, the search begins from given panel+1

Parameters:
startPanel - the starting panel number
doValidation - whether to do panel validation

hasNavigateNext

public int hasNavigateNext(int startPanel,
                           boolean visibleOnly)
Check to see if there is another panel that can be navigated to next. This checks the successive panels to see if at least one can be shown based on the conditions associated with the panels.

Parameters:
startPanel - The panel to check from
visibleOnly - Only check the visible panels
Returns:
The panel that we can navigate to next or -1 if there is no panel that we can navigate next to

hasNavigatePrevious

public int hasNavigatePrevious(int endingPanel,
                               boolean visibleOnly)
Check to see if there is another panel that can be navigated to previous. This checks the previous panels to see if at least one can be shown based on the conditions associated with the panels.

Parameters:
endingPanel - The panel to check from
Returns:
The panel that we can navigate to previous or -1 if there is no panel that we can navigate previous to

navigatePrevious

public void navigatePrevious()
This function moves to the previous panel


navigatePrevious

public void navigatePrevious(int endingPanel)
This function switches to the available panel that is just before the given one.

Parameters:
endingPanel - the panel to search backwards, beginning from this.

getGuiListener

public java.util.List<GUIListener> getGuiListener()
Returns the gui creation listener list.

Returns:
the gui creation listener list

addGuiListener

public void addGuiListener(GUIListener listener)
Add a listener to the listener list.

Parameters:
listener - to be added as gui creation listener

createHeadingLabels

private void createHeadingLabels(int headingLines,
                                 java.awt.Color back)
Creates heading labels.

Parameters:
headingLines - the number of lines of heading labels
back - background color (currently not used)

createHeadingCounter

private void createHeadingCounter(java.awt.Color back,
                                  javax.swing.JPanel navPanel,
                                  javax.swing.JPanel leftHeadingPanel)
Creates heading panel counter.

Parameters:
back - background color
navPanel - navi JPanel
leftHeadingPanel - left heading JPanel

createHeadingIcon

private javax.swing.JPanel createHeadingIcon(java.awt.Color back)
Creates heading icon.

Parameters:
back - the color of background around image.
Returns:
a panel with heading image.

createHeading

private void createHeading(javax.swing.JPanel navPanel)
Creates a Heading in given Panel.

Parameters:
navPanel - a panel

isHeading

public boolean isHeading(IzPanel caller)
Returns whether this installer frame uses with the given panel a separated heading panel or not. Be aware, this is an other heading as given by the IzPanel which will be placed in the IzPanel. This heading will be placed if the gui preferences contains an modifier with the key "useHeadingPanel" and the value "yes" and there is a message with the key "<class name>.headline".

Parameters:
caller - the IzPanel for which heading should be resolved
Returns:
whether an heading panel will be used or not

performHeading

private void performHeading(IzPanel panel)

performHeadingCounter

private void performHeadingCounter(IzPanel panel)

getRules

public RulesEngine getRules()
Returns:
the rules

setRules

public void setRules(RulesEngine rules)
Parameters:
rules - the rules to set