ace.gui
Class FeatureDefinitionsPanel

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 ace.gui.FeatureDefinitionsPanel
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.TableModelListener

public class FeatureDefinitionsPanel
extends javax.swing.JPanel
implements java.awt.event.ActionListener, javax.swing.event.TableModelListener

An object of this class represents a panel in the ACE GUI that allows users to view, edit, load and save feature definitions. This information relates to features themselves, not to actual feature values extracted from features. The Instances Panel should be consulted if one wishes to view ] extracted feature values.

The features are displayed in table form. This table may be sorted based on the contents of a given column by clicking on the appropriate column heading. The contents of any row may be changed by double clicking on any entry on the table (or clicking once, in the case of check boxes). Columns may also be reordered by dragging their headings. All features must have unique names and must have at least 1 dimension. Any attempt to enter invalid entries will be rejected by the system.

The Name column specifies the name of a feature. The Dimensions column indicates the number of separate values that are stored each time the given feature is extracted. The Sequential column specifies whether a feature can be applied to sub-section of a data set (e.g. a window of audio). A value of true means that it can, and a value of false means that the feature may only be extracted once per data set. The Description column provides a brief description of each feature.

The status bar displays the total number of loaded feature definitions, including informaiton on how many of them are multi-dimensional and how many of them are sequential.

The View Descriptions button causes the descriptions of each feature selected on the table to be displayed in a separate dialog box.

The Add Feature button causes a new feature to be added to the end of the table. It is given a unique name.

The Delete Features button causes all selected features to be deleted from the table.

The Load Features button loads a feature_key_file ACE XML file into memory and displays it. This overwrites any existing feature definitions.

The Save Features button saves the currently loaded feature definitions into the path referred to in the File Path Settings dialog box as a feature_key_file ACE XML file. The Save As button allows the user to choose the path to which the file is to be saved and updates the path in the File Path Settings dialog box.

The loadNewPanelContents and saveAsFile methods can be called to load and save feature definitions by external objects.

The actual feature definitions are not stored in an object of this class, but are instead stored in a DataBoard object stored in the MainGUIFrame object that holds the FeatureDefinitionsPanel.

See Also:
Serialized Form

Nested Class Summary
 
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
 
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
FeatureDefinitionsPanel(MainGUIFrame parent_frame)
          Basic constructor that sets up the for this JFrame, but does not load any actal feature defintions yet.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
          Calls the appropriate methods when the buttons are pressed.
 void loadNewPanelContents()
          Cause this panel to update to reflect the contents of parent.data_board.feature_definitions.
 void saveAsFile(java.lang.String save_path)
          Save the currently loaded feature definitions (as stored in parent.data_board) into a feature_key_file ACE XML file.
 void tableChanged(javax.swing.event.TableModelEvent event)
          A listener that causes the parent.data_board.feature_definitions to reflect the contents of the table whenever the contents of the table are changed.
 
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
 

Constructor Detail

FeatureDefinitionsPanel

public FeatureDefinitionsPanel(MainGUIFrame parent_frame)
Basic constructor that sets up the for this JFrame, but does not load any actal feature defintions yet.

Parameters:
parent_frame - The JFrame that holds this JPanel.
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Calls the appropriate methods when the buttons are pressed.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
event - The event that is to be reacted to.

loadNewPanelContents

public void loadNewPanelContents()
Cause this panel to update to reflect the contents of parent.data_board.feature_definitions.


saveAsFile

public void saveAsFile(java.lang.String save_path)
Save the currently loaded feature definitions (as stored in parent.data_board) into a feature_key_file ACE XML file. Use a browse dialog box if the given path is empty ("").

Parameters:
save_path - The path to save the feature definitions to.

tableChanged

public void tableChanged(javax.swing.event.TableModelEvent event)
A listener that causes the parent.data_board.feature_definitions to reflect the contents of the table whenever the contents of the table are changed. The status bar is also updated to reflect any changes.

The listener also ensures that only valid input is entered by the user. All features must have dimensions of at least 1 and all feature names must be unique. The users change is discarded if an invalid entry is entered.

Columns are also automatically resized if necessary, based on the new contents.

Specified by:
tableChanged in interface javax.swing.event.TableModelListener
Parameters:
event - An event indicating the change in the table.