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.BooleanPropertyBase; 029import javafx.beans.value.ObservableValue; 030 031/** 032 * This class extends {@code BooleanPropertyBase} 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.BooleanProperty}, 037 * that would otherwise be implemented as a {@link BooleanPropertyBase}, 038 * style‑able by CSS. 039 * 040 * @see javafx.beans.property.BooleanPropertyBase 041 * @see CssMetaData 042 * @see StyleableProperty 043 */ 044public abstract class StyleableBooleanProperty 045 extends BooleanPropertyBase implements StyleableProperty<Boolean> { 046 047 /** 048 * The constructor of the {@code StyleableBooleanProperty}. 049 */ 050 public StyleableBooleanProperty() { 051 super(); 052 } 053 054 /** 055 * The constructor of the {@code StyleableBooleanProperty}. 056 * 057 * @param initialValue 058 * the initial value of the wrapped {@code Object} 059 */ 060 public StyleableBooleanProperty(boolean initialValue) { 061 super(initialValue); 062 } 063 064 /** {@inheritDoc} */ 065 @Override 066 public void applyStyle(StyleOrigin origin, Boolean v) { 067 // call set here in case it has been overridden in the javafx.beans.property 068 set(v.booleanValue()); 069 this.origin = origin; 070 } 071 072 /** {@inheritDoc} */ 073 @Override 074 public void bind(ObservableValue<? extends Boolean> observable) { 075 super.bind(observable); 076 origin = StyleOrigin.USER; 077 } 078 079 /** {@inheritDoc} */ 080 @Override 081 public void set(boolean v) { 082 super.set(v); 083 origin = StyleOrigin.USER; 084 } 085 086 /** {@inheritDoc} */ 087 @Override 088 public final StyleOrigin getStyleOrigin() { return origin; } 089 090 private StyleOrigin origin = null; 091}