ca.sqlpower.wabit.swingui.olap
Class CellSetTableHeaderComponent

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by ca.sqlpower.wabit.swingui.olap.CellSetTableHeaderComponent
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class CellSetTableHeaderComponent
extends javax.swing.JComponent

A Component to be used as the header component in the CellSetViewer.

See Also:
Serialized Form

Nested Class Summary
 class CellSetTableHeaderComponent.CellSetTableCornerComponent
           
 class CellSetTableHeaderComponent.HierarchyComponent
          A component that renders the current state of a single Olap4j hierarchy, as described by the axis of a cell set.
static class CellSetTableHeaderComponent.LayoutItem
          Container for information relating to the layout of a hierarchy.
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static javax.swing.border.Border ROUNDED_DASHED_BORDER
          A rounded, dashed border to use for empty axes.
 
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
CellSetTableHeaderComponent(OlapQuery query, org.olap4j.Axis axis)
          Creates a CellSetTableRowHeaderComponent without a given CellSet.
CellSetTableHeaderComponent(OlapQuery query, org.olap4j.CellSet cellSet, org.olap4j.Axis axis, javax.swing.JTable table)
          Creates a CellSetTableRowHeaderComponent for viewing the given CellSet and Axis.
CellSetTableHeaderComponent(OlapQuery query, org.olap4j.CellSet cellSet, org.olap4j.Axis axis, javax.swing.JTable table, java.awt.Graphics g, java.awt.Font headerFont)
          Creates a component for viewing the given CellSet and Axis.
 
Method Summary
static void addGreyedButtonsToPanel(javax.swing.JPanel panel)
           
 CellSetTableHeaderComponent.CellSetTableCornerComponent getCornerComponent()
           
 java.util.List<CellSetTableHeaderComponent.HierarchyComponent> getHierarchies()
          Returns an unmodifiable list of all the hierarchy components in this header in the order they appear.
 java.awt.Dimension getMemberSize(int columnIndex)
           
 float getRowHeight()
           
 void setRowHeight(float rowHeight)
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUI
 
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

ROUNDED_DASHED_BORDER

public static final javax.swing.border.Border ROUNDED_DASHED_BORDER
A rounded, dashed border to use for empty axes. We've seen precedent for using a rounded, dashed box to indicate areas where you can drag and drop stuff into.

Constructor Detail

CellSetTableHeaderComponent

public CellSetTableHeaderComponent(OlapQuery query,
                                   org.olap4j.CellSet cellSet,
                                   org.olap4j.Axis axis,
                                   javax.swing.JTable table)
Creates a CellSetTableRowHeaderComponent for viewing the given CellSet and Axis.

Parameters:
session - the WabitSwingSession this component belongs to. Must not be null.
query - The query that generated the cell set. This query will be manipulated by the various drill down, up, replace, across, through, over, under across the woods to grandmother's house we go!

Can be null (for example, if the cell set was obtained by direct execution of an MDX statement), but in that case no query manipulations will be offered to the person viewing the cell set.

cellSet - The CellSet that this header component is for
axis - The Axis this component is the header for
table - The table this row header is for. We will attach a listener to this table so we can track its row height. The table's columnModel will be used to determine column positions in the table.

CellSetTableHeaderComponent

public CellSetTableHeaderComponent(OlapQuery query,
                                   org.olap4j.CellSet cellSet,
                                   org.olap4j.Axis axis,
                                   javax.swing.JTable table,
                                   java.awt.Graphics g,
                                   java.awt.Font headerFont)
Creates a component for viewing the given CellSet and Axis.

Parameters:
session - the WabitSwingSession this component belongs to. Must not be null.
query - The query that generated the cell set. This query will be manipulated by the various drill down, up, replace, across, through, over, under across the woods to grandmother's house we go!

Can be null (for example, if the cell set was obtained by direct execution of an MDX statement), but in that case no query manipulations will be offered to the person viewing the cell set.

cellSet - The CellSet that this header component is for
axis - The Axis this component is the header for
table - The table this row header is for. We will attach a listener to this table so we can track its row height. The table's columnModel will be used to determine column positions in the table.
g - A graphics that is different from the default graphic used by the JComponent. This allows using the component to use the header in different graphics for things like printing.

CellSetTableHeaderComponent

public CellSetTableHeaderComponent(OlapQuery query,
                                   org.olap4j.Axis axis)
                            throws QueryInitializationException
Creates a CellSetTableRowHeaderComponent without a given CellSet. This is mainly for providing an table row header for the user to drop Members, Hierarchies, or Dimensions into. If the user has already dropped in a Member, Hierarchy, or Dimension into one header, but not the other (and thus does not yet have a complete query), then the header with members in it can display its existing hierarchies so that the user can tell what they have added already.

Parameters:
session - the WabitSwingSession this component belongs to. Must not be null.
query - The query that things dropped on the axis component should be added to.
axis - The Axis this component is the header for
Throws:
QueryInitializationException
Method Detail

addGreyedButtonsToPanel

public static void addGreyedButtonsToPanel(javax.swing.JPanel panel)

getMemberSize

public java.awt.Dimension getMemberSize(int columnIndex)

getHierarchies

public java.util.List<CellSetTableHeaderComponent.HierarchyComponent> getHierarchies()
Returns an unmodifiable list of all the hierarchy components in this header in the order they appear.


getRowHeight

public float getRowHeight()

setRowHeight

public void setRowHeight(float rowHeight)

getCornerComponent

public CellSetTableHeaderComponent.CellSetTableCornerComponent getCornerComponent()


Copyright © 2009. All Rights Reserved.