See More

package coopy; /** * * For other languages, I implemented a simple wrapper around the most * obvious 2D representation of a table, to avoid unnecessary copies. * In Java, the 2D representations aren't really so convenient to * use that this is worth doing, if we are modifying the list. * So this wrapper switches representation once we start making * structural modifications. * */ public class JavaTableView extends haxe.lang.HxObject implements coopy.Table { private Object[][] basic_data; private coopy.SimpleTable edit_data; private int w; private int h; public JavaTableView() { basic_data = null; edit_data = new coopy.SimpleTable(1,1); w = h = 0; } public JavaTableView(Object[][] data) { basic_data = data; edit_data = null; h = basic_data.length; if (h>0) { w = basic_data[0].length; } else { w = 0; } } public int get_width() { if (edit_data!=null) return edit_data.get_width(); return this.w; } public int get_height() { if (edit_data!=null) return edit_data.get_height(); return this.h; } private void needToEdit() { if (edit_data==null) { edit_data = new coopy.SimpleTable(w,h); for (int y=0; y fate, int hfate) { needToEdit(); return edit_data.insertOrDeleteRows(fate,hfate); } public boolean insertOrDeleteColumns(haxe.root.Array fate, int wfate) { needToEdit(); return edit_data.insertOrDeleteColumns(fate,wfate); } public boolean trimBlank() { needToEdit(); return edit_data.trimBlank(); } @Override public java.lang.String toString() { return coopy.SimpleTable.tableToString(this); } @Override public JavaTableView clone() { JavaTableView result = new JavaTableView(); result.resize(w,h); for (int c=0; c) (dynargs.__get(0)) ), ((int) (haxe.lang.Runtime.toInt(dynargs.__get(1))) )); } break; case 1150076829: if (field.equals("get_width")) { onwards = false; return this.get_width(); } break; case 1186308544: if (field.equals("insertOrDeleteRows")) { onwards = false; return this.insertOrDeleteRows(((haxe.root.Array) (dynargs.__get(0)) ), ((int) (haxe.lang.Runtime.toInt(dynargs.__get(1))) )); } break; case 859648560: if (field.equals("get_height")) { onwards = false; return this.get_height(); } break; case 94746189: if (field.equals("clear")) { onwards = false; this.clear(); } break; case -934437708: if (field.equals("resize")) { onwards = false; return this.resize(((int) (haxe.lang.Runtime.toInt(dynargs.__get(0))) ), ((int) (haxe.lang.Runtime.toInt(dynargs.__get(1))) )); } break; case -75632168: if (field.equals("getCell")) { onwards = false; return this.getCell(((int) (haxe.lang.Runtime.toInt(dynargs.__get(0))) ), ((int) (haxe.lang.Runtime.toInt(dynargs.__get(1))) )); } break; case -972315487: if (field.equals("isResizable")) { onwards = false; return this.isResizable(); } break; case 1984477412: if (field.equals("setCell")) { onwards = false; this.setCell(((int) (haxe.lang.Runtime.toInt(dynargs.__get(0))) ), ((int) (haxe.lang.Runtime.toInt(dynargs.__get(1))) ), dynargs.__get(2)); } break; case 1160377501: if (field.equals("getCellView")) { onwards = false; return this.getCellView(); } break; case -1776922004: if (field.equals("toString")) { onwards = false; return this.toString(); } break; } if (onwards) { return super.__hx_invokeField(field, dynargs); } return null; } @Override public void __hx_getFields(haxe.root.Array baseArr) { baseArr.push("width"); baseArr.push("height"); baseArr.push("data"); super.__hx_getFields(baseArr); } }