[svn r342] WIP2
This commit is contained in:
parent
a60c7487e9
commit
62f7881380
40 changed files with 1559 additions and 514 deletions
|
|
@ -106,16 +106,14 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
|
||||
|
||||
public void initEntry(VascEntry entry) throws Exception {
|
||||
if (entry.getVascFrontend()==null) {
|
||||
entry.setVascFrontend(this);
|
||||
if (entry.getVascFrontendData().getVascFrontend()==null) {
|
||||
entry.getVascFrontendData().setVascFrontend(this);
|
||||
} else {
|
||||
if (entry.getVascFrontend()!=this) {
|
||||
if (entry.getVascFrontendData().getVascFrontend()!=this) {
|
||||
throw new IllegalArgumentException("VascEntry has already a differtent VascViewRenderer attected");
|
||||
}
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontendHelper().finalizeVascEntry(entry);
|
||||
entry.getVascFrontendController().getVascFrontendHelper().finalizeVascEntryFields(entry);
|
||||
entry.getVascFrontendController().getVascFrontendHelper().refreshData(entry);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().refreshData(entry);
|
||||
/*
|
||||
entry.putUIComponent(VascTextField.class, SwingTextField.class);
|
||||
entry.putUIComponent(VascList.class, SwingList.class);
|
||||
|
|
@ -129,7 +127,7 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
|
||||
public ImageIcon getImageIcon(String imageResource) {
|
||||
/// TODO hack beter
|
||||
String key = entry.getVascEntryResourceResolver().getTextValue(imageResource);
|
||||
String key = entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(imageResource);
|
||||
//logger.fine("KEY======================="+key);
|
||||
|
||||
if (key.indexOf("META-INF")>0 | key.indexOf("resource")>0) {
|
||||
|
|
@ -149,10 +147,13 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
|
||||
|
||||
|
||||
rowBean = entry.getVascFrontendController().getVascFrontendHelper().initEditObject(entry, rowBean);
|
||||
rowBean = entry.getVascFrontendData().getVascFrontendHelper().initEditObject(entry, rowBean);
|
||||
String beanValue = rowBean.toString();
|
||||
if (entry.getDisplayNameField()!=null) {
|
||||
Object vv = entry.getUIIdentifierVascEntryColomn().getVascColumnValue().getValue(entry.getUIIdentifierVascEntryColomn(), rowBean);
|
||||
if (entry.getDisplayNameFieldId()!=null) {
|
||||
|
||||
VascEntryField v = entry.getVascEntryFieldById(entry.getDisplayNameFieldId());
|
||||
|
||||
Object vv = v.getVascEntryFieldValue().getValue(v, rowBean);
|
||||
if (vv==null) {
|
||||
beanValue="";
|
||||
} else {
|
||||
|
|
@ -162,27 +163,28 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
beanValue=beanValue.substring(0, 30);
|
||||
}
|
||||
}
|
||||
SwingEditDialog dialog = new SwingEditDialog(parent,entry,rowBean,entry.getVascEntryResourceResolver().getTextValue("vasc.dialog.edit.title"),entry.getVascTextValue().getTextValue("vasc.dialog.edit.message",beanValue));
|
||||
SwingEditDialog dialog = new SwingEditDialog(parent,entry,rowBean,entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.edit.title"),entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.edit.message",beanValue));
|
||||
Object result = dialog.openDialog();
|
||||
logger.finest("OPEN closed : "+result);
|
||||
if(result==null) {
|
||||
return;
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontendHelper().mergeObject(entry, result);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().mergeObject(entry, result);
|
||||
}
|
||||
|
||||
public void renderDelete(Object rowBean) throws Exception {
|
||||
String beanValue = rowBean.toString();
|
||||
if (entry.getUIIdentifierVascEntryColomn()!=null) {
|
||||
beanValue = ""+entry.getUIIdentifierVascEntryColomn().getVascColumnValue().getValue(entry.getUIIdentifierVascEntryColomn(), rowBean);
|
||||
if (entry.getDisplayNameFieldId()!=null) {
|
||||
VascEntryField v = entry.getVascEntryFieldById(entry.getDisplayNameFieldId());
|
||||
beanValue = ""+v.getVascEntryFieldValue().getValue(v, rowBean);
|
||||
if (beanValue.length()>30) {
|
||||
beanValue=beanValue.substring(0, 30);
|
||||
}
|
||||
}
|
||||
int response = JOptionPane.showOptionDialog(
|
||||
parent // Center in window.
|
||||
, entry.getVascEntryResourceResolver().getTextValue("vasc.dialog.delete.message",beanValue) // Message
|
||||
, entry.getVascEntryResourceResolver().getTextValue("vasc.dialog.delete.title") // Title in titlebar
|
||||
, entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.delete.message",beanValue) // Message
|
||||
, entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.delete.title") // Title in titlebar
|
||||
, JOptionPane.YES_NO_OPTION // Option type
|
||||
, JOptionPane.PLAIN_MESSAGE // messageType
|
||||
, null // Icon (none)
|
||||
|
|
@ -190,10 +192,10 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
, null // Default button's label
|
||||
);
|
||||
if (response==JOptionPane.YES_OPTION) {
|
||||
entry.getVascBackend().delete(rowBean);
|
||||
entry.getEntryDataList().remove(rowBean);
|
||||
entry.setEntryDataObject(null);
|
||||
entry.getVascFrontendController().getVascFrontendHelper().fireVascEvent(VascEventListener.VascEventType.DATA_UPDATE, rowBean);
|
||||
entry.getVascFrontendData().getVascBackend().delete(rowBean);
|
||||
entry.getVascFrontendData().getEntryDataList().remove(rowBean);
|
||||
entry.getVascFrontendData().setEntryDataObject(null);
|
||||
//entry.getVascFrontendController().getVascFrontendHelper().fireVascEvent(VascEventListener.VascEventType.DATA_UPDATE, rowBean);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -210,7 +212,7 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
this.headerText = headerText;
|
||||
this.bean = bean;
|
||||
|
||||
setTitle(entry.getVascEntryResourceResolver().getTextValue(title));
|
||||
setTitle(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(title));
|
||||
setModal(true);
|
||||
|
||||
JPanel pane = new JPanel();
|
||||
|
|
@ -250,7 +252,7 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
|
||||
public void createHeader(JPanel header) {
|
||||
JLabel l = new JLabel();
|
||||
l.setText(entry.getVascEntryResourceResolver().getTextValue(headerText));
|
||||
l.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(headerText));
|
||||
l.setFont(new Font(null,Font.BOLD, 14));
|
||||
//l.setToolTipText(entry.getVascTextValue().getTextValue(headerText));
|
||||
header.add(l);
|
||||
|
|
@ -260,7 +262,7 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
body.setLayout(new SpringLayout());
|
||||
int column = 0;
|
||||
for(VascEntryField c:entry.getVascEntryFields()) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().initEditObjectColumn(c, bean);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().initEditObjectColumn(c, bean);
|
||||
if (c.isEdit()==false) {
|
||||
continue;
|
||||
}
|
||||
|
|
@ -269,16 +271,16 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
JLabel l = new JLabel();
|
||||
l.setHorizontalAlignment(JLabel.TRAILING);
|
||||
|
||||
l.setText(entry.getVascEntryResourceResolver().getTextValue(c.getName()));
|
||||
l.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(c.getName()));
|
||||
if(c.getDescription()!=null) {
|
||||
l.setToolTipText(entry.getVascEntryResourceResolver().getTextValue(c.getDescription()));
|
||||
l.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(c.getDescription()));
|
||||
}
|
||||
body.add(l);
|
||||
|
||||
if (c.isEditReadOnly()==true) {
|
||||
JLabel valueLabel = new JLabel();
|
||||
valueLabel.setText(""+c.getVascEntryFieldValue().getValue(c, bean));
|
||||
c.setColumnEditor(valueLabel);
|
||||
//c.setColumnEditor(valueLabel);
|
||||
body.add(valueLabel);
|
||||
continue;
|
||||
}
|
||||
|
|
@ -286,7 +288,7 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
if(c.getVascEntryFieldType().getVascUIComponent()==null) {
|
||||
JLabel valueLabel = new JLabel();
|
||||
valueLabel.setText(""+c.getVascEntryFieldValue().getValue(c, bean));
|
||||
c.setColumnEditor(valueLabel);
|
||||
//c.setColumnEditor(valueLabel);
|
||||
body.add(valueLabel);
|
||||
} else {
|
||||
VascUIComponent comp = c.getVascEntryFieldType().getVascUIComponent();
|
||||
|
|
@ -294,7 +296,7 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
model.setValue(c.getVascEntryFieldValue().getValue(c, bean));
|
||||
model.addListener(new VascColumnValueModelListener(c,bean));
|
||||
comp.createComponent(entry, model, body);
|
||||
c.setColumnEditor(comp);
|
||||
//c.setColumnEditor(comp);
|
||||
}
|
||||
}
|
||||
//JComponent, rows, cols, initX, initY ,xPad, yPad
|
||||
|
|
@ -305,11 +307,11 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
|
||||
JButton saveButton = new JButton();
|
||||
saveButton.setIcon(getImageIcon("vasc.dialog.save.image"));
|
||||
saveButton.setText(entry.getVascEntryResourceResolver().getTextValue("vasc.dialog.save.name"));
|
||||
saveButton.setToolTipText(entry.getVascEntryResourceResolver().getTextValue("vasc.dialog.save.tooltip"));
|
||||
saveButton.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.save.name"));
|
||||
saveButton.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.save.tooltip"));
|
||||
saveButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
if(entry.getVascFrontendController().getVascFrontendHelper().setUIComponentsBeanErrors(entry, bean)) {
|
||||
if(entry.getVascFrontendData().getVascFrontendHelper().setUIComponentsBeanErrors(entry, bean)) {
|
||||
return;
|
||||
}
|
||||
result = bean;
|
||||
|
|
@ -320,8 +322,8 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
|
||||
JButton cancelButton = new JButton();
|
||||
cancelButton.setIcon(getImageIcon("vasc.dialog.cancel.image"));
|
||||
cancelButton.setText(entry.getVascEntryResourceResolver().getTextValue("vasc.dialog.cancel.name"));
|
||||
cancelButton.setToolTipText(entry.getVascEntryResourceResolver().getTextValue("vasc.dialog.cancel.tooltip"));
|
||||
cancelButton.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.cancel.name"));
|
||||
cancelButton.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.cancel.tooltip"));
|
||||
cancelButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
result = null;
|
||||
|
|
@ -361,7 +363,7 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
try {
|
||||
exporter.doExport(out, entry);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(e, entry);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().handleException(e, entry);
|
||||
} finally {
|
||||
if (out!=null) {
|
||||
out.close();
|
||||
|
|
@ -410,17 +412,17 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
// TODO: hack images working
|
||||
l.setIcon(new ImageIcon(Toolkit.getDefaultToolkit().createImage(getClass().getResource(entry.getHeaderImage())).getScaledInstance(32, 32, Image.SCALE_SMOOTH)));
|
||||
if (entry.getHeaderDescription()!=null) {
|
||||
l.setToolTipText(entry.getVascEntryResourceResolver().getTextValue(entry.getHeaderDescription()));
|
||||
l.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(entry.getHeaderDescription()));
|
||||
}
|
||||
header.add(l,BorderLayout.WEST);
|
||||
}
|
||||
|
||||
if(entry.getHeaderName()!=null) {
|
||||
JLabel l = new JLabel(entry.getVascEntryResourceResolver().getTextValue(entry.getHeaderName()));
|
||||
JLabel l = new JLabel(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(entry.getHeaderName()));
|
||||
l.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
|
||||
l.setFont(new Font(null,Font.BOLD, 18));
|
||||
if (entry.getHeaderDescription()!=null) {
|
||||
l.setToolTipText(entry.getVascEntryResourceResolver().getTextValue(entry.getHeaderDescription()));
|
||||
l.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(entry.getHeaderDescription()));
|
||||
}
|
||||
header.add(l,BorderLayout.CENTER);
|
||||
}
|
||||
|
|
@ -429,8 +431,8 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
//top.setBackground(Color.BLUE);
|
||||
for (GlobalVascAction action:entry.getGlobalActions()) {
|
||||
JButton but = new JButton();
|
||||
but.setText(entry.getVascEntryResourceResolver().getTextValue(action.getName()));
|
||||
but.setToolTipText(entry.getVascEntryResourceResolver().getTextValue(action.getToolTip()));
|
||||
but.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(action.getName()));
|
||||
but.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(action.getToolTip()));
|
||||
but.addActionListener(new GlobalActionListener(action));
|
||||
but.setIcon(getImageIcon(action.getImage()));
|
||||
top.add(but);
|
||||
|
|
@ -481,7 +483,11 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
continue;
|
||||
}
|
||||
TableColumn t = new TableColumn();
|
||||
t.setPreferredWidth(c.getSizeList());
|
||||
if (c.getSizeList()!=null) {
|
||||
t.setPreferredWidth(c.getSizeList());
|
||||
} else {
|
||||
t.setPreferredWidth(200);
|
||||
}
|
||||
t.setHeaderValue(c);
|
||||
t.setHeaderRenderer(renderer);
|
||||
t.setModelIndex(counter);
|
||||
|
|
@ -493,15 +499,15 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
table.addMouseListener(new MouseAdapter() {
|
||||
public void mousePressed(MouseEvent e) {
|
||||
if (e.getClickCount() == 2) {
|
||||
Object o = entry.getEntryDataObject();
|
||||
Object o = entry.getVascFrontendData().getEntryDataObject();
|
||||
if (o==null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
// TODO: fix this
|
||||
entry.getVascFrontend().renderEdit(o);
|
||||
entry.getVascFrontendData().getVascFrontend().renderEdit(o);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(ee, entry);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().handleException(ee, entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -524,10 +530,10 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
if (rowIndex!=-1) {
|
||||
// temp; gets index by sorter
|
||||
rowIndex = tableSorter.modelIndex(rowIndex);
|
||||
Object data = entry.getEntryDataList().get(rowIndex);
|
||||
entry.setEntryDataObject(data);
|
||||
Object data = entry.getVascFrontendData().getEntryDataList().get(rowIndex);
|
||||
entry.getVascFrontendData().setEntryDataObject(data);
|
||||
} else {
|
||||
entry.setEntryDataObject(null);
|
||||
entry.getVascFrontendData().setEntryDataObject(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -535,8 +541,8 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
private static final long serialVersionUID = 10L;
|
||||
public Component getentryCellRendererComponent(JTable table, Object value, boolean isSelected,boolean hasFocus, int row, int column) {
|
||||
VascEntryField c = (VascEntryField)value;
|
||||
setText(c.getVascEntry().getVascEntryResourceResolver().getTextValue(c.getName()));
|
||||
setToolTipText(c.getVascEntry().getVascEntryResourceResolver().getTextValue(c.getDescription()));
|
||||
setText(c.getVascEntry().getVascFrontendData().getVascEntryResourceResolver().getTextValue(c.getName()));
|
||||
setToolTipText(c.getVascEntry().getVascFrontendData().getVascEntryResourceResolver().getTextValue(c.getDescription()));
|
||||
|
||||
if(c.getImage()!=null) {
|
||||
setIcon(getImageIcon(c.getImage()));
|
||||
|
|
@ -563,8 +569,8 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
JPanel panel = new JPanel();
|
||||
for(RowVascAction action:entry.getRowActions()) {
|
||||
JButton but = new JButton();
|
||||
but.setText(entry.getVascEntryResourceResolver().getTextValue(action.getName()));
|
||||
but.setToolTipText(entry.getVascEntryResourceResolver().getTextValue(action.getToolTip()));
|
||||
but.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(action.getName()));
|
||||
but.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(action.getToolTip()));
|
||||
but.setIcon(getImageIcon(action.getImage()));
|
||||
but.addActionListener(new RowActionListener(action));
|
||||
panel.add(but);
|
||||
|
|
@ -585,9 +591,9 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
public void actionPerformed(ActionEvent event) {
|
||||
logger.fine("Row Action");
|
||||
try {
|
||||
action.doRowAction(entry, entry.getEntryDataObject());
|
||||
action.doRowAction(entry, entry.getVascFrontendData().getEntryDataObject());
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(e, entry);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().handleException(e, entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -605,12 +611,12 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
try {
|
||||
action.doGlobalAction(entry);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(e, entry);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().handleException(e, entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class VascColumnModel extends AbstractTableModel implements VascEventListener {
|
||||
class VascColumnModel extends AbstractTableModel { //implements VascEventListener {
|
||||
private static final long serialVersionUID = 10L;
|
||||
|
||||
public void vascEvent(VascEventType e,Object o) {
|
||||
|
|
@ -637,17 +643,17 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
* @see javax.swing.entry.entryModel#getRowCount()
|
||||
*/
|
||||
public int getRowCount() {
|
||||
if (entry.getEntryDataList()==null) {
|
||||
if (entry.getVascFrontendData().getEntryDataList()==null) {
|
||||
return 0;
|
||||
}
|
||||
return entry.getEntryDataList().size();
|
||||
return entry.getVascFrontendData().getEntryDataList().size();
|
||||
}
|
||||
|
||||
/**
|
||||
* @see javax.swing.entry.entryModel#getValueAt(int, int)
|
||||
*/
|
||||
public Object getValueAt(int rowIndex, int columnIndex) {
|
||||
Object bean = entry.getEntryDataList().get(rowIndex);
|
||||
Object bean = entry.getVascFrontendData().getEntryDataList().get(rowIndex);
|
||||
logger.finer("Rending column; "+columnIndex+" bean: "+bean);
|
||||
|
||||
// TODO: this is slowing....
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue