org.PingOO.DLAI.lib.appli
Class PTool

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JInternalFrame
                          |
                          +--org.PingOO.DLAI.lib.PWidget.PInternalFrame
                                |
                                +--org.PingOO.DLAI.lib.appli.PTool
Direct Known Subclasses:
Abacus, BusyMonitor, Calculator, Clock, Configure, JEyes, MemoryMonitor, ThreadMonitor

public abstract class PTool
extends PInternalFrame
implements PAppli

Base class for all tools.

Since:
PingOO 2.0
Version:
2.0
Author:
Fabrice Bouyé (bouye@cur-archamps.fr)
See Also:
PAppli, PInternalFrame, Serialized Form

Inner Class Summary
protected  class PTool.ToolInternalFrameListener
          Default listener for exiting the tool.
 
Inner classes inherited from class org.PingOO.DLAI.lib.PWidget.PInternalFrame
PInternalFrame.PInternalMouseInputListener
 
Inner classes inherited from class javax.swing.JInternalFrame
javax.swing.JInternalFrame.AccessibleJInternalFrame, javax.swing.JInternalFrame.JDesktopIcon
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardBinding, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
protected  AppliEventListenerList appliListenerList
          Contains all registered listener for appli events.
protected  javax.swing.event.InternalFrameListener defaultInternalFrameListener
           
private  boolean isInstable
           
private static int TOOL_NUMBER
          The tool number generator.
private  int toolIdentifier
           
protected  PThreadGroup toolThreadGroup
           
 
Fields inherited from class org.PingOO.DLAI.lib.PWidget.PInternalFrame
defaultMouseInputListener, manager, module, titleKey, toolTipKey
 
Fields inherited from class javax.swing.JInternalFrame
closable, CONTENT_PANE_PROPERTY, defaultCloseOperation, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, opened, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTY, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, alignmentX, alignmentY, ANCESTOR_USING_BUFFER, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, flags, HAS_FOCUS, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
PTool(java.lang.String name)
          Creates a new tool.
PTool(java.lang.String name, java.lang.String titleKey)
          Creates a new tool.
PTool(java.lang.String name, java.lang.String titleKey, java.lang.String tooltipKey)
          Creates a new tool.
PTool(java.lang.String name, java.lang.String titleKey, java.lang.String tooltipKey, boolean resizable, boolean closable, boolean maximizable, boolean iconifiable)
          Creates a new tool.
 
Method Summary
 void addAppliListener(AppliListener listener)
          Adds a specific AppliListener.
protected  void fireKillSlave()
          Fire method to tell this application has been killed.
protected  void fireKillTool()
          Fire method to tell this application has been killed.
protected  void fireUpdateLanguage()
          Fire method to change the language of the window.
protected  void fireUpdateUI()
          Fire method to change the look'n feel of the window.
static javax.swing.Icon getToolIcon()
          Gives an icon to represent this tool.
static java.lang.String getToolTitleKey()
          Gives a localized tooltip describing this tool.
static java.lang.String getToolToolTipKey()
          Gives a localized tooltip describing this tool.
 void removeAppliListener(AppliListener listener)
          Removes a specific AppliListener.
 void run()
          Does what the appli does.
protected  void setInstable(boolean isInstable)
           
 void setVisible(boolean value)
           
 void show()
           
 void start()
          Starts the tool.
 void stop()
          Stops this targeted application by firing an event.
 
Methods inherited from class org.PingOO.DLAI.lib.PWidget.PInternalFrame
getManager, getModule, getTextKey, getToolTipKey, setLocalizedTitle, setLocalizedToolTipText, setManager, setModule, updateFont, updateLanguage, updateLanguage
 
Methods inherited from class javax.swing.JInternalFrame
addImpl, addInternalFrameListener, createRootPane, createRootPaneException, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getBackground, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getForeground, getFrameIcon, getGlassPane, getJMenuBar, getLayer, getLayeredPane, getMenuBar, getRootPane, getTitle, getUI, getUIClassID, getWarningString, isClosable, isClosed, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paramString, removeInternalFrameListener, reshape, setBackground, setClosable, setClosed, setContentPane, setDefaultCloseOperation, setDesktopIcon, setForeground, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, startModal, stopModal, toBack, toFront, updateUI, updateUIWhenHidden, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, , addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, computeVisibleRect, computeVisibleRect, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

TOOL_NUMBER

private static int TOOL_NUMBER
The tool number generator.

toolIdentifier

private int toolIdentifier

appliListenerList

protected AppliEventListenerList appliListenerList
Contains all registered listener for appli events.

toolThreadGroup

protected PThreadGroup toolThreadGroup

defaultInternalFrameListener

protected final javax.swing.event.InternalFrameListener defaultInternalFrameListener

isInstable

private boolean isInstable
Constructor Detail

PTool

public PTool(java.lang.String name)
Creates a new tool.

PTool

public PTool(java.lang.String name,
             java.lang.String titleKey)
Creates a new tool.
Parameters:
titleKey - The key used to get the localized title.

PTool

public PTool(java.lang.String name,
             java.lang.String titleKey,
             java.lang.String tooltipKey)
Creates a new tool.
Parameters:
titleKey - The key used to get the localized title.
toolTipKey - The key used to get the localized tool tip.

PTool

public PTool(java.lang.String name,
             java.lang.String titleKey,
             java.lang.String tooltipKey,
             boolean resizable,
             boolean closable,
             boolean maximizable,
             boolean iconifiable)
Creates a new tool.
Parameters:
titleKey - The key used to get the localized title.
toolTipKey - The key used to get the localized tool tip.
resizable - Indicates if the internal frame is resizable or not.
closable - Indicates if the internal frame is closable or not.
maximizable - Indicates if the internal frame is maximizable or not.
iconifiable - Indicates if the internal frame is iconifiable or not.
Method Detail

start

public void start()
Starts the tool.

stop

public void stop()
Stops this targeted application by firing an event.
If you extends this method, you must make a call to super.stop() after your own actions or the appli will not be killed.

Makes sure all closing actions are finished before firing the event : for exemple you can remove all your registered listeners (if you keept tracks of them) from the EventListener list.

Parameters:
args -  

run

public void run()
Does what the appli does.
Required by the PAppli inheritage.

show

public void show()
Overrides:
show in class javax.swing.JInternalFrame

setVisible

public void setVisible(boolean value)
Overrides:
setVisible in class javax.swing.JInternalFrame

setInstable

protected void setInstable(boolean isInstable)

getToolIcon

public static javax.swing.Icon getToolIcon()
Gives an icon to represent this tool.
Returns:
The icon representing this tool or null if the tool have no icon.

getToolToolTipKey

public static java.lang.String getToolToolTipKey()
Gives a localized tooltip describing this tool.
Returns:
A localized tooltip describing this tool.

getToolTitleKey

public static java.lang.String getToolTitleKey()
Gives a localized tooltip describing this tool.
Returns:
A localized tooltip describing this tool.

addAppliListener

public final void addAppliListener(AppliListener listener)
Adds a specific AppliListener.
Specified by:
addAppliListener in interface PAppli
Parameters:
listener - The listener to be added.

removeAppliListener

public final void removeAppliListener(AppliListener listener)
Removes a specific AppliListener.
Specified by:
removeAppliListener in interface PAppli
Parameters:
listener - The listener to be removed.

fireUpdateUI

protected void fireUpdateUI()
Fire method to change the look'n feel of the window.

fireUpdateLanguage

protected void fireUpdateLanguage()
Fire method to change the language of the window.

fireKillSlave

protected void fireKillSlave()
Fire method to tell this application has been killed.

fireKillTool

protected void fireKillTool()
Fire method to tell this application has been killed.