P
- the presenter type this view binds topublic abstract class AbstractDockingWorkbenchPanelView<P extends WorkbenchPanelPresenter> extends AbstractWorkbenchPanelView<P> implements DockingWorkbenchPanelView<P>
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.
Modifier and Type | Field and Description |
---|---|
protected WorkbenchDragAndDropManager |
dndManager |
protected BeanFactory |
factory |
layoutSelection, panelManager, presenter
Constructor and Description |
---|
AbstractDockingWorkbenchPanelView() |
Modifier and Type | Method and 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() . |
addOnFocusHandler, addSelectionHandler, getPresenter, toString
claimElement, initializeClaimedElement, isAttached, onAttach, onBrowserEvent, onDetach, render, render, resolvePotentialElement, setWidget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getLayoutData, getParent, isOrWasAttached, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addPart, changeTitle, getParts, getPresenter, removePart, selectPart, setFocus
init
@Inject protected WorkbenchDragAndDropManager dndManager
@Inject protected BeanFactory factory
public final com.google.gwt.user.client.ui.Widget getWidget()
getWidget
in class com.google.gwt.user.client.ui.Composite
protected ResizeFlowPanel getPartViewContainer()
public com.google.gwt.user.client.ui.Widget getPartDropRegion()
getPartDropRegion
in interface WorkbenchPanelView<P extends WorkbenchPanelPresenter>
getPartDropRegion
in class AbstractWorkbenchPanelView<P extends WorkbenchPanelPresenter>
IsWidget.asWidget()
. For fancier panels, this will typically be some child panel within the view's
internal structure.
If the return value is null, parts will not be droppable on this view.
public void setElementId(String elementId)
setElementId
in interface WorkbenchPanelView<P extends WorkbenchPanelPresenter>
setElementId
in class AbstractWorkbenchPanelView<P extends WorkbenchPanelPresenter>
elementId
- the element ID to set. If null, the ID value will be cleared.public void addPanel(org.uberfire.workbench.model.PanelDefinition childPanelDef, WorkbenchPanelView<?> childPanelView, org.uberfire.workbench.model.Position childPosition)
AbstractWorkbenchPanelView
UnsupportedOperationException
when called. Subclasses that wish to support child panels should
override this and AbstractWorkbenchPanelView.removePanel(WorkbenchPanelView)
.addPanel
in interface WorkbenchPanelView<P extends WorkbenchPanelPresenter>
addPanel
in class AbstractWorkbenchPanelView<P extends WorkbenchPanelPresenter>
childPanelDef
- specifies the size that should be imposed on the nested view. Must not be null. FIXME: is this
sensible/correct?childPanelView
- the panel to nest inside this one. Must not be null.childPosition
- specifies which edge of this panel will be shared with the nested panel. Must not be null.public boolean removePanel(WorkbenchPanelView<?> childView)
AbstractWorkbenchPanelView
UnsupportedOperationException
when called. Subclasses that wish to support child panels should
override this and AbstractWorkbenchPanelView.addPanel(PanelDefinition, WorkbenchPanelView, Position)
.removePanel
in interface WorkbenchPanelView<P extends WorkbenchPanelPresenter>
removePanel
in class AbstractWorkbenchPanelView<P extends WorkbenchPanelPresenter>
public boolean setChildSize(WorkbenchPanelView<?> childPanel, int size)
DockingWorkbenchPanelView
setChildSize
in interface DockingWorkbenchPanelView<P extends WorkbenchPanelPresenter>
childPanel
- the panel whose size to changepublic void maximize()
getPartViewContainer()
.maximize
in interface WorkbenchPanelView<P extends WorkbenchPanelPresenter>
maximize
in class AbstractWorkbenchPanelView<P extends WorkbenchPanelPresenter>
public void unmaximize()
maximize()
.unmaximize
in interface WorkbenchPanelView<P extends WorkbenchPanelPresenter>
unmaximize
in class AbstractWorkbenchPanelView<P extends WorkbenchPanelPresenter>
Copyright © 2012–2018 JBoss by Red Hat. All rights reserved.