[svn r262] made i18n work, added some images, made preperments for the user options
This commit is contained in:
parent
cb8d6bc334
commit
0d5312462c
27 changed files with 468 additions and 163 deletions
|
|
@ -31,6 +31,8 @@ import java.awt.Color;
|
|||
import java.awt.Component;
|
||||
import java.awt.Container;
|
||||
import java.awt.Font;
|
||||
import java.awt.Image;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.FileOutputStream;
|
||||
|
|
@ -38,6 +40,7 @@ import java.io.OutputStream;
|
|||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import javax.swing.BorderFactory;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.JButton;
|
||||
import javax.swing.JComponent;
|
||||
|
|
@ -89,6 +92,21 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
this.parent=parent;
|
||||
}
|
||||
|
||||
|
||||
public void initTable(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);
|
||||
this.table=table;
|
||||
}
|
||||
|
||||
/**
|
||||
* @see com.idcanet.vasc.core.VascViewRenderer#defaultColumnEditor(com.idcanet.vasc.core.column.VascTableColumn, java.lang.Object, java.lang.Object)
|
||||
*/
|
||||
|
|
@ -101,7 +119,10 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
}
|
||||
|
||||
public ImageIcon getImageIcon(String imageResource) {
|
||||
return SwingImageHelper.getImageIcon(imageResource);
|
||||
/// TODO hack beter
|
||||
String key = table.getVascTextValue().getTextValue(imageResource);
|
||||
|
||||
return SwingImageHelper.getImageIcon(key);
|
||||
}
|
||||
|
||||
class TextListener implements DocumentListener {
|
||||
|
|
@ -114,21 +135,21 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
this.bean=bean;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
/**
|
||||
* @see javax.swing.event.DocumentListener#changedUpdate(javax.swing.event.DocumentEvent)
|
||||
*/
|
||||
public void changedUpdate(DocumentEvent e) {
|
||||
update(e);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
/**
|
||||
* @see javax.swing.event.DocumentListener#insertUpdate(javax.swing.event.DocumentEvent)
|
||||
*/
|
||||
public void insertUpdate(DocumentEvent e) {
|
||||
update(e);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
/**
|
||||
* @see javax.swing.event.DocumentListener#removeUpdate(javax.swing.event.DocumentEvent)
|
||||
*/
|
||||
public void removeUpdate(DocumentEvent e) {
|
||||
|
|
@ -161,26 +182,24 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
/**
|
||||
* @see com.idcanet.vasc.core.VascViewRenderer#renderEdit(com.idcanet.vasc.core.VascTable, java.lang.Object)
|
||||
*/
|
||||
public void renderEdit(VascTable table, Object rowBean) throws Exception {
|
||||
public void renderEdit(Object rowBean) throws Exception {
|
||||
logger.info("Rending Edit View");
|
||||
table.getVascTableController().initEditObject(table, rowBean);
|
||||
|
||||
SwingEditDialog dialog = new SwingEditDialog(parent,table,rowBean,"Vasc Edit","Edit");
|
||||
Object result = dialog.openDialog();
|
||||
System.out.println("---------------- OPEN closed : "+result);
|
||||
logger.finest("OPEN closed : "+result);
|
||||
if(result==null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
result = table.getVascDataSource().merge(rowBean);
|
||||
table.getVascTableController().fireVascEvent(VascEventListener.VascEventType.DATA_UPDATE, result);
|
||||
} finally {
|
||||
//TODO: or merge into table == faster
|
||||
table.getVascTableController().refreshData(table);
|
||||
}
|
||||
}
|
||||
|
||||
public void renderDelete(VascTable table,Object rowBean) throws Exception {
|
||||
public void renderDelete(Object rowBean) throws Exception {
|
||||
int response = JOptionPane.showOptionDialog(
|
||||
parent // Center in window.
|
||||
, "Delete "+rowBean // Message
|
||||
|
|
@ -212,7 +231,7 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
this.bean = bean;
|
||||
|
||||
|
||||
setTitle(title);
|
||||
setTitle(table.getVascTextValue().getTextValue(title));
|
||||
setModal(true);
|
||||
|
||||
JPanel pane = new JPanel();
|
||||
|
|
@ -252,8 +271,9 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
|
||||
public void createHeader(JPanel header) {
|
||||
JLabel l = new JLabel();
|
||||
l.setText(headerText);
|
||||
l.setText(table.getVascTextValue().getTextValue(headerText));
|
||||
l.setFont(new Font(null,Font.BOLD, 14));
|
||||
//l.setToolTipText(table.getVascTextValue().getTextValue(headerText));
|
||||
header.add(l);
|
||||
}
|
||||
|
||||
|
|
@ -291,8 +311,9 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
public void createFooter(JPanel footer) {
|
||||
|
||||
JButton saveButton = new JButton();
|
||||
saveButton.setIcon(getImageIcon("/META-INF/images/silk/png/tick.png"));
|
||||
saveButton.setText("generic.save");
|
||||
saveButton.setIcon(getImageIcon("vasc.dialog.save.image"));
|
||||
saveButton.setText(table.getVascTextValue().getTextValue("vasc.dialog.save.name"));
|
||||
saveButton.setToolTipText(table.getVascTextValue().getTextValue("vasc.dialog.save.tooltip"));
|
||||
saveButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
//if(hasRecordError()) {
|
||||
|
|
@ -305,8 +326,9 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
footer.add(saveButton);
|
||||
|
||||
JButton cancelButton = new JButton();
|
||||
cancelButton.setIcon(getImageIcon("/META-INF/images/silk/png/cancel.png"));
|
||||
cancelButton.setText("generic.cancel");
|
||||
cancelButton.setIcon(getImageIcon("vasc.dialog.cancel.image"));
|
||||
cancelButton.setText(table.getVascTextValue().getTextValue("vasc.dialog.cancel.name"));
|
||||
cancelButton.setToolTipText(table.getVascTextValue().getTextValue("vasc.dialog.cancel.tooltip"));
|
||||
cancelButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
result = null;
|
||||
|
|
@ -323,7 +345,7 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
/**
|
||||
* @see com.idcanet.vasc.core.VascViewRenderer#renderExport(com.idcanet.vasc.core.VascTable, com.idcanet.vasc.core.VascDataExporter)
|
||||
*/
|
||||
public void renderExport(VascTable table, VascDataExporter exporter) throws Exception {
|
||||
public void renderExport(VascDataExporter exporter) throws Exception {
|
||||
|
||||
String fileName = null;
|
||||
JFileChooser c = new JFileChooser();
|
||||
|
|
@ -359,20 +381,8 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
/**
|
||||
* @see com.idcanet.vasc.core.VascViewRenderer#renderView(com.idcanet.vasc.core.VascTable)
|
||||
*/
|
||||
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);
|
||||
this.table=table;
|
||||
|
||||
public void renderView() throws Exception {
|
||||
|
||||
JPanel topPanel = new JPanel();
|
||||
topPanel.setLayout(new BorderLayout());
|
||||
//topPanel.setBackground(Color.PINK);
|
||||
|
|
@ -397,27 +407,52 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
}
|
||||
|
||||
private void renderHeader(JComponent parent2) {
|
||||
|
||||
JPanel header = new JPanel();
|
||||
header.setLayout(new BorderLayout());
|
||||
header.setBackground(Color.WHITE);
|
||||
header.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
|
||||
|
||||
if(table.getHeaderImage()!=null) {
|
||||
JLabel l = new JLabel();
|
||||
|
||||
// TODO: hack images working
|
||||
l.setIcon(new ImageIcon(Toolkit.getDefaultToolkit().createImage(getClass().getResource(table.getHeaderImage())).getScaledInstance(32, 32, Image.SCALE_SMOOTH)));
|
||||
l.setToolTipText(table.getVascTextValue().getTextValue(table.getHeaderToolTip()));
|
||||
header.add(l,BorderLayout.WEST);
|
||||
}
|
||||
|
||||
if(table.getHeaderName()!=null) {
|
||||
JLabel l = new JLabel(table.getVascTextValue().getTextValue(table.getHeaderName()));
|
||||
l.setFont(new Font(null,Font.BOLD, 14));
|
||||
parent2.add(l);
|
||||
l.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
|
||||
l.setFont(new Font(null,Font.BOLD, 18));
|
||||
l.setToolTipText(table.getVascTextValue().getTextValue(table.getHeaderToolTip()));
|
||||
header.add(l,BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
|
||||
JPanel top = new JPanel();
|
||||
//top.setBackground(Color.BLUE);
|
||||
for (GlobalVascAction action:table.getGlobalActions()) {
|
||||
JButton but = new JButton();
|
||||
but.setText(table.getVascTextValue().getTextValue(action.getName()));
|
||||
but.setToolTipText(table.getVascTextValue().getTextValue(action.getToolTip()));
|
||||
but.addActionListener(new GlobalActionListener(action));
|
||||
but.setIcon(getImageIcon(action.getImage()));
|
||||
parent2.add(but);
|
||||
top.add(but);
|
||||
}
|
||||
|
||||
// create options
|
||||
JPanel optionPanel = new JPanel();
|
||||
//top.setBackground(Color.GREEN);
|
||||
for(VascUserOption option:table.getUserOptions()) {
|
||||
|
||||
Object obj = option.createUserOptionRenderer(table);
|
||||
}
|
||||
|
||||
//top.add(header,BorderLayout.NORTH);
|
||||
parent2.setLayout(new BorderLayout());
|
||||
parent2.add(header,BorderLayout.NORTH);
|
||||
parent2.add(optionPanel,BorderLayout.CENTER);
|
||||
parent2.add(top,BorderLayout.EAST);
|
||||
}
|
||||
|
||||
private void renderBody(JComponent parent2) {
|
||||
|
|
@ -487,6 +522,7 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
setFont(header.getFont());
|
||||
}
|
||||
}
|
||||
//setBorder(BorderFactory.createEmptyBorder(4, 4, 4, 4));
|
||||
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
|
||||
return this;
|
||||
}
|
||||
|
|
@ -495,14 +531,17 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
|
||||
private void renderFooter(JComponent parent2) {
|
||||
logger.finest("Creating footer");
|
||||
JPanel panel = new JPanel();
|
||||
for(RowVascAction action:table.getRowActions()) {
|
||||
JButton but = new JButton();
|
||||
but.setText(table.getVascTextValue().getTextValue(action.getName()));
|
||||
but.setToolTipText(table.getVascTextValue().getTextValue(action.getToolTip()));
|
||||
but.setIcon(getImageIcon(action.getImage()));
|
||||
but.addActionListener(new RowActionListener(action));
|
||||
parent2.add(but);
|
||||
panel.add(but);
|
||||
}
|
||||
parent2.setLayout(new BorderLayout());
|
||||
parent2.add(panel,BorderLayout.WEST);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -572,7 +611,7 @@ public class SwingVascViewRenderer implements VascViewRenderer {
|
|||
*/
|
||||
public Object getValueAt(int rowIndex, int columnIndex) {
|
||||
Object bean = table.getTableData().get(rowIndex);
|
||||
System.out.println("Rending column; "+columnIndex+" bean: "+bean);
|
||||
logger.finer("Rending column; "+columnIndex+" bean: "+bean);
|
||||
VascTableColumn vtc = table.getTableColumns().get(columnIndex);
|
||||
if (vtc.getColumnRenderer()!=null) {
|
||||
//do iets
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue