package test;

import java.util.ArrayList;

import com.ulcjava.base.application.AbstractApplication;
import com.ulcjava.base.application.ULCBorderLayoutPane;
import com.ulcjava.base.application.ULCDialog;
import com.ulcjava.base.application.ULCScrollPane;
import com.ulcjava.base.application.ULCTable;
import com.ulcjava.base.application.util.Dimension;
import com.ulcjava.base.development.DevelopmentRunner;

public class TestTable extends AbstractApplication{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public void start() {
		ULCDialog d = new ULCDialog();
		ULCBorderLayoutPane bp = new ULCBorderLayoutPane();
		ULCScrollPane p = new ULCScrollPane(createTable());
		ULCTable rowHeader = createTableTwo();
		p.setRowHeaderView(rowHeader);
		p.setCorner(ULCScrollPane.UPPER_LEFT_CORNER, rowHeader.getTableHeader());
		bp.add(p);
		d.getContentPane().add(bp);
		d.setSize(new Dimension(500,500));
		d.setVisible(true);
		
	}
	
	private ULCTable createTable(){
		ArrayList<String> header = new ArrayList<String>();
		header.add("ONE");
		header.add("TWO");
		header.add("Three");
		header.add("four");
		header.add("five");
		header.add("six");
		header.add("seven");
		header.add("eight");
		header.add("nine");
		header.add("ten");
		ArrayList<ArrayList<String>> rows = new ArrayList<ArrayList<String>>();
		for(int i=0;i<5;i++){
			ArrayList<String> row = new ArrayList<String>();
			row.add(i+"VAL1");
			row.add(i+"VAL2");
			row.add(i+"VAL3");
			row.add(i+"VAL4");
			row.add(i+"VAL5");
			row.add(i+"VAL6");
			row.add(i+"VAL7");
			row.add(i+"VAL8");
			row.add(i+"VAL9");
			row.add(i+"VAL10");
			rows.add(row);
		}
		ULCTable t = new ULCTable(rows,header);
		t.setAutoResizeMode(ULCTable.AUTO_RESIZE_OFF);
		return t;
	}
	
	public ULCTable createTableTwo(){
			ArrayList<String> header = new ArrayList<String>();
			header.add("ONE");
			ArrayList<ArrayList<String>> rows = new ArrayList<ArrayList<String>>();
			for(int i=0;i<5;i++){
				ArrayList<String> row = new ArrayList<String>();
				row.add(i+"VAL1");
				rows.add(row);
			}
			ULCTable t = new ULCTable(rows,header);
			t.setAutoResizeMode(ULCTable.AUTO_RESIZE_OFF);
			return t;
	}
	
	public static void main(String[] args){
		DevelopmentRunner r = new DevelopmentRunner();
		r.setApplicationClass(TestTable.class);
		r.run();
	}

}
