2
Fork 0

[svn r235] added made first swt query working..

This commit is contained in:
willemc 2007-03-26 01:20:47 +02:00
parent d62b09bd3b
commit 5e425bd032
7 changed files with 149 additions and 42 deletions

View file

@ -31,10 +31,15 @@ import java.util.Collections;
import java.util.List;
import java.util.logging.Logger;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
@ -51,10 +56,6 @@ import com.idcanet.vasc.core.VascViewRenderer;
import com.idcanet.vasc.core.actions.RowVascAction;
import com.idcanet.vasc.core.column.VascTableColumn;
import fr.jayasoft.binding.jface.adapter.JFaceComponentFactory;
import fr.jayasoft.binding.jface.utils.table.AbstractColumn;
import fr.jayasoft.binding.jface.utils.table.PropertyColumn;
/**
*
* @author Willem Cazander
@ -72,6 +73,14 @@ public class SwtVascViewRenderer implements VascViewRenderer {
}
public void renderView(VascTable table) {
try {
table.setTableData(table.getVascDataSource().executeQuery(table.getQuery()));
} catch (Exception e) {
e.printStackTrace();
}
this.table=table;
GridLayout layout = new GridLayout();
layout.marginHeight = 0;
@ -143,12 +152,29 @@ public class SwtVascViewRenderer implements VascViewRenderer {
public void createBody(Composite body) {
logger.finer("Creating body");
final TableViewer tableViewer = JFaceComponentFactory.createTableViewer(body,table.getSelectionInList(),getTableColumns(crudTable),false);
//final TableViewer tableViewer = JFaceComponentFactory.createTableViewer(body,table.getSelectionInList(),getTableColumns(crudTable),false);
// Create the table viewer to display the players
final TableViewer tableViewer = new TableViewer(body);
final Table table2 = tableViewer.getTable();
table2.setLayoutData(new GridData(GridData.FILL_BOTH));
table2.setHeaderVisible(true);
table2.setLinesVisible(true);
// Set the content and label providers
tableViewer.setContentProvider(new ListConverterContentProvider());
tableViewer.setLabelProvider(new DefaultLabelProvider(table));
//tv.setSorter(new PlayerViewerSorter());
tableViewer.setInput(table);
for(VascTableColumn c:table.getTableColumns()) {
TableColumn tc = new TableColumn(table2, SWT.LEFT);
tc.setText(c.getName());
tc.setToolTipText(c.getToolTip());
tc.setMoveable(false);
tc.setResizable(true);
}
//Add sort indicator and sort data when column selected
Listener sortListener = new Listener() {
public void handleEvent(Event e) {
@ -200,6 +226,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
logger.fine("Table with columns created: "+table2.getColumnCount());
}
/*
private static AbstractColumn[] getTableColumns(VascTable crudTable) {
AbstractColumn[] cols = new AbstractColumn[crudTable.getCrudTableColumns().size()];
int i=0;
@ -212,7 +239,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
i++;
}
return cols;
}
}*/
public void createFooter(Composite footer) {
logger.finest("Creating footer");
@ -232,5 +259,86 @@ public class SwtVascViewRenderer implements VascViewRenderer {
* Is called when all createPartControl is done with creating Parts
*/
public void partCreated() {
}
class DefaultLabelProvider implements ITableLabelProvider {
private VascTable table = null;
public DefaultLabelProvider(VascTable table) {
this.table=table;
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)
*/
public Image getColumnImage(Object arg0, int arg1) {
return null;
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
*/
public String getColumnText(Object bean, int columnNumber) {
System.out.println("Rending column; "+columnNumber+" bean: "+bean);
VascTableColumn vtc = table.getTableColumns().get(columnNumber);
if (vtc.getColumnRenderer()!=null) {
//do iets
return "RENDER";
} else {
return ""+vtc.getVascColumnValue().getValue(vtc,bean);
}
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)
*/
public void addListener(ILabelProviderListener arg0) {
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()
*/
public void dispose() {
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
*/
public boolean isLabelProperty(Object arg0, String arg1) {
return false;
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)
*/
public void removeListener(ILabelProviderListener arg0) {
}
}
class ListConverterContentProvider implements IStructuredContentProvider {
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
*/
public Object[] getElements(Object obj) {
return ((VascTable)obj).getTableData().toArray();
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
*/
public void dispose() {
}
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
*/
public void inputChanged(Viewer arg0, Object arg1, Object arg2) {
}
}
}