org.browsecode.helpers.installer.applications
Class InstallApplicationCard

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.browsecode.helpers.wizard.WizardCard
                      extended by org.browsecode.helpers.wizard.ProgressCard
                          extended by org.browsecode.helpers.installer.applications.InstallApplicationCard
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, ControlComputerInterface.ConfirmationHandler, InstallApplication.InstallationConfirmationHandler, ProgressListener

public class InstallApplicationCard
extends ProgressCard
implements java.awt.event.ActionListener, InstallApplication.InstallationConfirmationHandler

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
 
Fields inherited from class org.browsecode.helpers.wizard.ProgressCard
closeOnFinish, message, statusText
 
Fields inherited from class org.browsecode.helpers.wizard.WizardCard
unknownCard
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface org.browsecode.helpers.installer.applications.InstallApplication.InstallationConfirmationHandler
CANCEL, NO, YES
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
InstallApplicationCard(ApplicationToInstall application, ApplicationSet applicationSet, Dialogs dialogs, ControlComputerInterface computerToInstallOn)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 int askYesNoQuestion(java.lang.String question, java.lang.String yesButton, java.lang.String noButton)
          Return 'YES', 'NO', or 'CANCEL' depending upon what the user selected.
 int askYesNoQuestion(java.lang.String question, java.lang.String yesButton, java.lang.String noButton, boolean noButtonIsDefault)
           
 void display()
          Called right before showing the card, before adding it to its parent.
 void doneInstalling(boolean worked, java.lang.String message)
          This may pass in HTML.
 void execute()
          Implement this function in order to handle the core task.
 java.lang.String getTitle()
          return the title of this card to be displayed to the user
 void hideABrowseButton(boolean foundIt)
          Pass in foundIt=true if we're stopping because it was found, and pass in foundIt=fales if we're stopping because there's no possible installations.
 void hideABrowseButtonPrivate()
           
 void initialize()
          this method is invoked on the first transition from the previous slide to this slide, before the component is shown (display is called afterwards) this method is *not* invoked on the return trip, nor on any repeated trips -- it is only invoked once!
 boolean isFoundLocationOk(java.lang.String location)
          Ask the user whether this directory is good.
 java.lang.String promptForDirectory(java.lang.String directoryDescription)
          this is not ideal, but we can't install applications yet when it's not local as a hack, this should return null when it's not a local install.
 void setStatusText(java.lang.String statusText)
          Allows a subclass to update the status message directly.
 void showABrowseButton(java.lang.String browseFor, InstallApplication.NotifyAfterUserBrowses thingToNotifyWhenUserPrompts)
           
 
Methods inherited from class org.browsecode.helpers.wizard.ProgressCard
finishImport, getCloseOnFinish, getLockCardOnExecute, getProgressValue, hideProgressBar, setLockCardOnExecute, setMaximumProgressValue, setMessageText, setProgressValue, showProgressBar
 
Methods inherited from class org.browsecode.helpers.wizard.WizardCard
fireNextChanged, getHasHelp, getHelpURL, getNext, getProperty, getWizard, helpClicked, nextClicked, postDisplay, previousClicked, setHelpURL, setNext, setProperty, setWizard
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

InstallApplicationCard

public InstallApplicationCard(ApplicationToInstall application,
                              ApplicationSet applicationSet,
                              Dialogs dialogs,
                              ControlComputerInterface computerToInstallOn)
Method Detail

getTitle

public java.lang.String getTitle()
Description copied from class: WizardCard
return the title of this card to be displayed to the user

Specified by:
getTitle in class WizardCard
Returns:

initialize

public void initialize()
Description copied from class: WizardCard
this method is invoked on the first transition from the previous slide to this slide, before the component is shown (display is called afterwards) this method is *not* invoked on the return trip, nor on any repeated trips -- it is only invoked once!

Overrides:
initialize in class WizardCard

display

public void display()
Description copied from class: WizardCard
Called right before showing the card, before adding it to its parent. any time-sensitive initialization should be performed here rather than in the constructor this method is invoked on every transition from the previous slide to this slide this method is *not* invoked on the return trip

Overrides:
display in class ProgressCard

execute

public void execute()
Description copied from class: ProgressCard
Implement this function in order to handle the core task. One of the first things you should do is to update the maximum extent of the progress bar, and don't forget to update the progress bar as the task progresses.

Specified by:
execute in class ProgressCard

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

setStatusText

public void setStatusText(java.lang.String statusText)
Description copied from class: ProgressCard
Allows a subclass to update the status message directly.

Specified by:
setStatusText in interface InstallApplication.InstallationConfirmationHandler
Overrides:
setStatusText in class ProgressCard

doneInstalling

public void doneInstalling(boolean worked,
                           java.lang.String message)
Description copied from interface: InstallApplication.InstallationConfirmationHandler
This may pass in HTML.

Specified by:
doneInstalling in interface InstallApplication.InstallationConfirmationHandler

askYesNoQuestion

public int askYesNoQuestion(java.lang.String question,
                            java.lang.String yesButton,
                            java.lang.String noButton)
Description copied from interface: InstallApplication.InstallationConfirmationHandler
Return 'YES', 'NO', or 'CANCEL' depending upon what the user selected.

Specified by:
askYesNoQuestion in interface InstallApplication.InstallationConfirmationHandler
Returns:

askYesNoQuestion

public int askYesNoQuestion(java.lang.String question,
                            java.lang.String yesButton,
                            java.lang.String noButton,
                            boolean noButtonIsDefault)
Specified by:
askYesNoQuestion in interface InstallApplication.InstallationConfirmationHandler

promptForDirectory

public java.lang.String promptForDirectory(java.lang.String directoryDescription)
Description copied from interface: InstallApplication.InstallationConfirmationHandler
this is not ideal, but we can't install applications yet when it's not local as a hack, this should return null when it's not a local install. TODO should have a default based on OS when it's installing a program...

Specified by:
promptForDirectory in interface InstallApplication.InstallationConfirmationHandler
Returns:

isFoundLocationOk

public boolean isFoundLocationOk(java.lang.String location)
Description copied from interface: ControlComputerInterface.ConfirmationHandler
Ask the user whether this directory is good.

Specified by:
isFoundLocationOk in interface ControlComputerInterface.ConfirmationHandler
Returns:

showABrowseButton

public void showABrowseButton(java.lang.String browseFor,
                              InstallApplication.NotifyAfterUserBrowses thingToNotifyWhenUserPrompts)
Specified by:
showABrowseButton in interface InstallApplication.InstallationConfirmationHandler

hideABrowseButtonPrivate

public void hideABrowseButtonPrivate()

hideABrowseButton

public void hideABrowseButton(boolean foundIt)
Description copied from interface: InstallApplication.InstallationConfirmationHandler
Pass in foundIt=true if we're stopping because it was found, and pass in foundIt=fales if we're stopping because there's no possible installations.

Specified by:
hideABrowseButton in interface InstallApplication.InstallationConfirmationHandler