org.flexdock.view
Class Viewport

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.flexdock.docking.defaults.DefaultDockingPort
                      extended by org.flexdock.view.Viewport
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, EventListener, Accessible, DockingConstants, DockingPort, DockingListener, DockingMonitor

public class Viewport
extends DefaultDockingPort
implements DockingConstants

Author:
Christopher Butler
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.flexdock.docking.defaults.DefaultDockingPort
DefaultDockingPort.PortLayout
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Nested classes/interfaces inherited from interface org.flexdock.docking.event.DockingListener
DockingListener.Stub
 
Field Summary
protected  HashSet blockedRegions
           
 
Fields inherited from class org.flexdock.docking.defaults.DefaultDockingPort
dockingListeners
 
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 org.flexdock.docking.DockingConstants
ACTIVE_WINDOW, BOTTOM, CENTER, CENTER_REGION, CLOSE_ACTION, DEFAULT_PERSISTENCE_KEY, DOCKING_ID, EAST_REGION, HEAVYWEIGHT_DOCKABLES, HORIZONTAL, LEFT, MOUSE_PRESSED, NORTH_REGION, PERMANENT_FOCUS_OWNER, PIN_ACTION, REGION, RIGHT, SOUTH_REGION, TOP, UNINITIALIZED, UNINITIALIZED_RATIO, UNKNOWN_REGION, UNSPECIFIED_SIBLING_PREF, VERTICAL, WEST_REGION
 
Fields inherited from interface org.flexdock.docking.DockingPort
INITIAL_TAB_POSITION
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
Viewport()
           
Viewport(String portId)
           
 
Method Summary
protected  JTabbedPane createTabbedPane()
          If this method returns null, implementations may throw NullPointerExceptions.
 boolean dock(Dockable dockable)
           
 Set getViewset()
           
 Set getViewset(int depth)
           
 boolean isDockingAllowed(Component comp, String region)
          Returns true if docking is allowed for the specified Component within the supplied region, false otherwise.
protected  String paramString()
           
 void setRegionBlocked(String region, boolean isBlocked)
           
 
Methods inherited from class org.flexdock.docking.defaults.DefaultDockingPort
add, add, add, add, add, addDockingListener, clear, createBorderManager, createLayout, dock, dock, dockingCanceled, dockingComplete, dragStarted, dropStarted, exportLayout, getBorderManager, getCenterDockable, getComponent, getDockable, getDockableAt, getDockables, getDockableSet, getDockedComponent, getDockingListeners, getDockingProperties, getDockingStrategy, getInitTabPlacement, getPersistentId, getRegion, getRegionChecker, importLayout, installMaximizedDockable, isParentDockingPort, isRoot, isSingleTabAllowed, isTabsAsDragSource, isValidDockableChild, isValidDockingRegion, paint, releaseForMaximization, remove, removeAll, removeDockingListener, returnFromMaximization, setBorderManager, setDragInProgress, setPersistentId, setRoot, setSingleTabAllowed, setTabsAsDragSource, undock, undockingComplete, undockingStarted, uninstallMaximizedDockable, updateTab
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, 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, 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
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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.flexdock.docking.DockingPort
getClientProperty, putClientProperty
 

Field Detail

blockedRegions

protected HashSet blockedRegions
Constructor Detail

Viewport

public Viewport()

Viewport

public Viewport(String portId)
Method Detail

setRegionBlocked

public void setRegionBlocked(String region,
                             boolean isBlocked)

isDockingAllowed

public boolean isDockingAllowed(Component comp,
                                String region)
Description copied from class: DefaultDockingPort
Returns true if docking is allowed for the specified Component within the supplied region, false otherwise. It is important to note that success of a docking operation relies on many factors and a return value of true from this method does not necessarily guarantee that a call to dock() will succeed. This method merely indicates that the current DockingPort does not have any outstanding reason to block a docking operation with respect to the specified Component and region.

If comp is null or region is invalid according to DockingManager.isValidDockingRegion(String region), then this method returns false.

If this DockingPort is not already the parent DockingPort for the specified Component, then this method returns true.

If this DockingPort is already the parent DockingPort for the specified Component, then a check is performed to see if there is a tabbed layout. Tabbed layouts may contain multiple Dockables, and thus the tab ordering may be rearranged, or shifted into a split layout. If comp is the only docked Component within this DockingPort, then this method returns false since the layout cannot be rearranged. Otherwise, this method returns true.

Specified by:
isDockingAllowed in interface DockingPort
Overrides:
isDockingAllowed in class DefaultDockingPort
Parameters:
comp - the Component whose docking availability is to be checked
region - the region to be checked for docking availability for the specified Component.
Returns:
true if docking is allowed for the specified Component within the supplied region, false otherwise.
See Also:
DockingPort.isDockingAllowed(Component, String), DockingManager.isValidDockingRegion(String), DefaultDockingPort.isParentDockingPort(Component)

dock

public boolean dock(Dockable dockable)

createTabbedPane

protected JTabbedPane createTabbedPane()
Description copied from class: DefaultDockingPort
If this method returns null, implementations may throw NullPointerExceptions. Do not expect NPE checking.

Overrides:
createTabbedPane in class DefaultDockingPort
Returns:
a valid JTabbedPane.

getViewset

public Set getViewset()

getViewset

public Set getViewset(int depth)

paramString

protected String paramString()
Overrides:
paramString in class JPanel