com.mucommander.ui.dialog.shell
Class ShellComboBox

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JComboBox
                  extended by com.mucommander.ui.combobox.SaneComboBox
                      extended by com.mucommander.ui.combobox.EditableComboBox
                          extended by com.mucommander.ui.combobox.AutocompletedEditableCombobox
                              extended by com.mucommander.ui.dialog.shell.ShellComboBox
All Implemented Interfaces:
ShellHistoryListener, ComboBoxListener, EditableComboBoxListener, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ListDataListener, javax.swing.event.PopupMenuListener

public class ShellComboBox
extends AutocompletedEditableCombobox
implements EditableComboBoxListener, ShellHistoryListener, javax.swing.event.PopupMenuListener

Widget used for shell command input.

In addition to providing basic shell command input features, this widget interfaces with the ShellHistoryManager to offer a history of shell commands for the user to browse through.

Note that even though this component is affected by themes, it's impossible to edit the current theme while it's being displayed. For this reason, the RunDialog doesn't listen to theme modifications.

Author:
Maxence Bernard, Nicolas Rinaudo
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComboBox
javax.swing.JComboBox.AccessibleJComboBox, javax.swing.JComboBox.KeySelectionManager
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, selectedItemReminder
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ShellComboBox(RunDialog parent)
          Creates a new shell combo box.
 
Method Summary
 void comboBoxSelectionChanged(SaneComboBox source)
          This method is called when an item has been selected from the specified combo box popup menu.
 java.lang.String getCommand()
          Returns the current shell command.
 void historyChanged(java.lang.String command)
          Notifies the listener that a new element has been added to the history.
 void historyCleared()
          Notifies the listeners that the history has been cleared.
 void popupMenuCanceled(javax.swing.event.PopupMenuEvent e)
          Ignored.
 void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent e)
          Ignored.
 void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent e)
          Makes sure the selection is always the first element in the list.
 void setEnabled(boolean enabled)
          Overrides this method to ignore events received when this component is disabled.
 void textFieldCancelled(EditableComboBox source)
          Notifies all registered EditableComboBoxListener instances that the text field has been cancelled, that is the 'Escape' key has been pressed in the text field, without the popup menu being visible.
 void textFieldValidated(EditableComboBox source)
          This method is called when the text field has been validated, that is the 'Enter' key has been pressed in the text field, without the popup menu being visible.
 
Methods inherited from class com.mucommander.ui.combobox.AutocompletedEditableCombobox
respondToEnterKeyPressing, respondToEscapeKeyPressing
 
Methods inherited from class com.mucommander.ui.combobox.EditableComboBox
addEditableComboBoxListener, fireComboBoxSelectionChanged, fireComboFieldCancelled, fireComboFieldValidated, getComboSelectionUpdatesTextField, getTextField, removeEditableComboBoxListener, setBackground, setComboSelectionUpdatesTextField, setFont, setForeground, setSelectionBackground, setSelectionForeground
 
Methods inherited from class com.mucommander.ui.combobox.SaneComboBox
addComboBoxListener, addItem, insertItemAt, removeAllItems, removeComboBoxListener, removeItem, removeItemAt
 
Methods inherited from class javax.swing.JComboBox
actionPerformed, actionPropertyChanged, addActionListener, addItemListener, addPopupMenuListener, configureEditor, configurePropertiesFromAction, contentsChanged, createActionPropertyChangeListener, createDefaultKeySelectionManager, fireActionEvent, fireItemStateChanged, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getAction, getActionCommand, getActionListeners, getEditor, getItemAt, getItemCount, getItemListeners, getKeySelectionManager, getMaximumRowCount, getModel, getPopupMenuListeners, getPrototypeDisplayValue, getRenderer, getSelectedIndex, getSelectedItem, getSelectedObjects, getUI, getUIClassID, hidePopup, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyEvent, removeActionListener, removeItemListener, removePopupMenuListener, selectedItemChanged, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setModel, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setSelectedItem, setUI, showPopup, 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, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, 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

ShellComboBox

public ShellComboBox(RunDialog parent)
Creates a new shell combo box.

Parameters:
parent - where to execute commands.
Method Detail

setEnabled

public void setEnabled(boolean enabled)
Overrides this method to ignore events received when this component is disabled.

Overrides:
setEnabled in class javax.swing.JComboBox

comboBoxSelectionChanged

public void comboBoxSelectionChanged(SaneComboBox source)
Description copied from interface: ComboBoxListener
This method is called when an item has been selected from the specified combo box popup menu. The item may have been selected either with the 'Enter' key, or by clicking on the item.

Specified by:
comboBoxSelectionChanged in interface ComboBoxListener
Parameters:
source - the SaneComboBox on which the event was triggered

textFieldValidated

public void textFieldValidated(EditableComboBox source)
Description copied from interface: EditableComboBoxListener
This method is called when the text field has been validated, that is the 'Enter' key has been pressed in the text field, without the popup menu being visible.

Note: Unlike JComboBox's weird ActionEvent handling, this method is *not* called when 'Enter' is pressed in the combo popup menu.

Specified by:
textFieldValidated in interface EditableComboBoxListener
Parameters:
source - the EditableComboBox containing the JTextField on which the event was triggered

textFieldCancelled

public void textFieldCancelled(EditableComboBox source)
Description copied from interface: EditableComboBoxListener
Notifies all registered EditableComboBoxListener instances that the text field has been cancelled, that is the 'Escape' key has been pressed in the text field, without the popup menu being visible.

Note: This method is *not* called when 'Escape' is pressed in the combo popup menu.

Specified by:
textFieldCancelled in interface EditableComboBoxListener
Parameters:
source - the EditableComboBox containing the JTextField on which the event was triggered

historyChanged

public void historyChanged(java.lang.String command)
Description copied from interface: ShellHistoryListener
Notifies the listener that a new element has been added to the history.

Specified by:
historyChanged in interface ShellHistoryListener
Parameters:
command - command that was added to the history.

historyCleared

public void historyCleared()
Description copied from interface: ShellHistoryListener
Notifies the listeners that the history has been cleared.

Specified by:
historyCleared in interface ShellHistoryListener

popupMenuCanceled

public void popupMenuCanceled(javax.swing.event.PopupMenuEvent e)
Ignored.

Specified by:
popupMenuCanceled in interface javax.swing.event.PopupMenuListener

popupMenuWillBecomeVisible

public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent e)
Makes sure the selection is always the first element in the list.

Specified by:
popupMenuWillBecomeVisible in interface javax.swing.event.PopupMenuListener

popupMenuWillBecomeInvisible

public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent e)
Ignored.

Specified by:
popupMenuWillBecomeInvisible in interface javax.swing.event.PopupMenuListener

getCommand

public java.lang.String getCommand()
Returns the current shell command.

Returns:
the current shell command.


This file is part of muCommander - Copyright (C) 2002-2008 Maxence Bernard