modules/controls/src/main/java/com/sun/javafx/scene/control/behavior/ColorPickerBehavior.java

Print this page
rev 9240 : 8076423: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization

*** 1,7 **** /* ! * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 23,40 **** * questions. */ package com.sun.javafx.scene.control.behavior; - import static javafx.scene.input.KeyCode.*; - import static javafx.scene.input.KeyEvent.*; - - - import java.util.ArrayList; - import java.util.List; import javafx.scene.control.ColorPicker; ! import com.sun.javafx.scene.control.skin.ColorPickerSkin; import javafx.scene.paint.Color; public class ColorPickerBehavior extends ComboBoxBaseBehavior<Color> { --- 23,34 ---- * questions. */ package com.sun.javafx.scene.control.behavior; import javafx.scene.control.ColorPicker; ! import javafx.scene.control.PopupControl; import javafx.scene.paint.Color; public class ColorPickerBehavior extends ComboBoxBaseBehavior<Color> {
*** 46,106 **** /** * */ public ColorPickerBehavior(final ColorPicker colorPicker) { ! super(colorPicker, COLOR_PICKER_BINDINGS); ! } ! ! /*************************************************************************** ! * * ! * Key event handling * ! * * ! **************************************************************************/ ! ! /** ! * Opens the Color Picker Palette. ! */ ! protected static final String OPEN_ACTION = "Open"; ! ! /** ! * Closes the Color Picker Palette. ! */ ! protected static final String CLOSE_ACTION = "Close"; ! ! ! protected static final List<KeyBinding> COLOR_PICKER_BINDINGS = new ArrayList<KeyBinding>(); ! static { ! // COLOR_PICKER_BINDINGS.addAll(COMBO_BOX_BASE_BINDINGS); ! COLOR_PICKER_BINDINGS.add(new KeyBinding(ESCAPE, KEY_PRESSED, CLOSE_ACTION)); ! COLOR_PICKER_BINDINGS.add(new KeyBinding(SPACE, KEY_PRESSED, OPEN_ACTION)); ! COLOR_PICKER_BINDINGS.add(new KeyBinding(ENTER, KEY_PRESSED, OPEN_ACTION)); ! ! } ! ! @Override protected void callAction(String name) { ! if (OPEN_ACTION.equals(name)) { ! show(); ! } else if(CLOSE_ACTION.equals(name)) { ! hide(); ! } ! else super.callAction(name); } /************************************************************************** * * * Mouse Events * * * *************************************************************************/ ! @Override public void onAutoHide() { // when we click on some non interactive part of the // Color Palette - we do not want to hide. ! ColorPicker colorPicker = (ColorPicker)getControl(); ! ColorPickerSkin cpSkin = (ColorPickerSkin)colorPicker.getSkin(); ! cpSkin.syncWithAutoUpdate(); // if the ColorPicker is no longer showing, then invoke the super method // to keep its show/hide state in sync. ! if (!colorPicker.isShowing()) super.onAutoHide(); } } --- 40,69 ---- /** * */ public ColorPickerBehavior(final ColorPicker colorPicker) { ! super(colorPicker); } /************************************************************************** * * * Mouse Events * * * *************************************************************************/ ! @Override public void onAutoHide(PopupControl popup) { // when we click on some non interactive part of the // Color Palette - we do not want to hide. ! if (!popup.isShowing() && getNode().isShowing()) { ! // Popup was dismissed. Maybe user clicked outside or typed ESCAPE. ! // Make sure DatePicker button is in sync. ! getNode().hide(); ! } // if the ColorPicker is no longer showing, then invoke the super method // to keep its show/hide state in sync. ! if (!getNode().isShowing()) { ! super.onAutoHide(popup); ! } } }