下面列出了怎么用com.google.gwt.core.client.JsArrayNumber的API类实例代码及写法,或者点击链接到github查看源代码。
private List<Double> getNumberArrayAttribute(SliderOption option, List<Double> defaultValue) {
// Get array attribute
JsArrayNumber array = null;
if (isAttached()) {
array = getNumberArrayAttribute(getElement(), option.getName());
} else {
String value = attributeMixin.getAttribute(option.getDataAttribute());
if (value != null && !value.isEmpty()) {
array = JsonUtils.safeEval(value);
}
}
// Attribute not set
if (array == null) {
return defaultValue;
}
// Put array to list
List<Double> list = new ArrayList<Double>(array.length());
for (int i = 0; i < array.length(); i++) {
list.add(array.get(i));
}
return list;
}
public FastArrayNumber() {
if(GWT.isScript()) {
stackNative = JsArrayNumber.createArray().cast();
} else {
stackJava = new JsList<Double>();
}
}
private void updateSliderForNumberArray(SliderOption option, List<Double> value) {
JsArrayNumber array = JavaScriptObject.createArray().cast();
for (Double val : value) {
array.push(val);
}
if (isAttached()) {
setAttribute(getElement(), option.getName(), array);
refresh();
} else {
String arrayStr = JsonUtils.stringify(array);
attributeMixin.setAttribute(option.getDataAttribute(), arrayStr);
}
}
/**
* Converts the range to a JavaScript number array.
*
* @return a JavaScript number array
*/
public JsArrayNumber toJsArray() {
JsArrayNumber array = JavaScriptObject.createArray().cast();
array.push(minValue);
array.push(maxValue);
return array;
}
public native JsArrayNumber getAxes() /*-{
return this.axes;
}-*/;
public NumberPriorityQueue(Comparator comparator) {
heap = (JsArrayNumber)JsArrayNumber.createArray();
this.comparator = comparator;
}
private static native double pop(JsArrayNumber arr) /*-{
return arr.pop();
}-*/;
public final void setData(double[] data){
JsArrayNumber array = JsArrayNumber.createArray().cast();
for(double str : data)
array.push(str);
setData(array);
}
private final native void setData(JsArrayNumber data) /*-{
this.data = data;
}-*/;
public NumberPriorityQueue(Comparator comparator) {
heap = (JsArrayNumber)JsArrayNumber.createArray();
this.comparator = comparator;
}
private static native double pop(JsArrayNumber arr) /*-{
return arr.pop();
}-*/;
private static native double[] reinterpretCast( JsArrayNumber value ) /*-{
return value;
}-*/;
private native void setAttribute(Element e, String attr, JsArrayNumber value) /*-{
if ([email protected]::isSliderNamespaceAvailable()())
$wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_ATTRIBUTE, attr, value);
else
$wnd.jQuery(e).bootstrapSlider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::SET_ATTRIBUTE, attr, value);
}-*/;
private native JsArrayNumber getNumberArrayAttribute(Element e, String attr) /*-{
if ([email protected]::isSliderNamespaceAvailable()())
return $wnd.jQuery(e).slider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::GET_ATTRIBUTE, attr);
return $wnd.jQuery(e).bootstrapSlider(@org.gwtbootstrap3.extras.slider.client.ui.base.SliderCommand::GET_ATTRIBUTE, attr);
}-*/;
/**
* Converts the given string to a range instance.<br>
* <br>
* Useful when using UiBinder.
*
* @param value
* @return
*/
public static Range fromString(String value) {
if (value == null || value.isEmpty())
return null;
JsArrayNumber array = JsonUtils.safeEval(value);
return new Range(array);
}
/**
* Sets the window padding to top, right, bottom, and right sides. This
* is useful in cases where the window has areas that the drop-down menu
* should not cover - for instance a fixed header.
*
* @param top
* @param right
* @param bottom
* @param left
*/
public void setWindowPaddingTopRightBottomLeft(final int top, final int right,
final int bottom, final int left) {
JsArrayNumber array = JavaScriptObject.createArray(4).cast();
array.push(top);
array.push(right);
array.push(bottom);
array.push(left);
attrMixin.setAttribute(WINDOW_PADDING, JsonUtils.stringify(array));
}
/**
* Sorts a JsArray of doubles.
*
* @param sortMe Array to be sorted.
* @param comparator Comparator to be used, per native JS sort() method.
*/
public static native void sort(JsArrayNumber sortMe, JavaScriptObject comparator) /*-{
sortMe.sort(comparator);
}-*/;
/**
* Sorts a JsArray of doubles.
*
* @param sortMe Array to be sorted.
* @param comparator Comparator to be used, per native JS sort() method.
*/
public static native void sort(JsArrayNumber sortMe, JavaScriptObject comparator) /*-{
sortMe.sort(comparator);
}-*/;
/**
* Creates a slider range with a JavaScritp number array. <br>
* <br>
* This constructor is useful in JSNI calls.
*
* @param array
*/
public Range(final JsArrayNumber array) {
this(array.get(0), array.get(1));
}