/* * Copyright 2017 TWO SIGMA OPEN SOURCE, LLC * * 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 com.twosigma.beaker.widgets.floats; import java.io.Serializable; import java.util.HashMap; /** * Slider/trackbar that represents a pair of floats bounded by minimum and maximum value. * Parameters * ---------- * value : float tuple * range of the slider displayed * min : float * minimal position of the slider * max : float * maximal position of the slider * step : float * step of the trackbar * description : str * name of the slider * orientation : {'horizontal', 'vertical'} * default is 'horizontal' * readout : {True, False} * default is True, display the current value of the slider next to it * readout_format : str * default is '.2f', specifier for the format function used to represent * slider value for human consumption, modeled after Python 3's format * specification mini-language (PEP 3101). * slider_color : str Unicode color code (eg. '#C13535') * color of the slider * color : str Unicode color code (eg. '#C13535') * color of the value displayed (if readout == True) * * @author konst * */ public class FloatRangeSlider extends BoundedFloatRangeWidget { public static final String VIEW_NAME_VALUE = "FloatSliderView"; public static final String MODEL_NAME_VALUE = "FloatSliderModel"; protected static final String ORIENTATION = "orientation"; protected static final String CONTINUOUS_UPDATE = "continuous_update"; protected static final String _RANGE = "_range"; protected static final String READOUT = "readout"; protected static final String SLIDER_COLOR = "slider_color"; private String orientation = "horizontal"; private Boolean continuous_update = true; private Boolean readOut = true; private String slider_color; public FloatRangeSlider() { super(); openComm(); } @Override protected HashMap<String, Serializable> content(HashMap<String, Serializable> content) { super.content(content); content.put(ORIENTATION, orientation); content.put(_RANGE, true); content.put(READOUT, this.readOut); content.put(SLIDER_COLOR, this.slider_color); content.put(CONTINUOUS_UPDATE, this.continuous_update); return content; } public String getOrientation() { return orientation; } public void setOrientation(String orientation) { this.orientation = orientation; sendUpdate(ORIENTATION, orientation); } public Boolean getReadOut() { return readOut; } public void setReadOut(Object readOut) { this.readOut = getBoolean(readOut); sendUpdate(READOUT, readOut); } public Boolean getContinuous_update() { return continuous_update; } public void setContinuous_update(Boolean continuous_update) { this.continuous_update = continuous_update; sendUpdate(CONTINUOUS_UPDATE, continuous_update); } @Override public String getModelNameValue() { return MODEL_NAME_VALUE; } @Override public String getViewNameValue() { return VIEW_NAME_VALUE; } }