2
Fork 0

[svn r274] showplanner template views works

This commit is contained in:
willemc 2007-08-20 00:31:21 +02:00
parent 48fbf1d48d
commit e120304436
7 changed files with 141 additions and 46 deletions

View file

@ -37,6 +37,8 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
@ -51,13 +53,10 @@ import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.Spring;
import javax.swing.SpringLayout;
import javax.swing.UIManager;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.AbstractTableModel;
@ -232,7 +231,14 @@ public class SwingVascViewRenderer implements VascViewRenderer {
public void createBody(JPanel body) throws Exception {
body.setLayout(new SpringLayout());
for(VascTableColumn c:table.getTableColumns()) {
int column = 0;
for(VascTableColumn c:table.getTableColumns()) {
table.getVascTableController().initEditObjectColumn(c, bean);
if (c.isEditDisplay()==false) {
continue;
}
column++;
JLabel l = new JLabel();
l.setHorizontalAlignment(JLabel.TRAILING);
@ -242,15 +248,20 @@ public class SwingVascViewRenderer implements VascViewRenderer {
}
body.add(l);
table.getVascTableController().initEditObjectColumn(c, bean);
if (c.isEditReadonly()==true) {
JLabel valueLabel = new JLabel();
valueLabel.setText(""+c.getVascColumnValue().getValue(c, bean));
c.setColumnEditor(valueLabel);
body.add(valueLabel);
continue;
}
if(c.getVascUIComponent()==null) {
JLabel valueLabel = new JLabel();
valueLabel.setText(""+c.getVascColumnValue().getValue(c, bean));
c.setColumnEditor(valueLabel);
body.add(valueLabel);
} else {
//c.setColumnEditor(c.getVascColumnEditor().createColumnEditor(c,bean,body));
VascUIComponent comp = c.getVascUIComponent();
VascValueModel model = new VascValueModel();
model.setValue(c.getVascColumnValue().getValue(c, bean));
@ -258,9 +269,9 @@ public class SwingVascViewRenderer implements VascViewRenderer {
comp.createComponent(table, model, body);
c.setColumnEditor(comp);
}
}
}
//JComponent, rows, cols, initX, initY ,xPad, yPad
SpringUtilities.makeCompactGrid(body, table.getTableColumns().size(),2, 6,6, 6,6);
SpringUtilities.makeCompactGrid(body, column,2, 6,6, 6,6);
}
public void createFooter(JPanel footer) {
@ -370,10 +381,11 @@ public class SwingVascViewRenderer implements VascViewRenderer {
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()));
if (table.getHeaderToolTip()!=null) {
l.setToolTipText(table.getVascTextValue().getTextValue(table.getHeaderToolTip()));
}
header.add(l,BorderLayout.WEST);
}
@ -381,7 +393,9 @@ public class SwingVascViewRenderer implements VascViewRenderer {
JLabel l = new JLabel(table.getVascTextValue().getTextValue(table.getHeaderName()));
l.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
l.setFont(new Font(null,Font.BOLD, 18));
l.setToolTipText(table.getVascTextValue().getTextValue(table.getHeaderToolTip()));
if (table.getHeaderToolTip()!=null) {
l.setToolTipText(table.getVascTextValue().getTextValue(table.getHeaderToolTip()));
}
header.add(l,BorderLayout.CENTER);
}
@ -422,10 +436,14 @@ public class SwingVascViewRenderer implements VascViewRenderer {
TableColumn c = jTable.getColumnModel().getColumn(0); // idd, just remove index 0 every time
jTable.removeColumn(c);
}
jTable.revalidate();
TableCellRenderer renderer = new JComponentTableCellRenderer();
int counter=0;
for(VascTableColumn c:table.getTableColumns()) {
if (c.isListDisplay()==false) {
continue;
}
TableColumn t = new TableColumn();
t.setPreferredWidth(c.getWidth());
t.setHeaderValue(c);
@ -548,7 +566,14 @@ public class SwingVascViewRenderer implements VascViewRenderer {
* @see javax.swing.table.TableModel#getColumnCount()
*/
public int getColumnCount() {
return table.getTableColumns().size();
int result = 0;
for(VascTableColumn c:table.getTableColumns()) {
if (c.isListDisplay()==false) {
continue;
}
result++;
}
return result;
}
/**
@ -567,17 +592,26 @@ public class SwingVascViewRenderer implements VascViewRenderer {
public Object getValueAt(int rowIndex, int columnIndex) {
Object bean = table.getTableData().get(rowIndex);
logger.finer("Rending column; "+columnIndex+" bean: "+bean);
VascTableColumn vtc = table.getTableColumns().get(columnIndex);
if (vtc.getColumnRenderer()!=null) {
//do iets
return "RENDER";
} else {
try {
return ""+vtc.getVascColumnValue().getValue(vtc,bean);
} catch (Exception e) {
e.printStackTrace();
return "Error";
List<VascTableColumn> list = new ArrayList<VascTableColumn>();
for(VascTableColumn c:table.getTableColumns()) {
if (c.isListDisplay()==false) {
continue;
}
list.add(c);
}
VascTableColumn vtc = list.get(columnIndex);
try {
if (vtc.getVascColumnRenderer()!=null) {
return vtc.getVascColumnRenderer().rendererColumn(vtc,bean);
} else {
return ""+vtc.getVascColumnValue().getValue(vtc,bean);
}
} catch (Exception e) {
e.printStackTrace();
return "Error";
}
}
}