adams.gui.tools.spreadsheetviewer
Class SortPanel

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 adams.gui.core.BasePanel
                      extended by adams.gui.tools.spreadsheetviewer.SortPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public class SortPanel
extends BasePanel

Panel that allows users to sort a spreadsheet over an arbitrary number of columns.

Version:
$Revision: 6363 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
protected  JButton m_ButtonNew
          the button for a new sort definition.
protected  List<String> m_ColumnNames
          the column names.
protected  GridLayout m_Layout
          the gridlayout in use.
protected  BasePanel m_PanelButtons
          the panel for the buttons.
protected  BasePanel m_PanelDefinitions
          the panel holding the defintion panels.
protected  List<SortDefinitionPanel> m_Panels
          the list of definitions to use.
protected  SpreadSheet m_Sheet
          the spreadsheet that forms the basis for the sorting.
protected  HashSet<SortSetupListener> m_SortSetupListeners
          the listeners for changes in the setup.
 
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
SortPanel()
           
 
Method Summary
 void addDefinition()
          Adds a new definition.
 void addSortSetupListener(SortSetupListener l)
          Adds the specified listener.
protected  void finishInit()
          Finishes the initialization.
 List<String> getColumnNames()
          Returns the column names in use.
 RowComparator getComparator()
          Returns a comparator for sorting the spreadsheet.
 SpreadSheet getSpreadSheet()
          Returns the spreadsheet to use.
protected  void initGUI()
          Initializes the widgets.
protected  void initialize()
          Initializes the members.
 boolean isValidSetup()
          Checks whether the setup is valid, i.e., no name used twice, at least one sorting definition.
 void notifySortSetupListeners(SortSetupEvent e)
          Notifies all listeners with the specified event.
 void removeDefinition(SortDefinitionPanel panel)
          Removes the panel from the list of sort definitions.
 void removeSortSetupListener(SortSetupListener l)
          Removes the specified listener.
 void reset()
          Removes all sort definition panels.
 void setSpreadSheet(SpreadSheet value)
          Sets the spreadsheet to use.
protected  void update()
          Updates the display.
 
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, main, setParentTitle, setVisible
 
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, 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, 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, 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
 

Field Detail

m_Sheet

protected SpreadSheet m_Sheet
the spreadsheet that forms the basis for the sorting.


m_Panels

protected List<SortDefinitionPanel> m_Panels
the list of definitions to use.


m_Layout

protected GridLayout m_Layout
the gridlayout in use.


m_PanelDefinitions

protected BasePanel m_PanelDefinitions
the panel holding the defintion panels.


m_PanelButtons

protected BasePanel m_PanelButtons
the panel for the buttons.


m_ButtonNew

protected JButton m_ButtonNew
the button for a new sort definition.


m_ColumnNames

protected List<String> m_ColumnNames
the column names.


m_SortSetupListeners

protected HashSet<SortSetupListener> m_SortSetupListeners
the listeners for changes in the setup.

Constructor Detail

SortPanel

public SortPanel()
Method Detail

initialize

protected void initialize()
Initializes the members.

Overrides:
initialize in class BasePanel

initGUI

protected void initGUI()
Initializes the widgets.

Overrides:
initGUI in class BasePanel

finishInit

protected void finishInit()
Finishes the initialization.

Overrides:
finishInit in class BasePanel

setSpreadSheet

public void setSpreadSheet(SpreadSheet value)
Sets the spreadsheet to use.

Parameters:
value - the spreadsheet to use

getSpreadSheet

public SpreadSheet getSpreadSheet()
Returns the spreadsheet to use.

Returns:
the spreadsheet in use, null if none set

getColumnNames

public List<String> getColumnNames()
Returns the column names in use.

Returns:
the column names

addDefinition

public void addDefinition()
Adds a new definition.


removeDefinition

public void removeDefinition(SortDefinitionPanel panel)
Removes the panel from the list of sort definitions.

Parameters:
panel - the panel to remove

reset

public void reset()
Removes all sort definition panels.


update

protected void update()
Updates the display.


isValidSetup

public boolean isValidSetup()
Checks whether the setup is valid, i.e., no name used twice, at least one sorting definition.

Returns:
true if valid

getComparator

public RowComparator getComparator()
Returns a comparator for sorting the spreadsheet.

Returns:
the comparator, null if not valid setup

addSortSetupListener

public void addSortSetupListener(SortSetupListener l)
Adds the specified listener.

Parameters:
l - the listener to add

removeSortSetupListener

public void removeSortSetupListener(SortSetupListener l)
Removes the specified listener.

Parameters:
l - the listener to remove

notifySortSetupListeners

public void notifySortSetupListeners(SortSetupEvent e)
Notifies all listeners with the specified event.

Parameters:
e - the event to send


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.