Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.greenstone.gatherer.gui.metaaudit
Class AutofilterDialog  view AutofilterDialog download AutofilterDialog.java

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Dialog
                  extended byjavax.swing.JDialog
                      extended byorg.greenstone.gatherer.gui.ModalDialog
                          extended byorg.greenstone.gatherer.gui.metaaudit.AutofilterDialog
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public final class AutofilterDialog
extends org.greenstone.gatherer.gui.ModalDialog

The autofilter concept comes from Microsoft Excel spreadsheets that use autofilters to filter to the sheet. When you click on the heading of a column, a new prompt allows you to specify what filter should be acting apon the selected column. Any new filter is conjoined with any previous filters to provide a sheet containing only rows that match all current filters. Each column must also provide an indicator for determining if a filter is set (in this case a special icon) and and a method for removing a filter (use the clear filter button within the autofilter dialog). Having recently discovered that most JVMs aren't very good at recoving memory used by dialog and frame windows, special care must be made to deallocate all references properly, as a user may open several dozen autofilter prompts over the lifetime of a session.

Version:
2.3

Nested Class Summary
private  class AutofilterDialog.ButtonListener
          Listens for actions on the button it is attached to, and when notified sets the return_value and disposes of the dialog.
private  class AutofilterDialog.CheckListener
          Listens for actions on the check box it is attached to, and when notified sets the state of the second method and value to the specified state.
 
Nested classes inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JRadioButton and_radiobutton
          Used to specify that the given filters should be applied conjunctly.
private  javax.swing.JButton cancel_button
          The button used to cancel the prompt.
private  javax.swing.JTabbedPane control
          The autofilter prompt contains two different panes, one for basic functionality and one for advanced.
private  MetaAuditFrame dialog
          A reference back to the MetaAudit dialog that spawned this prompt.
private  Autofilter filter
          The filter being edited.
private  javax.swing.JCheckBox first_case
          The check box used to specify whether the first filter is case sensitive.
private  javax.swing.JComboBox first_method
          The method used to match the first filter: Contains, Doesn't contain etc.
private  javax.swing.JComboBox first_value
          The value to be matched for the first filter.
private  javax.swing.JLabel name
          The label which displays the name of the currently selected column (the column that will be associated with the autofilter this dialog produces).
private  javax.swing.JRadioButton none_radiobutton
          Used to disable the second filter.
private  javax.swing.JRadioButton or_radiobutton
          Used to specify that the given filters should be applied disjunctly.
private  javax.swing.JComboBox order
          Used to specify the order of the resulting set: Ascending or Descending.
private  javax.swing.JButton remove_button
           
private  byte return_value
          The value returned from the filter dialog prompt.
private  javax.swing.JCheckBox second_case
          The check box used to specify whether the second filter is case sensitive.
private  javax.swing.JComboBox second_method
          The method used to match the first filter.
private  javax.swing.JComboBox second_value
          The value to be matched for the second filter.
private  AutofilterDialog self
          A reference to ourselves so our inner classes can reference us.
private  javax.swing.JButton set_button
           
private static java.awt.Dimension SIZE
          The default size for the autofilter control.
private  javax.swing.JComboBox value
          Used for the most basic filter where an Equals, Case sensitive method is automatically used.
 
Fields inherited from class org.greenstone.gatherer.gui.ModalDialog
modal, waiting
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
 
Fields inherited from class java.awt.Window
 
Fields inherited from class java.awt.Container
 
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, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AutofilterDialog(MetaAuditFrame dialog)
          Constructor.
 
Method Summary
 void destroy()
          Destructor.
 Autofilter display(Autofilter filter, java.util.ArrayList raw_values, java.lang.String column_name)
          Display the modal dialog box, allowing the user to define the filter.
 
Methods inherited from class org.greenstone.gatherer.gui.ModalDialog
setModal, setVisible
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getPreferredSize, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, dispose, getTitle, hide, isModal, isResizable, isUndecorated, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBufferStrategy, getFocusableWindowState, getFocusOwner, getGraphicsConfiguration, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isFocusableWindow, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, swapComponents, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, 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, isOpaque, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

filter

private Autofilter filter
The filter being edited.


self

private AutofilterDialog self
A reference to ourselves so our inner classes can reference us.


return_value

private byte return_value
The value returned from the filter dialog prompt. Used to determine if a prompt was set or unset, and what subsequent action to take.


cancel_button

private javax.swing.JButton cancel_button
The button used to cancel the prompt.


remove_button

private javax.swing.JButton remove_button

set_button

private javax.swing.JButton set_button

and_radiobutton

private javax.swing.JRadioButton and_radiobutton
Used to specify that the given filters should be applied conjunctly.


first_case

private javax.swing.JCheckBox first_case
The check box used to specify whether the first filter is case sensitive.


none_radiobutton

private javax.swing.JRadioButton none_radiobutton
Used to disable the second filter.


or_radiobutton

private javax.swing.JRadioButton or_radiobutton
Used to specify that the given filters should be applied disjunctly.


second_case

private javax.swing.JCheckBox second_case
The check box used to specify whether the second filter is case sensitive.


order

private javax.swing.JComboBox order
Used to specify the order of the resulting set: Ascending or Descending.


first_method

private javax.swing.JComboBox first_method
The method used to match the first filter: Contains, Doesn't contain etc.


first_value

private javax.swing.JComboBox first_value
The value to be matched for the first filter.


second_method

private javax.swing.JComboBox second_method
The method used to match the first filter. Options as for the first method.


second_value

private javax.swing.JComboBox second_value
The value to be matched for the second filter.


value

private javax.swing.JComboBox value
Used for the most basic filter where an Equals, Case sensitive method is automatically used.


name

private javax.swing.JLabel name
The label which displays the name of the currently selected column (the column that will be associated with the autofilter this dialog produces).


control

private javax.swing.JTabbedPane control
The autofilter prompt contains two different panes, one for basic functionality and one for advanced. This containiner component is used to allow access to each via a 'tabbed' interface.


dialog

private MetaAuditFrame dialog
A reference back to the MetaAudit dialog that spawned this prompt. Used to make sure that any open dialog window is always in front of the audit pane.


SIZE

private static final java.awt.Dimension SIZE
The default size for the autofilter control.

Constructor Detail

AutofilterDialog

public AutofilterDialog(MetaAuditFrame dialog)
Constructor.

Method Detail

destroy

public void destroy()
Destructor.


display

public Autofilter display(Autofilter filter,
                          java.util.ArrayList raw_values,
                          java.lang.String column_name)
Display the modal dialog box, allowing the user to define the filter. When the user presses one of the buttons, dispose and return to the caller providing an indication of which button was pressed.