001package gwt.material.design.client.ui; 002 003/* 004 * #%L 005 * GwtMaterial 006 * %% 007 * Copyright (C) 2015 GwtMaterialDesign 008 * %% 009 * Licensed under the Apache License, Version 2.0 (the "License"); 010 * you may not use this file except in compliance with the License. 011 * You may obtain a copy of the License at 012 * 013 * http://www.apache.org/licenses/LICENSE-2.0 014 * 015 * Unless required by applicable law or agreed to in writing, software 016 * distributed under the License is distributed on an "AS IS" BASIS, 017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 018 * See the License for the specific language governing permissions and 019 * limitations under the License. 020 * #L% 021 */ 022 023//@formatter:off 024 025 026/** 027 * Material Integer Box is an input field that accepts any Float based string from user. 028 * <h3>UiBinder Usage:</h3> 029 * <pre> 030 *{@code <m:MaterialFloatBox placeholder="Your integer" step=100/>} 031 * </pre> 032 * 033 * The parsing and formatting of the number are done natively by the browser, using the 034 * i18n settings from the user. 035 * 036 * @see <a href="http://gwt-material-demo.herokuapp.com/#forms">Material FloatBox</a> 037 * @author paulux84 038 */ 039//@formatter:on 040public class MaterialFloatBox extends MaterialNumberBox<Float> { 041 042 public MaterialFloatBox() { 043 setStep("any"); 044 } 045 046 @Override 047 public Float getValue() { 048 double number = getValueAsNumber(); 049 if (Double.isNaN(number)){ 050 return null; 051 } 052 return Float.valueOf((float)number); 053 } 054 055}