2
Fork 0

[svn r250] fixed annotations , added fff , added more images properties

This commit is contained in:
willemc 2007-04-29 20:16:20 +02:00
parent d88cb26330
commit 1c47fbffa3
12 changed files with 106 additions and 81 deletions

View file

@ -58,6 +58,7 @@ import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import com.idcanet.fff.SwingImageHelper;
import com.idcanet.vasc.core.VascTable;
import com.idcanet.vasc.core.VascUserOption;
import com.idcanet.vasc.core.VascViewRenderer;
@ -90,25 +91,22 @@ public class SwtVascViewRenderer implements VascViewRenderer {
object = table.getVascRecordCreator().newRecord(table);
logger.finest("created: "+object);
} catch (Exception e) {
e.printStackTrace();
//logger.log(Level.WARNING,"Error while creating new: "+crudTable.getRecordClass());
table.getVascTableController().handleException(e, table);
return;
}
}
//CrudEditDialog editDialog = new CrudEditDialog(event.display.getActiveShell(),crudTable,element,crudTable.i18n("crud.event.add.title"),crudTable.i18n("crud.event.add.title"));
SwtVascEditDialog dialog = new SwtVascEditDialog(Display.getCurrent().getActiveShell(),table,object,"Edit","TOITO");
Object result = dialog.open();
if(result==null) {
return;
}
try {
result = table.getVascDataSource().merge(object);
//FlowstatsPlugin.getDefault().fireModelUpdateListeners(result);
result = table.getVascDataSource().merge(object);
//table.getVascTableController().fireModelUpdateListeners(result);
} finally {
//crudTable.getCrudTableDataSource().fillCrudDataList(crudTable);
//TODO: or merge into table == faster
table.getVascTableController().refreshData(table);
}
}
@ -117,9 +115,11 @@ public class SwtVascViewRenderer implements VascViewRenderer {
logger.info("Loading image: "+path);
//System.out.println("==== 1");
ImageDescriptor result = ImageDescriptor.createFromFile(path.getClass(), path);
result = ImageDescriptor.createFromFile(SwingImageHelper.class, path);
if(result==null) {
// try load fff
//.out.println("==== 2");
//result = ImageDescriptor.createFromURL(SwingImageHelper.class.getClass().getResource(path));
}
//System.out.println("==== 3");
@ -256,7 +256,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
new Label(body, SWT.WRAP);
Button saveButton = new Button(body, SWT.NONE);
saveButton.setImage(getImageDescriptor("icons/fam/tick.png").createImage());
saveButton.setImage(getImageDescriptor("/META-INF/images/silk/png/tick.png").createImage());
saveButton.setText("generic.save");
saveButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
@ -268,7 +268,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
}
});
Button cancelButton = new Button(body, SWT.NONE);
cancelButton.setImage(getImageDescriptor("icons/fam/cancel.png").createImage());
cancelButton.setImage(getImageDescriptor("/META-INF/images/silk/png/cancel.png").createImage());
cancelButton.setText("generic.cancel");
cancelButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
@ -282,6 +282,14 @@ public class SwtVascViewRenderer implements VascViewRenderer {
public void renderView(VascTable table) throws Exception {
if (table.getVascViewRenderer()==null) {
table.setVascViewRenderer(this);
} else {
if (table.getVascViewRenderer()!=this) {
throw new IllegalArgumentException("VascTable has already a differtent VascViewRenderer attected");
}
}
table.getVascTableController().finalizeVascColumns(table);
table.getVascTableController().finalizeVascTable(table);
table.getVascTableController().refreshData(table);
@ -353,6 +361,9 @@ public class SwtVascViewRenderer implements VascViewRenderer {
ToolItem item = new ToolItem(toolBar, SWT.PUSH);
item.setText(action.getName());
item.setToolTipText(action.getToolTip());
if (action.getImage()!=null) {
item.setImage(getImageDescriptor(action.getImage()).createImage());
}
item.addSelectionListener(new GlobalActionListener(action));
}
@ -418,7 +429,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
logger.finer("Creating body");
// Create the table viewer to display the players
final TableViewer tableViewer = new TableViewer(body);
final TableViewer tableViewer = new TableViewer(body, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
final Table table2 = tableViewer.getTable();
table2.setLayoutData(new GridData(GridData.FILL_BOTH));
table2.setHeaderVisible(true);
@ -446,15 +457,7 @@ public class SwtVascViewRenderer implements VascViewRenderer {
// Set the content and label providers
tableViewer.setContentProvider(new ListConverterContentProvider());
tableViewer.setLabelProvider(new DefaultLabelProvider(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);
}
//TODO: add renderer support
//Add sort indicator and sort data when column selected
Listener sortListener = new Listener() {
@ -474,6 +477,8 @@ public class SwtVascViewRenderer implements VascViewRenderer {
//List l = new ArrayList(10);
/*
* //columns[i].setData("PROP",table.getTableColumns().get(i)....);
*
for(int i=0;i<crudTable.getSelectionInList().getSize();i++) {
l.add(crudTable.getSelectionInList().getElementAt(i));
}
@ -485,24 +490,36 @@ public class SwtVascViewRenderer implements VascViewRenderer {
*/
}
};
Integer totalSize = table.getVascTableController().getTotalColumnsWidth(table);
logger.finer("Total size: "+totalSize);
for(VascTableColumn c:table.getTableColumns()) {
TableColumn tc = new TableColumn(table2, SWT.LEFT);
tc.setText(c.getName());
tc.setToolTipText(c.getToolTip());
if (c.getImage()!=null) {
tc.setImage(getImageDescriptor(c.getImage()).createImage());
}
tc.addListener(SWT.Selection, sortListener);
tc.setMoveable(false);
tc.setResizable(true);
}
int totalWidth = table.getVascTableController().getTotalColumnsWidth(table);
logger.finer("Total size: "+totalWidth);
TableColumn[] columns = table2.getColumns();
for (int i = 0; i < columns.length; i++) {
columns[i].pack();
columns[i].setMoveable(true);
columns[i].setResizable(true);
columns[i].addListener(SWT.Selection, sortListener);
//columns[i].setData("PROP",table.getTableColumns().get(i)....);
if(totalSize!=null) {
Integer cWidth = table.getTableColumns().get(i).getWidth();
columns[i].setWidth(cWidth);
/*
columns[i].setWidth((int)((double)tableWidth/(double)totalSize)*cWidth);
logger.finest("Setting column width: "+(int)((double)tableWidth/(double)totalSize)*cWidth+" total: "+totalSize+" c: "+cWidth+" of column: "+i);
*/
}
Integer cWidth = table.getTableColumns().get(i).getWidth();
if (cWidth==null) {
break;
}
//int w = (int)((double)totalSize/(double)totalSize)*cWidth;
columns[i].setWidth(cWidth);
columns[i].pack();
//logger.finest("Setting column width: "+w+" total: "+totalSize+" c: "+cWidth+" of column: "+i);
}
logger.fine("Table with columns created: "+table2.getColumnCount());
@ -512,14 +529,13 @@ public class SwtVascViewRenderer implements VascViewRenderer {
public void createFooter(Composite footer) {
logger.finest("Creating footer");
for(RowVascAction action:table.getRowActions()) {
//action.createActionObject(table);
for(RowVascAction action:table.getRowActions()) {
Button actionButton = new Button(footer, SWT.NONE);
actionButton.setText(action.getName());
actionButton.setToolTipText(action.getToolTip());
actionButton.setImage(getImageDescriptor(action.getImage()).createImage());
if (action.getImage()!=null) {
actionButton.setImage(getImageDescriptor(action.getImage()).createImage());
}
actionButton.addSelectionListener(new ActionListener(action));
}
@ -571,15 +587,12 @@ public class SwtVascViewRenderer implements VascViewRenderer {
* @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 {
if (vtc.getColumnRenderer()==null) {
return ""+vtc.getVascColumnValue().getValue(vtc,bean);
}
// see custem column renderer, so this code will never be called
return "CUSTEM_RENDER";
}
/**