LiveGraph
data visualisation and analysis framework

org.LiveGraph.gui.dss
Class SeriesSettingsPanel

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 org.LiveGraph.gui.LiveGraphSettingsPanel
                      extended by org.LiveGraph.gui.dss.SeriesSettingsPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, EventListener

public class SeriesSettingsPanel
extends LiveGraphSettingsPanel

The data series settings panel of the application. This is the only component contained in the content pane of the application's data series settings window. API users may request GUIManager to create additional instances of a SeriesSettingsPanel if they wish to integrate the LiveGraph GUI into their application.

LiveGraph (http://www.live-graph.org).

Copyright (c) 2007-2008 by G. Paperin.

File: SeriesSettingsPanel.java

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following terms and conditions are met:

1. Redistributions of source code must retain the above acknowledgement of the LiveGraph project and its web-site, the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above acknowledgement of the LiveGraph project and its web-site, the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software or any derived software must display the following acknowledgement:
This product includes software developed by the LiveGraph project and its contributors.
(http://www.live-graph.org)

4. All advertising materials distributed in form of HTML pages or any other technology permitting active hyper-links that mention features or use of this software or any derived software must display the acknowledgment specified in condition 3 of this agreement, and in addition, include a visible and working hyper-link to the LiveGraph homepage (http://www.live-graph.org).

THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Version:
"2.0.beta01"
Author:
Greg Paperin (http://www.paperin.org)
See Also:
Serialized Form

Nested Class Summary
private  class SeriesSettingsPanel.ColourEditor
          A colour selection cell editor for the settings table.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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
private  javax.swing.JComboBox advAction
           
private  javax.swing.JTextField advEvery
           
private  javax.swing.JTextField advFrom
           
private  javax.swing.JButton advGoButt
           
private  javax.swing.JPanel advPanel
           
private  javax.swing.JButton advPanelButt
           
private  javax.swing.JTextField advTo
           
private  int helpCols
           
private static long HIGHLIGHT_LEN
           
private  javax.swing.JComboBox scaleTypeCombo
           
private  javax.swing.ListSelectionModel selectionModel
           
private  java.util.List<java.lang.String> seriesLabels
           
private  javax.swing.JTable table
           
private  javax.swing.table.AbstractTableModel tableModel
           
private  com.softnetConsult.utils.swing.DisEnablingPanel topPanel
           
 
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
SeriesSettingsPanel()
          This is the default constructor.
 
Method Summary
private  javax.swing.JTable createTable()
          Creates and initialises the labels table.
 void eventRaised(Event<? extends EventType> event)
          Processes events.
private  void initialize()
          This method initializes the panel.
private  void processCacheEvent(Event<CacheEvent> event)
          Locally updates the series-lables when they have been changed in the data cache.
private  void processGUIEvent(Event<GUIEvent> event)
          Updates local view on GUI events.
protected  void processSettingsEvent(Event<SettingsEvent> event)
          When the application's settings change, this method is called in order to update the GUI accordingly.
- Updates the table display when series settings were loaded from a file or when a setting changes.
- When a series was selected as x-axis, the corresponding setting is highlighted for a second.
private  void runAdvancedSelector()
          Executes the advanced selection of data series.
private  void setAdvancedPanelVisibility(boolean show)
          Shows and hides the advanced selector panel.
 void setSeriesLabels(com.softnetConsult.utils.collections.ReadOnlyIterator<java.lang.String> labels)
          Updates the series labels from the specified iterator.
 
Methods inherited from class org.LiveGraph.gui.LiveGraphSettingsPanel
checkEventInterest, checkEventValid, completedRegisterWithEventManager, completedUnregisterWithEventManager, permissionRegisterWithEventManager, permissionUnregisterWithEventManager
 
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, 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
 

Field Detail

HIGHLIGHT_LEN

private static final long HIGHLIGHT_LEN
See Also:
Constant Field Values

seriesLabels

private java.util.List<java.lang.String> seriesLabels

tableModel

private javax.swing.table.AbstractTableModel tableModel

table

private javax.swing.JTable table

selectionModel

private javax.swing.ListSelectionModel selectionModel

scaleTypeCombo

private javax.swing.JComboBox scaleTypeCombo

topPanel

private com.softnetConsult.utils.swing.DisEnablingPanel topPanel

advPanelButt

private javax.swing.JButton advPanelButt

advGoButt

private javax.swing.JButton advGoButt

advPanel

private javax.swing.JPanel advPanel

helpCols

private int helpCols

advFrom

private javax.swing.JTextField advFrom

advTo

private javax.swing.JTextField advTo

advEvery

private javax.swing.JTextField advEvery

advAction

private javax.swing.JComboBox advAction
Constructor Detail

SeriesSettingsPanel

public SeriesSettingsPanel()
This is the default constructor.

Method Detail

initialize

private void initialize()
This method initializes the panel.


createTable

private javax.swing.JTable createTable()
Creates and initialises the labels table.

Returns:
The labels table.

setAdvancedPanelVisibility

private void setAdvancedPanelVisibility(boolean show)
Shows and hides the advanced selector panel.

Parameters:
show - Whether to show the advanced selector panel.

runAdvancedSelector

private void runAdvancedSelector()
Executes the advanced selection of data series.


setSeriesLabels

public void setSeriesLabels(com.softnetConsult.utils.collections.ReadOnlyIterator<java.lang.String> labels)
Updates the series labels from the specified iterator.

Parameters:
labels - Series labels.

eventRaised

public void eventRaised(Event<? extends EventType> event)
Processes events.

Specified by:
eventRaised in interface EventListener
Overrides:
eventRaised in class LiveGraphSettingsPanel
Parameters:
event - Event to process.

processSettingsEvent

protected void processSettingsEvent(Event<SettingsEvent> event)
When the application's settings change, this method is called in order to update the GUI accordingly.
- Updates the table display when series settings were loaded from a file or when a setting changes.
- When a series was selected as x-axis, the corresponding setting is highlighted for a second.

Specified by:
processSettingsEvent in class LiveGraphSettingsPanel
Parameters:
event - Describes the change event.

processCacheEvent

private void processCacheEvent(Event<CacheEvent> event)
Locally updates the series-lables when they have been changed in the data cache.

Parameters:
event - The cache event.

processGUIEvent

private void processGUIEvent(Event<GUIEvent> event)
Updates local view on GUI events.

Parameters:
event - The GUI event.

LiveGraph
data visualisation and analysis framework