Spec-Zone .ru
спецификации, руководства, описания, API
|
001/* 002 * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 003 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 004 * 005 * This code is free software; you can redistribute it and/or modify it 006 * under the terms of the GNU General Public License version 2 only, as 007 * published by the Free Software Foundation. Oracle designates this 008 * particular file as subject to the "Classpath" exception as provided 009 * by Oracle in the LICENSE file that accompanied this code. 010 * 011 * This code is distributed in the hope that it will be useful, but WITHOUT 012 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 013 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 014 * version 2 for more details (a copy is included in the LICENSE file that 015 * accompanied this code). 016 * 017 * You should have received a copy of the GNU General Public License version 018 * 2 along with this work; if not, write to the Free Software Foundation, 019 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 020 * 021 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 022 * or visit www.oracle.com if you need additional information or have any 023 * questions. 024 */ 025 026package javafx.css; 027 028import javafx.beans.property.FloatPropertyBase; 029import javafx.beans.value.ObservableValue; 030 031/** 032 * This class extends {@code FloatPropertyBase} and provides a partial 033 * implementation of a {@code StyleableProperty}. The method 034 * {@link StyleableProperty#getCssMetaData()} is not implemented. 035 * 036 * This class is used to make a {@link javafx.beans.property.FloatProperty}, 037 * that would otherwise be implemented as a {@link FloatPropertyBase}, 038 * style‑able by CSS. 039 * 040 * @see javafx.beans.property.FloatPropertyBase 041 * @see CssMetaData 042 * @see StyleableProperty 043 */ 044public abstract class StyleableFloatProperty 045 extends FloatPropertyBase implements StyleableProperty<Number> { 046 047 /** 048 * The constructor of the {@code StyleableFloatProperty}. 049 */ 050 public StyleableFloatProperty() { 051 super(); 052 } 053 054 /** 055 * The constructor of the {@code StyleableFloatProperty}. 056 * 057 * @param initialValue 058 * the initial value of the wrapped {@code Object} 059 */ 060 public StyleableFloatProperty(float initialValue) { 061 super(initialValue); 062 } 063 064 /** {@inheritDoc} */ 065 @Override 066 public void applyStyle(StyleOrigin origin, Number v) { 067 setValue(v); 068 this.origin = origin; 069 } 070 071 /** {@inheritDoc} */ 072 @Override 073 public void bind(ObservableValue<? extends Number> observable) { 074 super.bind(observable); 075 origin = StyleOrigin.USER; 076 } 077 078 /** {@inheritDoc} */ 079 @Override 080 public void set(float v) { 081 super.set(v); 082 origin = StyleOrigin.USER; 083 } 084 085 /** {@inheritDoc} */ 086 @Override 087 public final StyleOrigin getStyleOrigin() { return origin; } 088 089 private StyleOrigin origin = null; 090 091}