/* * Copyright 2004-2006 IDCA. All rights reserved. * * Redistribution and use in source and binary forms, with or without modification, are permitted provided that the * following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this list of conditions and * the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions * and the following disclaimer in the documentation and/or other materials provided with the * distribution. * * THIS SOFTWARE IS PROVIDED BY IDCA AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IDCA OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * The views and conclusions contained in the software and documentation are those of the authors and * should not be interpreted as representing official policies, either expressed or implied, of IDCA. */ package com.idcanet.vasc; import java.io.InputStream; import java.util.logging.LogManager; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import com.idcanet.vasc.core.VascTable; import com.idcanet.vasc.core.column.VascAnnotationTableColumn; import com.idcanet.vasc.core.column.VascTableColumn; import com.idcanet.vasc.impl.BeanVascRecordCreator; import com.idcanet.vasc.impl.DefaultVascTableController; import com.idcanet.vasc.impl.DefaultVascTextValue; import com.idcanet.vasc.impl.actions.AddRowAction; import com.idcanet.vasc.impl.actions.CSVExportGlobalAction; import com.idcanet.vasc.impl.actions.DeleteRowAction; import com.idcanet.vasc.impl.actions.EditRowAction; import com.idcanet.vasc.impl.actions.RefreshDataGlobalAction; import com.idcanet.vasc.impl.actions.XMLExportGlobalAction; import com.idcanet.vasc.impl.column.BeanPropertyVascColumnValue; import com.idcanet.vasc.impl.column.DefaultVascColumnEditor; import com.idcanet.vasc.impl.column.DefaultVascColumnRenderer; import com.idcanet.vasc.impl.swt.SwtVascViewRenderer; import com.idcanet.vasc.models.TestModel; import com.idcanet.xtes.core.TemplateStore; import com.idcanet.xtes.core.XTESParser; import com.idcanet.xtes.xpql.query.Query; import junit.framework.TestCase; /** * Tests a simple x4o xml language. * * @author Willem Cazander * @version 1.0 Jul 24, 2006 */ public class SWTTest extends TestCase { public void setUp() throws Exception { // enable all logs InputStream loggingProperties = this.getClass().getResourceAsStream("/META-INF/logging.properties"); LogManager.getLogManager().readConfiguration( loggingProperties ); loggingProperties.close(); // load xtes queries } public void tearDown() throws Exception { } public void testAll() throws Exception { // get GUI Display display = new Display(); Shell shell = new Shell(display); shell.setText("Hello, world!"); // define query XTESParser parser = new XTESParser(); parser.parseResource("/META-INF/xtes/tests.xml"); TemplateStore store = XTESParser.getTemplateStore(parser.getElementContext()); Query query = store.getQuery("testUsers2"); // config table VascTable table = new VascTable(); table.setName("Testje"); table.setHeaderName("TableHeader"); table.setToolTip("tooltip text"); table.setDescription("en de omscheiving"); table.setHelpId("someKey"); table.setVascTableController(new DefaultVascTableController()); table.setVascDataSource(new TestModelVascDataSource()); table.setVascTextValue(new DefaultVascTextValue()); table.setQuery(query); table.setVascRecordCreator(new BeanVascRecordCreator(TestModel.class)); table.addRowActions(new AddRowAction()); table.addRowActions(new EditRowAction()); table.addRowActions(new DeleteRowAction()); table.addGlobalActions(new XMLExportGlobalAction()); table.addGlobalActions(new CSVExportGlobalAction()); //table.addGlobalActions(new HTMLExportGlobalAction()); table.addGlobalActions(new RefreshDataGlobalAction()); //table.addUserOptions(userOption); //table.addColumnActions(new GraphColumnAction()); VascTableColumn column = new VascTableColumn(); column.setName("test"); column.setToolTip("tooltip"); column.setDefaultValue("DEFFFFFF"); column.setHelpId("helpColumnKey"); column.setWidth(400); column.setVascColumnEditor(new DefaultVascColumnEditor()); column.setVascColumnRenderer(new DefaultVascColumnRenderer()); column.setVascColumnValue(new BeanPropertyVascColumnValue("name")); table.addTableColumns(column); column = new VascAnnotationTableColumn("description"); table.addTableColumns(column); // define redering and render SwtVascViewRenderer render = new SwtVascViewRenderer(shell); render.renderView(table); // view shell.open(); // Set up the event loop. while (!shell.isDisposed()) { if (!display.readAndDispatch()) { // If no more entries in event queue display.sleep(); } } display.dispose(); } }