package net.xoetrope.xui.test;
import java.io.File;
import java.awt.Frame;
import junit.framework.TestCase;
import net.xoetrope.awt.XApplet;
import net.xoetrope.awt.XTable;
import net.xoetrope.builder.helper.XTableModelHelper;
import net.xoetrope.data.XDataSource;
import net.xoetrope.debug.DebugLogger;
import net.xoetrope.deprecated.xui.XResourceManager;
import net.xoetrope.xui.XProject;
import net.xoetrope.xui.XProjectManager;
import net.xoetrope.xui.data.XBaseModel;
import net.xoetrope.xui.data.XModel;
/**
* <p>Title: Xui</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) Xoetrope Ltd., 1998-2003</p>
* <p>Company: Xoetrope Ltd.</p>
* @author not attributable
* @version 1.0
*/
public class TestXTable extends TestCase
{
private Frame frame;
private XProject project;
public TestXTable()
{
XApplet applet = new XApplet();
project = XProjectManager.getCurrentProject( applet );
project.getStyleManager().load( "appstyles.xml" );
}
public void testTable()
{
XTable table = new XTable();
// String[] cols = {"col 1", "col 2", "col 3"};
// table.addColumns( cols );
table.setStyle("base/TableData");
table.setHeaderStyle("base/TableHeading");
table.setSelectedStyle( "base/TableSelection" );
// table.setModel( createManualDatasource() );
table.setModel( createDatasource() );
table.setInteractiveTable( true );
table.setSelectedRow( 2 );
frame = new Frame( "XTable test" );
frame.setLayout(null);
frame.setSize( 640, 480 );
table.setColWidth( 0, 150 );
table.setBounds( 20, 80, 400, 200 );
table.setBackground( java.awt.Color.white );
frame.add(table);
frame.setVisible(true);
frame.show();
assertTrue( table.getSelectedRow() == 2 );
}
public XModel createManualDatasource()
{
XBaseModel dset = (XBaseModel)XTableModelHelper.createDataSet( "events" );
XBaseModel table = (XBaseModel)XTableModelHelper.createTable( dset, "items" );
XBaseModel header = (XBaseModel)XTableModelHelper.addHeader( table );
XTableModelHelper.addData( header, "event", "event" );
XTableModelHelper.addData( header, "control", "control" );
XTableModelHelper.addData( header, "value", "value" );
XBaseModel rowdata = (XBaseModel)XTableModelHelper.addRow( table );
XTableModelHelper.addData( rowdata, "event", "click" );
XTableModelHelper.addData( rowdata, "Control", "btnSubmit" );
XTableModelHelper.addData( rowdata, "Value", "Submit" );
DebugLogger.dumpModel( XProjectManager.getModel() );
return table;
// return (XModel)XProjectManager.getModel().get( "base/events/items", null );
}
public XModel createDatasource()
{
XDataSource modelDataSource = new XDataSource( project );
try {
String fileName = "samptabledatasets.xml";
File source = new File( fileName );
if ( source.exists())
modelDataSource.read( project.getBufferedReader( source, null ) );
else
modelDataSource.read( project.getBufferedReader( fileName, null ) );
}
catch ( Exception ex ) {
ex.printStackTrace();
}
DebugLogger.dumpModel( project.getModel() );
XModel model = (XModel)project.getModel().get( "base/componentlist/items" );
XBaseModel trNode = new XBaseModel();
trNode.setTagName( "tr" );
model.append( trNode );
XBaseModel makeNode = new XBaseModel();
makeNode.setTagName( "td" );
makeNode.setId( "make" );
makeNode.set( "Val" );
trNode.append( makeNode );
XBaseModel tdNode = new XBaseModel();
tdNode.setTagName( "td" );
tdNode.setId( "model" );
tdNode.set( "Cassidy" );
trNode.append( tdNode );
tdNode = new XBaseModel();
tdNode.setTagName( "td" );
tdNode.setId( "year" );
tdNode.set( "1968" );
trNode.append( tdNode );
tdNode = new XBaseModel();
tdNode.setTagName( "td" );
tdNode.setId( "price" );
tdNode.set( "23433" );
trNode.append( tdNode );
// XBaseModel.getInstance().
return model;
/* FileInputStream fis = null;
InputStreamReader isr = null;
try {
fis = new FileInputStream( "c:\\cvs\\Xui\\Resource\\configres\\datasets.xml" );
isr = new InputStreamReader( fis );
}
catch ( Exception ex ) {
ex.printStackTrace();
}
XDataSource dataSource = new XDataSource();
dataSource.read( isr );
XModel model = (XModel)XProjectManager.getModel().get( "componentlist/items", null );
return model;
*/
}
}