LiveGraph
data visualisation and analysis framework

org.LiveGraph.gui
Class SeriesSettingsWindow

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by org.LiveGraph.gui.SeriesSettingsWindow
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, CacheObserver, SeriesHighlightListener, SettingsObserver

public class SeriesSettingsWindow
extends javax.swing.JFrame
implements CacheObserver, SettingsObserver, SeriesHighlightListener

The "Series Settings" window of the application.

This product includes software developed by the LiveGraph project and its contributors.
(http://www.live-graph.org)
Copyright (c) 2007 G. Paperin.
All rights reserved.

File: SeriesSettingsWindow.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:
"1.1.1"
Author:
Greg Paperin (http://www.paperin.org)
See Also:
Serialized Form

Nested Class Summary
private  class SeriesSettingsWindow.ColourEditor
          A colour selection cell editor for the settings table.
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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
 
Nested classes/interfaces inherited from interface org.LiveGraph.dataCache.CacheObserver
CacheObserver.CacheEvent
 
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.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.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
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, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
SeriesSettingsWindow()
          This is the default constructor.
 
Method Summary
 void cacheEventFired(DataCache cache, CacheObserver.CacheEvent event)
          Locally updates the series-lables when they have been changed in the data cache.
private  javax.swing.JTable createTable()
          Creates and initialises the labels table.
 void highlightSeries(java.util.List<java.lang.Integer> seriesIndices)
           
private  void initialize()
          This method initializes the window.
private  void runAdvancedSelector()
          Executes the advanced selection of data series.
private  void setAdvancedPanelVisibility(boolean show)
          Shows and hides the advanced selector panel.
 void settingHasChanged(DataSeriesSettings settings, java.lang.String info)
          Updates the table display when series settings were loaded from a file.
 void settingHasChanged(GraphSettings settings, java.lang.String info)
          When a series was selected as x-axis, the corresponding setting is highlighted for a second.
 void settingHasChanged(ObservableSettings settings, java.lang.Object info)
          Dispatches the settings change events.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, 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, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

HIGHLIGHT_LEN

private static final long HIGHLIGHT_LEN
See Also:
Constant Field Values

seriesLabels

private 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

SeriesSettingsWindow

public SeriesSettingsWindow()
This is the default constructor.

Method Detail

initialize

private void initialize()
This method initializes the window.


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.


cacheEventFired

public void cacheEventFired(DataCache cache,
                            CacheObserver.CacheEvent event)
Locally updates the series-lables when they have been changed in the data cache.

Specified by:
cacheEventFired in interface CacheObserver

settingHasChanged

public void settingHasChanged(ObservableSettings settings,
                              java.lang.Object info)
Dispatches the settings change events.

Specified by:
settingHasChanged in interface SettingsObserver
Parameters:
settings - The settings object that was changed.
info - Is used to further specify the change. Usually this is a String containing the name of the changed setting.
See Also:
settingHasChanged(DataSeriesSettings, String), settingHasChanged(GraphSettings, String)

settingHasChanged

public void settingHasChanged(DataSeriesSettings settings,
                              java.lang.String info)
Updates the table display when series settings were loaded from a file.

Parameters:
settings - Series settings.
info - Event info.

settingHasChanged

public void settingHasChanged(GraphSettings settings,
                              java.lang.String info)
When a series was selected as x-axis, the corresponding setting is highlighted for a second.

Parameters:
settings - Graph settings.
info - Event info.

highlightSeries

public void highlightSeries(java.util.List<java.lang.Integer> seriesIndices)
Specified by:
highlightSeries in interface SeriesHighlightListener

LiveGraph
data visualisation and analysis framework