A specialized tab bar for side areas.
Side panels can be collapsed by clicking on the currently selected tab. This signal is emitted when the mouse is released on the selected tab without initiating a drag.
Emitted when a tab is added to the tab bar.
Tab bars of the left and right side panel are arranged vertically by rotating their labels.
Rotation is realized with the CSS
transform property, which disrupts the browser's ability
to arrange the involved elements automatically. Therefore the elements are arranged explicitly
by the TabBarRenderer using inline
top styles. However, the size of labels
must still be computed by the browser, so the rendering is performed in two steps: first the
tab bar is rendered horizontally inside a hidden content node, then it is rendered again
vertically inside the proper content node. After the first step, size information is gathered
from all labels so it can be applied during the second step.
The following event processing is used to generate
when the mouse goes up on the currently selected tab without too much movement
mouseup. The movement threshold is the same that
is used by the superclass to detect a drag event. The
of the TabBar constructor cannot be used here because it is triggered when the
mouse goes down, and thus collides with dragging.
viewContainerPart drag enter.
viewContainerPart drag over,
Defines the appropriate
drpAction and opens the tab on which the mouse stands on for more than 800 ms.
Render the tab bar in the hidden content node (see
hiddenContentNode for explanation),
then gather size information for labels and render it again in the proper content node.
Render the tab bar using the given DOM element as host. The optional
renderData is forwarded
to the TabBarRenderer.
Reveal the tab with the given index by moving the scroll bar if necessary.