public class FXVKSkin extends BehaviorSkinBase<FXVK,BehaviorBase<FXVK>>
Modifier and Type | Class and Description |
---|---|
private class |
FXVKSkin.CharKey
A key which has a letter, a number or symbol on it
|
private class |
FXVKSkin.Key
A Key on the virtual keyboard.
|
private class |
FXVKSkin.KeyboardStateKey
These keys only manipulate the state of the keyboard and never
send key events to the client.
|
private class |
FXVKSkin.KeyCodeKey
Some keys actually do need to use KeyCode for pressed / released events,
and BackSpace is one of them.
|
private class |
FXVKSkin.SuperKey
One of several TextInputKeys which have super powers, such as "Tab" and
"Return" and "Backspace".
|
private class |
FXVKSkin.TextInputKey
Any key on the keyboard which will send a KeyEvent to the client.
|
Modifier and Type | Field and Description |
---|---|
private Node |
attachedNode |
private static java.util.HashMap<java.lang.String,java.util.List<java.util.List<FXVKSkin.Key>>> |
boardMap |
private boolean |
capsDown |
private java.util.List<java.util.List<FXVKSkin.Key>> |
currentBoard |
(package private) FXVK |
fxvk |
private static int |
GAP |
private static boolean |
hideAfterSlideOut |
private boolean |
isSymbol |
private boolean |
isVKHidden |
private static double |
KEY_REPEAT_DELAY |
private static double |
KEY_REPEAT_DELAY_MAX |
private static double |
KEY_REPEAT_DELAY_MIN |
private static double |
KEY_REPEAT_RATE |
private static double |
KEY_REPEAT_RATE_MAX |
private static double |
KEY_REPEAT_RATE_MIN |
(package private) long |
lastTime |
private int |
numCols |
private java.lang.Double |
origWindowYPos |
(package private) static double |
PREF_KEY_HEIGHT |
(package private) static double |
PREF_PORTRAIT_KEY_WIDTH |
private static FXVK |
primaryVK |
private static Timeline |
repeatInitialDelay |
private static FXVKSkin.TextInputKey |
repeatKey |
private static Timeline |
repeatSubsequentDelay |
private static Popup |
secondaryPopup |
private static FXVK |
secondaryVK |
private static Timeline |
secondaryVKDelay |
private static FXVKSkin.CharKey |
secondaryVKKey |
private boolean |
shiftDown |
private static Timeline |
slideInTimeline |
private static Timeline |
slideOutTimeline |
(package private) EventHandler<InputEvent> |
unHideEventHandler |
(package private) static double |
VK_HEIGHT |
(package private) static double |
VK_SLIDE_MILLIS |
(package private) static boolean |
vkAdjustWindow |
(package private) static boolean |
vkLookup |
private static Popup |
vkPopup |
private java.lang.String |
vkType |
private static DoubleProperty |
winY |
IS_TOUCH_SUPPORTED
Modifier and Type | Method and Description |
---|---|
private void |
adjustWindowPosition(Node node) |
(package private) void |
clearShift() |
(package private) void |
clearStateKeys() |
(package private) void |
clearSymbolABC() |
private void |
closeSecondaryVK() |
protected double |
computePrefHeight(double width,
double topInset,
double rightInset,
double bottomInset,
double leftInset)
Calculates the preferred height of this
SkinBase . |
protected double |
computePrefWidth(double height,
double topInset,
double rightInset,
double bottomInset,
double leftInset)
Calculates the preferred width of this
SkinBase . |
private java.lang.String |
getNodeVKType(Node node) |
protected void |
layoutChildren(double contentX,
double contentY,
double contentWidth,
double contentHeight)
Called during the layout pass of the scenegraph.
|
private java.util.List<java.util.List<FXVKSkin.Key>> |
loadBoard(java.lang.String type) |
(package private) void |
prerender(Node node) |
(package private) void |
pressShift() |
(package private) void |
pressSymbolABC() |
private void |
rebuildPrimaryVK(java.lang.String type)
builds primary VK based on the keyboard
type set on the VirtualKeyboard.
|
private void |
rebuildSecondaryVK()
builds secondary (long-press) VK
|
private void |
registerUnhideHandler(Node node) |
private void |
restoreWindowPosition(Node node) |
private void |
saveWindowPosition(Node node) |
private void |
setupPrimaryVK() |
private void |
showSecondaryVK(FXVKSkin.CharKey key) |
private static void |
startSlideIn() |
private static void |
startSlideOut(boolean doHide) |
private void |
unRegisterUnhideHandler(Node node) |
private void |
updateKeyboardType(Node node) |
private void |
updateKeys() |
dispose, getBehavior, handleControlPropertyChanged, registerChangeListener, unregisterChangeListener
computeBaselineOffset, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, consumeMouseEvents, executeAccessibleAction, getChildren, getClassCssMetaData, getCssMetaData, getNode, getSkinnable, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, queryAccessibleAttribute, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapSize, snapSpace
private static final int GAP
private java.util.List<java.util.List<FXVKSkin.Key>> currentBoard
private static java.util.HashMap<java.lang.String,java.util.List<java.util.List<FXVKSkin.Key>>> boardMap
private int numCols
private boolean capsDown
private boolean shiftDown
private boolean isSymbol
long lastTime
private static Popup vkPopup
private static Popup secondaryPopup
private static FXVK primaryVK
private static Timeline slideInTimeline
private static Timeline slideOutTimeline
private static boolean hideAfterSlideOut
private static FXVK secondaryVK
private static Timeline secondaryVKDelay
private static FXVKSkin.CharKey secondaryVKKey
private static FXVKSkin.TextInputKey repeatKey
private static Timeline repeatInitialDelay
private static Timeline repeatSubsequentDelay
private static double KEY_REPEAT_DELAY
private static double KEY_REPEAT_DELAY_MIN
private static double KEY_REPEAT_DELAY_MAX
private static double KEY_REPEAT_RATE
private static double KEY_REPEAT_RATE_MIN
private static double KEY_REPEAT_RATE_MAX
private Node attachedNode
private java.lang.String vkType
FXVK fxvk
static final double VK_HEIGHT
static final double VK_SLIDE_MILLIS
static final double PREF_PORTRAIT_KEY_WIDTH
static final double PREF_KEY_HEIGHT
static boolean vkAdjustWindow
static boolean vkLookup
private static DoubleProperty winY
EventHandler<InputEvent> unHideEventHandler
private boolean isVKHidden
private java.lang.Double origWindowYPos
public FXVKSkin(FXVK fxvk)
void clearShift()
void pressShift()
void clearSymbolABC()
void pressSymbolABC()
void clearStateKeys()
private void updateKeys()
private static void startSlideIn()
private static void startSlideOut(boolean doHide)
private void adjustWindowPosition(Node node)
private void saveWindowPosition(Node node)
private void restoreWindowPosition(Node node)
private void registerUnhideHandler(Node node)
private void unRegisterUnhideHandler(Node node)
private java.lang.String getNodeVKType(Node node)
private void updateKeyboardType(Node node)
private void closeSecondaryVK()
private void setupPrimaryVK()
void prerender(Node node)
private void rebuildSecondaryVK()
private void rebuildPrimaryVK(java.lang.String type)
protected double computePrefWidth(double height, double topInset, double rightInset, double bottomInset, double leftInset)
SkinBase
SkinBase
. The default
implementation calculates this width as the width of the area occupied
by its managed children when they are positioned at their
current positions at their preferred widths.computePrefWidth
in class SkinBase<FXVK>
height
- the height that should be used if preferred width depends on ittopInset
- the pixel snapped top insetrightInset
- the pixel snapped right insetbottomInset
- the pixel snapped bottom insetleftInset
- the pixel snapped left insetprotected double computePrefHeight(double width, double topInset, double rightInset, double bottomInset, double leftInset)
SkinBase
SkinBase
. The default
implementation calculates this height as the height of the area occupied
by its managed children when they are positioned at their current
positions at their preferred heights.computePrefHeight
in class SkinBase<FXVK>
width
- the width that should be used if preferred height depends on ittopInset
- the pixel snapped top insetrightInset
- the pixel snapped right insetbottomInset
- the pixel snapped bottom insetleftInset
- the pixel snapped left insetprotected void layoutChildren(double contentX, double contentY, double contentWidth, double contentHeight)
SkinBase
layoutChildren
in class SkinBase<FXVK>
private void showSecondaryVK(FXVKSkin.CharKey key)
private java.util.List<java.util.List<FXVKSkin.Key>> loadBoard(java.lang.String type)