Class Guesser

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--Guesser
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.event.FocusListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.awt.event.WindowListener
Direct Known Subclasses:
PopupGeneGuesser, PopupHPmenuGuesser, PopupProjDirGuesser

class Guesser
extends java.awt.Frame
implements java.awt.event.ActionListener, java.awt.event.WindowListener, java.awt.event.FocusListener

The Guesser class to used to create popup string guessers from list of strings. It is given a list of strings and the upper case version of that list. It then lets the user type in the beginning letters of the substring to be matched. It then dynamically finds the matching substring (ignoring case) and presents that in the scrollable text area. If you use a leading "*" wildcard Guesser is used as a base class for building data specific guessers.

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/02/18 18:02:31 $ $Revision: $
Author:
P. Lemkin (NCI), G. Thornwall (SAIC), NCI-Frederick, Frederick, MD
See Also:
MAExplorer Home, PopupGeneGuesser, PopupHPmenuGuesser, PopupProjDirGuesser, Serialized Form

Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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.lang.String[] alphaList
          char text to be searched (GeneName)
(package private)  java.lang.String alphaListMode
          "GeneName", "GenBank", "dbEst" etc
(package private)  int alphaListSize
          size of alphaList array
private static int BAD_MODE
          used to set iMode
(package private)  java.awt.Panel buttonPanel
          place for buttons
(package private)  char chFirstTyped
          first char typed
(package private) static int DEF_GUESSER_DISP_SIZE
          max items to display in ta area
(package private) static int DEF_TA_COLS
          default # columns size of text area
(package private) static int DEF_TA_ROWS
          default # rows size of text area
(package private)  java.awt.Font font
          Font for guesser list
(package private)  java.awt.Frame frame
          frame where guesser is built
(package private)  java.awt.Button geneDBnamesButton
          toggle: "Master ID", "GeneName", "GenBank", "dbEst", "UniGene", "LocusID"
(package private)  java.lang.String[] geneIDname
          button labels
(package private)  boolean genericFlag
          if true, don't put Clone opt.
(package private)  GipoTable gipo
          link to global GipoTable instance
(package private)  int iMode
          one of the above MODE_xxxx values
(package private)  KeyEventHandler kev
          handle events for text field
(package private)  MAExplorer mae
          link to global instance
(package private)  Maps map
          link to global Maps instance
(package private)  int maxGenes
          local map.maxGenes
(package private)  MenuBarFrame mbf
          link to global MenuBarFrame instance
(package private)  MouseEventHandler meh
          handle events for text area
private static int MODE_DB_EST3
          used to set iMode
private static int MODE_DB_EST5
          used to set iMode
private static int MODE_GENBANK
          used to set iMode
private static int MODE_GENBANK3
          used to set iMode
private static int MODE_GENBANK5
          used to set iMode
private static int MODE_LOCUSLINK
          used to set iMode
private static int MODE_MASTER_GENE_NAME
          used to set iMode
private static int MODE_MASTER_ID
          used to set iMode
private static int MODE_SWISSPROT
          used to set iMode
private static int MODE_UNIGENE
          used to set iMode
(package private) static int MULTIPLE_GENE
          flag for multiple gene finish
(package private)  boolean onceOnlyFlag
          global setup flag
(package private)  PopupGeneGuesser pgcg
          parent class instance if it is not null
(package private)  PopupHPmenuGuesser phpmg
          parent class instance if it is not null
(package private)  PopupProjDirGuesser pPDg
          parent class instance if it is not null
(package private)  int resultMode
          what type of finish was requested: either SINGLE_GENE or MULTIPLE_GENE
(package private)  java.lang.String resultStr
          return user results from guesser
(package private)  java.lang.String[] resultSubList
          if passing results back as sublist
(package private)  boolean setEGLfromListFlag
          if set then group copy to EGL
(package private) static int SINGLE_GENE
          flag for single gene finish
(package private)  java.lang.String sortedAlphaListStr
          concatenated string for sorting
(package private)  java.lang.String[] subAlphaList
          sub strings for guesser
private  java.awt.TextArea ta
          TextArea list of best guesses
(package private)  int taCols
          size of TextArea
(package private)  int taRows
          size of TextArea
private  java.awt.TextField tf
          Text field for User input
(package private)  java.lang.String title
          title of window
(package private)  java.awt.Label titleLabel
          title label
(package private)  java.awt.Panel titlePanel
          place for title
 
Fields inherited from class java.awt.Frame
base, CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, frameSerializedDataVersion, HAND_CURSOR, icon, ICONIFIED, mbManagement, menuBar, MOVE_CURSOR, N_RESIZE_CURSOR, nameCounter, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, ownedWindows, resizable, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, serialVersionUID, state, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR, weakThis
 
Fields inherited from class java.awt.Window
active, dbg, focusMgr, inputContext, inputContextLock, OPENED, ownedWindowList, showWithParent, warningString, windowListener, windowSerializedDataVersion
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, 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, 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, name, 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) Guesser(MAExplorer mae, boolean genericFlag, boolean setEGLfromListFlag)
          Guesser() - constructor for Guesser.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          actionPerformed() - Handle Control button clicks.
(package private)  void buildAndRunGuesser(java.lang.String guesserTitle)
          buildAndRunGuesser() - create the Guesser window GUI
(package private)  void clearData()
          clearData() - clear TextField tf and TextArea ta data for switching to another list.
(package private)  void close()
          close() - close the window.
(package private)  java.lang.String[] copyArrayToSizedArray(java.lang.String[] tempList, int outLen)
          copyArrayToSizedArray() - resize copy tempList to outList [0:outLen-1].
 void focusGained(java.awt.event.FocusEvent e)
           
 void focusLost(java.awt.event.FocusEvent e)
           
 void handleKeyTyped(char ch)
          handleKeyTyped() - handle key Typed/Released in textfield of guesser
(package private)  void setData(char chFirst, java.lang.String sortedAlphaListStr, java.lang.String[] alphaList, int alphaListSize, int taRows, int taCols, java.lang.String title, java.awt.Font font)
          setData() - for single list.
(package private)  void switchAlphaList(int iMode)
          switchAlphaList() - switch alphaList to alphaListMode (for gene guesser).
(package private)  void updateAssocTextField(java.lang.String str)
          updateAssocTextField() - update the associated text field
(package private)  void updateAssocTextFieldCaretPos(int pos)
          updateAssocTextFieldCaretPos() - update associated text field caret position
(package private)  java.lang.String[] wildCard(java.lang.String searchFor, java.lang.String[] data, int size)
          wildCard() - search for * and return the sublist
 void windowActivated(java.awt.event.WindowEvent e)
           
 void windowClosed(java.awt.event.WindowEvent e)
           
 void windowClosing(java.awt.event.WindowEvent e)
          windowClosing() - close down the window.
 void windowDeactivated(java.awt.event.WindowEvent e)
           
 void windowDeiconified(java.awt.event.WindowEvent e)
           
 void windowIconified(java.awt.event.WindowEvent e)
           
 void windowOpened(java.awt.event.WindowEvent e)
           
 
Methods inherited from class java.awt.Frame
, addNotify, addToFrameList, constructComponentName, finalize, getAccessibleContext, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, initIDs, isResizable, paramString, postProcessKeyEvent, readObject, remove, removeFromFrameList, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle, writeObject
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, adjustListeningChildren, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, dispose, eventEnabled, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postWindowEvent, preProcessKeyEvent, processEvent, processWindowEvent, removeOwnedWindow, removeWindowListener, resetGC, setCursor, setFocusOwner, setWarningString, show, toBack, toFront, transferFocus
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, numListening, paint, paintComponents, paintHeavyweightComponents, postsOldMouseEvents, preferredSize, print, printComponents, printHeavyweightComponents, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFont, setLayout, update, validate, validateTree
 
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, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isRecursivelyVisible, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

mae

MAExplorer mae
link to global instance

map

Maps map
link to global Maps instance

mbf

MenuBarFrame mbf
link to global MenuBarFrame instance

gipo

GipoTable gipo
link to global GipoTable instance

BAD_MODE

private static final int BAD_MODE
used to set iMode

MODE_MASTER_GENE_NAME

private static final int MODE_MASTER_GENE_NAME
used to set iMode

MODE_MASTER_ID

private static final int MODE_MASTER_ID
used to set iMode

MODE_GENBANK

private static final int MODE_GENBANK
used to set iMode

MODE_GENBANK3

private static final int MODE_GENBANK3
used to set iMode

MODE_GENBANK5

private static final int MODE_GENBANK5
used to set iMode

MODE_DB_EST3

private static final int MODE_DB_EST3
used to set iMode

MODE_DB_EST5

private static final int MODE_DB_EST5
used to set iMode

MODE_SWISSPROT

private static final int MODE_SWISSPROT
used to set iMode

MODE_UNIGENE

private static final int MODE_UNIGENE
used to set iMode

MODE_LOCUSLINK

private static final int MODE_LOCUSLINK
used to set iMode

DEF_GUESSER_DISP_SIZE

static final int DEF_GUESSER_DISP_SIZE
max items to display in ta area

DEF_TA_ROWS

static final int DEF_TA_ROWS
default # rows size of text area

DEF_TA_COLS

static final int DEF_TA_COLS
default # columns size of text area

SINGLE_GENE

static final int SINGLE_GENE
flag for single gene finish

MULTIPLE_GENE

static final int MULTIPLE_GENE
flag for multiple gene finish

frame

java.awt.Frame frame
frame where guesser is built

ta

private java.awt.TextArea ta
TextArea list of best guesses

tf

private java.awt.TextField tf
Text field for User input

buttonPanel

java.awt.Panel buttonPanel
place for buttons

titlePanel

java.awt.Panel titlePanel
place for title

titleLabel

java.awt.Label titleLabel
title label

geneDBnamesButton

java.awt.Button geneDBnamesButton
toggle: "Master ID", "GeneName", "GenBank", "dbEst", "UniGene", "LocusID"

kev

KeyEventHandler kev
handle events for text field

meh

MouseEventHandler meh
handle events for text area

resultStr

java.lang.String resultStr
return user results from guesser

title

java.lang.String title
title of window

alphaListMode

java.lang.String alphaListMode
"GeneName", "GenBank", "dbEst" etc

resultSubList

java.lang.String[] resultSubList
if passing results back as sublist

alphaList

java.lang.String[] alphaList
char text to be searched (GeneName)

sortedAlphaListStr

java.lang.String sortedAlphaListStr
concatenated string for sorting

alphaListSize

int alphaListSize
size of alphaList array

subAlphaList

java.lang.String[] subAlphaList
sub strings for guesser

onceOnlyFlag

boolean onceOnlyFlag
global setup flag

genericFlag

boolean genericFlag
if true, don't put Clone opt. button

setEGLfromListFlag

boolean setEGLfromListFlag
if set then group copy to EGL

geneIDname

java.lang.String[] geneIDname
button labels

iMode

int iMode
one of the above MODE_xxxx values

resultMode

int resultMode
what type of finish was requested: either SINGLE_GENE or MULTIPLE_GENE

maxGenes

int maxGenes
local map.maxGenes

taRows

int taRows
size of TextArea

taCols

int taCols
size of TextArea

chFirstTyped

char chFirstTyped
first char typed

font

java.awt.Font font
Font for guesser list

pgcg

PopupGeneGuesser pgcg
parent class instance if it is not null

phpmg

PopupHPmenuGuesser phpmg
parent class instance if it is not null

pPDg

PopupProjDirGuesser pPDg
parent class instance if it is not null
Constructor Detail

Guesser

Guesser(MAExplorer mae,
        boolean genericFlag,
        boolean setEGLfromListFlag)
Guesser() - constructor for Guesser.
Parameters:
mae - is instance of MAExplorer
genericFlag - to use the generic IDs
setEGLfromListFlag - if enable setting the EGL list from Guesser
Method Detail

setData

void setData(char chFirst,
             java.lang.String sortedAlphaListStr,
             java.lang.String[] alphaList,
             int alphaListSize,
             int taRows,
             int taCols,
             java.lang.String title,
             java.awt.Font font)
setData() - for single list. It should be a presorted single list.
Parameters:
chFirst - is preface character if not null to do initial search
sortedAlphaListStr - is list sorted alphabetically as string
alphaList - is alphabetic list
alphaListSize - is size of list
taRows - is table rows
taCols - is table columns
title - is the title of guesser
font - to use

switchAlphaList

void switchAlphaList(int iMode)
switchAlphaList() - switch alphaList to alphaListMode (for gene guesser). The legal modes are: "Master ID", "Gene Name", "GenBank/3'/5'", "dbEst 3'/5'", "SwissProt", "Unigene_ID", "LocusID"
Parameters:
iMode - is one of the following MODE_MASTER_GENE_NAME, MODE_MASTER_ID, MODE_GENBANK, MODE_GENBANK3, MODE_GENBANK5, MODE_DB_EST3, MODE_DB_EST5, MODE_SWISSPROT, MODE_UNIGENE, MODE_LOCUSLINK
See Also:
SortMAE.uniqueInsert(java.lang.String[], java.lang.String[], int, java.lang.String, java.util.Hashtable), SortMAE.quickSortMultLists(java.lang.String[], java.lang.String[], int, int), Util.cvtStrArrayToStr(java.lang.String[], int), clearData(), KeyEventHandler.resetKeyEventHandler(java.lang.String[], int), MouseEventHandler.resetMouseEventHandler(java.lang.String[])

clearData

void clearData()
clearData() - clear TextField tf and TextArea ta data for switching to another list.
See Also:
PopupGeneGuesser.clear(), PopupHPmenuGuesser.clear(), PopupProjDirGuesser.clear()

buildAndRunGuesser

void buildAndRunGuesser(java.lang.String guesserTitle)
buildAndRunGuesser() - create the Guesser window GUI
Parameters:
guesserTitle - to put on window
See Also:
KeyEventHandler, MouseEventHandler

updateAssocTextField

void updateAssocTextField(java.lang.String str)
updateAssocTextField() - update the associated text field
Parameters:
str - to update text field
See Also:
PopupGeneGuesser.updateAssocTextField(java.lang.String)

updateAssocTextFieldCaretPos

void updateAssocTextFieldCaretPos(int pos)
updateAssocTextFieldCaretPos() - update associated text field caret position
Parameters:
pos - is field caret position
See Also:
PopupGeneGuesser.updateAssocTextFieldCaretPos(int)

copyArrayToSizedArray

java.lang.String[] copyArrayToSizedArray(java.lang.String[] tempList,
                                         int outLen)
copyArrayToSizedArray() - resize copy tempList to outList [0:outLen-1]. Also copy the outList to the global resultSublist[].
Parameters:
tempList - is temporary list
outLen - is length of output list
Returns:
resized list

wildCard

java.lang.String[] wildCard(java.lang.String searchFor,
                            java.lang.String[] data,
                            int size)
wildCard() - search for * and return the sublist
Parameters:
searchFor - is string to search for
data - is list to search
size - is size of list to search
Returns:
sublist the subset matching wildcards
See Also:
copyArrayToSizedArray(java.lang.String[], int)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed() - Handle Control button clicks.
Specified by:
actionPerformed in interface java.awt.event.ActionListener
See Also:
PopupGeneGuesser.done(java.lang.String), PopupHPmenuGuesser.done(java.lang.String), PopupProjDirGuesser.done(java.lang.String), PopupGeneGuesser.clear(), PopupHPmenuGuesser.clear(), PopupProjDirGuesser.clear(), PopupGeneGuesser.cancel(), PopupHPmenuGuesser.cancel(), PopupProjDirGuesser.cancel(), close(), switchAlphaList(int)

close

void close()
close() - close the window. This calls the close() of the parent.

handleKeyTyped

public void handleKeyTyped(char ch)
handleKeyTyped() - handle key Typed/Released in textfield of guesser
See Also:
KeyEventHandler.handleKeyTyped(char)

windowClosing

public void windowClosing(java.awt.event.WindowEvent e)
windowClosing() - close down the window.
Specified by:
windowClosing in interface java.awt.event.WindowListener
See Also:
close()

windowActivated

public void windowActivated(java.awt.event.WindowEvent e)
Specified by:
windowActivated in interface java.awt.event.WindowListener

windowClosed

public void windowClosed(java.awt.event.WindowEvent e)
Specified by:
windowClosed in interface java.awt.event.WindowListener

windowDeactivated

public void windowDeactivated(java.awt.event.WindowEvent e)
Specified by:
windowDeactivated in interface java.awt.event.WindowListener

windowDeiconified

public void windowDeiconified(java.awt.event.WindowEvent e)
Specified by:
windowDeiconified in interface java.awt.event.WindowListener

windowIconified

public void windowIconified(java.awt.event.WindowEvent e)
Specified by:
windowIconified in interface java.awt.event.WindowListener

windowOpened

public void windowOpened(java.awt.event.WindowEvent e)
Specified by:
windowOpened in interface java.awt.event.WindowListener

focusGained

public void focusGained(java.awt.event.FocusEvent e)
Specified by:
focusGained in interface java.awt.event.FocusListener

focusLost

public void focusLost(java.awt.event.FocusEvent e)
Specified by:
focusLost in interface java.awt.event.FocusListener