org.rubato.rubettes.wallpaper
Class JWallpaperDimensionsTable

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JTable
                  extended by org.rubato.rubettes.util.JPropertiesTable
                      extended by org.rubato.rubettes.wallpaper.JWallpaperDimensionsTable
All Implemented Interfaces:
java.awt.event.MouseWheelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.CellEditorListener, javax.swing.event.ListSelectionListener, javax.swing.event.RowSorterListener, javax.swing.event.TableColumnModelListener, javax.swing.event.TableModelListener, javax.swing.Scrollable

public class JWallpaperDimensionsTable
extends JPropertiesTable
implements java.awt.event.MouseWheelListener

A table that stores all information about a wallpaper's morphisms and that can be edited. There is a saving mechanism: revertChanges() always goes back to the state saved with applyChanges().

Author:
Florian Thalmann
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTable
javax.swing.JTable.DropLocation, javax.swing.JTable.PrintMode
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
 
Fields inherited from class javax.swing.JTable
AUTO_RESIZE_ALL_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_OFF, AUTO_RESIZE_SUBSEQUENT_COLUMNS
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
JWallpaperDimensionsTable(WallpaperRubette rubette)
          Creates a table corresponding to the specified WallpaperRubette.
 
Method Summary
 void addMorphism()
          Adds a new empty row to this table.
 void addMorphism(ModuleMorphism morphism, int rangeFrom, int rangeTo, java.util.List<java.util.List<java.lang.Integer>> coordinates)
          Adds a new row with the specified values to this table.
 boolean applyChanges()
          Makes changes in the table permanent.
 java.util.List<java.util.List<java.lang.Integer>> getCoordinates(ModuleMorphism morphism)
          Returns the coordinates saved for the specified morphism (when applyChanges was last executed)
 ModuleMorphism getMorphism(int row)
          Returns the morphisms saved in this table in the specified row (when applyChanges() was last executed).
 int getMorphismCount()
          Returns the number of morphisms currently in the table (dynamically changed)
 java.util.List<ModuleMorphism> getMorphisms()
          Returns a list with the morphisms saved in this table (when applyChanges() was last executed).
 javax.swing.JComponent getMorphismsView()
          Returns a JWallpaperPanel with the graphical representation of the wallpaper defined by the values of this table.
 int getRangeFrom(ModuleMorphism morphism)
          Returns the start of the range saved for the specified morphism (when applyChanges was last executed).
 int getRangeTo(ModuleMorphism morphism)
          Returns the end of the range saved for the specified morphism (when applyChanges was last executed)
 WallpaperRubette getRubette()
          Returns the WallpaperRubette this table belongs to
 java.util.List<java.util.List<java.lang.Integer>> getTempCoordinates(ModuleMorphism morphism)
          Returns the coordinates temporarily saved for the specified morphism.
 ModuleMorphism getTempMorphism(int row)
          Returns the morphism temporarily saved for the indicated row.
 int getTempRangeFrom(ModuleMorphism morphism)
          Returns the start of the range temporarily saved for the specified morphism.
 int getTempRangeTo(ModuleMorphism morphism)
          Returns the end of the range temporarily saved for the specified morphism.
 void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
           
 java.awt.Component prepareRenderer(javax.swing.table.TableCellRenderer renderer, int row, int column)
           
 void resetSelectedCoordinates()
          Resets all selected coordinates to null.
 void revertChanges()
          Reverts values in the table to the previouly applied values.
 
Methods inherited from class org.rubato.rubettes.util.JPropertiesTable
clear, moveSelectedRowsDown, moveSelectedRowsUp, removeSelectedRows, resetColumn
 
Methods inherited from class javax.swing.JTable
addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, changeSelection, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, convertColumnIndexToModel, convertColumnIndexToView, convertRowIndexToModel, convertRowIndexToView, createDefaultColumnsFromModel, createScrollPaneForTable, doLayout, editCellAt, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoCreateRowSorter, getAutoResizeMode, getCellEditor, getCellEditor, getCellRect, getCellRenderer, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDefaultRenderer, getDragEnabled, getDropLocation, getDropMode, getEditingColumn, getEditingRow, getEditorComponent, getFillsViewportHeight, getGridColor, getIntercellSpacing, getModel, getPreferredScrollableViewportSize, getPrintable, getRowCount, getRowHeight, getRowHeight, getRowMargin, getRowSelectionAllowed, getRowSorter, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRow, getSelectedRowCount, getSelectedRows, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getSurrendersFocusOnKeystroke, getTableHeader, getToolTipText, getUI, getUIClassID, getUpdateSelectionOnSort, getValueAt, isCellEditable, isCellSelected, isColumnSelected, isEditing, isRowSelected, moveColumn, prepareEditor, print, print, print, print, print, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoCreateRowSorter, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setDragEnabled, setDropMode, setEditingColumn, setEditingRow, setFillsViewportHeight, setGridColor, setIntercellSpacing, setModel, setPreferredScrollableViewportSize, setRowHeight, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setRowSorter, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setSurrendersFocusOnKeystroke, setTableHeader, setUI, setUpdateSelectionOnSort, setValueAt, sizeColumnsToFit, sizeColumnsToFit, sorterChanged, tableChanged, updateUI, valueChanged
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JWallpaperDimensionsTable

public JWallpaperDimensionsTable(WallpaperRubette rubette)
Creates a table corresponding to the specified WallpaperRubette.

Parameters:
rubette - the rubette, the wallpaper of which is defined by the morphisms of this table
Method Detail

prepareRenderer

public java.awt.Component prepareRenderer(javax.swing.table.TableCellRenderer renderer,
                                          int row,
                                          int column)
Overrides:
prepareRenderer in class javax.swing.JTable

mouseWheelMoved

public void mouseWheelMoved(java.awt.event.MouseWheelEvent e)
Specified by:
mouseWheelMoved in interface java.awt.event.MouseWheelListener

getMorphismsView

public javax.swing.JComponent getMorphismsView()
Returns a JWallpaperPanel with the graphical representation of the wallpaper defined by the values of this table.


addMorphism

public void addMorphism()
Adds a new empty row to this table.


addMorphism

public void addMorphism(ModuleMorphism morphism,
                        int rangeFrom,
                        int rangeTo,
                        java.util.List<java.util.List<java.lang.Integer>> coordinates)
Adds a new row with the specified values to this table.

Parameters:
morphism - the morphism this row represents
rangeFrom - the start of the morphism's range
rangeTo - the end of the morphism's range
coordinates - the coordinates the morphism affects

resetSelectedCoordinates

public void resetSelectedCoordinates()
Resets all selected coordinates to null.


applyChanges

public boolean applyChanges()
Description copied from class: JPropertiesTable
Makes changes in the table permanent.

Specified by:
applyChanges in class JPropertiesTable
Returns:
true iff the values in the table are correct

revertChanges

public void revertChanges()
Description copied from class: JPropertiesTable
Reverts values in the table to the previouly applied values.

Specified by:
revertChanges in class JPropertiesTable

getRubette

public WallpaperRubette getRubette()
Returns the WallpaperRubette this table belongs to


getMorphismCount

public int getMorphismCount()
Returns the number of morphisms currently in the table (dynamically changed)


getTempMorphism

public ModuleMorphism getTempMorphism(int row)
Returns the morphism temporarily saved for the indicated row.

Parameters:
row - - the index of the table's row

getTempRangeFrom

public int getTempRangeFrom(ModuleMorphism morphism)
Returns the start of the range temporarily saved for the specified morphism.

Parameters:
morphism - - a morphism

getTempRangeTo

public int getTempRangeTo(ModuleMorphism morphism)
Returns the end of the range temporarily saved for the specified morphism.

Parameters:
morphism - - a morphism

getTempCoordinates

public java.util.List<java.util.List<java.lang.Integer>> getTempCoordinates(ModuleMorphism morphism)
Returns the coordinates temporarily saved for the specified morphism.

Parameters:
morphism - - a morphism

getMorphisms

public java.util.List<ModuleMorphism> getMorphisms()
Returns a list with the morphisms saved in this table (when applyChanges() was last executed).


getMorphism

public ModuleMorphism getMorphism(int row)
Returns the morphisms saved in this table in the specified row (when applyChanges() was last executed).

Parameters:
row - - the index of a row in this table

getRangeFrom

public int getRangeFrom(ModuleMorphism morphism)
Returns the start of the range saved for the specified morphism (when applyChanges was last executed).

Parameters:
morphism - - a morphism

getRangeTo

public int getRangeTo(ModuleMorphism morphism)
Returns the end of the range saved for the specified morphism (when applyChanges was last executed)

Parameters:
morphism - - a morphism

getCoordinates

public java.util.List<java.util.List<java.lang.Integer>> getCoordinates(ModuleMorphism morphism)
Returns the coordinates saved for the specified morphism (when applyChanges was last executed)

Parameters:
morphism - - a morphism