org.openswing.swing.table.columns.client
Class ComboVOColumn

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.openswing.swing.table.columns.client.Column
                      extended byorg.openswing.swing.table.columns.client.ComboVOColumn
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class ComboVOColumn
extends Column

Title: OpenSwing Framework

Description: Column of type combo-box: it contains a combo box showing a list of value objects. Its items are retrieved through the combo box controller, that returns a list of value object; for each value object there exists a row in the combo box: v.o. attributes can be mapped as columns in an item.

Copyright: Copyright (C) 2006 Mauro Carniel

This file is part of OpenSwing Framework. This library is free software; you can redistribute it and/or modify it under the terms of the (LGPL) Lesser General Public License as published by the Free Software Foundation; GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. The author may be contacted at: maurocarniel@tin.it

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
 
Fields inherited from class org.openswing.swing.table.columns.client.Column
autoFitColumn, TYPE_BUTTON, TYPE_CHECK, TYPE_COMBO, TYPE_COMBO_VO, TYPE_CURRENCY, TYPE_DATE, TYPE_DATE_TIME, TYPE_DEC, TYPE_FILE, TYPE_FORMATTED_TEXT, TYPE_IMAGE, TYPE_INT, TYPE_LINK, TYPE_LOOKUP, TYPE_MULTI_LINE_TEXT, TYPE_MULTIPLE_TYPE, TYPE_PERC, TYPE_PROGRESS_BAR, TYPE_SPINNER_LIST, TYPE_SPINNER_NUMBER, TYPE_TEXT, TYPE_TIME
 
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
ComboVOColumn()
           
 
Method Summary
 void addCombo2ParentLink(java.lang.String parentAttributeName)
          Add a link from the whole combo box value object to an equivalent inner v.o. included in the container v.o.
 void addCombo2ParentLink(java.lang.String comboAttributeName, java.lang.String parentAttributeName)
          Add a link from an attribute of the combo box v.o. to an attribute of the combo box container v.o.
 void addItemListener(java.awt.event.ItemListener listener)
          Add an ItemListener to the combo.
 int getAllColumnPreferredWidth()
           
 int getBottomMargin()
           
 javax.swing.table.TableCellEditor getCellEditor(GridController tableContainer, Grids grids)
           
 javax.swing.table.TableCellRenderer getCellRenderer(GridController tableContainer, Grids grids)
           
 Column[] getColProperties()
           
 int getColumnType()
           
 org.openswing.swing.items.client.ItemsDataLocator getComboDataLocator()
           
 java.lang.String getForeignKeyAttributeName()
           
 java.util.Hashtable getGetters()
           
 java.util.ArrayList getItemListeners()
           
 org.openswing.swing.items.client.ItemsMapper getItemsMapper()
           
 ValueObject getItemsVO()
           
 int getLeftMargin()
           
 int getRightMargin()
           
 java.awt.ComponentOrientation getTextOrientation()
           
 int getTopMargin()
           
 boolean isAllColumnVisible()
           
 boolean isNullAsDefaultValue()
           
 void reloadItems()
          Method used to reload items in combo-box.
 void removeItemListener(java.awt.event.ItemListener listener)
          Remove an ItemListener from the combo.
 void setAllColumnPreferredWidth(int preferredWidth)
          Set columns width for the whole columns of the items grid frame.
 void setAllColumnVisible(boolean visible)
          Set column visibility for the whole columns of the items grid frame.
 void setBottomMargin(int bottomMargin)
          Set component bottom margin, with respect to component container.
 void setComboDataLocator(org.openswing.swing.items.client.ItemsDataLocator comboDataLocator)
          Set combo box data locator.
 void setComboValueObjectClassName(java.lang.String comboValueObjectClassName)
          Set value object class name associated to the combo box: this method calls initItemsVO method.
 void setForeignKeyAttributeName(java.lang.String foreignKeyAttributeName)
          Set the attribute name in the combo-box v.o. that identify the attribute name in the v.o. of the combo-box container.
 void setLeftMargin(int leftMargin)
          Set component left margin, with respect to component container.
 void setNullAsDefaultValue(boolean nullAsDefaultValue)
          Define if in insert mode combo box has no item selected.
 void setPreferredWidthColumn(java.lang.String itemsAttributeName, int preferredWidth)
          Set column width in the items grid frame.
 void setRightMargin(int rightMargin)
          Set component right margin, with respect to component container.
 void setTextOrientation(java.awt.ComponentOrientation orientation)
          Set the component orientation: from left to right or from right to left.
 void setTopMargin(int topMargin)
          Set component top margin, with respect to component container.
 void setVisibleColumn(java.lang.String comboAttributeName, boolean visible)
          Set column visibility in the combo box grid frame.
 
Methods inherited from class org.openswing.swing.table.columns.client.Column
getAdditionalHeaderColumnName, getAdditionalHeaderColumnSpan, getColumnName, getDesignColumnType, getHeaderColumnName, getHeaderFont, getHeaderForegroundColor, getHeaderTextHorizontalAlignment, getHeaderTextVerticalAlignment, getListFilter, getMaxWidth, getMinWidth, getPreferredWidth, getSortingOrder, getSortVersus, getTable, getTextAlignment, isAutoFitColumn, isColumnDuplicable, isColumnFilterable, isColumnRequired, isColumnSelectable, isColumnSortable, isColumnVisible, isEditableOnEdit, isEditableOnInsert, setAdditionalHeaderColumnName, setAdditionalHeaderColumnSpan, setAutoFitColumn, setColumnDuplicable, setColumnFilterable, setColumnName, setColumnRequired, setColumnSelectable, setColumnSortable, setColumnVisible, setEditableOnEdit, setEditableOnInsert, setHeaderColumnName, setHeaderFont, setHeaderForegroundColor, setHeaderTextHorizontalAlignment, setHeaderTextVerticalAlignment, setListFilter, setMaxWidth, setMinWidth, setPreferredWidth, setSortingOrder, setSortVersus, setTable, setTextAlignment
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, 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, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, 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

ComboVOColumn

public ComboVOColumn()
Method Detail

getColumnType

public int getColumnType()
Overrides:
getColumnType in class Column
Returns:
column type

addItemListener

public final void addItemListener(java.awt.event.ItemListener listener)
Add an ItemListener to the combo.

Parameters:
listener - ItemListener to add

removeItemListener

public final void removeItemListener(java.awt.event.ItemListener listener)
Remove an ItemListener from the combo.

Parameters:
listener - ItemListener to remove

getItemListeners

public final java.util.ArrayList getItemListeners()
Returns:
ItemListener objects

isNullAsDefaultValue

public final boolean isNullAsDefaultValue()
Returns:
define if in insert mode combo box has no item selected

setNullAsDefaultValue

public final void setNullAsDefaultValue(boolean nullAsDefaultValue)
Define if in insert mode combo box has no item selected.

Parameters:
nullAsDefaultValue - define if in insert mode combo box has no item selected

setVisibleColumn

public final void setVisibleColumn(java.lang.String comboAttributeName,
                                   boolean visible)
Set column visibility in the combo box grid frame.

Parameters:
comboAttributeName - attribute name that identifies the item column
visible - column visibility state

addCombo2ParentLink

public final void addCombo2ParentLink(java.lang.String comboAttributeName,
                                      java.lang.String parentAttributeName)
Add a link from an attribute of the combo box v.o. to an attribute of the combo box container v.o.

Parameters:
comboAttributeName - attribute of the combo box v.o.
parentAttributeName - attribute of the combo box container v.o.

addCombo2ParentLink

public final void addCombo2ParentLink(java.lang.String parentAttributeName)
Add a link from the whole combo box value object to an equivalent inner v.o. included in the container v.o.

Parameters:
parentAttributeName - attribute of the combo box container v.o., related to an inner v.o. having the same type of the combo box v.o.

getComboDataLocator

public final org.openswing.swing.items.client.ItemsDataLocator getComboDataLocator()
Returns:
combo box data locator

setComboDataLocator

public final void setComboDataLocator(org.openswing.swing.items.client.ItemsDataLocator comboDataLocator)
Set combo box data locator.

Parameters:
comboDataLocator - combo box data locator

setComboValueObjectClassName

public final void setComboValueObjectClassName(java.lang.String comboValueObjectClassName)
Set value object class name associated to the combo box: this method calls initItemsVO method.


isAllColumnVisible

public final boolean isAllColumnVisible()
Returns:
columns visibility

setAllColumnVisible

public final void setAllColumnVisible(boolean visible)
Set column visibility for the whole columns of the items grid frame.

Parameters:
visible - columns visibility

getAllColumnPreferredWidth

public final int getAllColumnPreferredWidth()
Returns:
columns width

setAllColumnPreferredWidth

public final void setAllColumnPreferredWidth(int preferredWidth)
Set columns width for the whole columns of the items grid frame.

Parameters:
preferredWidth - columns width

setPreferredWidthColumn

public final void setPreferredWidthColumn(java.lang.String itemsAttributeName,
                                          int preferredWidth)
Set column width in the items grid frame.

Parameters:
itemsAttributeName - attribute name that identifies the grid column
preferredWidth - column width

getColProperties

public Column[] getColProperties()

getGetters

public java.util.Hashtable getGetters()

getItemsVO

public ValueObject getItemsVO()

getItemsMapper

public org.openswing.swing.items.client.ItemsMapper getItemsMapper()

getBottomMargin

public final int getBottomMargin()
Returns:
component bottom margin, with respect to component container

getLeftMargin

public final int getLeftMargin()
Returns:
component left margin, with respect to component container

getRightMargin

public final int getRightMargin()
Returns:
component right margin, with respect to component container

getTopMargin

public final int getTopMargin()
Returns:
component top margin, with respect to component container

setTopMargin

public final void setTopMargin(int topMargin)
Set component top margin, with respect to component container.

Parameters:
topMargin - component top margin

setRightMargin

public final void setRightMargin(int rightMargin)
Set component right margin, with respect to component container.

Parameters:
rightMargin - component right margin

setLeftMargin

public final void setLeftMargin(int leftMargin)
Set component left margin, with respect to component container.

Parameters:
leftMargin - component left margin

setBottomMargin

public final void setBottomMargin(int bottomMargin)
Set component bottom margin, with respect to component container.

Parameters:
bottomMargin - component bottom margin

getForeignKeyAttributeName

public final java.lang.String getForeignKeyAttributeName()
Returns:
attribute name in the combo-box v.o. that identify the attribute name in the v.o. of the combo-box container

setForeignKeyAttributeName

public final void setForeignKeyAttributeName(java.lang.String foreignKeyAttributeName)
Set the attribute name in the combo-box v.o. that identify the attribute name in the v.o. of the combo-box container. As default value this attribute is null. Null means that "attributeName" property will be used to identify the v.o. in the combo-box, i.e. the attribute names in the combo-box v.o. and in the container v.o. must have the same name.

Parameters:
foreignKeyAttributeName - String

reloadItems

public final void reloadItems()
Method used to reload items in combo-box.


setTextOrientation

public final void setTextOrientation(java.awt.ComponentOrientation orientation)
Set the component orientation: from left to right or from right to left.

Parameters:
orientation - component orientation

getTextOrientation

public final java.awt.ComponentOrientation getTextOrientation()
Returns:
component orientation

getCellRenderer

public final javax.swing.table.TableCellRenderer getCellRenderer(GridController tableContainer,
                                                                 Grids grids)
Overrides:
getCellRenderer in class Column
Returns:
TableCellRenderer for this column

getCellEditor

public final javax.swing.table.TableCellEditor getCellEditor(GridController tableContainer,
                                                             Grids grids)
Overrides:
getCellEditor in class Column
Returns:
TableCellEditor for this column