TsBiff 1.3


ts.biff
Class Biff

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--javax.swing.JWindow
                          |
                          +--ts.ui.TsWindow
                                |
                                +--ts.biff.Biff
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, MailListener, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, TsTable.Callback, WakeUpListener

public final class Biff
extends TsWindow
implements TsTable.Callback, java.awt.event.ActionListener, MailListener, WakeUpListener

The main application window. The window displays a table with mail messages, where each row represent a message.

Columns in the table represents fields in a message. Which field to display is configurable. There are lots of options for configuring the apperance of the table. Check out the Configure utility that could be reached from the popup menu.

When the user right-clicks anywhere inside the window, a popup menu appears with choices for:

  1. Getting new mail
  2. Sending mail
  3. Configuring the application
  4. Display an about box
  5. Quit the application
It is possible to view a mail message (in detail) by double clicking on it in the table. A simple dialog will then popup with all available headers and mailbody (i.e. headers supported by this program)

If timeout is set by the user (in Config), the window will be hidden after a given amount of time has elapsed. The logic for displaying and hiding the biff window is as follows: If new mail are present in the mailbox this window will recive a mailevent that triggers a method which in turn will make this window visible. If timeout is on, then this method will also activate a timer, to hide the window after a certain time.

If the Biff window becomes hidden a Wakeup object will be activated. The purpose of this object is to let the user make the window visible again between new mailevents (if he wants to). The WakeUp object will listen at a certain port number and if anything tries to connect to that port, the Biff window will be visible.

If the user position and resizes the window and then quits the application, the window will remember it's geometry. That is, it will start with the same size and in the same position the next time.

Version:
$Id: Biff.java,v 1.6 1999/11/27 01:11:38 hauk Exp $
Author:
Jan-Henrik Haukeland <hauk@tildeslash.com>
See Also:
Serialized Form

Inner classes inherited from class ts.ui.TsWindow
TsWindow.TsWindowUI
 
Inner classes inherited from class javax.swing.JWindow
javax.swing.JWindow.AccessibleJWindow
 
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
 
Fields inherited from class javax.swing.JWindow
accessibleContext, rootPane, rootPaneCheckingEnabled
 
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
Biff(Arch arch, View view, Controller controller)
          Instantiate the window with a View and a controller.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Actionlistener for popup menu events
 void close()
          Hide and dispose the window
 void doubleClick(java.lang.Object aTable, int row, int col)
          Called upon double-clicking on a row.
 void mailEvent(MailEvent e)
          Called when a Mail event occurs.
 void singleClick(java.lang.Object aTable, int row, int col)
          Called on a single click on a row.
 void wakeUp(WakeUpEvent w)
          Called when a WakeUp event occurs.
 
Methods inherited from class javax.swing.JWindow
addImpl, createRootPane, getAccessibleContext, getContentPane, getGlassPane, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, remove, setContentPane, setGlassPane, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, windowInit
 
Methods inherited from class java.awt.Window
addNotify, addWindowListener, applyResourceBundle, applyResourceBundle, dispose, finalize, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, processWindowEvent, removeWindowListener, setCursor, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFont, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, 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, remove, 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, wait, wait, wait
 

Constructor Detail

Biff

public Biff(Arch arch,
            View view,
            Controller controller)
Instantiate the window with a View and a controller. I really don't like to make the controller and arch visible here, but its a trade off.
Parameters:
arch - Architecture object
view - A View
controller - a Mail Table controller
Method Detail

close

public void close()
Hide and dispose the window

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Actionlistener for popup menu events
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
e - An ActionEvent

mailEvent

public void mailEvent(MailEvent e)
Called when a Mail event occurs. Popup this window on new mail (only). If a TimeOut object exist, restart it.
Specified by:
mailEvent in interface MailListener
Parameters:
e - The mail event

wakeUp

public void wakeUp(WakeUpEvent w)
Called when a WakeUp event occurs. Makes this window visible if it's hidden
Specified by:
wakeUp in interface WakeUpListener
Parameters:
w - A WakeUp event

singleClick

public void singleClick(java.lang.Object aTable,
                        int row,
                        int col)
Called on a single click on a row.
Specified by:
singleClick in interface TsTable.Callback
Parameters:
aTable - view
row - row selected
col - column selected

doubleClick

public void doubleClick(java.lang.Object aTable,
                        int row,
                        int col)
Called upon double-clicking on a row.
Specified by:
doubleClick in interface TsTable.Callback
Parameters:
aTable - view
row - row selected
col - column selected

TsBiff 1.3