public class TabPaneSkin
extends <any>
TabPane
control.TabPane
Modifier and Type | Class and Description |
---|---|
private static class |
TabPaneSkin.DragState |
private static class |
TabPaneSkin.StyleableProperties
*
CSS *
*
|
private static class |
TabPaneSkin.TabAnimation
*
Enums *
*
|
private static class |
TabPaneSkin.TabAnimationState |
(package private) static class |
TabPaneSkin.TabContentRegion
TabContentRegion: each tab has one to contain the tab's content node
|
(package private) class |
TabPaneSkin.TabControlButtons
TabControlButtons: controls to manipulate tab interaction
|
(package private) class |
TabPaneSkin.TabHeaderArea
TabHeaderArea: Area responsible for painting all tabs
|
(package private) class |
TabPaneSkin.TabHeaderSkin
TabHeaderSkin: skin for each tab
|
(package private) static class |
TabPaneSkin.TabMenuItem |
Modifier and Type | Field and Description |
---|---|
private double |
ANIM_DURATION |
private static double |
ANIMATION_SPEED
*
Private fields *
*
|
private TabPaneBehavior |
behavior |
private static PseudoClass |
BOTTOM_PSEUDOCLASS_STATE |
private ListChangeListener |
childListener |
private Rectangle |
clipRect |
(package private) static int |
CLOSE_BTN_SIZE
*
Static fields *
*
|
private <any> |
closeTabAnimation |
private static PseudoClass |
DISABLED_PSEUDOCLASS_STATE |
private double |
DRAG_DIST_THRESHOLD |
private double |
dragEventPrevLoc |
private Animation |
dragHeaderAnim |
private double |
dragHeaderDestX |
private double |
dragHeaderSourceX |
private double |
dragHeaderStartX |
private double |
dragHeaderTransitionX |
private TabPaneSkin.DragState |
dragState |
private TabPaneSkin.TabHeaderSkin |
dragTabHeader |
private int |
dragTabHeaderIndex |
private TabPaneSkin.TabHeaderSkin |
dropAnimHeader |
private Animation |
dropHeaderAnim |
private double |
dropHeaderSourceX |
private double |
dropHeaderTransitionX |
private TabPaneSkin.TabHeaderSkin |
dropTabHeader |
private <any> |
headerDraggedHandler |
private <any> |
headerMousePressedHandler |
private <any> |
headerMouseReleasedHandler |
private StackPane |
headersRegion |
private boolean |
isSelectingTab |
private static PseudoClass |
LEFT_PSEUDOCLASS_STATE |
private int |
MAX_TO_MIN |
private int |
MIN_TO_MAX |
private <any> |
openTabAnimation
*
Properties *
*
|
private int |
prevDragDirection |
private static PseudoClass |
RIGHT_PSEUDOCLASS_STATE |
private static PseudoClass |
SELECTED_PSEUDOCLASS_STATE |
private Tab |
selectedTab |
private static int |
SPACER |
private Tab |
swapTab |
private <any> |
tabContentRegions |
private TabPaneSkin.TabHeaderArea |
tabHeaderArea |
private Rectangle |
tabHeaderAreaClipRect |
private static PseudoClass |
TOP_PSEUDOCLASS_STATE |
private int |
xLayoutDirection |
Constructor and Description |
---|
TabPaneSkin(TabPane control)
Creates a new TabPaneSkin instance, installing the necessary child
nodes into the Control
children list, as
well as the necessary input mappings for handling key, mouse, etc events. |
Modifier and Type | Method and Description |
---|---|
private void |
addReorderListeners(Node n) |
private void |
addTabContent(Tab tab) |
private void |
addTabs(java.util.List<? extends Tab> addedList,
int from) |
private static Node |
clone(Node n)
VERY HACKY - this lets us 'duplicate' Label and ImageView nodes to be used in a
Tab and the tabs menu at the same time.
|
private void |
completeHeaderReordering() |
double |
computeBaselineOffset(double topInset,
double rightInset,
double bottomInset,
double leftInset) |
protected double |
computePrefHeight(double width,
double topInset,
double rightInset,
double bottomInset,
double leftInset) |
protected double |
computePrefWidth(double height,
double topInset,
double rightInset,
double bottomInset,
double leftInset) |
private Timeline |
createTimeline(TabPaneSkin.TabHeaderSkin tabRegion,
Duration duration,
double endValue,
<any> func) |
private int |
deriveTabHeaderLayoutXDirection() |
void |
dispose() |
static java.util.List<<any>> |
getClassCssMetaData()
Returns the CssMetaData associated with this class, which may include the
CssMetaData of its superclasses.
|
java.util.List<<any>> |
getCssMetaData() |
private double |
getDragDelta(double curr,
double prev) |
private double |
getHeaderRegionLocalX(MouseEvent ev) |
private static int |
getRotation(Side pos)
*
Private implementation *
*
|
private void |
handleHeaderDragged(MouseEvent event) |
private void |
handleHeaderMousePressed(MouseEvent event) |
private void |
handleHeaderMouseReleased(MouseEvent event) |
private void |
initializeSwipeHandlers() |
private void |
initializeTabListener() |
private boolean |
isFloatingStyleClass() |
private boolean |
isHorizontal() |
protected void |
layoutChildren(double x,
double y,
double w,
double h) |
private void |
perfromDrag(MouseEvent event) |
java.lang.Object |
queryAccessibleAttribute(AccessibleAttribute attribute,
java.lang.Object... parameters) |
private void |
removeReorderListeners(Node n) |
private void |
removeTabContent(Tab tab) |
private void |
removeTabs(java.util.List<? extends Tab> removedList) |
private void |
resetDrag() |
private void |
setupReordering(StackPane headersRegion) |
private void |
startDrag(MouseEvent event) |
private void |
startHeaderReorderingAnim() |
private void |
stopAnim(Animation anim) |
private void |
stopCurrentAnimation(Tab tab) |
private void |
stopDrag() |
(package private) ContextMenu |
test_getTabsMenu() |
private void |
updateListeners() |
private void |
updateTabPosition() |
static int CLOSE_BTN_SIZE
private static final double ANIMATION_SPEED
private static final int SPACER
private TabPaneSkin.TabHeaderArea tabHeaderArea
private <any> tabContentRegions
private Rectangle clipRect
private Rectangle tabHeaderAreaClipRect
private Tab selectedTab
private boolean isSelectingTab
private final TabPaneBehavior behavior
private <any> openTabAnimation
private <any> closeTabAnimation
private static final PseudoClass SELECTED_PSEUDOCLASS_STATE
private static final PseudoClass TOP_PSEUDOCLASS_STATE
private static final PseudoClass BOTTOM_PSEUDOCLASS_STATE
private static final PseudoClass LEFT_PSEUDOCLASS_STATE
private static final PseudoClass RIGHT_PSEUDOCLASS_STATE
private static final PseudoClass DISABLED_PSEUDOCLASS_STATE
private <any> headerDraggedHandler
private <any> headerMousePressedHandler
private <any> headerMouseReleasedHandler
private int dragTabHeaderIndex
private TabPaneSkin.TabHeaderSkin dragTabHeader
private TabPaneSkin.TabHeaderSkin dropTabHeader
private StackPane headersRegion
private TabPaneSkin.DragState dragState
private final int MIN_TO_MAX
private final int MAX_TO_MIN
private int xLayoutDirection
private double dragEventPrevLoc
private int prevDragDirection
private final double DRAG_DIST_THRESHOLD
private final double ANIM_DURATION
private TabPaneSkin.TabHeaderSkin dropAnimHeader
private Tab swapTab
private double dropHeaderSourceX
private double dropHeaderTransitionX
private final Animation dropHeaderAnim
private double dragHeaderStartX
private double dragHeaderDestX
private double dragHeaderSourceX
private double dragHeaderTransitionX
private final Animation dragHeaderAnim
private ListChangeListener childListener
public TabPaneSkin(TabPane control)
children
list, as
well as the necessary input mappings for handling key, mouse, etc events.control
- The control that this skin should be installed onto.public void dispose()
protected double computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
protected double computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
public double computeBaselineOffset(double topInset, double rightInset, double bottomInset, double leftInset)
protected void layoutChildren(double x, double y, double w, double h)
private static int getRotation(Side pos)
private static Node clone(Node n)
private void removeTabs(java.util.List<? extends Tab> removedList)
private void stopCurrentAnimation(Tab tab)
private void addTabs(java.util.List<? extends Tab> addedList, int from)
private void initializeTabListener()
private void addTabContent(Tab tab)
private void removeTabContent(Tab tab)
private void updateTabPosition()
private Timeline createTimeline(TabPaneSkin.TabHeaderSkin tabRegion, Duration duration, double endValue, <any> func)
private boolean isHorizontal()
private void initializeSwipeHandlers()
private boolean isFloatingStyleClass()
public static java.util.List<<any>> getClassCssMetaData()
public java.util.List<<any>> getCssMetaData()
public java.lang.Object queryAccessibleAttribute(AccessibleAttribute attribute, java.lang.Object... parameters)
private void addReorderListeners(Node n)
private void removeReorderListeners(Node n)
private void updateListeners()
private void setupReordering(StackPane headersRegion)
private void handleHeaderMousePressed(MouseEvent event)
private void handleHeaderMouseReleased(MouseEvent event)
private void handleHeaderDragged(MouseEvent event)
private double getDragDelta(double curr, double prev)
private int deriveTabHeaderLayoutXDirection()
private void perfromDrag(MouseEvent event)
private void startDrag(MouseEvent event)
private double getHeaderRegionLocalX(MouseEvent ev)
private void stopDrag()
private void resetDrag()
private void startHeaderReorderingAnim()
private void completeHeaderReordering()
private void stopAnim(Animation anim)
ContextMenu test_getTabsMenu()