org.apache.log4j.chainsaw
Class LogUI

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 org.apache.log4j.chainsaw.LogUI
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, ChainsawViewer, SettingsListener

public class LogUI
extends javax.swing.JFrame
implements ChainsawViewer, SettingsListener

The main entry point for Chainsaw, this class represents the first frame that is used to display a Welcome panel, and any other panels that are generated because Logging Events are streamed via a Receiver, or other mechanism. NOTE: Some of Chainsaw's application initialization should be performed prior to activating receivers and the logging framework used to perform self-logging. DELAY as much as possible the logging framework initialization process, currently initialized by the creation of a ChainsawAppenderHandler.

Author:
Scott Deboy , Paul Smith
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
 
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
LogUI()
          Constructor which builds up all the visual elements of the frame including the Menu bar
 
Method Summary
 void activateViewer()
          Activates itself as a viewer by configuring Size, and location of itself, and configures the default Tabbed Pane elements with the correct layout, table columns, and sets itself viewable.
 void activateViewer(ChainsawAppender appender)
          Allow Chainsaw v2 to be ran in-process (configured as a ChainsawAppender) NOTE: Closing Chainsaw will NOT stop the application generating the events.
 void addShutdownListener(ShutdownListener l)
          Registers a ShutdownListener with this calss so that it can be notified when the user has requested that Chainsaw exit.
static void createChainsawGUI(ApplicationPreferenceModel model, javax.swing.Action newShutdownAction)
          Creates, activates, and then shows the Chainsaw GUI, optionally showing the splash screen, and using the passed shutdown action when the user requests to exit the application (if null, then Chainsaw will exit the vm)
 void createCustomExpressionLogPanel(java.lang.String ident)
           
 boolean exit()
          Exits the application, ensuring Settings are saved.
 java.lang.String getActiveTabName()
          DOCUMENT ME!
 ApplicationPreferenceModel getApplicationPreferenceModel()
           
 java.util.List getFilterableColumns()
          DOCUMENT ME!
 java.util.Map getPanelMap()
          DOCUMENT ME!
 SettingsManager getSettingsManager()
          DOCUMENT ME!
 org.apache.log4j.chainsaw.ChainsawTabbedPane getTabbedPane()
          DOCUMENT ME!
 java.util.Map getTableMap()
          DOCUMENT ME!
 java.util.Map getTableModelMap()
          DOCUMENT ME!
 org.apache.log4j.chainsaw.ChainsawToolBarAndMenus getToolBarAndMenus()
          DOCUMENT ME!
 boolean isLogTreePanelVisible()
          DOCUMENT ME!
 void loadSettings(LoadSettingsEvent event)
          Given the load event, configures the size/location of the main window etc etc.
static void main(java.lang.String[] args)
          Starts Chainsaw by attaching a new instance to the Log4J main root Logger via a ChainsawAppender, and activates itself
 void removeShutdownListener(ShutdownListener l)
          Removes the registered ShutdownListener so that the listener will not be notified on a shutdown.
 void saveSettings(SaveSettingsEvent event)
          Ensures the location/size of the main window is stored with the settings
 void setShutdownAction(javax.swing.Action shutdownAction)
          Configures LogUI's with an action to execute when the user requests to exit the application, the default action is to exit the VM.
 void setTabbedPane(org.apache.log4j.chainsaw.ChainsawTabbedPane tabbedPane)
          DOCUMENT ME!
 void setToolBarAndMenus(org.apache.log4j.chainsaw.ChainsawToolBarAndMenus tbms)
          DOCUMENT ME!
 void setupTutorial()
          DOCUMENT ME!
 void showAboutBox()
           
 void showApplicationPreferences()
           
 void showHelp(java.net.URL url)
          Causes the Welcome Panel to become visible, and shows the URL specified as it's contents
 boolean shutdown()
          Shutsdown by ensuring the Appender gets a chance to close.
 
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, setVisible, 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
 

Constructor Detail

LogUI

public LogUI()
Constructor which builds up all the visual elements of the frame including the Menu bar

Method Detail

addShutdownListener

public void addShutdownListener(ShutdownListener l)
Registers a ShutdownListener with this calss so that it can be notified when the user has requested that Chainsaw exit.

Parameters:
l -

removeShutdownListener

public void removeShutdownListener(ShutdownListener l)
Removes the registered ShutdownListener so that the listener will not be notified on a shutdown.

Parameters:
l -

main

public static void main(java.lang.String[] args)
Starts Chainsaw by attaching a new instance to the Log4J main root Logger via a ChainsawAppender, and activates itself

Parameters:
args -

createChainsawGUI

public static void createChainsawGUI(ApplicationPreferenceModel model,
                                     javax.swing.Action newShutdownAction)
Creates, activates, and then shows the Chainsaw GUI, optionally showing the splash screen, and using the passed shutdown action when the user requests to exit the application (if null, then Chainsaw will exit the vm)

Parameters:
model -
newShutdownAction - DOCUMENT ME!

activateViewer

public void activateViewer(ChainsawAppender appender)
Allow Chainsaw v2 to be ran in-process (configured as a ChainsawAppender) NOTE: Closing Chainsaw will NOT stop the application generating the events.

Specified by:
activateViewer in interface ChainsawViewer
Parameters:
appender -

loadSettings

public void loadSettings(LoadSettingsEvent event)
Given the load event, configures the size/location of the main window etc etc.

Specified by:
loadSettings in interface SettingsListener
Parameters:
event - DOCUMENT ME!

saveSettings

public void saveSettings(SaveSettingsEvent event)
Ensures the location/size of the main window is stored with the settings

Specified by:
saveSettings in interface SettingsListener
Parameters:
event - DOCUMENT ME!

activateViewer

public void activateViewer()
Activates itself as a viewer by configuring Size, and location of itself, and configures the default Tabbed Pane elements with the correct layout, table columns, and sets itself viewable.


exit

public boolean exit()
Exits the application, ensuring Settings are saved.


showApplicationPreferences

public void showApplicationPreferences()

showAboutBox

public void showAboutBox()

shutdown

public boolean shutdown()
Shutsdown by ensuring the Appender gets a chance to close.


setShutdownAction

public final void setShutdownAction(javax.swing.Action shutdownAction)
Configures LogUI's with an action to execute when the user requests to exit the application, the default action is to exit the VM. This Action is called AFTER all the ShutdownListeners have been notified

Parameters:
shutdownAction -

getActiveTabName

public java.lang.String getActiveTabName()
DOCUMENT ME!

Returns:
DOCUMENT ME!

showHelp

public void showHelp(java.net.URL url)
Causes the Welcome Panel to become visible, and shows the URL specified as it's contents

Parameters:
url - for content to show

isLogTreePanelVisible

public boolean isLogTreePanelVisible()
DOCUMENT ME!

Returns:
log tree panel visible flag

getPanelMap

public java.util.Map getPanelMap()
DOCUMENT ME!

Returns:
DOCUMENT ME!

getSettingsManager

public SettingsManager getSettingsManager()
DOCUMENT ME!

Returns:
DOCUMENT ME!

getFilterableColumns

public java.util.List getFilterableColumns()
DOCUMENT ME!

Returns:
DOCUMENT ME!

setToolBarAndMenus

public void setToolBarAndMenus(org.apache.log4j.chainsaw.ChainsawToolBarAndMenus tbms)
DOCUMENT ME!

Parameters:
tbms - DOCUMENT ME!

getToolBarAndMenus

public org.apache.log4j.chainsaw.ChainsawToolBarAndMenus getToolBarAndMenus()
DOCUMENT ME!

Returns:
DOCUMENT ME!

getTableMap

public java.util.Map getTableMap()
DOCUMENT ME!

Returns:
DOCUMENT ME!

getTableModelMap

public java.util.Map getTableModelMap()
DOCUMENT ME!

Returns:
DOCUMENT ME!

setTabbedPane

public void setTabbedPane(org.apache.log4j.chainsaw.ChainsawTabbedPane tabbedPane)
DOCUMENT ME!

Parameters:
tabbedPane - DOCUMENT ME!

getTabbedPane

public org.apache.log4j.chainsaw.ChainsawTabbedPane getTabbedPane()
DOCUMENT ME!

Returns:
DOCUMENT ME!

getApplicationPreferenceModel

public final ApplicationPreferenceModel getApplicationPreferenceModel()
Returns:
Returns the applicationPreferenceModel.

setupTutorial

public void setupTutorial()
DOCUMENT ME!


createCustomExpressionLogPanel

public void createCustomExpressionLogPanel(java.lang.String ident)


Copyright © 2007 Apache Software Foundation. All Rights Reserved.