apollo.gui
Class ApolloFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by apollo.gui.ApolloFrame
All Implemented Interfaces:
DataLoadListener, ControlledObjectI, LazyLoadListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Direct Known Subclasses:
CompositeApolloFrame

public abstract class ApolloFrame
extends javax.swing.JFrame
implements ControlledObjectI, LazyLoadListener, DataLoadListener

CompositeApolloFrame subclass is now the working instantiation of ApolloFrame. These should eventually be merged - or done with a has-a

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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
protected static org.apache.log4j.Logger logger
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected ApolloFrame()
          constructor for singleton.
 
Method Summary
 void applyLayout(misc.JIniFile iniFile, boolean updateBaseLocation)
           
static void centerOnScreen(java.awt.Component c)
          centers component on screen - put in a util class?
 void completeGUIInitialization()
          This is only called once, from ApolloRunner when the gui is first coming up, after the first dataset is loaded (CAF.loadData())
static CompositeApolloFrame getApolloFrame()
          I think eventually CompostieApolloFrame and ApolloFrame should be merged
protected  CompositeDataHolder getCompositeDataHolder()
           
 Controller getController()
          ControlledObjectI interface - this is the master controller (set by CompositeApolloFrame)
 java.lang.Object getControllerWindow()
          Shouldnt this return Window - would we ever want a non-window?
protected static CurationManager getCurationManager()
           
protected  GuiCurationState getCurationState(int i)
           
static javax.swing.JFrame getFrame()
           
 int getPreferredFrameHeight()
           
 javax.swing.JSplitPane getSplitPane()
          Returns split pane between evidence panel(s) and syntenyPanel(szaps), creates one on first call.
 SyntenyPanel getSyntenyPanel()
           
 boolean handleDataLoadEvent(DataLoadEvent evt)
          This method got inadvertently disabled with composite frame merging (AF was listening to a unused Controller).
 boolean handleLazyLoadEvent(LazyLoadEvent evt)
          woops - this is currently disabled as apollo frame is no longer listening to the controller - to reenable this should either be moved or made an inner class that does its own listening to the controller but it sounds like maybe this dialog was annoying and we may not want to reenable it.
 void loadSyntenyLink(SeqFeatureI link)
          For now this is a no-op overridden by CompositeApolloFrame - eventually a regular apollo frame would load a second species and go into multi species This should be migrated to LoatUtil/DataLoader.
 boolean needsAutoRemoval()
          If getControllerWindow is non null, and needsAutoRemoval is true then Controller will automatically remove the ControlledObjectI as a listener when its ControllerWindow is closing.
 void saveLayout(misc.JIniFile iniFile)
           
 void setController(Controller c)
          no-op
protected  void setSyntenyPanel(SyntenyPanel panel)
           
 void setVisible(boolean state)
          Override JFrame.setVisible.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, 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, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

logger

protected static final org.apache.log4j.Logger logger
Constructor Detail

ApolloFrame

protected ApolloFrame()
constructor for singleton. set controller to master controller.

Method Detail

getApolloFrame

public static CompositeApolloFrame getApolloFrame()
I think eventually CompostieApolloFrame and ApolloFrame should be merged


getFrame

public static javax.swing.JFrame getFrame()

setController

public void setController(Controller c)
no-op

Specified by:
setController in interface ControlledObjectI

getController

public Controller getController()
ControlledObjectI interface - this is the master controller (set by CompositeApolloFrame)

Specified by:
getController in interface ControlledObjectI

getControllerWindow

public java.lang.Object getControllerWindow()
Description copied from interface: ControlledObjectI
Shouldnt this return Window - would we ever want a non-window?

Specified by:
getControllerWindow in interface ControlledObjectI

needsAutoRemoval

public boolean needsAutoRemoval()
Description copied from interface: ControlledObjectI
If getControllerWindow is non null, and needsAutoRemoval is true then Controller will automatically remove the ControlledObjectI as a listener when its ControllerWindow is closing. If getControllerWindow is null needsAutoRemoval is meaningless. Rename this removeAsListenerOnWindowClose?

Specified by:
needsAutoRemoval in interface ControlledObjectI

handleDataLoadEvent

public boolean handleDataLoadEvent(DataLoadEvent evt)
This method got inadvertently disabled with composite frame merging (AF was listening to a unused Controller). But when it was disabled no visible difference in apollo that i could discern. EvidencePanel gets reset via ApolloPanel. Is the invalidate/validate really necasary - dont have a grasp on this If it isnt necasary we should delete this method Actually Im now thinking that DataListener and DataLoadListener are somewhat redundant and should be merged - though DataListener has both newData and dataLoadingDone - done allows for cursor changing.

Specified by:
handleDataLoadEvent in interface DataLoadListener

handleLazyLoadEvent

public boolean handleLazyLoadEvent(LazyLoadEvent evt)
woops - this is currently disabled as apollo frame is no longer listening to the controller - to reenable this should either be moved or made an inner class that does its own listening to the controller but it sounds like maybe this dialog was annoying and we may not want to reenable it. in any case this probably doesnt belong in apollo frame

Specified by:
handleLazyLoadEvent in interface LazyLoadListener

setVisible

public void setVisible(boolean state)
Override JFrame.setVisible. set szaps visible.

Overrides:
setVisible in class java.awt.Component

getPreferredFrameHeight

public int getPreferredFrameHeight()

getSplitPane

public javax.swing.JSplitPane getSplitPane()
Returns split pane between evidence panel(s) and syntenyPanel(szaps), creates one on first call. EvPanOrientMan actually adds in the synteny and ev panel.


completeGUIInitialization

public void completeGUIInitialization()
This is only called once, from ApolloRunner when the gui is first coming up, after the first dataset is loaded (CAF.loadData())


saveLayout

public void saveLayout(misc.JIniFile iniFile)

applyLayout

public void applyLayout(misc.JIniFile iniFile,
                        boolean updateBaseLocation)

centerOnScreen

public static void centerOnScreen(java.awt.Component c)
centers component on screen - put in a util class?


loadSyntenyLink

public void loadSyntenyLink(SeqFeatureI link)
For now this is a no-op overridden by CompositeApolloFrame - eventually a regular apollo frame would load a second species and go into multi species This should be migrated to LoatUtil/DataLoader.


getSyntenyPanel

public SyntenyPanel getSyntenyPanel()

setSyntenyPanel

protected void setSyntenyPanel(SyntenyPanel panel)

getCompositeDataHolder

protected CompositeDataHolder getCompositeDataHolder()

getCurationManager

protected static CurationManager getCurationManager()

getCurationState

protected GuiCurationState getCurationState(int i)