package com.akjava.gwt.html5.client.extra; import com.akjava.gwt.html5.client.IInputRange; import com.akjava.gwt.html5.client.InputRangeListener; import com.google.gwt.user.client.ui.Label; public class HTML5Builder { public static Label createRangeLabel(final String text,final IInputRange range){ final Label label=new Label(); label.setText(text+""+range.getValue()); label.setStylePrimaryName("title"); range.addInputRangeListener(new InputRangeListener() { @Override public void changed(int newValue) { label.setText(text+""+newValue); } }); /* range.addChangeHandler(new ChangeHandler() { @Override public void onChange(ChangeEvent event) { label.setText(text+":"+range.getValue()); } });*/ /* range.addMouseUpHandler(new MouseUpHandler() { @Override public void onMouseUp(MouseUpEvent event) { label.setText(text+":"+range.getValue()); } }); */ return label; } //TODO add point public static Label createRangeLabel(final String text,final IInputRange range,final int divided){ final Label label=new Label(); label.setText(text+""+((double)range.getValue()/divided)); label.setStylePrimaryName("title"); range.addInputRangeListener(new InputRangeListener() { @Override public void changed(int newValue) { label.setText(text+""+((double)newValue/divided)); } }); return label; } public static Label createRangeLabel(final String text,final IInputRange range,final int divided,final int point){ final Label label=new Label(); label.setText(text+""+((double)range.getValue()/divided)); label.setStylePrimaryName("title"); range.addInputRangeListener(new InputRangeListener() { @Override public void changed(int newValue) { String v=""+((double)newValue/divided); int index=v.indexOf("."); if(index!=-1){ v=v.substring(0,Math.min(v.length(), index+1+point));//this is easy than numberformat. } label.setText(text+""+v); } }); return label; } }