Class AbstractDockingWorkbenchPanelView<P extends WorkbenchPanelPresenter>

  • Type Parameters:
    P - the presenter type this view binds to
    All Implemented Interfaces:
    com.google.gwt.event.logical.shared.HasAttachHandlers, com.google.gwt.event.shared.HasHandlers, com.google.gwt.user.client.EventListener, com.google.gwt.user.client.ui.HasVisibility, com.google.gwt.user.client.ui.IsRenderable, com.google.gwt.user.client.ui.IsWidget, com.google.gwt.user.client.ui.RequiresResize, org.uberfire.client.mvp.HasPresenter<P>, org.uberfire.client.mvp.UberView<P>, DockingWorkbenchPanelView<P>, WorkbenchPanelView<P>
    Direct Known Subclasses:
    AbstractMultiPartWorkbenchPanelView, AbstractSimpleWorkbenchPanelView

    public abstract class AbstractDockingWorkbenchPanelView<P extends WorkbenchPanelPresenter>
    extends AbstractWorkbenchPanelView<P>
    implements DockingWorkbenchPanelView<P>
    Implements the view behaviour required by all docking panel views: adding and removing child panels in the NORTH, SOUTH, EAST, and WEST compass positions.

    Information for subclassers

    The top-level widget of an AbstractDockingWorkbenchPanelView is always topLevelWidget, a container for child panels, even if this panel doesn't currently have any child panels. This is done so child panels can be inserted and removed without making any assumptions about the parent panel this view is located in (if any!).

    This means you must always put your part view UI into the widget returned from getPartViewContainer(). The contents of this container will never be inspected or modified, but the container itself will be reparented as necessary to accommodate child panels being inserted and removed around it. Put another way, do not insert your part view UI directly into the top-level widget of this view! It will get wiped out!

    This also means you must not call ResizeComposite.initWidget(Widget). That will always be done by this superclass.

    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject

        com.google.gwt.user.client.ui.UIObject.DebugIdImpl, com.google.gwt.user.client.ui.UIObject.DebugIdImplEnabled
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addPanel​(org.uberfire.workbench.model.PanelDefinition childPanelDef, WorkbenchPanelView<?> childPanelView, org.uberfire.workbench.model.Position childPosition)
      Throws UnsupportedOperationException when called.
      com.google.gwt.user.client.ui.Widget getPartDropRegion()
      Returns the partViewContainer, which appears to be the "real" on-screen boundary of this widget.
      protected ResizeFlowPanel getPartViewContainer()
      Returns the panel that subclasses should put the part view UI into.
      com.google.gwt.user.client.ui.Widget getWidget()
      Overridden to ensure subclasses don't return the partViewContainer by mistake (this would interfere with nested docking panels).
      void maximize()
      Overridden to maximize the widget returned by getPartViewContainer().
      boolean removePanel​(WorkbenchPanelView<?> childView)
      Throws UnsupportedOperationException when called.
      boolean setChildSize​(WorkbenchPanelView<?> childPanel, int size)
      Sets the size (width for EAST or WEST children; height for NORTH and SOUTH children) allocated to the specified child by moving its splitter bar on the screen.
      void setElementId​(String elementId)
      Overridden to attach the ID to the part container rather than the top-level widget, which may contain sub-panels and be larger and further up the DOM tree than desired.
      void unmaximize()
      Overridden to match maximize().
      • Methods inherited from class com.google.gwt.user.client.ui.ResizeComposite

        initWidget, onResize
      • Methods inherited from class com.google.gwt.user.client.ui.Composite

        claimElement, initializeClaimedElement, isAttached, onAttach, onBrowserEvent, onDetach, render, render, resolvePotentialElement, setWidget
      • Methods inherited from class com.google.gwt.user.client.ui.Widget

        addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getLayoutData, getParent, isOrWasAttached, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents
      • Methods inherited from class com.google.gwt.user.client.ui.UIObject

        addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent
      • Methods inherited from interface org.uberfire.client.mvp.HasPresenter

        init
      • Methods inherited from interface com.google.gwt.user.client.ui.IsWidget

        asWidget
      • Methods inherited from interface com.google.gwt.user.client.ui.RequiresResize

        onResize