## org.gjt.sp.jedit.gui
Class DockableWindowManager

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      org.gjt.sp.jedit.gui.DockableWindowManager

All Implemented Interfaces:
  java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, EBComponent

Direct Known Subclasses:
  DockableWindowManagerImpl

    public abstract class DockableWindowManager

extends javax.swing.JPanel
implements EBComponent

See Also:
  Serialized Form

Nested Class Summary
`static interface` `DockableWindowManager.DockingArea`
`static class` `DockableWindowManager.DockingLayout` Objects of DockingLayout class describe which dockables are docked where, which ones are floating, and their sizes/positions for saving/loading perspectives.

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
`static java.lang.String` `BOTTOM` Bottom position.
`protected DockableWindowFactory` `factory`
`static java.lang.String` `FLOATING` Floating position.
`static java.lang.String` `LEFT` Left position.
`static java.lang.String` `RIGHT` Right position.
`static java.lang.String` `TOP` Top position.
`protected View` `view`
`protected java.util.Map<java.lang.String,javax.swing.JComponent>` `windows`

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
`DockableWindowManager(View view, DockableWindowFactory instance, View.ViewConfig config)`

Method Summary
`void` `addDockableWindow(java.lang.String name)` Opens the specified dockable window.
`protected void` `applyAlternateLayout(boolean alternateLayout)`
`void` `applyDockingLayout(DockableWindowManager.DockingLayout docking)`
`void` `close()`
`abstract void` `closeCurrentArea()`
`java.awt.event.KeyListener` `closeListener(java.lang.String dockableName)` The actionEvent "close-docking-area" by default only works on windows that are docked.
`protected javax.swing.JComponent` `createDockable(java.lang.String name)`
`abstract 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.
`protected void` `dockableLoaded(java.lang.String dockableName, java.lang.String position)`
`void` `dockableTitleChanged(java.lang.String dockable, java.lang.String newTitle)`
`protected void` `dockingPositionChanged(java.lang.String dockableName, java.lang.String oldPosition, java.lang.String newPosition)`
`abstract javax.swing.JComponent` `floatDockableWindow(java.lang.String name)`
`protected void` `focusDockable(java.lang.String name)`
`protected boolean` `getAlternateLayoutProp()`
`abstract DockableWindowManager.DockingArea` `getBottomDockingArea()`
`javax.swing.JComponent` `getDockable(java.lang.String name)`
`protected java.lang.String` `getDockablePosition(java.lang.String name)`
`java.lang.String` `getDockableTitle(java.lang.String name)` Returns the title of the specified dockable window.
`javax.swing.JComponent` `getDockableWindow(java.lang.String name)` Returns the specified dockable window.
`static java.lang.String` `getDockableWindowPluginName(java.lang.String name)`
`abstract DockableWindowManager.DockingLayout` `getDockingLayout(View.ViewConfig config)`
`abstract DockableWindowManager.DockingArea` `getLeftDockingArea()`
`protected java.lang.String` `getLongTitlePropertyName(java.lang.String dockableName)`
`static java.lang.String[]` `getRegisteredDockableWindows()`
`abstract DockableWindowManager.DockingArea` `getRightDockingArea()`
`abstract DockableWindowManager.DockingArea` `getTopDockingArea()`
`View` `getView()` Returns this dockable window manager's view.
`void` `handleMessage(EBMessage msg)` Handles a message sent on the EditBus.
`abstract void` `hideDockableWindow(java.lang.String name)`
`void` `init()`
`abstract boolean` `isDockableWindowDocked(java.lang.String name)`
`abstract boolean` `isDockableWindowVisible(java.lang.String name)`
`java.lang.String` `longTitle(java.lang.String name)`
`protected void` `propertiesChanged()`
`void` `removeDockableWindow(java.lang.String name)` Hides the specified dockable window.
`void` `setDockableTitle(java.lang.String dockable, java.lang.String title)` Changes the .longtitle property of a dockable window, which corresponds to the title shown when it is floating (not docked).
`void` `setDockingLayout(DockableWindowManager.DockingLayout docking)`
`abstract void` `setMainPanel(javax.swing.JPanel panel)`
`java.lang.String` `shortTitle(java.lang.String name)`
`abstract void` `showDockableWindow(java.lang.String name)`
`void` `toggleDockableWindow(java.lang.String name)` Toggles the visibility of the specified dockable window.
`void` `toggleDockAreas()` Hides all visible dock areas, or shows them again, if the last time it was a hide.

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, paintChildren, 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

### FLOATING

    public static final java.lang.String FLOATING

  Floating position.

  Since:
    jEdit 2.6pre3
  See Also:
    Constant Field Values

### TOP

    public static final java.lang.String TOP

  Top position.

  Since:
    jEdit 2.6pre3
  See Also:
    Constant Field Values

### LEFT

    public static final java.lang.String LEFT

  Left position.

  Since:
    jEdit 2.6pre3
  See Also:
    Constant Field Values

### BOTTOM

    public static final java.lang.String BOTTOM

  Bottom position.

  Since:
    jEdit 2.6pre3
  See Also:
    Constant Field Values

### RIGHT

    public static final java.lang.String RIGHT

  Right position.

  Since:
    jEdit 2.6pre3
  See Also:
    Constant Field Values

### view

    protected View view

### factory

    protected DockableWindowFactory factory

### windows

    protected java.util.Map<java.lang.String,javax.swing.JComponent> windows

Constructor Detail

### DockableWindowManager

    public DockableWindowManager(View view,
                                 DockableWindowFactory instance,
                                 View.ViewConfig config)

Method Detail

### setMainPanel

    public abstract void setMainPanel(javax.swing.JPanel panel)

### showDockableWindow

    public abstract void showDockableWindow(java.lang.String name)

### hideDockableWindow

    public abstract void hideDockableWindow(java.lang.String name)

### disposeDockableWindow

    public abstract 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.

### floatDockableWindow

    public abstract javax.swing.JComponent floatDockableWindow(java.lang.String name)

### isDockableWindowDocked

    public abstract boolean isDockableWindowDocked(java.lang.String name)

### isDockableWindowVisible

    public abstract boolean isDockableWindowVisible(java.lang.String name)

### closeCurrentArea

    public abstract void closeCurrentArea()

### getDockingLayout

    public abstract DockableWindowManager.DockingLayout getDockingLayout(View.ViewConfig config)

### getLeftDockingArea

    public abstract DockableWindowManager.DockingArea getLeftDockingArea()

### getRightDockingArea

    public abstract DockableWindowManager.DockingArea getRightDockingArea()

### getTopDockingArea

    public abstract DockableWindowManager.DockingArea getTopDockingArea()

### getBottomDockingArea

    public abstract DockableWindowManager.DockingArea getBottomDockingArea()

### init

    public void init()

### close

    public void close()

### applyDockingLayout

    public void applyDockingLayout(DockableWindowManager.DockingLayout docking)

### addDockableWindow

    public void addDockableWindow(java.lang.String name)

  Opens the specified dockable window. As of jEdit 4.0pre1, has the same effect as calling showDockableWindow().

  Parameters:
    `name` - The dockable window name
  Since:
    jEdit 2.6pre3

### removeDockableWindow

    public void removeDockableWindow(java.lang.String name)

  Hides the specified dockable window. As of jEdit 4.2pre1, has the same effect as calling hideDockableWindow().

  Parameters:
    `name` - The dockable window name
  Since:
    jEdit 4.2pre1

### toggleDockableWindow

    public void toggleDockableWindow(java.lang.String name)

  Toggles the visibility of the specified dockable window.

  Parameters:
    `name` - The dockable window name

### getDockableWindow

    public javax.swing.JComponent getDockableWindow(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 `addDockableWindow(String)` first.

  Parameters:
    `name` - The name of the dockable window
  Since:
    jEdit 4.1pre2

### toggleDockAreas

    public void toggleDockAreas()

  Hides all visible dock areas, or shows them again, if the last time it was a hide.

  Since:
    jEdit 4.3pre16

### dockableTitleChanged

    public void dockableTitleChanged(java.lang.String dockable,
                                     java.lang.String newTitle)

### closeListener

    public java.awt.event.KeyListener closeListener(java.lang.String dockableName)

  The actionEvent "close-docking-area" by default only works on windows that are docked. If you want your floatable plugins to also respond to this event, you need to add key listeners to each component in your plugin that usually has keyboard focus. This function returns a key listener which does exactly that. You should not need to call this method - it is used by FloatingWindowContainer.

  Parameters:
    `dockableName` - the name of your dockable
  Returns:
    a KeyListener you can add to that plugin's component.
  Since:
    jEdit 4.3pre6

### getView

    public View getView()

  Returns this dockable window manager's view.

  Since:
    jEdit 4.0pre2

### getDockable

    public javax.swing.JComponent getDockable(java.lang.String name)

  Since:
    jEdit 4.3pre2

### getDockableTitle

    public java.lang.String getDockableTitle(java.lang.String name)

  Returns the title of the specified dockable window.

  Parameters:
    `name` - The name of the dockable window.
  Since:
    jEdit 4.1pre5

### setDockableTitle

    public void setDockableTitle(java.lang.String dockable,
                                 java.lang.String title)

  Changes the .longtitle property of a dockable window, which corresponds to the title shown when it is floating (not docked). Fires a change event that makes sure all floating dockables change their title.

  Parameters:
    `dockable` - the name of the dockable, as specified in the dockables.xml
    `title` - the new .longtitle you want to see above it.
  Since:
    4.3pre5

### getRegisteredDockableWindows

    public static java.lang.String[] getRegisteredDockableWindows()

### getDockableWindowPluginName

    public static java.lang.String getDockableWindowPluginName(java.lang.String name)

### setDockingLayout

    public void setDockingLayout(DockableWindowManager.DockingLayout docking)

### 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`
  Parameters:
    `msg` - The message

### longTitle

    public java.lang.String longTitle(java.lang.String name)

### shortTitle

    public java.lang.String shortTitle(java.lang.String name)

### applyAlternateLayout

    protected void applyAlternateLayout(boolean alternateLayout)

### dockableLoaded

    protected void dockableLoaded(java.lang.String dockableName,
                                  java.lang.String position)

### dockingPositionChanged

    protected void dockingPositionChanged(java.lang.String dockableName,
                                          java.lang.String oldPosition,
                                          java.lang.String newPosition)

### getAlternateLayoutProp

    protected boolean getAlternateLayoutProp()

### propertiesChanged

    protected void propertiesChanged()

### createDockable

    protected javax.swing.JComponent createDockable(java.lang.String name)

### getDockablePosition

    protected java.lang.String getDockablePosition(java.lang.String name)

### focusDockable

    protected void focusDockable(java.lang.String name)

### getLongTitlePropertyName

    protected java.lang.String getLongTitlePropertyName(java.lang.String dockableName)