infomat.view
Class InfomatView

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 infomat.view.InfomatView
All Implemented Interfaces:
java.awt.event.ComponentListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, java.util.Observer, javax.accessibility.Accessible

public class InfomatView
extends javax.swing.JPanel
implements java.util.Observer, java.awt.event.ComponentListener

The panel that displays the Infomat Image.

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
private  int colFrom
           
private  GroupingSettingsManager colGroupingManager
           
private  int colTo
           
static java.lang.String COLUMN_DIMENSION_NAME
           
(package private)  boolean columnGrid
           
(package private)  IObject dragStartColObject
           
(package private)  IObject dragStartRowObject
           
(package private)  boolean forceChange
           
(package private)  boolean gridChanged
           
private  java.awt.GridLayout gridLayout
           
private  GroupFrameManager groupFrameManager
           
private  int HEIGHT
           
private  float maxOpacity
           
private  float minOpacity
           
private  InfomatModel model
           
static int MOUSE_CHANGE_STATE_DRAG
           
static int MOUSE_CHANGE_STATE_NONE
           
static int MOUSE_CHANGE_STATE_ZOOM
           
static int MOUSE_CHANGE_STATE_ZOOMAREA
           
static int MOUSE_REMOVE_COLUMNS
           
static int MOUSE_REMOVE_ROWS
           
static int MOUSE_SELECT_PIXEL
           
private  int mouseState
           
private  int oldHEIGHT
           
private  float oldMaxOpacity
           
private  float oldMinOpacity
           
private  float oldOpacity
           
private  int oldWIDTH
           
private  float opacity
           
private  InfomatOverview overview
           
static java.lang.String ROW_DIMENSION_NAME
           
private  int rowFrom
           
(package private)  boolean rowGrid
           
private  GroupingSettingsManager rowGroupingManager
           
private  int rowTo
           
private  SparsePicture sparsePicture
           
private  ToolbarView toolbarView
           
private  int WIDTH
           
static double ZOOM_IN_FACTOR
           
static double ZOOM_OUT_FACTOR
           
 
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, PROPERTIES, SOMEBITS
 
Constructor Summary
InfomatView(InfomatModel model)
           
 
Method Summary
private  void changeColumnOpacity()
           
private  void changeOpacity()
           
protected  void changePartPictures()
           
private  boolean columnOpacityChanged()
           
 void componentHidden(java.awt.event.ComponentEvent e)
           
 void componentMoved(java.awt.event.ComponentEvent e)
           
 void componentResized(java.awt.event.ComponentEvent e)
           
 void componentShown(java.awt.event.ComponentEvent e)
           
 void dragged(IObject colObject, IObject rowObject, boolean overviewPicture)
           
 void fixMove(int newColFrom, int newColTo, int newRowFrom, int newRowTo)
           
 void forceChange()
           
 int getColFrom()
           
 int getColTo()
           
 java.lang.String getColumnDimensionName()
           
 boolean getColumnGrid()
           
 GroupingSettingsManager getColumnGroupingManager()
           
 boolean getGridChanged()
           
 GroupFrameManager getGroupFrameManager()
           
 GroupingSettingsManager getGroupingManager(boolean row)
           
 InfomatModel getInfomatModel()
           
 int getMouseState()
           
 InfomatOverview getOverview()
           
 java.lang.String getRowDimensionName()
           
 int getRowFrom()
           
 boolean getRowGrid()
           
 GroupingSettingsManager getRowGroupingManager()
           
 int getRowTo()
           
 SparsePicture getSparsePicture()
           
 ToolbarView getToolbarView()
           
private  double getZoomInFactor()
           
private  double getZoomOutFactor()
           
 void invert()
           
private  boolean opacityChanged()
           
 void paintComponent(java.awt.Graphics g)
           
private  boolean parametersChanged()
           
private  void printIMatrixBoundaries()
           
 void resetImage()
          Reset zoom.
 void saveIMatrixPicture(java.io.File file)
           
 void setColumnGroupingManager(GroupingSettingsManager colGroupingManager)
           
 void setDragStart(IObject colObject, IObject rowObject)
           
 void setGridChanged(boolean grid)
           
 void setMaxOpacity(float opacity)
           
 void setMinOpacity(float opacity)
           
 void setMouseState(int state)
           
 void setOpacity(float opacity)
          Set the opacity for the image.
 void setRowGroupingManager(GroupingSettingsManager rowGroupingManager)
           
 void setToolbarView(ToolbarView toolbarView)
          Save toolbarView for later use.
 boolean toggleColumnGrid(boolean toggle)
           
 void toggleGuide()
           
 void toggleOverview()
           
 boolean toggleRowGrid(boolean toggle)
           
 void update(java.util.Observable o, java.lang.Object arg)
          Called by the Observable
 void validateIMatrixBorders()
           
 void zoom(IObject colCenterObject, IObject rowCenterObject, int notches)
           
 
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, 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

sparsePicture

private SparsePicture sparsePicture

columnGrid

boolean columnGrid

rowGrid

boolean rowGrid

gridChanged

boolean gridChanged

gridLayout

private java.awt.GridLayout gridLayout

forceChange

boolean forceChange

rowGroupingManager

private GroupingSettingsManager rowGroupingManager

colGroupingManager

private GroupingSettingsManager colGroupingManager

groupFrameManager

private GroupFrameManager groupFrameManager

rowFrom

private int rowFrom

rowTo

private int rowTo

colFrom

private int colFrom

colTo

private int colTo

WIDTH

private int WIDTH

HEIGHT

private int HEIGHT

oldWIDTH

private int oldWIDTH

oldHEIGHT

private int oldHEIGHT

opacity

private float opacity

oldOpacity

private float oldOpacity

minOpacity

private float minOpacity

oldMinOpacity

private float oldMinOpacity

maxOpacity

private float maxOpacity

oldMaxOpacity

private float oldMaxOpacity

ROW_DIMENSION_NAME

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

COLUMN_DIMENSION_NAME

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

model

private InfomatModel model

MOUSE_CHANGE_STATE_NONE

public static final int MOUSE_CHANGE_STATE_NONE
See Also:
Constant Field Values

MOUSE_CHANGE_STATE_DRAG

public static final int MOUSE_CHANGE_STATE_DRAG
See Also:
Constant Field Values

MOUSE_CHANGE_STATE_ZOOMAREA

public static final int MOUSE_CHANGE_STATE_ZOOMAREA
See Also:
Constant Field Values

MOUSE_CHANGE_STATE_ZOOM

public static final int MOUSE_CHANGE_STATE_ZOOM
See Also:
Constant Field Values

MOUSE_REMOVE_COLUMNS

public static final int MOUSE_REMOVE_COLUMNS
See Also:
Constant Field Values

MOUSE_REMOVE_ROWS

public static final int MOUSE_REMOVE_ROWS
See Also:
Constant Field Values

MOUSE_SELECT_PIXEL

public static final int MOUSE_SELECT_PIXEL
See Also:
Constant Field Values

mouseState

private int mouseState

dragStartColObject

IObject dragStartColObject

dragStartRowObject

IObject dragStartRowObject

ZOOM_IN_FACTOR

public static final double ZOOM_IN_FACTOR
See Also:
Constant Field Values

ZOOM_OUT_FACTOR

public static final double ZOOM_OUT_FACTOR
See Also:
Constant Field Values

toolbarView

private ToolbarView toolbarView

overview

private InfomatOverview overview
Constructor Detail

InfomatView

public InfomatView(InfomatModel model)
Method Detail

getGroupFrameManager

public GroupFrameManager getGroupFrameManager()

setGridChanged

public void setGridChanged(boolean grid)

getGridChanged

public boolean getGridChanged()

toggleColumnGrid

public boolean toggleColumnGrid(boolean toggle)

toggleRowGrid

public boolean toggleRowGrid(boolean toggle)

toggleGuide

public void toggleGuide()

toggleOverview

public void toggleOverview()

setToolbarView

public void setToolbarView(ToolbarView toolbarView)
Save toolbarView for later use. Must be done!

Parameters:
toolbarView - The toolbarView

getToolbarView

public ToolbarView getToolbarView()

resetImage

public void resetImage()
Reset zoom.


setMouseState

public void setMouseState(int state)

paintComponent

public void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class javax.swing.JComponent

printIMatrixBoundaries

private void printIMatrixBoundaries()

update

public void update(java.util.Observable o,
                   java.lang.Object arg)
Called by the Observable

Specified by:
update in interface java.util.Observer

opacityChanged

private boolean opacityChanged()

changeOpacity

private void changeOpacity()

columnOpacityChanged

private boolean columnOpacityChanged()

changeColumnOpacity

private void changeColumnOpacity()

changePartPictures

protected void changePartPictures()

forceChange

public void forceChange()

parametersChanged

private boolean parametersChanged()

setOpacity

public void setOpacity(float opacity)
Set the opacity for the image.

Parameters:
opacity - The opacity, a double between 0.0 and 1.0

setMinOpacity

public void setMinOpacity(float opacity)

setMaxOpacity

public void setMaxOpacity(float opacity)

validateIMatrixBorders

public void validateIMatrixBorders()

getRowFrom

public int getRowFrom()

getRowTo

public int getRowTo()

getColFrom

public int getColFrom()

getColTo

public int getColTo()

getZoomInFactor

private double getZoomInFactor()

getZoomOutFactor

private double getZoomOutFactor()

zoom

public void zoom(IObject colCenterObject,
                 IObject rowCenterObject,
                 int notches)

fixMove

public void fixMove(int newColFrom,
                    int newColTo,
                    int newRowFrom,
                    int newRowTo)

setDragStart

public void setDragStart(IObject colObject,
                         IObject rowObject)

dragged

public void dragged(IObject colObject,
                    IObject rowObject,
                    boolean overviewPicture)

componentHidden

public void componentHidden(java.awt.event.ComponentEvent e)
Specified by:
componentHidden in interface java.awt.event.ComponentListener

componentMoved

public void componentMoved(java.awt.event.ComponentEvent e)
Specified by:
componentMoved in interface java.awt.event.ComponentListener

componentResized

public void componentResized(java.awt.event.ComponentEvent e)
Specified by:
componentResized in interface java.awt.event.ComponentListener

componentShown

public void componentShown(java.awt.event.ComponentEvent e)
Specified by:
componentShown in interface java.awt.event.ComponentListener

getColumnDimensionName

public java.lang.String getColumnDimensionName()

getRowDimensionName

public java.lang.String getRowDimensionName()

getRowGrid

public boolean getRowGrid()

getColumnGrid

public boolean getColumnGrid()

getSparsePicture

public SparsePicture getSparsePicture()

getMouseState

public int getMouseState()

getOverview

public InfomatOverview getOverview()

saveIMatrixPicture

public void saveIMatrixPicture(java.io.File file)

getGroupingManager

public GroupingSettingsManager getGroupingManager(boolean row)

getColumnGroupingManager

public GroupingSettingsManager getColumnGroupingManager()

getRowGroupingManager

public GroupingSettingsManager getRowGroupingManager()

setColumnGroupingManager

public void setColumnGroupingManager(GroupingSettingsManager colGroupingManager)

setRowGroupingManager

public void setRowGroupingManager(GroupingSettingsManager rowGroupingManager)

invert

public void invert()

getInfomatModel

public InfomatModel getInfomatModel()