ca.sqlpower.wabit.swingui
Class ComponentCellRenderer

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 ca.sqlpower.wabit.swingui.ComponentCellRenderer
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.table.TableCellRenderer

public class ComponentCellRenderer
extends javax.swing.JPanel
implements javax.swing.table.TableCellRenderer

A renderer that extends JPanel.This renderer will add a JComboBox and a JtextArea to the JHeader of he resultTable for Group By and Having filters.

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
static java.lang.String PROPERTY_GROUP_BY
           
static java.lang.String PROPERTY_HAVING
          This property will define a change to a having field.
 
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
ComponentCellRenderer(javax.swing.JTable t, ca.sqlpower.swingui.table.TableModelSortDecorator sortDecorator)
          Constructs a cell renderer for a table header that allows editing of the table's group by and having clauses.
 
Method Summary
 void addGroupAndHavingListener(java.beans.PropertyChangeListener l)
           
 void addTableListenerToSortDecorator(javax.swing.event.TableModelListener l)
           
 java.util.ArrayList<javax.swing.JComboBox> getComboBoxes()
           
 int getLabelHeight()
          Gets the height of the column header label.
 javax.swing.JTable getTable()
           
 java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int row, int column)
          Implementing the getComponent method on the renderer, this will take the current header and add a JComboBox as well as a JTextField for Group By and having filters.
 java.util.ArrayList<javax.swing.JTextField> getTextFields()
           
 int getXPositionOnColumn(javax.swing.table.TableColumnModel model, int columnIndex)
          Returns the x position of the given a column index.
 void removeGroupAndHavingListener(java.beans.PropertyChangeListener l)
           
 void removeTableListenerToSortDecorator(javax.swing.event.TableModelListener l)
           
 void setGroupingEnabled(boolean flag)
           
 void setSortingStatus(java.util.LinkedHashMap<java.lang.Integer,java.lang.Integer> columnSortMap)
           
 
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
 

Field Detail

PROPERTY_GROUP_BY

public static final java.lang.String PROPERTY_GROUP_BY
See Also:
Constant Field Values

PROPERTY_HAVING

public static final java.lang.String PROPERTY_HAVING
This property will define a change to a having field. The old value will be the value when entering the text field as it is only fired on leaving the text field.

See Also:
Constant Field Values
Constructor Detail

ComponentCellRenderer

public ComponentCellRenderer(javax.swing.JTable t,
                             ca.sqlpower.swingui.table.TableModelSortDecorator sortDecorator)
Constructs a cell renderer for a table header that allows editing of the table's group by and having clauses. The sort decorator is the sort decorator attached to the table or null if the table does not have a sort decorator.

Method Detail

getTableCellRendererComponent

public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table,
                                                        java.lang.Object value,
                                                        boolean isSelected,
                                                        boolean hasFocus,
                                                        int row,
                                                        int column)
Implementing the getComponent method on the renderer, this will take the current header and add a JComboBox as well as a JTextField for Group By and having filters.

Specified by:
getTableCellRendererComponent in interface javax.swing.table.TableCellRenderer

getXPositionOnColumn

public int getXPositionOnColumn(javax.swing.table.TableColumnModel model,
                                int columnIndex)
Returns the x position of the given a column index.


getComboBoxes

public java.util.ArrayList<javax.swing.JComboBox> getComboBoxes()

getTextFields

public java.util.ArrayList<javax.swing.JTextField> getTextFields()

setGroupingEnabled

public void setGroupingEnabled(boolean flag)

getLabelHeight

public int getLabelHeight()
Gets the height of the column header label. This will not include the height of the combo box or filter field.


addTableListenerToSortDecorator

public void addTableListenerToSortDecorator(javax.swing.event.TableModelListener l)

removeTableListenerToSortDecorator

public void removeTableListenerToSortDecorator(javax.swing.event.TableModelListener l)

setSortingStatus

public void setSortingStatus(java.util.LinkedHashMap<java.lang.Integer,java.lang.Integer> columnSortMap)

addGroupAndHavingListener

public void addGroupAndHavingListener(java.beans.PropertyChangeListener l)

removeGroupAndHavingListener

public void removeGroupAndHavingListener(java.beans.PropertyChangeListener l)

getTable

public javax.swing.JTable getTable()


Copyright © 2009. All Rights Reserved.