Class SaturationMeter

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--SaturationMeter
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class SaturationMeter
extends javax.swing.JPanel

This is a widget that displays parts of a term when the user is adding a term instance. A colored bar shows the existing parts and allows the user to see how many more parts must be added before the term is "saturated."

Version:
$03/02/22 06:50:24 mdh$
Author:
Malcolm D. Hyman
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
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
 
Method Summary
 void addPart(java.lang.String variant, java.lang.Object[] choices, java.lang.String defaultLemma)
          Adds a part (which consists of a variant form and an array of possible basic forms) to the term.
 void addSaturationListener(SaturationListener listener)
          Registers an object to receive SaturationEvents.
protected  void finalize()
           
 java.lang.String getBasicForm(int part)
          Returns the basic form selected for a given part.
 java.lang.String getLanguage()
          Returns the language used for this meter.
 int getPartNum()
          Returns the number (one-based) of the last part that has been added.
 int getPartNumForComboBox(javax.swing.JComboBox combo)
          Returns the part number corresponding to the combo box combo.
 int getParts()
          Returns the number of parts expected.
 java.awt.Dimension getPreferredSize()
          Returns the preferred size of the widget.
 java.lang.String getVariantForm(int part)
          Returns the variant form for a given part.
 boolean isAttached()
          Returns true if the term is attached (i.e., editing is finished).
 boolean isSaturated()
          Returns true if the term is saturated (i.e., all parts have been added).
 void markInvalid()
          Marks the meter as invalid by setting parts to -1.
 boolean noTermYet()
          Returns true if there is no term yet
 void removeSaturationListener(SaturationListener listener)
          Unregisters an object for receiving SaturationEvents.
 void resetParts()
          Resets the parts.
 void setAttached(boolean value)
          Marks the term as attached (i.e., editing is finished) -- or not.
 void setLanguage(java.lang.String lang)
          Sets the language for the meter.
 void setMorphology(MorphologyTool morph)
          Sets the morphology object for this meter.
 void setNoTermYet(boolean value)
          Indicates that the meter is not yet attached to a particular term.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getPreferredSize

public java.awt.Dimension getPreferredSize()
Returns the preferred size of the widget.
Overrides:
getPreferredSize in class javax.swing.JComponent
Returns:
preferred size

addPart

public void addPart(java.lang.String variant,
                    java.lang.Object[] choices,
                    java.lang.String defaultLemma)
Adds a part (which consists of a variant form and an array of possible basic forms) to the term.
Parameters:
variant - variant form
choices - candidate basic forms
defaultLemma - the default basic form

isSaturated

public boolean isSaturated()
Returns true if the term is saturated (i.e., all parts have been added).
Returns:
true if saturated

setAttached

public void setAttached(boolean value)
Marks the term as attached (i.e., editing is finished) -- or not.
Parameters:
value - true if attached

isAttached

public boolean isAttached()
Returns true if the term is attached (i.e., editing is finished).
Returns:
true if attached

getPartNum

public int getPartNum()
Returns the number (one-based) of the last part that has been added.
Returns:
part number

getParts

public int getParts()
Returns the number of parts expected.
Returns:
number of parts

addSaturationListener

public void addSaturationListener(SaturationListener listener)
Registers an object to receive SaturationEvents.
Parameters:
listener - listener for SaturationEvents

removeSaturationListener

public void removeSaturationListener(SaturationListener listener)
Unregisters an object for receiving SaturationEvents.
Parameters:
listener - listener for SaturationEvents

setMorphology

public void setMorphology(MorphologyTool morph)
Sets the morphology object for this meter.
Parameters:
morph - morphology tool

getBasicForm

public java.lang.String getBasicForm(int part)
Returns the basic form selected for a given part.
Parameters:
part - part number
Returns:
basic form for given part (zero-based)

getVariantForm

public java.lang.String getVariantForm(int part)
Returns the variant form for a given part.
Parameters:
part - part number
Returns:
variant form for given part (zero-based)

setLanguage

public void setLanguage(java.lang.String lang)
Sets the language for the meter.
Parameters:
lang - language code as per ISO 639

getLanguage

public java.lang.String getLanguage()
Returns the language used for this meter.
Returns:
language code as per ISO 639

markInvalid

public void markInvalid()
Marks the meter as invalid by setting parts to -1.

resetParts

public void resetParts()
Resets the parts.

setNoTermYet

public void setNoTermYet(boolean value)
Indicates that the meter is not yet attached to a particular term.
Parameters:
value - true if no term yet

noTermYet

public boolean noTermYet()
Returns true if there is no term yet
Returns:
true if no term yet

getPartNumForComboBox

public int getPartNumForComboBox(javax.swing.JComboBox combo)
Returns the part number corresponding to the combo box combo.
Parameters:
combo - a combo box for selecting lemmata (basic forms)
Returns:
corresponding part num. (0..parts

finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object