package com.iver.cit.gvsig.mypluginbrazilselect; import com.iver.andami.plugins.Extension; import com.hardcode.driverManager.DriverLoadException; import com.hardcode.driverManager.DriverManager; import com.hardcode.gdbms.driver.dbf.DBFDriver; import com.hardcode.gdbms.engine.data.DataSource; import com.hardcode.gdbms.engine.data.DataSourceFactory; import com.hardcode.gdbms.engine.data.NoSuchTableException; import com.hardcode.gdbms.engine.data.driver.DriverException; import com.iver.andami.PluginServices; import com.iver.andami.ui.mdiManager.IWindow; import com.iver.cit.gvsig.ProjectExtension; import com.iver.cit.gvsig.fmap.edition.EditableAdapter; import com.iver.cit.gvsig.fmap.layers.LayerFactory; import com.iver.cit.gvsig.fmap.layers.SelectableDataSource; import com.iver.cit.gvsig.project.ProjectFactory; import com.iver.cit.gvsig.project.documents.table.ProjectTable; import com.iver.cit.gvsig.project.documents.view.gui.View; public class SelectThemenan extends Extension { public void execute(String actionCommand) { String[] Campos= {"Field1","Field2","Field3"}; int [] fieldTypes={12,12,12}; DBFDriver driver = new DBFDriver(); String name = "Tabla"; DataSourceFactory dsf =LayerFactory.getDataSourceFactory(); dsf.createFileDataSource(driver.getName(), name, "Archivo", Campos, fieldTypes); DataSource dataSource = null; dsf.createFileDataSource(driver.getName(), name, "MYTABLA.dbf", Campos, fieldTypes); try { //dataSource = LayerFactory.getDataSourceFactory().createRandomDataSource(name, DataSourceFactory.AUTOMATIC_OPENING); dataSource = dsf.createRandomDataSource(name, DataSourceFactory.AUTOMATIC_OPENING); dataSource.getDataSourceFactory(dsf); SelectableDataSource sds = new SelectableDataSource(dataSource); EditableAdapter auxea = new EditableAdapter(); auxea.setOriginalDataSource(sds); ProjectTable projectTables = ProjectFactory.createTable(name,auxea); ProjectExtension ext = (ProjectExtension)PluginServices.getExtension(ProjectExtension.class); ext.getProject().addDocument(projectTables); } catch (DriverLoadException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchTableException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (DriverException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public boolean isEnabled() { IWindow ventanaActiva; // obtiene la ventana activa ventanaActiva = PluginServices.getMDIManager().getActiveWindow(); // estará habilitada sólo si la ventana actual es una // ventana de vista return ventanaActiva instanceof View; } public boolean isVisible() { return true; } public void initialize() { } }