org.fenfire.loom
Class PropertiesBox

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.List
              |
              +--org.fenfire.loom.PropertiesBox
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable

public class PropertiesBox
extends java.awt.List

A list box allowing properties from a model to be selected and unselected. Shows all properties in a model (rdf:_n are shown as a single entry). By selecting and unselecting individual properties, the user can influence what is shown on the screen.

The list box is associated with a StatementSelector which chooses only statements whose property is selected in the box.

A NamespaceMap is used to preprocess property names before showing them on the screen. After this preprocessing, the properties are shown in alphabetical order.

See Also:
Serialized Form

Field Summary
protected static java.lang.Object numericProperties
          A special tag representing the rdf:_n properties in the properties list.
protected  java.util.List properties
           
protected  PropertySetSelector selector
           
 
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
PropertiesBox()
           
 
Method Summary
 StatementSelector getStatementSelector()
          Get the statement selector associated with this PropertiesWindow.
protected  void processItemEvent(java.awt.event.ItemEvent e)
          Dispatch an ItemEvent and call refresh().
 void refresh()
          Re-read the set of shown properties from the selections in this list box.
 void setModel(Model model, NamespaceMap names)
          Set the model from which properties are shown.
 
Methods inherited from class java.awt.List
add, add, addActionListener, addItem, addItem, addItemListener, addNotify, allowsMultipleSelections, clear, countItems, delItem, delItems, deselect, getAccessibleContext, getActionListeners, getItem, getItemCount, getItemListeners, getItems, getListeners, getMinimumSize, getMinimumSize, getPreferredSize, getPreferredSize, getRows, getSelectedIndex, getSelectedIndexes, getSelectedItem, getSelectedItems, getSelectedObjects, getVisibleIndex, isIndexSelected, isMultipleMode, isSelected, makeVisible, minimumSize, minimumSize, paramString, preferredSize, preferredSize, processActionEvent, processEvent, remove, remove, removeActionListener, removeAll, removeItemListener, removeNotify, replaceItem, select, setMultipleMode, setMultipleSelections
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, postEvent, prepareImage, prepareImage, print, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

selector

protected PropertySetSelector selector

properties

protected java.util.List properties

numericProperties

protected static final java.lang.Object numericProperties
A special tag representing the rdf:_n properties in the properties list.

Constructor Detail

PropertiesBox

public PropertiesBox()
Method Detail

setModel

public void setModel(Model model,
                     NamespaceMap names)
              throws RDFException
Set the model from which properties are shown. Initially, all properties are selected.

RDFException

getStatementSelector

public StatementSelector getStatementSelector()
Get the statement selector associated with this PropertiesWindow. The selector will select a statement iff its property is selected in this window.


processItemEvent

protected void processItemEvent(java.awt.event.ItemEvent e)
Dispatch an ItemEvent and call refresh().

Overrides:
processItemEvent in class java.awt.List

refresh

public void refresh()
Re-read the set of shown properties from the selections in this list box. This ensures that the StatementSelector related to this box really accepts exactly those properties selected in the list box.

This cannot be an ItemListener because the select() and deselect() methods do not generate ItemEvents. When the selection is changed through these methods, refresh() must be called for the changes to take effect.

This is relevant for the unit tests.