org.gjt.sp.jedit.gui
Class DockableWindowManagerImpl

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.gjt.sp.jedit.gui.DockableWindowManager
                      extended by org.gjt.sp.jedit.gui.DockableWindowManagerImpl
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, EBComponent

public class DockableWindowManagerImpl
extends DockableWindowManager

Concrete class for Dockable Window Managers. Each View has a single DockableWindowManager, for managing the specific dockable instances associated with that View.

Since:
jEdit 4.3pre16
See Also:
Serialized Form

Nested Class Summary
static class DockableWindowManagerImpl.DockableWindowConfig
           
 
Nested classes/interfaces inherited from class org.gjt.sp.jedit.gui.DockableWindowManager
DockableWindowManager.DockingArea, DockableWindowManager.DockingLayout
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 java.util.Stack<java.lang.String> showStack
           
 
Fields inherited from class org.gjt.sp.jedit.gui.DockableWindowManager
BOTTOM, factory, FLOATING, LEFT, RIGHT, TOP, view
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
DockableWindowManagerImpl(View view, DockableWindowFactory factory, View.ViewConfig config)
          Creates a new dockable window manager.
 
Method Summary
 void close()
          Called when the view is being closed.
 void closeCurrentArea()
          Closes the most recently focused dockable.
 javax.swing.JPopupMenu createPopupMenu(org.gjt.sp.jedit.gui.DockableWindowContainer container, java.lang.String dockable, boolean clone)
           
 void disposeDockableWindow(java.lang.String name)
          Completely dispose of a dockable - called when a plugin is unloaded, to remove all references to the its dockables.
 javax.swing.JComponent floatDockableWindow(java.lang.String name)
          Opens a new instance of the specified dockable window in a floating container.
 PanelWindowContainer getBottomDockingArea()
           
 javax.swing.JComponent getDockable(java.lang.String name)
          Returns the specified dockable window.
 DockableWindowManager.DockingLayout getDockingLayout(View.ViewConfig config)
           
 PanelWindowContainer getLeftDockingArea()
           
 PanelWindowContainer getRightDockingArea()
           
 PanelWindowContainer getTopDockingArea()
           
 void handleMessage(EBMessage msg)
          Handles a message sent on the EditBus.
 void hideDockableWindow(java.lang.String name)
          Hides the specified dockable window.
 void init()
          Initialises dockable window manager.
 boolean isDockableWindowDocked(java.lang.String name)
          Returns if the specified dockable window is docked into the view.
 boolean isDockableWindowVisible(java.lang.String name)
          Returns if the specified dockable window is visible.
 void paintChildren(java.awt.Graphics g)
           
protected  void propertiesChanged()
           
 void setDockingLayout(DockableWindowManager.DockingLayout docking)
           
 void setMainPanel(javax.swing.JPanel panel)
           
 void showDockableWindow(java.lang.String name)
          Opens the specified dockable window.
 
Methods inherited from class org.gjt.sp.jedit.gui.DockableWindowManager
addDockableWindow, applyAlternateLayout, applyDockingLayout, closeListener, createDockable, dockableLoaded, dockableTitleChanged, dockingPositionChanged, focusDockable, getAlternateLayoutProp, getDockablePosition, getDockableTitle, getDockableWindow, getDockableWindowPluginName, getLongTitlePropertyName, getRegisteredDockableWindows, getView, longTitle, removeDockableWindow, setDockableTitle, shortTitle, toggleDockableWindow, toggleDockAreas
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

showStack

public java.util.Stack<java.lang.String> showStack
Constructor Detail

DockableWindowManagerImpl

public DockableWindowManagerImpl(View view,
                                 DockableWindowFactory factory,
                                 View.ViewConfig config)
Creates a new dockable window manager.

Parameters:
view - The view
factory - A DockableWindowFactory, usually DockableWindowFactory.getInstance().
config - A docking configuration
Since:
jEdit 2.6pre3
Method Detail

setDockingLayout

public void setDockingLayout(DockableWindowManager.DockingLayout docking)
Overrides:
setDockingLayout in class DockableWindowManager

getDockingLayout

public DockableWindowManager.DockingLayout getDockingLayout(View.ViewConfig config)
Specified by:
getDockingLayout in class DockableWindowManager

setMainPanel

public void setMainPanel(javax.swing.JPanel panel)
Specified by:
setMainPanel in class DockableWindowManager

init

public void init()
Initialises dockable window manager. Do not call this method directly.

Overrides:
init in class DockableWindowManager

floatDockableWindow

public javax.swing.JComponent floatDockableWindow(java.lang.String name)
Opens a new instance of the specified dockable window in a floating container.

Specified by:
floatDockableWindow in class DockableWindowManager
Parameters:
name - The dockable window name
Returns:
The new dockable window instance
Since:
jEdit 4.1pre2

showDockableWindow

public void showDockableWindow(java.lang.String name)
Opens the specified dockable window.

Specified by:
showDockableWindow in class DockableWindowManager
Parameters:
name - The dockable window name
Since:
jEdit 2.6pre3

hideDockableWindow

public void hideDockableWindow(java.lang.String name)
Hides the specified dockable window.

Specified by:
hideDockableWindow in class DockableWindowManager
Parameters:
name - The dockable window name
Since:
jEdit 2.6pre3

getDockable

public javax.swing.JComponent getDockable(java.lang.String name)
Returns the specified dockable window. Note that this method will return null if the dockable has not been added yet. Make sure you call DockableWindowManager.addDockableWindow(String) first. For historical reasons, this does the same thing as DockableWindowManager.getDockableWindow(String).

Overrides:
getDockable in class DockableWindowManager
Parameters:
name - The name of the dockable window
Since:
jEdit 4.0pre1

isDockableWindowVisible

public boolean isDockableWindowVisible(java.lang.String name)
Returns if the specified dockable window is visible.

Specified by:
isDockableWindowVisible in class DockableWindowManager
Parameters:
name - The dockable window name

isDockableWindowDocked

public boolean isDockableWindowDocked(java.lang.String name)
Returns if the specified dockable window is docked into the view.

Specified by:
isDockableWindowDocked in class DockableWindowManager
Parameters:
name - The dockable's name
Since:
jEdit 4.0pre2

closeCurrentArea

public void closeCurrentArea()
Closes the most recently focused dockable.

Specified by:
closeCurrentArea in class DockableWindowManager
Since:
jEdit 4.1pre3

close

public void close()
Called when the view is being closed.

Overrides:
close in class DockableWindowManager
Since:
jEdit 2.6pre3

getTopDockingArea

public PanelWindowContainer getTopDockingArea()
Specified by:
getTopDockingArea in class DockableWindowManager

getLeftDockingArea

public PanelWindowContainer getLeftDockingArea()
Specified by:
getLeftDockingArea in class DockableWindowManager

getBottomDockingArea

public PanelWindowContainer getBottomDockingArea()
Specified by:
getBottomDockingArea in class DockableWindowManager

getRightDockingArea

public PanelWindowContainer getRightDockingArea()
Specified by:
getRightDockingArea in class DockableWindowManager

createPopupMenu

public javax.swing.JPopupMenu createPopupMenu(org.gjt.sp.jedit.gui.DockableWindowContainer container,
                                              java.lang.String dockable,
                                              boolean clone)

paintChildren

public void paintChildren(java.awt.Graphics g)
Overrides:
paintChildren in class javax.swing.JComponent

handleMessage

public void handleMessage(EBMessage msg)
Description copied from interface: EBComponent
Handles a message sent on the EditBus. This method must specify the type of responses the plugin will have for various subclasses of the EBMessage class. Typically this is done with one or more if blocks that test whether the message is an instance of a derived message class in which the component has an interest. For example:
 if(msg instanceof BufferUpdate) {
     // a buffer's state has changed!
 }
 else if(msg instanceof ViewUpdate) {
     // a view's state has changed!
 }
 // ... and so on

Specified by:
handleMessage in interface EBComponent
Overrides:
handleMessage in class DockableWindowManager
Parameters:
msg - The message

propertiesChanged

protected void propertiesChanged()
Overrides:
propertiesChanged in class DockableWindowManager

disposeDockableWindow

public void disposeDockableWindow(java.lang.String name)
Description copied from class: DockableWindowManager
Completely dispose of a dockable - called when a plugin is unloaded, to remove all references to the its dockables.

Specified by:
disposeDockableWindow in class DockableWindowManager