adams.gui.tools
Class SpreadSheetViewerPanel

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.SpreadSheetViewerPanel
All Implemented Interfaces:
MenuBarProvider, SendToActionSupporter, ImageObserver, MenuContainer, Serializable, Accessible

public class SpreadSheetViewerPanel
extends BasePanel
implements MenuBarProvider, SendToActionSupporter

A panel for viewing SpreadSheet files.

Version:
$Revision: 6296 $
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
static String FILENAME
          the name of the props file.
protected  Color m_BackgroundNegative
          the custom background color for negative values (null if none set).
protected  Color m_BackgroundPositive
          the custom background color for positive values (null if none set).
protected  SpreadSheetFileChooser m_FileChooser
          the filedialog for loading CSV files.
protected  GenericObjectEditorDialog m_GOEColumnFinder
          the dialog for column finders.
protected  GenericObjectEditorDialog m_GOEConversion
          the dialog for spreadsheet conversions.
protected  GenericObjectEditorDialog m_GOERowFinder
          the dialog for row finders.
protected  GenericObjectEditorDialog m_GOETransformer
          the dialog for spreadsheet transformers.
protected  JMenuBar m_MenuBar
          the menu bar, if used.
protected  JMenu m_MenuDataPlugins
          the submenu for data plugins.
protected  JMenuItem m_MenuItemDataComputeDifference
          the "compute difference" menu item.
protected  JMenuItem m_MenuItemDataConvert
          the "Convert" menu item.
protected  JMenuItem m_MenuItemDataFilterColumns
          the "filter columns" menu item.
protected  JMenuItem m_MenuItemDataFilterRows
          the "filter rows" menu item.
protected  JMenuItem m_MenuItemDataTransform
          the "Transform" menu item.
protected  JMenuItem m_MenuItemFileClose
          the "close" menu item.
protected  JMenuItem m_MenuItemFileExit
          the "exit" menu item.
protected  JMenuItem m_MenuItemFileOpen
          the "open" menu item.
protected  JMenu m_MenuItemFileOpenRecent
          the "load recent" submenu.
protected  JMenuItem m_MenuItemFileSaveAs
          the "save as" menu item.
protected  JCheckBoxMenuItem m_MenuItemViewApplyToAll
          the "apply to all" menu item.
protected  JMenuItem m_MenuItemViewDisplayedDecimals
          the "displayed decimals" menu item.
protected  JMenuItem m_MenuItemViewNegativeBackground
          the "negative background" menu item.
protected  JMenuItem m_MenuItemViewPositiveBackground
          the "positive background" menu item.
protected  JMenu m_MenuViewPlugins
          the submenu for view plugins.
protected  int m_NumDecimals
          the number of decimals to display.
protected static Properties m_Properties
          the properties.
protected  RecentFilesHandler m_RecentFilesHandler
          the recent files handler.
protected  TabbedPane m_TabbedPane
          the tabbed pane for displaying the CSV files.
static String SESSION_FILE
          the file to store the recent files in.
 
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
SpreadSheetViewerPanel()
           
 
Method Summary
protected  void close()
          Closes the dialog or frame.
protected  void closeFile()
          Closes the current active tab.
protected  void computeDifference()
          Computes the difference between two sheets that the user selects and inserts it as new tab.
protected  void computeDifference(SpreadSheet sheet1, SpreadSheet sheet2, Range keyCols)
          Computes the difference between the two sheets and inserts it as new tab.
protected  void convert()
          Filters the spreadsheet using a conversion.
protected  SpreadSheetTable createTable(SpreadSheet sheet)
          Creates and configures a spreadsheet table.
protected  void enterNumDecimals(boolean applyAll)
          Alows the user to enter the number of decimals to display.
protected  void filterData(String oldTitle, Object input, AbstractActor filter)
          Filters the data with the transformer and adds the generated output as new tab.
protected  void findColumns()
          Filters the spreadsheet using a column finder.
protected  void findRows()
          Filters the spreadsheet using a row finder.
protected  GenericObjectEditorDialog getColumnFinderDialog()
          Returns the dialog for column finders.
protected  GenericObjectEditorDialog getConversionDialog()
          Returns the dialog for conversion schemes.
 JMenuBar getMenuBar()
          Creates a menu bar (singleton per panel object).
static Properties getProperties()
          Returns the properties that define the editor.
protected  GenericObjectEditorDialog getRowFinderDialog()
          Returns the dialog for row finders.
 Class[] getSendToClasses()
          Returns the classes that the supporter generates.
 Object getSendToItem(Class[] cls)
          Returns the object to send.
protected  GenericObjectEditorDialog getTransformerDialog()
          Returns the dialog for transformers.
 boolean hasSendToItem(Class[] cls)
          Checks whether something to send is available.
protected  void initGUI()
          Initializes the widgets.
protected  void initialize()
          Initializes the members.
 void load(AbstractSpreadSheetReader reader, File file)
          Loads the specified file.
 void load(File file)
          Loads the specified file.
protected  void open()
          Opens one or more CSV files.
protected  void process(AbstractDataPlugin plugin)
          Processes the current spreadsheet with the specified plugin.
protected  void saveAs()
          Saves the current sheet.
protected  void selectBackground(boolean negative, boolean applyAll)
          Allows the user to select a background color for negative/positive values.
protected  void transform()
          Filters the spreadsheet using the selected transformer.
protected  void updateMenu()
          updates the enabled state of the menu items.
protected  void view(AbstractViewPlugin plugin)
          Displays a dialog with the panel created by the plugin.
 void write(AbstractSpreadSheetWriter writer, File file)
          Saves the specified file.
 
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, 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

FILENAME

public static final String FILENAME
the name of the props file.

See Also:
Constant Field Values

SESSION_FILE

public static final String SESSION_FILE
the file to store the recent files in.

See Also:
Constant Field Values

m_Properties

protected static Properties m_Properties
the properties.


m_TabbedPane

protected TabbedPane m_TabbedPane
the tabbed pane for displaying the CSV files.


m_MenuBar

protected JMenuBar m_MenuBar
the menu bar, if used.


m_MenuItemFileOpen

protected JMenuItem m_MenuItemFileOpen
the "open" menu item.


m_MenuItemFileOpenRecent

protected JMenu m_MenuItemFileOpenRecent
the "load recent" submenu.


m_MenuItemFileSaveAs

protected JMenuItem m_MenuItemFileSaveAs
the "save as" menu item.


m_MenuItemFileClose

protected JMenuItem m_MenuItemFileClose
the "close" menu item.


m_MenuItemFileExit

protected JMenuItem m_MenuItemFileExit
the "exit" menu item.


m_MenuItemDataFilterColumns

protected JMenuItem m_MenuItemDataFilterColumns
the "filter columns" menu item.


m_MenuItemDataFilterRows

protected JMenuItem m_MenuItemDataFilterRows
the "filter rows" menu item.


m_MenuItemDataComputeDifference

protected JMenuItem m_MenuItemDataComputeDifference
the "compute difference" menu item.


m_MenuItemDataConvert

protected JMenuItem m_MenuItemDataConvert
the "Convert" menu item.


m_MenuItemDataTransform

protected JMenuItem m_MenuItemDataTransform
the "Transform" menu item.


m_MenuItemViewApplyToAll

protected JCheckBoxMenuItem m_MenuItemViewApplyToAll
the "apply to all" menu item.


m_MenuItemViewDisplayedDecimals

protected JMenuItem m_MenuItemViewDisplayedDecimals
the "displayed decimals" menu item.


m_MenuItemViewNegativeBackground

protected JMenuItem m_MenuItemViewNegativeBackground
the "negative background" menu item.


m_MenuItemViewPositiveBackground

protected JMenuItem m_MenuItemViewPositiveBackground
the "positive background" menu item.


m_MenuDataPlugins

protected JMenu m_MenuDataPlugins
the submenu for data plugins.


m_MenuViewPlugins

protected JMenu m_MenuViewPlugins
the submenu for view plugins.


m_FileChooser

protected SpreadSheetFileChooser m_FileChooser
the filedialog for loading CSV files.


m_RecentFilesHandler

protected RecentFilesHandler m_RecentFilesHandler
the recent files handler.


m_NumDecimals

protected int m_NumDecimals
the number of decimals to display.


m_BackgroundNegative

protected Color m_BackgroundNegative
the custom background color for negative values (null if none set).


m_BackgroundPositive

protected Color m_BackgroundPositive
the custom background color for positive values (null if none set).


m_GOEColumnFinder

protected GenericObjectEditorDialog m_GOEColumnFinder
the dialog for column finders.


m_GOERowFinder

protected GenericObjectEditorDialog m_GOERowFinder
the dialog for row finders.


m_GOEConversion

protected GenericObjectEditorDialog m_GOEConversion
the dialog for spreadsheet conversions.


m_GOETransformer

protected GenericObjectEditorDialog m_GOETransformer
the dialog for spreadsheet transformers.

Constructor Detail

SpreadSheetViewerPanel

public SpreadSheetViewerPanel()
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

getMenuBar

public JMenuBar getMenuBar()
Creates a menu bar (singleton per panel object). Can be used in frames.

Specified by:
getMenuBar in interface MenuBarProvider
Returns:
the menu bar

enterNumDecimals

protected void enterNumDecimals(boolean applyAll)
Alows the user to enter the number of decimals to display.

Parameters:
applyAll - whether to apply the setting to all open tabs

selectBackground

protected void selectBackground(boolean negative,
                                boolean applyAll)
Allows the user to select a background color for negative/positive values.

Parameters:
negative - whether to select negative or positive background
applyAll - whether to apply background to all open tabs

updateMenu

protected void updateMenu()
updates the enabled state of the menu items.


open

protected void open()
Opens one or more CSV files.


load

public void load(File file)
Loads the specified file.

Parameters:
reader - the reader to use for reading the file
file - the file to load

createTable

protected SpreadSheetTable createTable(SpreadSheet sheet)
Creates and configures a spreadsheet table.

Parameters:
sheet - the sheet to display
Returns:
the table

load

public void load(AbstractSpreadSheetReader reader,
                 File file)
Loads the specified file.

Parameters:
reader - the reader to use for reading the file
file - the file to load

write

public void write(AbstractSpreadSheetWriter writer,
                  File file)
Saves the specified file.

Parameters:
writer - the writer to use for saving the file
file - the file to save

saveAs

protected void saveAs()
Saves the current sheet.


closeFile

protected void closeFile()
Closes the current active tab.


close

protected void close()
Closes the dialog or frame.


getSendToClasses

public Class[] getSendToClasses()
Returns the classes that the supporter generates.

Specified by:
getSendToClasses in interface SendToActionSupporter
Returns:
the classes

hasSendToItem

public boolean hasSendToItem(Class[] cls)
Checks whether something to send is available.

Specified by:
hasSendToItem in interface SendToActionSupporter
Parameters:
cls - the classes to retrieve the item for
Returns:
true if an object is available for sending

getSendToItem

public Object getSendToItem(Class[] cls)
Returns the object to send.

Specified by:
getSendToItem in interface SendToActionSupporter
Parameters:
cls - the classes to retrieve the item for
Returns:
the item to send

getColumnFinderDialog

protected GenericObjectEditorDialog getColumnFinderDialog()
Returns the dialog for column finders.

Returns:
the dialog

getRowFinderDialog

protected GenericObjectEditorDialog getRowFinderDialog()
Returns the dialog for row finders.

Returns:
the dialog

getConversionDialog

protected GenericObjectEditorDialog getConversionDialog()
Returns the dialog for conversion schemes.

Returns:
the dialog

getTransformerDialog

protected GenericObjectEditorDialog getTransformerDialog()
Returns the dialog for transformers.

Returns:
the dialog

filterData

protected void filterData(String oldTitle,
                          Object input,
                          AbstractActor filter)
Filters the data with the transformer and adds the generated output as new tab.

Parameters:
oldTitle - the title from the old tab
input - the spreadsheet to process
filter - the transformer

findColumns

protected void findColumns()
Filters the spreadsheet using a column finder.


findRows

protected void findRows()
Filters the spreadsheet using a row finder.


convert

protected void convert()
Filters the spreadsheet using a conversion.


transform

protected void transform()
Filters the spreadsheet using the selected transformer.


computeDifference

protected void computeDifference(SpreadSheet sheet1,
                                 SpreadSheet sheet2,
                                 Range keyCols)
Computes the difference between the two sheets and inserts it as new tab.


computeDifference

protected void computeDifference()
Computes the difference between two sheets that the user selects and inserts it as new tab.


process

protected void process(AbstractDataPlugin plugin)
Processes the current spreadsheet with the specified plugin.

Parameters:
plugin - the plugin to use

view

protected void view(AbstractViewPlugin plugin)
Displays a dialog with the panel created by the plugin.

Parameters:
plugin - for generating the view

getProperties

public static Properties getProperties()
Returns the properties that define the editor.

Returns:
the properties


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