package edu.ucdavis.cstars.client;
import com.google.gwt.core.client.JavaScriptObject;
public class Util {
public enum Package {
ESRI_ARCGIS_UTILS("esri.arcgis.utils"),
ESRI_IDENTITYMANAGER("esri.IdentityManager"),
ESRI_INFOWINDOWBASE("esri.InfoWindowBase"),
ESRI_DIJIT_ATTACHMENTEDITOR("esri.dijit.AttachmentEditor"),
ESRI_DIJIT_ATTRIBUTEINSPECTOR("esri.dijit.AttributeInspector-all"),
ESRI_DIJIT_BASEMAPGALLERY("esri.dijit.BasemapGallery"),
ESRI_DIJIT_EDITING_EDITOPERATION("esri.dijit.editing.editOperation"),
ESRI_DIJIT_LEGEND("esri.dijit.Legend"),
ESRI_DIJIT_OVERVIEWMAP("esri.dijit.OverviewMap"),
ESRI_DIJIT_SCALEBAR("esri.dijit.Scalebar"),
ESRI_DIJIT_TEMPLATEPICKER("esri.dijit.editing.TemplatePicker-all"),
ESRI_DIJIT_TIMESLIDER("esri.dijit.TimeSlider"),
ESRI_LAYERS_FEATURELAYER("esri.layers.FeatureLayer"),
ESRI_LAYERS_KMLLAYER("esri.layers.KMLLayer"),
ESRI_LAYERS_MAPIMAGELAYER("esri.layers.MapImageLayer"),
ESRI_LAYERS_OSM("esri.layers.osm"),
ESRI_LAYERS_WMSLAYER("esri.layers.wms"),
ESRI_LAYERS_WMTSLAYER("esri.layers.wmts"),
ESRI_TASKS_CLOSESTFACILITY("esri.tasks.closestfacility"),
ESRI_TASKS_GENERATERENDERERTASK("esri.tasks.GenerateRendererTask"),
ESRI_TASKS_IMAGESERVICEIDENTIFY("esri.tasks.imageserviceidentify"),
ESRI_TASKS_PRINTTASK("esri.tasks.PrintTask"),
ESRI_TASKS_SERVICEAREA("esri.tasks.servicearea"),
ESRI_TOOLBARS_DRAW("esri.toolbars.draw"),
ESRI_TOOLBARS_EDIT("esri.toolbars.edit"),
ESRI_UNDOMANAGER("esri.undoManager"),
ESRI_VIRTUALEARTH_VEGEOCODER("esri.virtualearth.VEGeocoder"),
ESRI_VIRTUALEARTH_VETILEDLAYER("esri.virtualearth.VETiledLayer");
private String name;
Package(String n){
name = n;
}
public String getName() {
return name;
}
}
public static native void addObjectToArray(JavaScriptObject object, JavaScriptObject array) /*-{
array.push(object);
}-*/;
public static JavaScriptObject objectArrayToJSO(JavaScriptObject[] objects) {
if( objects == null ) return null;
JavaScriptObject arr = JavaScriptObject.createArray();
for( int i = 0; i < objects.length; i++ ) addObjectToArray(objects[i], arr);
return arr;
}
public static native void addIntToArray(int val, JavaScriptObject array) /*-{
array.push(val);
}-*/;
public static JavaScriptObject intArrayToJSO(int[] ints) {
if( ints == null ) return null;
JavaScriptObject arr = JavaScriptObject.createArray();
for( int i = 0; i < ints.length; i++ ) addIntToArray(ints[i], arr);
return arr;
}
public static native void addDoubleToArray(double val, JavaScriptObject array) /*-{
array.push(val);
}-*/;
public static JavaScriptObject doubleArrayToJSO(double[] doubles) {
if( doubles == null ) return null;
JavaScriptObject arr = JavaScriptObject.createArray();
for( int i = 0; i < doubles.length; i++ ) addDoubleToArray(doubles[i], arr);
return arr;
}
public static native void addStringToArray(String val, JavaScriptObject array) /*-{
array.push(val);
}-*/;
public static JavaScriptObject stringArrayToJSO(String[] strings) {
if( strings == null ) return null;
JavaScriptObject arr = JavaScriptObject.createArray();
for( int i = 0; i < strings.length; i++ ) addStringToArray(strings[i], arr);
return arr;
}
/**
* @deprecated use AddEsriLoadHandler
*/
@Deprecated
public static void loadEsriApi(Runnable onLoadCallback) {
addEsriLoadHandler(onLoadCallback);
}
public static void addEsriLoadHandler(Runnable handler) {
_addEsriLoadHandler(handler);
}
private static native void _addEsriLoadHandler(Runnable handler) /*-{
$wnd.dojo.require("esri.map");
$wnd.dojo.addOnLoad(
function() {
handler.@java.lang.Runnable::run()();
}
);
}-*/;
public static void addRequiredPackage(Package p) {
_addRequiredPackage(p.getName());
};
private static native void _addRequiredPackage(String name) /*-{
$wnd.dojo.require(name);
}-*/;
public static native void debugObject(String name, JavaScriptObject jso) /*-{
if( !$wnd["__gwt_esri_debug"] ) $wnd["__gwt_esri_debug"] = {};
$wnd.__gwt_esri_debug[name] = jso;
}-*/;
}