/** * This file is part of Horaz. * * Horaz is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Horaz is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Horaz. If not, see <http://www.gnu.org/licenses/>. * * Copyright Joe's App Factory UG (haftungsbeschränkt) */ package com.horaz.client.widgets.charting; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.json.client.JSONArray; import com.google.gwt.json.client.JSONNumber; import com.google.gwt.json.client.JSONString; public abstract class BaseAxisOptions extends BaseOptions { private static native void setTickFormatterNative( JavaScriptObject axisOptions, TickFormatter tickFormatter ) /*-{ axisOptions.tickFormatter = function(val, axis) { return tickFormatter.@com.horaz.client.widgets.charting.TickFormatter::formatTickValue(Ljava/lang/Double;)(@java.lang.Double::valueOf(D)(val)); }; }-*/; public void setAlignTicksWithAxis(Integer axisNumber) { put("alignTicksWithAxis", axisNumber==null?null:new JSONNumber(axisNumber)); } public void setAutoscaleMargin(int percent) { put("autoscaleMargin", new JSONNumber(percent)); } public void setColor(String color) { put("color", new JSONString(color)); } public void setMin(Integer min) { put("min", min==null?null:new JSONNumber(min)); } public void setModeTime(boolean time) { put("mode", time?new JSONString("time"):null); } public void setTickDecimals(Integer no) { put("tickDecimals", no==null?null:new JSONNumber(no)); } public void setTickFormatter(TickFormatter tickFormatter) { setTickFormatterNative( getJavaScriptObject(), tickFormatter ); } public void setTickLength(int i) { put("tickLength", new JSONNumber(i)); } public void setTickSize(int i) { put("tickSize", new JSONNumber(i)); } public void setTickSize(int i, String unit) { JSONArray a = new JSONArray(); a.set(0, new JSONNumber(i)); a.set(1, new JSONString(unit)); put("tickSize", a); } }