Class ArrayScroller

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--ArrayScroller
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.AdjustmentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.io.Serializable

class ArrayScroller
extends java.awt.Panel
implements java.awt.event.AdjustmentListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener

This class supports the scrollable clickable pseudoarray image. The image is contained in the ScrollableImageCanvas which uses DrawPseudoImage to generate the image to draw on the canvas. It also has a text-title, ScrollableImageCanvas, horizontal and vertical scroll bars used to scrolling the canvas. The ArrayScroller is created as part of the GUI before the pseudoarray images has been generated. Therefore, we need to do several setXXXX() method calls after the image has been generated to have the the ArrayScroller "stuff" it as needed.

This work was produced by Peter Lemkin of the National Cancer Institute, an agency of the United States Government. As a work of the United States Government there is no associated copyright. It is offered as open source software under the Mozilla Public License (version 1.1) subject to the limitations noted in the accompanying LEGAL file. This notice must be included with the code. The MAExplorer Mozilla and Legal files are available on http://maexplorer.sourceforge.net/.

Version:
$Date: 2003/03/03 16:15:06 $ $Revision: 1.6 $
Author:
P. Lemkin (NCI), G. Thornwall (SAIC), NCI-Frederick, Frederick, MD
See Also:
MAExplorer Home, DrawPseudoImage, ScrollableImageCanvas, Serialized Form

Inner classes inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
(package private)  java.awt.Scrollbar hs
          opt.
(package private)  boolean img_selectedFlag
          flag: set if xObj,yObj is set
private  java.awt.Color lastBG1
          last background colors cached for showMsg1
private  java.awt.Color lastBG2
          last background colors cached for showMsg2
private  java.awt.Color lastBG3
          last background colors cached for showMsg3
private  java.awt.Color lastFG1
          last foreground colors cached for showMsg1
private  java.awt.Color lastFG2
          last foreground colors cached for showMsg2
private  java.awt.Color lastFG3
          last foreground colors cached for showMsg3
(package private)  MAExplorer mae
          link to global MAExplorer instance
(package private)  int magnification
          magnification
(package private)  MaHybridSample msR
          link to global MaHybridSample instance
(package private)  java.lang.String name
          HP sample name
(package private)  int pagestep
          scrollbar thickness
 int preferredHeight
          height of panel
 int preferredWidth
          width of panel
(package private)  ScrollableImageCanvas siCanvas
          instance of the scrollable image canvas
(package private)  java.awt.Panel southPanel
          opt.
(package private)  int steps
          prewired scroller steps
(package private)  java.lang.String title
          current title for window
(package private)  java.awt.TextField txtField1
          image title placed above canvas
(package private)  java.awt.TextField txtField2
          genomic info placed above canvas
(package private)  java.awt.TextField txtField3
          additional genomic info placed above canvas
(package private)  java.awt.Scrollbar vs
          opt.
 
Fields inherited from class java.awt.Panel
base, nameCounter, serialVersionUID
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads
 
Fields inherited from class java.awt.Component
accessibleContext, actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
(package private) ArrayScroller(MAExplorer mae, java.lang.String name, java.lang.String title, int iWidth, int iHeight, int preferredWidth, int preferredHeight, int magnification)
          ArrayScroller() - constructor.
 
Method Summary
 void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
          adjustmentValueChanged() - handle ArrayScroller scroll events.
(package private)  void drawImageTitle()
          drawImageTitle() - draw title in image.
(package private)  java.awt.Point getImgCursor()
          getImgCursor() - get the (x,y) scrollable cursor for this image
(package private)  java.awt.Point getImgCursorMax()
          getImgCursorMax() - get the (x,y) scrollable image cursor maxima.
(package private)  java.awt.Point getImgPos()
          getImgPos() - get the Image position
(package private)  java.awt.Point getObjPos()
          getObjPos() - get the object position
 java.awt.Dimension getPreferredSize()
          getPreferredSize() - get the preferred window size
 void mouseClicked(java.awt.event.MouseEvent e)
          mouseClicked() - handle mouse Click event by passing it to ScrollableImageCanvas to handle.
 void mouseDragged(java.awt.event.MouseEvent e)
          mouseDragged() - handle mouse Drag event by passing it to ScrollableImageCanvas to handle.
 void mouseEntered(java.awt.event.MouseEvent e)
          mouseEntered() - handle mouse Enter events by passing it to ScrollableImageCanvas to handle.
 void mouseExited(java.awt.event.MouseEvent e)
          mouseExited() - handle mouse Exit events by passing it to ScrollableImageCanvas to handle.
 void mouseMoved(java.awt.event.MouseEvent e)
          mouseMoved() - handle mouse Move event by passing it to ScrollableImageCanvas to handle.
 void mousePressed(java.awt.event.MouseEvent e)
          mousePressed() - handle mouse pressed event by passing it to ScrollableImageCanvas to handle.
 void mouseReleased(java.awt.event.MouseEvent e)
          mouseReleased() - handle mouse released event by passing it to ScrollableImageCanvas to handle.
(package private)  void recreateScollableCanvas(int iWidth, int iHeight)
          recreateScollableCanvas() - Resize canvas with new size by making a new ScrollableImageCanvas.
(package private)  void setArrayScrollerSize(int hSize, int vSize)
          setArrayScrollerSize() - set the Image Scroller size
(package private)  void setImgPos(int xImg, int yImg)
          setImgPos() - set the Image position (x,y).
(package private)  void setImgPos(java.awt.Point xyImg)
          setImgPos() - set the Image position Point xyImg.
(package private)  void setObjPos(int xObj, int yObj)
          setObjPos) - set the object position (x,y).
(package private)  void setObjPos(java.awt.Point xyObj)
          setObjPos() - set the object position xyObj.
(package private)  void setScrollBar(int x, int y)
          setScrollBar() - set the scroll bars (x,y) position for this image.
(package private)  void setScrollPageSteps(int pagestep, int steps)
          setScrollPageSteps() - set scroll bar pagestep and steps
(package private)  void setText1(java.lang.String msg, boolean saveTitleFlag)
          setText1() - change the text1 msg for the panel.
(package private)  void setText1(java.lang.String msg, boolean saveTitleFlag, java.awt.Color fg, java.awt.Color bg)
          setText1() - change the text1 field in the panel with fg, bg colors You can save the msg as the title.
(package private)  void setText2(java.lang.String msg)
          setText2() - change the text2 field in the panel.
(package private)  void setText2(java.lang.String msg, java.awt.Color fg, java.awt.Color bg)
          setText2() - change the text2 field in the panel with fg, bg colors
(package private)  void setText3(java.lang.String msg)
          setText3() - change the text3 field in the panel.
(package private)  void setText3(java.lang.String msg, java.awt.Color fg, java.awt.Color bg)
          setText3() - change the text3 field in the panel with fg, bg colors
(package private)  void syncScrollerAccess()
          syncScrollerAccess() - update the image scroller and sync canvas access to current HP's pseudoarray image, ms, msX, msY
 
Methods inherited from class java.awt.Panel
, addNotify, constructComponentName, getAccessibleContext
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paint, paintComponents, paintHeavyweightComponents, paramString, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, readObject, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusOwner, setFont, setLayout, transferFocus, update, validate, validateTree, writeObject
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkit, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, resetGC, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

mae

MAExplorer mae
link to global MAExplorer instance

msR

MaHybridSample msR
link to global MaHybridSample instance

siCanvas

ScrollableImageCanvas siCanvas
instance of the scrollable image canvas

southPanel

java.awt.Panel southPanel
opt. holds mae.pImage, vs & hs scroll box in SOUTH

vs

java.awt.Scrollbar vs
opt. vertical scroll bar

hs

java.awt.Scrollbar hs
opt. horizontal scroll bar

txtField1

java.awt.TextField txtField1
image title placed above canvas

txtField2

java.awt.TextField txtField2
genomic info placed above canvas

txtField3

java.awt.TextField txtField3
additional genomic info placed above canvas

name

java.lang.String name
HP sample name

title

java.lang.String title
current title for window

lastFG1

private java.awt.Color lastFG1
last foreground colors cached for showMsg1

lastBG1

private java.awt.Color lastBG1
last background colors cached for showMsg1

lastFG2

private java.awt.Color lastFG2
last foreground colors cached for showMsg2

lastBG2

private java.awt.Color lastBG2
last background colors cached for showMsg2

lastFG3

private java.awt.Color lastFG3
last foreground colors cached for showMsg3

lastBG3

private java.awt.Color lastBG3
last background colors cached for showMsg3

magnification

int magnification
magnification

preferredWidth

public int preferredWidth
width of panel

preferredHeight

public int preferredHeight
height of panel

steps

int steps
prewired scroller steps

pagestep

int pagestep
scrollbar thickness

img_selectedFlag

boolean img_selectedFlag
flag: set if xObj,yObj is set
Constructor Detail

ArrayScroller

ArrayScroller(MAExplorer mae,
              java.lang.String name,
              java.lang.String title,
              int iWidth,
              int iHeight,
              int preferredWidth,
              int preferredHeight,
              int magnification)
ArrayScroller() - constructor. Resize to the preferred size.
Parameters:
mae - is the MAExplorer instance
name - of the current microarray sample
title - of the window
iWidth - of scrollableImageCanvas
iHeight - of scrollableImageCanvas
preferredWidth - is the size of mae.is main window
preferredHeight - is the size of mae.is
magnification - of array
See Also:
ScrollableImageCanvas, syncScrollerAccess()
Method Detail

recreateScollableCanvas

void recreateScollableCanvas(int iWidth,
                             int iHeight)
recreateScollableCanvas() - Resize canvas with new size by making a new ScrollableImageCanvas. Note: have to setup other variables as needed.
Parameters:
iWidth - of scrollableImageCanvas
iHeight - of scrollableImageCanvas
See Also:
ScrollableImageCanvas, syncScrollerAccess()

getPreferredSize

public java.awt.Dimension getPreferredSize()
getPreferredSize() - get the preferred window size
Overrides:
getPreferredSize in class java.awt.Container
Returns:
size of window

syncScrollerAccess

void syncScrollerAccess()
syncScrollerAccess() - update the image scroller and sync canvas access to current HP's pseudoarray image, ms, msX, msY
See Also:
ScrollableImageCanvas.syncCanvasAccess()

setText1

void setText1(java.lang.String msg,
              boolean saveTitleFlag)
setText1() - change the text1 msg for the panel. Force foreground to BLACK and background to WHITE.
Parameters:
text - to save in text field
saveTitleFlag - to save text of last message

setText1

void setText1(java.lang.String msg,
              boolean saveTitleFlag,
              java.awt.Color fg,
              java.awt.Color bg)
setText1() - change the text1 field in the panel with fg, bg colors You can save the msg as the title.
Parameters:
msg - to save in text field
saveTitleFlag - to save text of last message
fg - is foreground color
bg - is background color

setText2

void setText2(java.lang.String msg)
setText2() - change the text2 field in the panel. Force foreground to BLACK and background to WHITE.
Parameters:
msg - to save in text field

setText2

void setText2(java.lang.String msg,
              java.awt.Color fg,
              java.awt.Color bg)
setText2() - change the text2 field in the panel with fg, bg colors
Parameters:
msg - to save in text field
fg - is foreground color
bg - is background color

setText3

void setText3(java.lang.String msg)
setText3() - change the text3 field in the panel. Force foreground to BLACK and background to WHITE.
Parameters:
msg - to save in text field
See Also:
setText3(java.lang.String)

setText3

void setText3(java.lang.String msg,
              java.awt.Color fg,
              java.awt.Color bg)
setText3() - change the text3 field in the panel with fg, bg colors
Parameters:
msg - to save in text field
fg - is foreground color
bg - is background color

setImgPos

void setImgPos(java.awt.Point xyImg)
setImgPos() - set the Image position Point xyImg. Don't repaint here
Parameters:
xyImg - is the image position
See Also:
ScrollableImageCanvas.setImgPos(MaHybridSample, int, int), syncScrollerAccess()

setImgPos

void setImgPos(int xImg,
               int yImg)
setImgPos() - set the Image position (x,y). Don't repaint here...
Parameters:
xImg - is the image position
yImg - is the image position
See Also:
ScrollableImageCanvas.setImgPos(MaHybridSample, int, int), syncScrollerAccess()

getImgPos

java.awt.Point getImgPos()
getImgPos() - get the Image position
Returns:
the image position
See Also:
ScrollableImageCanvas.getImgPos(), syncScrollerAccess()

setObjPos

void setObjPos(java.awt.Point xyObj)
setObjPos() - set the object position xyObj. Don't repaint here
Parameters:
xyObj - is the object (i.e. gene) position
See Also:
ScrollableImageCanvas.setObjPos(int, int), syncScrollerAccess()

setObjPos

void setObjPos(int xObj,
               int yObj)
setObjPos) - set the object position (x,y). Don't repaint here
Parameters:
xObj - is the object (i.e. gene) position
yObj - is the object (i.e. gene) position
See Also:
ScrollableImageCanvas.setObjPos(int, int), syncScrollerAccess()

getObjPos

java.awt.Point getObjPos()
getObjPos() - get the object position
Returns:
the object (gene) position
See Also:
ScrollableImageCanvas.getObjPos(), syncScrollerAccess()

setScrollPageSteps

void setScrollPageSteps(int pagestep,
                        int steps)
setScrollPageSteps() - set scroll bar pagestep and steps
Parameters:
pagestep - is the scroll bar paging size
steps - is the scroll bar # of steps
See Also:
Component.repaint(), syncScrollerAccess()

setArrayScrollerSize

void setArrayScrollerSize(int hSize,
                          int vSize)
setArrayScrollerSize() - set the Image Scroller size
Parameters:
hSize - is the scroll bar horizontal size
vSize - is the scroll bar vertical size
See Also:
ScrollableImageCanvas

drawImageTitle

void drawImageTitle()
drawImageTitle() - draw title in image. This uses the mouse position in the canvas to get the [x,y,g(x,y)/od(x,y)] values and set it to: 'title' + (x,y,g) + "[use]"
See Also:
ScrollableImageCanvas.drawImageTitle()

getImgCursor

java.awt.Point getImgCursor()
getImgCursor() - get the (x,y) scrollable cursor for this image
Returns:
cursor, else if there is no cursor, then return (0,0).

getImgCursorMax

java.awt.Point getImgCursorMax()
getImgCursorMax() - get the (x,y) scrollable image cursor maxima.
Returns:
(x,y) Point maxima. If there is no cursor, then return (0,0).

setScrollBar

void setScrollBar(int x,
                  int y)
setScrollBar() - set the scroll bars (x,y) position for this image. The arguments are in the range of allowable values else it is a no-op.
Parameters:
x - is scrollabar position to set
y - is scrollabar position to set
See Also:
Component.repaint()

adjustmentValueChanged

public void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
adjustmentValueChanged() - handle ArrayScroller scroll events. Handle ArrayScroller scroll events and cause a repaint of the canvas. If we are using the scroll bar for this canvas, then set the obj position for use by other canvas for the same image.
Specified by:
adjustmentValueChanged in interface java.awt.event.AdjustmentListener
Parameters:
e - is scroller adjustment event
See Also:
Component.repaint(), ScrollableImageCanvas.setImgPos(MaHybridSample, int, int), ScrollableImageCanvas.setObjPos(int, int)

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
mousePressed() - handle mouse pressed event by passing it to ScrollableImageCanvas to handle.
Specified by:
mousePressed in interface java.awt.event.MouseListener
Parameters:
e - is mouse press event
See Also:
ScrollableImageCanvas.mousePressed(java.awt.event.MouseEvent)

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased() - handle mouse released event by passing it to ScrollableImageCanvas to handle.
Specified by:
mouseReleased in interface java.awt.event.MouseListener
Parameters:
e - is mouse released event
See Also:
ScrollableImageCanvas.mouseReleased(java.awt.event.MouseEvent)

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked() - handle mouse Click event by passing it to ScrollableImageCanvas to handle.
Specified by:
mouseClicked in interface java.awt.event.MouseListener
Parameters:
e - is mouse clicked event
See Also:
ScrollableImageCanvas.mouseClicked(java.awt.event.MouseEvent)

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
mouseMoved() - handle mouse Move event by passing it to ScrollableImageCanvas to handle.
Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener
Parameters:
e - is mouse moved event
See Also:
ScrollableImageCanvas.mouseMoved(java.awt.event.MouseEvent)

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
mouseDragged() - handle mouse Drag event by passing it to ScrollableImageCanvas to handle.
Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener
Parameters:
e - is mousedragged event
See Also:
ScrollableImageCanvas.mouseDragged(java.awt.event.MouseEvent)

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered() - handle mouse Enter events by passing it to ScrollableImageCanvas to handle.
Specified by:
mouseEntered in interface java.awt.event.MouseListener
Parameters:
e - is mouse entered event
See Also:
ScrollableImageCanvas.mouseEntered(java.awt.event.MouseEvent)

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
mouseExited() - handle mouse Exit events by passing it to ScrollableImageCanvas to handle.
Specified by:
mouseExited in interface java.awt.event.MouseListener
Parameters:
e - is mouse left event
See Also:
ScrollableImageCanvas.mouseExited(java.awt.event.MouseEvent)