Class SortPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- 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$
- 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
Fields Modifier and Type Field Description protected BaseButton
m_ButtonAdd
the button for a new sort definition.protected BaseButton
m_ButtonReset
the button for resetting the definitions.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 adams.gui.core.BasePanel
m_FileChooser
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description SortPanel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
isFirstDefinition(SortDefinitionPanel panel)
Checks whether the panel is the first one.boolean
isLastDefinition(SortDefinitionPanel panel)
Checks whether the panel is the last one.boolean
isValidSetup()
Checks whether the setup is valid, i.e., no name used twice, at least one sorting definition.boolean
moveDefinition(SortDefinitionPanel panel, boolean up)
Moves the panel up/down.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
resetDefinitions()
Resets the definitions.boolean
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, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
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_ButtonReset
protected BaseButton m_ButtonReset
the button for resetting the definitions.
-
m_ButtonAdd
protected BaseButton m_ButtonAdd
the button for a new sort definition.
-
m_SortSetupListeners
protected HashSet<SortSetupListener> m_SortSetupListeners
the listeners for changes in the setup.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classBasePanel
-
finishInit
protected void finishInit()
Finishes the initialization.- Overrides:
finishInit
in classBasePanel
-
setSpreadSheet
public boolean setSpreadSheet(SpreadSheet value)
Sets the spreadsheet to use.- Parameters:
value
- the spreadsheet to use- Returns:
- true if the panel was reset
-
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
-
resetDefinitions
public void resetDefinitions()
Resets the definitions.
-
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.
-
isFirstDefinition
public boolean isFirstDefinition(SortDefinitionPanel panel)
Checks whether the panel is the first one.- Parameters:
panel
- the panel to check- Returns:
- true if the first one
-
isLastDefinition
public boolean isLastDefinition(SortDefinitionPanel panel)
Checks whether the panel is the last one.- Parameters:
panel
- the panel to check- Returns:
- true if the last one
-
moveDefinition
public boolean moveDefinition(SortDefinitionPanel panel, boolean up)
Moves the panel up/down.- Parameters:
panel
- the panel to moveup
- if true, gets moved up, otherwise down- Returns:
- true if successfully moved
-
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
-
-