/* * Copyright (c) 2013 by Gerrit Grunwald * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package eu.hansolo.enzo.radialmenu; import javafx.beans.property.BooleanProperty; import javafx.beans.property.DoubleProperty; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleDoubleProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.scene.paint.Color; /** * Created with IntelliJ IDEA. * User: hansolo * Date: 21.09.12 * Time: 13:40 * To change this template use File | Settings | File Templates. */ public class Options { private double _degrees; private DoubleProperty degrees; private double _offset; private DoubleProperty offset; private double _radius; private DoubleProperty radius; private double _buttonSize; private DoubleProperty buttonSize; private Color _buttonFillColor; private ObjectProperty<Color> buttonFillColor; private Color _buttonStrokeColor; private ObjectProperty<Color> buttonStrokeColor; private Color _buttonForegroundColor; private ObjectProperty<Color> buttonForegroundColor; private double _buttonAlpha; private DoubleProperty buttonAlpha; private boolean _buttonVisible; private BooleanProperty buttonVisible; private boolean _buttonHideOnSelect; private BooleanProperty buttonHideOnSelect; private boolean _buttonHideOnClose; private BooleanProperty buttonHideOnClose; private boolean _tooltipsEnabled; private BooleanProperty tooltipsEnabled; private boolean _simpleMode; private BooleanProperty simpleMode; private boolean _strokeVisible; private BooleanProperty strokeVisible; // ******************** Constructors ************************************** public Options() { this(360, -90, 100); } public Options(final double DEGREES, final double OFFSET, final double RADIUS) { this(DEGREES, OFFSET, RADIUS, 44, Color.RED, Color.WHITE, Color.WHITE, true, false, false, 0.5, true); } public Options(final double DEGREES, final double OFFSET, final double RADIUS, final double BUTTON_SIZE, final Color BUTTON_INNER_COLOR, final Color BUTTON_FRAME_COLOR, final Color BUTTON_FOREGROUND_COLOR, final boolean BUTTON_HIDE_ON_SELECT, final boolean HIDE_ON_CLOSE, final boolean TOOLTIPS_ENABLED, final double BUTTON_ALPHA, final boolean BUTTON_VISIBLE) { _degrees = DEGREES; _offset = OFFSET; _radius = RADIUS; _buttonSize = BUTTON_SIZE; _buttonFillColor = BUTTON_INNER_COLOR; _buttonStrokeColor = BUTTON_FRAME_COLOR; _buttonForegroundColor = BUTTON_FOREGROUND_COLOR; _buttonAlpha = BUTTON_ALPHA; _buttonHideOnSelect = BUTTON_HIDE_ON_SELECT; _buttonHideOnClose = HIDE_ON_CLOSE; _tooltipsEnabled = TOOLTIPS_ENABLED; _buttonVisible = BUTTON_VISIBLE; _simpleMode = false; _strokeVisible = true; } // ******************** Methods ******************************************* public double getDegrees() { return null == degrees ? _degrees : degrees.get(); } public void setDegrees(final double DEGREES) { if (null == degrees) { _degrees = DEGREES; } else { degrees.set(DEGREES); } } public DoubleProperty degreesProperty() { if (null == degrees) { degrees = new SimpleDoubleProperty(this, "degrees", _degrees); } return degrees; } public double getOffset() { return null == offset ? _offset : offset.get(); } public void setOffset(final double OFFSET) { if (null == offset) { _offset = OFFSET; } else { offset.set(OFFSET); } } public DoubleProperty offsetProperty() { if (null == offset) { offset = new SimpleDoubleProperty(this, "offset", _offset); } return offset; } public double getRadius() { return null == radius ? _radius : radius.get(); } public void setRadius(final double RADIUS) { if (null == radius) { _radius = RADIUS; } else { radius.set(RADIUS); } } public DoubleProperty radiusProperty() { if (null == radius) { radius = new SimpleDoubleProperty(this, "radius", _radius); } return radius; } public double getButtonSize() { return null == buttonSize ? _buttonSize : buttonSize.get(); } public void setButtonSize(final double BUTTON_SIZE) { if (null == buttonSize) { _buttonSize = BUTTON_SIZE; } else { buttonSize.set(BUTTON_SIZE); } } public DoubleProperty buttonSizeProperty() { if (null == buttonSize) { buttonSize = new SimpleDoubleProperty(this, "buttonSize", _buttonSize); } return buttonSize; } public Color getButtonFillColor() { return null == buttonFillColor ? _buttonFillColor : buttonFillColor.get(); } public void setButtonFillColor(final Color BUTTON_FILL_COLOR) { if (null == buttonFillColor) { _buttonFillColor = BUTTON_FILL_COLOR; } else { buttonFillColor.set(BUTTON_FILL_COLOR); } } public ObjectProperty<Color> buttonFillColorProperty() { if (null == buttonFillColor) { buttonFillColor = new SimpleObjectProperty<>(this, "buttonFillColor", _buttonFillColor); } return buttonFillColor; } public Color getButtonStrokeColor() { return null == buttonStrokeColor ? _buttonStrokeColor : buttonStrokeColor.get(); } public void setButtonStrokeColor(final Color BUTTON_STROKE_COLOR) { if (null == buttonStrokeColor) { _buttonStrokeColor = BUTTON_STROKE_COLOR; } else { buttonStrokeColor.set(BUTTON_STROKE_COLOR); } } public ObjectProperty<Color> buttonStrokeColorProperty() { if (null == buttonStrokeColor) { buttonStrokeColor = new SimpleObjectProperty<>(this, "buttonStrokeColor", _buttonStrokeColor); } return buttonStrokeColor; } public Color getButtonForegroundColor() { return null == buttonForegroundColor ? _buttonForegroundColor : buttonForegroundColor.get(); } public void setButtonForegroundColor(final Color BUTTON_FOREGROUND_COLOR) { if (null == buttonForegroundColor) { _buttonForegroundColor = BUTTON_FOREGROUND_COLOR; } else { buttonForegroundColor.set(BUTTON_FOREGROUND_COLOR); } } public ObjectProperty<Color> buttonForegroundColorProperty() { if (null == buttonForegroundColor) { buttonForegroundColor = new SimpleObjectProperty<>(this, "buttonForegroundColor", _buttonForegroundColor); } return buttonForegroundColor; } public double getButtonAlpha() { return null == buttonAlpha ? _buttonAlpha : buttonAlpha.get(); } public void setButtonAlpha(final double BUTTON_ALPHA) { double alpha = BUTTON_ALPHA < 0 ? 0 : (BUTTON_ALPHA > 1 ? 1.0 : BUTTON_ALPHA); if (null == buttonAlpha) { _buttonAlpha = alpha; } else { buttonAlpha.set(alpha); } } public DoubleProperty buttonAlphaProperty() { if (null == buttonAlpha) { buttonAlpha = new SimpleDoubleProperty(this, "buttonAlpha", _buttonAlpha); } return buttonAlpha; } public boolean isButtonHideOnSelect() { return null == buttonHideOnSelect ? _buttonHideOnSelect : buttonHideOnSelect.get(); } public void setButtonHideOnSelect(final boolean BUTTON_HIDE_ON_SELECT) { if (null == buttonHideOnSelect) { _buttonHideOnSelect = BUTTON_HIDE_ON_SELECT; } else { buttonHideOnSelect.set(BUTTON_HIDE_ON_SELECT); } } public BooleanProperty buttonHideOnSelectProperty() { if (null == buttonHideOnSelect) { buttonHideOnSelect = new SimpleBooleanProperty(this, "buttonHideOnSelect", _buttonHideOnSelect); } return buttonHideOnSelect; } public boolean isButtonHideOnClose() { return null == buttonHideOnClose ? _buttonHideOnClose : buttonHideOnClose.get(); } public void setButtonHideOnClose(final boolean BUTTON_HIDE_ON_CLOSE) { if (null == buttonHideOnClose) { _buttonHideOnClose = BUTTON_HIDE_ON_CLOSE; } else { buttonHideOnClose.set(BUTTON_HIDE_ON_CLOSE); } } public BooleanProperty buttonHideOnCloseProperty() { if (null == buttonHideOnClose) { buttonHideOnClose = new SimpleBooleanProperty(this, "buttonHideOnClose", _buttonHideOnClose); } return buttonHideOnClose; } public boolean isTooltipsEnabled() { return null == tooltipsEnabled ? _tooltipsEnabled : tooltipsEnabled.get(); } public void setTooltipsEnabled(final boolean TOOLTIPS_ENABLED) { if (null == tooltipsEnabled) { _tooltipsEnabled = TOOLTIPS_ENABLED; } else { tooltipsEnabled.set(TOOLTIPS_ENABLED); } } public BooleanProperty tooltipsEnabledProperty() { if (null == tooltipsEnabled) { tooltipsEnabled = new SimpleBooleanProperty(this, "tooltipsEnabled", _tooltipsEnabled); } return tooltipsEnabled; } public boolean isButtonVisible() { return null == buttonVisible ? _buttonVisible : buttonVisible.get(); } public void setButtonVisible(final boolean BUTTON_VISIBLE) { if (null == buttonVisible) { _buttonVisible = BUTTON_VISIBLE; } else { buttonVisible.set(BUTTON_VISIBLE); } } public BooleanProperty buttonVisibleProperty() { if (null == buttonVisible) { buttonVisible = new SimpleBooleanProperty(this, "buttonVisible", _buttonVisible); } return buttonVisible; } public boolean isSimpleMode() { return null == simpleMode ? _simpleMode : simpleMode.get(); } public void setSimpleMode(final boolean SIMPLE_MODE) { if (null == simpleMode) { _simpleMode = SIMPLE_MODE; } else { simpleMode.set(SIMPLE_MODE); } } public BooleanProperty simpleModeProperty() { if (null == simpleMode) { simpleMode = new SimpleBooleanProperty(this, "simpleMode", _simpleMode); } return simpleMode; } public boolean isStrokeVisible() { return null == strokeVisible ? _strokeVisible : strokeVisible.get(); } public void setStrokeVisible(final boolean STROKE_VISIBLE) { if (null == strokeVisible) { _strokeVisible = STROKE_VISIBLE; } else { strokeVisible.set(STROKE_VISIBLE); } } public BooleanProperty strokeVisibleProperty() { if (null == strokeVisible) { strokeVisible = new SimpleBooleanProperty(this, "strokeVisible", _strokeVisible); } return strokeVisible; } }