[svn r343] WIP3
This commit is contained in:
parent
62f7881380
commit
4643057b7f
35 changed files with 1166 additions and 239 deletions
|
|
@ -67,15 +67,14 @@ import javax.swing.table.TableCellRenderer;
|
|||
import javax.swing.table.TableColumn;
|
||||
|
||||
import com.idcanet.fff.SwingImageHelper;
|
||||
import com.idcanet.vasc.core.AbstractVascFrontend;
|
||||
import com.idcanet.vasc.core.VascEntry;
|
||||
import com.idcanet.vasc.core.VascEntryField;
|
||||
import com.idcanet.vasc.core.VascFrontend;
|
||||
import com.idcanet.vasc.core.actions.GlobalVascAction;
|
||||
import com.idcanet.vasc.core.actions.RowVascAction;
|
||||
import com.idcanet.vasc.core.entry.VascEntryExporter;
|
||||
import com.idcanet.vasc.core.entry.VascEntryEventListener.VascEventType;
|
||||
import com.idcanet.vasc.core.ui.VascColumnValueModelListener;
|
||||
import com.idcanet.vasc.core.ui.VascList;
|
||||
import com.idcanet.vasc.core.ui.VascUIComponent;
|
||||
import com.idcanet.vasc.core.ui.VascValueModel;
|
||||
|
||||
|
|
@ -84,27 +83,17 @@ import com.idcanet.vasc.core.ui.VascValueModel;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Mar 21, 2007
|
||||
*/
|
||||
public class SwingVascFrontend implements VascFrontend {
|
||||
public class SwingVascFrontend extends AbstractVascFrontend {
|
||||
|
||||
private String name = null;
|
||||
private Logger logger = null;
|
||||
private JComponent parent = null;
|
||||
private VascEntry entry = null;
|
||||
|
||||
public SwingVascFrontend(JComponent parent) {
|
||||
logger = Logger.getLogger(SwingVascFrontend.class.getName());
|
||||
this.parent=parent;
|
||||
}
|
||||
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
public void initEntry(VascEntry entry) throws Exception {
|
||||
if (entry.getVascFrontendData().getVascFrontend()==null) {
|
||||
entry.getVascFrontendData().setVascFrontend(this);
|
||||
|
|
@ -120,9 +109,10 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
entry.putUIComponent(VascToggle.class, SwingToggle.class);
|
||||
entry.putUIComponent(VascDate.class, SwingDate.class);
|
||||
entry.putUIComponent(VascColorChooser.class, SwingColorChooser.class);
|
||||
*/
|
||||
|
||||
this.entry=entry;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
public ImageIcon getImageIcon(String imageResource) {
|
||||
|
|
@ -130,6 +120,10 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
String key = entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(imageResource);
|
||||
//logger.fine("KEY======================="+key);
|
||||
|
||||
if (key.startsWith("vasc.entry")) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (key.indexOf("META-INF")>0 | key.indexOf("resource")>0) {
|
||||
return SwingImageHelper.getImageIcon(key);
|
||||
} else {
|
||||
|
|
@ -163,7 +157,7 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
beanValue=beanValue.substring(0, 30);
|
||||
}
|
||||
}
|
||||
SwingEditDialog dialog = new SwingEditDialog(parent,entry,rowBean,entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.edit.title"),entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.edit.message",beanValue));
|
||||
SwingEditDialog dialog = new SwingEditDialog(parent,entry,rowBean,i18n("vasc.dialog.edit.title"),i18n("vasc.dialog.edit.message",beanValue));
|
||||
Object result = dialog.openDialog();
|
||||
logger.finest("OPEN closed : "+result);
|
||||
if(result==null) {
|
||||
|
|
@ -183,8 +177,8 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
}
|
||||
int response = JOptionPane.showOptionDialog(
|
||||
parent // Center in window.
|
||||
, entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.delete.message",beanValue) // Message
|
||||
, entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.delete.title") // Title in titlebar
|
||||
, i18n("vasc.dialog.delete.message",beanValue) // Message
|
||||
, i18n("vasc.dialog.delete.title") // Title in titlebar
|
||||
, JOptionPane.YES_NO_OPTION // Option type
|
||||
, JOptionPane.PLAIN_MESSAGE // messageType
|
||||
, null // Icon (none)
|
||||
|
|
@ -212,7 +206,7 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
this.headerText = headerText;
|
||||
this.bean = bean;
|
||||
|
||||
setTitle(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(title));
|
||||
setTitle(i18n(title));
|
||||
setModal(true);
|
||||
|
||||
JPanel pane = new JPanel();
|
||||
|
|
@ -252,9 +246,9 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
|
||||
public void createHeader(JPanel header) {
|
||||
JLabel l = new JLabel();
|
||||
l.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(headerText));
|
||||
l.setText(i18n(headerText));
|
||||
l.setFont(new Font(null,Font.BOLD, 14));
|
||||
//l.setToolTipText(entry.getVascTextValue().getTextValue(headerText));
|
||||
//l.setToolTipText(i18n(headerText));
|
||||
header.add(l);
|
||||
}
|
||||
|
||||
|
|
@ -271,9 +265,9 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
JLabel l = new JLabel();
|
||||
l.setHorizontalAlignment(JLabel.TRAILING);
|
||||
|
||||
l.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(c.getName()));
|
||||
l.setText(i18n(c.getName()));
|
||||
if(c.getDescription()!=null) {
|
||||
l.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(c.getDescription()));
|
||||
l.setToolTipText(i18n(c.getDescription()));
|
||||
}
|
||||
body.add(l);
|
||||
|
||||
|
|
@ -307,8 +301,8 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
|
||||
JButton saveButton = new JButton();
|
||||
saveButton.setIcon(getImageIcon("vasc.dialog.save.image"));
|
||||
saveButton.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.save.name"));
|
||||
saveButton.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.save.tooltip"));
|
||||
saveButton.setText(i18n("vasc.dialog.save.name"));
|
||||
saveButton.setToolTipText(i18n("vasc.dialog.save.tooltip"));
|
||||
saveButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
if(entry.getVascFrontendData().getVascFrontendHelper().setUIComponentsBeanErrors(entry, bean)) {
|
||||
|
|
@ -322,8 +316,8 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
|
||||
JButton cancelButton = new JButton();
|
||||
cancelButton.setIcon(getImageIcon("vasc.dialog.cancel.image"));
|
||||
cancelButton.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.cancel.name"));
|
||||
cancelButton.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue("vasc.dialog.cancel.tooltip"));
|
||||
cancelButton.setText(i18n("vasc.dialog.cancel.name"));
|
||||
cancelButton.setToolTipText(i18n("vasc.dialog.cancel.tooltip"));
|
||||
cancelButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
result = null;
|
||||
|
|
@ -344,7 +338,6 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
|
||||
String fileName = null;
|
||||
JFileChooser c = new JFileChooser();
|
||||
// Demonstrate "Save" dialog:
|
||||
int rVal = c.showSaveDialog(null);
|
||||
if (rVal == JFileChooser.APPROVE_OPTION) {
|
||||
fileName = c.getSelectedFile().getAbsolutePath();
|
||||
|
|
@ -410,19 +403,19 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
if(entry.getHeaderImage()!=null) {
|
||||
JLabel l = new JLabel();
|
||||
// TODO: hack images working
|
||||
l.setIcon(new ImageIcon(Toolkit.getDefaultToolkit().createImage(getClass().getResource(entry.getHeaderImage())).getScaledInstance(32, 32, Image.SCALE_SMOOTH)));
|
||||
//l.setIcon(new ImageIcon(Toolkit.getDefaultToolkit().createImage(getClass().getResource(entry.getHeaderImage())).getScaledInstance(32, 32, Image.SCALE_SMOOTH)));
|
||||
if (entry.getHeaderDescription()!=null) {
|
||||
l.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(entry.getHeaderDescription()));
|
||||
l.setToolTipText(i18n(entry.getHeaderDescription()));
|
||||
}
|
||||
header.add(l,BorderLayout.WEST);
|
||||
}
|
||||
|
||||
if(entry.getHeaderName()!=null) {
|
||||
JLabel l = new JLabel(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(entry.getHeaderName()));
|
||||
JLabel l = new JLabel(i18n(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.getVascFrontendData().getVascEntryResourceResolver().getTextValue(entry.getHeaderDescription()));
|
||||
l.setToolTipText(i18n(entry.getHeaderDescription()));
|
||||
}
|
||||
header.add(l,BorderLayout.CENTER);
|
||||
}
|
||||
|
|
@ -431,8 +424,8 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
//top.setBackground(Color.BLUE);
|
||||
for (GlobalVascAction action:entry.getGlobalActions()) {
|
||||
JButton but = new JButton();
|
||||
but.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(action.getName()));
|
||||
but.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(action.getToolTip()));
|
||||
but.setText(i18n(action.getName()));
|
||||
but.setToolTipText(i18n(action.getToolTip()));
|
||||
but.addActionListener(new GlobalActionListener(action));
|
||||
but.setIcon(getImageIcon(action.getImage()));
|
||||
top.add(but);
|
||||
|
|
@ -541,8 +534,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().getVascFrontendData().getVascEntryResourceResolver().getTextValue(c.getName()));
|
||||
setToolTipText(c.getVascEntry().getVascFrontendData().getVascEntryResourceResolver().getTextValue(c.getDescription()));
|
||||
setText(i18n(c.getName()));
|
||||
setToolTipText(i18n(c.getDescription()));
|
||||
|
||||
if(c.getImage()!=null) {
|
||||
setIcon(getImageIcon(c.getImage()));
|
||||
|
|
@ -569,8 +562,8 @@ public class SwingVascFrontend implements VascFrontend {
|
|||
JPanel panel = new JPanel();
|
||||
for(RowVascAction action:entry.getRowActions()) {
|
||||
JButton but = new JButton();
|
||||
but.setText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(action.getName()));
|
||||
but.setToolTipText(entry.getVascFrontendData().getVascEntryResourceResolver().getTextValue(action.getToolTip()));
|
||||
but.setText(i18n(action.getName()));
|
||||
but.setToolTipText(i18n(action.getToolTip()));
|
||||
but.setIcon(getImageIcon(action.getImage()));
|
||||
but.addActionListener(new RowActionListener(action));
|
||||
panel.add(but);
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
|
||||
*/
|
||||
|
||||
package com.idcanet.vasc.impl.swing.ui;
|
||||
package com.idcanet.vasc.frontends.swing.ui;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.event.ActionEvent;
|
||||
|
|
@ -33,7 +33,7 @@ import java.awt.event.ActionListener;
|
|||
import javax.swing.JCheckBox;
|
||||
import javax.swing.JComponent;
|
||||
|
||||
import com.idcanet.vasc.core.VascTable;
|
||||
import com.idcanet.vasc.core.VascEntry;
|
||||
import com.idcanet.vasc.core.ui.AbstractVascUIComponent;
|
||||
import com.idcanet.vasc.core.ui.VascValueModel;
|
||||
|
||||
|
|
@ -44,12 +44,12 @@ import com.idcanet.vasc.core.ui.VascValueModel;
|
|||
* @author Willem Cazander
|
||||
* @version 1.0 Sep 21, 2007
|
||||
*/
|
||||
public class SwingToggle extends AbstractVascUIComponent {
|
||||
public class SwingBoolean extends AbstractVascUIComponent {
|
||||
|
||||
private JCheckBox checkBox = null;
|
||||
private Color orgBackgroundColor = null;
|
||||
|
||||
public Object createComponent(VascTable table,VascValueModel model,Object gui) throws Exception {
|
||||
public Object createComponent(VascEntry table,VascValueModel model,Object gui) throws Exception {
|
||||
checkBox = new JCheckBox();
|
||||
orgBackgroundColor = checkBox.getBackground();
|
||||
checkBox.setSelected((Boolean)model.getValue());
|
||||
|
|
@ -86,8 +86,8 @@ public class SwingToggle extends AbstractVascUIComponent {
|
|||
class SelectActionListener implements ActionListener {
|
||||
|
||||
private VascValueModel model;
|
||||
private VascTable table = null;
|
||||
public SelectActionListener(VascValueModel model,VascTable table) {
|
||||
private VascEntry table = null;
|
||||
public SelectActionListener(VascValueModel model,VascEntry table) {
|
||||
this.model=model;
|
||||
this.table=table;
|
||||
}
|
||||
|
|
@ -100,7 +100,7 @@ class SelectActionListener implements ActionListener {
|
|||
try {
|
||||
model.setValue(value);
|
||||
} catch (Exception ee) {
|
||||
table.getVascTableController().handleException(ee, table);
|
||||
table.getVascFrontendData().getVascFrontendHelper().handleException(ee, table);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
|
||||
*/
|
||||
|
||||
package com.idcanet.vasc.impl.swing.ui;
|
||||
package com.idcanet.vasc.frontends.swing.ui;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.event.ActionEvent;
|
||||
|
|
@ -34,9 +34,8 @@ import javax.swing.JButton;
|
|||
import javax.swing.JColorChooser;
|
||||
import javax.swing.JComponent;
|
||||
|
||||
import com.idcanet.vasc.core.VascTable;
|
||||
import com.idcanet.vasc.core.VascEntry;
|
||||
import com.idcanet.vasc.core.ui.AbstractVascUIComponent;
|
||||
import com.idcanet.vasc.core.ui.VascColorChooser;
|
||||
import com.idcanet.vasc.core.ui.VascValueModel;
|
||||
|
||||
/**
|
||||
|
|
@ -50,15 +49,11 @@ public class SwingColorChooser extends AbstractVascUIComponent {
|
|||
private JButton colorButton = null;
|
||||
private Color orgBackgroundColor = null;
|
||||
|
||||
public Object createComponent(VascTable table,VascValueModel model,Object gui) throws Exception {
|
||||
|
||||
|
||||
VascColorChooser org = (VascColorChooser)getWrapper();
|
||||
|
||||
public Object createComponent(VascEntry table,VascValueModel model,Object gui) throws Exception {
|
||||
JButton colorButton = new JButton("Color");
|
||||
orgBackgroundColor = colorButton.getBackground();
|
||||
((JComponent)gui).add(colorButton);
|
||||
colorButton.addActionListener(new SelectActionListener3(model,org.getHexSwingEncoding(),table));
|
||||
colorButton.addActionListener(new SelectActionListener3(model,true,table));
|
||||
return colorButton;
|
||||
}
|
||||
|
||||
|
|
@ -91,8 +86,8 @@ class SelectActionListener3 implements ActionListener {
|
|||
|
||||
private VascValueModel model;
|
||||
private boolean hexEncoding = false;
|
||||
private VascTable table = null;
|
||||
public SelectActionListener3(VascValueModel model,boolean hexEncoding,VascTable table) {
|
||||
private VascEntry table = null;
|
||||
public SelectActionListener3(VascValueModel model,boolean hexEncoding,VascEntry table) {
|
||||
this.model=model;
|
||||
this.hexEncoding=hexEncoding;
|
||||
this.table=table;
|
||||
|
|
@ -111,7 +106,7 @@ class SelectActionListener3 implements ActionListener {
|
|||
try {
|
||||
model.setValue(newColor);
|
||||
} catch (Exception ee) {
|
||||
table.getVascTableController().handleException(ee, table);
|
||||
table.getVascFrontendData().getVascFrontendHelper().handleException(ee, table);
|
||||
}
|
||||
} else {
|
||||
String cur = (String)model.getValue();
|
||||
|
|
@ -124,7 +119,7 @@ class SelectActionListener3 implements ActionListener {
|
|||
String newColorString = "#"+Integer.toHexString( newColor.getRGB() & 0x00ffffff );
|
||||
model.setValue(newColorString);
|
||||
} catch (Exception ee) {
|
||||
table.getVascTableController().handleException(ee, table);
|
||||
table.getVascFrontendData().getVascFrontendHelper().handleException(ee, table);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
|
||||
*/
|
||||
|
||||
package com.idcanet.vasc.impl.swing.ui;
|
||||
package com.idcanet.vasc.frontends.swing.ui;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.event.ActionEvent;
|
||||
|
|
@ -33,7 +33,7 @@ import java.util.Date;
|
|||
|
||||
import javax.swing.JComponent;
|
||||
|
||||
import com.idcanet.vasc.core.VascTable;
|
||||
import com.idcanet.vasc.core.VascEntry;
|
||||
import com.idcanet.vasc.core.ui.AbstractVascUIComponent;
|
||||
import com.idcanet.vasc.core.ui.VascValueModel;
|
||||
import com.michaelbaranov.microba.calendar.DatePicker;
|
||||
|
|
@ -50,7 +50,7 @@ public class SwingDate extends AbstractVascUIComponent {
|
|||
private DatePicker datePicker = null;
|
||||
private Color orgBackgroundColor = null;
|
||||
|
||||
public Object createComponent(VascTable table,VascValueModel model,Object gui) throws Exception {
|
||||
public Object createComponent(VascEntry table,VascValueModel model,Object gui) throws Exception {
|
||||
datePicker = new DatePicker();
|
||||
orgBackgroundColor = datePicker.getBackground();
|
||||
datePicker.setDate((Date)model.getValue());
|
||||
|
|
@ -87,8 +87,8 @@ public class SwingDate extends AbstractVascUIComponent {
|
|||
class SelectActionListener2 implements ActionListener {
|
||||
|
||||
private VascValueModel model;
|
||||
private VascTable table = null;
|
||||
public SelectActionListener2(VascValueModel model,VascTable table) {
|
||||
private VascEntry table = null;
|
||||
public SelectActionListener2(VascValueModel model,VascEntry table) {
|
||||
this.model=model;
|
||||
this.table=table;
|
||||
}
|
||||
|
|
@ -101,7 +101,7 @@ class SelectActionListener2 implements ActionListener {
|
|||
try {
|
||||
model.setValue(value);
|
||||
} catch (Exception ee) {
|
||||
table.getVascTableController().handleException(ee, table);
|
||||
table.getVascFrontendData().getVascFrontendHelper().handleException(ee, table);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
|
||||
*/
|
||||
|
||||
package com.idcanet.vasc.impl.swing.ui;
|
||||
package com.idcanet.vasc.frontends.swing.ui;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
|
|
@ -37,7 +37,7 @@ import javax.swing.JLabel;
|
|||
import javax.swing.JList;
|
||||
import javax.swing.ListCellRenderer;
|
||||
|
||||
import com.idcanet.vasc.core.VascTable;
|
||||
import com.idcanet.vasc.core.VascEntry;
|
||||
import com.idcanet.vasc.core.ui.AbstractVascUIComponent;
|
||||
import com.idcanet.vasc.core.ui.VascList;
|
||||
import com.idcanet.vasc.core.ui.VascSelectItem;
|
||||
|
|
@ -54,7 +54,7 @@ public class SwingList extends AbstractVascUIComponent {
|
|||
private JComboBox comboBox = null;
|
||||
private Color orgBackgroundColor = null;
|
||||
|
||||
public Object createComponent(final VascTable table,final VascValueModel model,Object gui) throws Exception {
|
||||
public Object createComponent(final VascEntry table,final VascValueModel model,Object gui) throws Exception {
|
||||
VascList l = (VascList)getWrapper();
|
||||
if (l.getVascSelectItemModel()==null) {
|
||||
comboBox = new JComboBox();
|
||||
|
|
@ -70,7 +70,7 @@ public class SwingList extends AbstractVascUIComponent {
|
|||
try {
|
||||
model.setValue(i.getValue());
|
||||
} catch (Exception ee) {
|
||||
table.getVascTableController().handleException(ee, table);
|
||||
table.getVascFrontendData().getVascFrontendHelper().handleException(ee, table);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
* should not be interpreted as representing official policies, either expressed or implied, of IDCA.
|
||||
*/
|
||||
|
||||
package com.idcanet.vasc.impl.swing.ui;
|
||||
package com.idcanet.vasc.frontends.swing.ui;
|
||||
|
||||
import java.awt.Color;
|
||||
|
||||
|
|
@ -33,7 +33,7 @@ import javax.swing.JTextField;
|
|||
import javax.swing.event.DocumentEvent;
|
||||
import javax.swing.event.DocumentListener;
|
||||
|
||||
import com.idcanet.vasc.core.VascTable;
|
||||
import com.idcanet.vasc.core.VascEntry;
|
||||
import com.idcanet.vasc.core.ui.AbstractVascUIComponent;
|
||||
import com.idcanet.vasc.core.ui.VascValueModel;
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ public class SwingTextField extends AbstractVascUIComponent {
|
|||
private JTextField textField = null;
|
||||
private Color orgBackgroundColor = null;
|
||||
|
||||
public Object createComponent(VascTable table,VascValueModel model,Object gui) throws Exception {
|
||||
public Object createComponent(VascEntry table,VascValueModel model,Object gui) throws Exception {
|
||||
textField = new JTextField();
|
||||
orgBackgroundColor = textField.getBackground();
|
||||
textField.setText(""+model.getValue());
|
||||
|
|
@ -89,7 +89,7 @@ class TextListener implements DocumentListener {
|
|||
//private VascTable table = null;
|
||||
private SwingTextField textField = null;
|
||||
|
||||
public TextListener(VascValueModel model,VascTable table,SwingTextField textField) {
|
||||
public TextListener(VascValueModel model,VascEntry table,SwingTextField textField) {
|
||||
this.model=model;
|
||||
//this.table=table;
|
||||
this.textField=textField;
|
||||
|
|
|
|||
|
|
@ -64,41 +64,28 @@ import org.eclipse.swt.widgets.ToolBar;
|
|||
import org.eclipse.swt.widgets.ToolItem;
|
||||
|
||||
import com.idcanet.fff.SwingImageHelper;
|
||||
import com.idcanet.vasc.core.AbstractVascFrontend;
|
||||
import com.idcanet.vasc.core.VascEntry;
|
||||
import com.idcanet.vasc.core.VascFrontend;
|
||||
import com.idcanet.vasc.core.VascEntryField;
|
||||
import com.idcanet.vasc.core.actions.GlobalVascAction;
|
||||
import com.idcanet.vasc.core.actions.RowVascAction;
|
||||
import com.idcanet.vasc.core.entry.VascEntryExporter;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Mar 21, 2007
|
||||
*/
|
||||
public class SwtVascFrontend implements VascFrontend {
|
||||
public class SwtVascFrontend extends AbstractVascFrontend {
|
||||
|
||||
private Logger logger = null;
|
||||
private Composite parent = null;
|
||||
private VascEntry table = null;
|
||||
|
||||
public SwtVascFrontend(Composite parent) {
|
||||
logger = Logger.getLogger(SwtVascFrontend.class.getName());
|
||||
this.parent=parent;
|
||||
}
|
||||
|
||||
public void initTable(VascEntry table) throws Exception {
|
||||
if (table.VascEntry()==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;
|
||||
}
|
||||
|
||||
private static final String[] FILTER_NAMES = {
|
||||
"All Files (*.*)",
|
||||
"Comma Separated Values Files (*.csv)",
|
||||
|
|
@ -107,11 +94,11 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
/** These filter extensions are used to filter which files are displayed. */
|
||||
private static final String[] FILTER_EXTS = { "*.*","*.csv","*.xls" };
|
||||
|
||||
public void renderExport(VascDataExporter exporter) throws Exception {
|
||||
public void renderExport(VascEntryExporter exporter) throws Exception {
|
||||
FileDialog dlg = new FileDialog(Display.getCurrent().getActiveShell(), SWT.SAVE);
|
||||
dlg.setFilterNames(FILTER_NAMES);
|
||||
dlg.setFilterExtensions(FILTER_EXTS);
|
||||
dlg.setFileName(table.getHeaderName()+".csv");
|
||||
dlg.setFileName(entry.getHeaderName()+".csv");
|
||||
String fileName = dlg.open();
|
||||
logger.fine("FileName: "+fileName);
|
||||
if (fileName == null) {
|
||||
|
|
@ -119,7 +106,7 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
}
|
||||
OutputStream out = new FileOutputStream(fileName);
|
||||
try {
|
||||
exporter.doExport(out, table);
|
||||
exporter.doExport(out, entry);
|
||||
} catch (Exception e) {
|
||||
//MessageDialog.openError(Display.getCurrent().getActiveShell(),crudTable.i18n("crud.event.export.error.title"),crudTable.i18n("crud.event.export.error.message"));
|
||||
logger.log(Level.WARNING,"Error: "+e.getMessage(),e);
|
||||
|
|
@ -133,25 +120,27 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
public void renderEdit(Object object) throws Exception {
|
||||
|
||||
logger.fine("Rending Edit View");
|
||||
table.getVascTableController().initEditObject(table, object);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().initEditObject(entry, object);
|
||||
|
||||
SwtVascEditDialog dialog = new SwtVascEditDialog(Display.getCurrent().getActiveShell(),table,object,"Vasc Edit","Edit");
|
||||
SwtVascEditDialog dialog = new SwtVascEditDialog(Display.getCurrent().getActiveShell(),object,"Vasc Edit","Edit");
|
||||
Object result = dialog.open();
|
||||
if(result==null) {
|
||||
return;
|
||||
}
|
||||
/*
|
||||
try {
|
||||
result = table.getVascDataSource().merge(object);
|
||||
result = entry.getVascDataSource().merge(object);
|
||||
//table.getVascTableController().fireModelUpdateListeners(result);
|
||||
} finally {
|
||||
//TODO: or merge into table == faster
|
||||
table.getVascTableController().refreshData(table);
|
||||
entry.getVascTableController().refreshData(entry);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
public ImageDescriptor getImageDescriptor(String path) {
|
||||
try {
|
||||
path = table.getVascTextValue().getTextValue(path);
|
||||
path = i18n(path);
|
||||
|
||||
|
||||
logger.fine("Loading image: "+path);
|
||||
|
|
@ -191,7 +180,7 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
private Object result = null;
|
||||
private Object bean = null;
|
||||
|
||||
public SwtVascEditDialog (Shell parent,VascTable table,Object bean,String title,String headerText) {
|
||||
public SwtVascEditDialog (Shell parent,Object bean,String title,String headerText) {
|
||||
super (parent, 0);
|
||||
///this.headerText = headerText;
|
||||
this.title = title;
|
||||
|
|
@ -249,32 +238,31 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
body.setLayout(new GridLayout(2, true));
|
||||
body.setLayoutData(new GridData(GridData.FILL_BOTH));
|
||||
|
||||
for(VascTableColumn c:table.getTableColumns()) {
|
||||
for(VascEntryField c:entry.getVascEntryFields()) {
|
||||
Label l = new Label(body, SWT.WRAP);
|
||||
l.setText(c.getName());
|
||||
|
||||
if(c.getToolTip()!=null) {
|
||||
l.setToolTipText(c.getToolTip());
|
||||
if(c.getDescription()!=null) {
|
||||
l.setToolTipText(c.getDescription());
|
||||
}
|
||||
|
||||
|
||||
|
||||
try {
|
||||
table.getVascTableController().initEditObjectColumn(c, bean);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().initEditObjectColumn(c, bean);
|
||||
|
||||
//if(c.getVascColumnEditor()==null) {
|
||||
Label valueLabel = new Label(body, SWT.WRAP);
|
||||
valueLabel.setText(""+c.getVascColumnValue().getValue(c, bean));
|
||||
c.setColumnEditor(valueLabel);
|
||||
valueLabel.setText(""+c.getVascEntryFieldValue().getValue(c, bean));
|
||||
//c.setColumnEditor(valueLabel);
|
||||
/*
|
||||
} else {
|
||||
c.setColumnEditor(c.getVascColumnEditor().createColumnEditor(c,bean,body));
|
||||
}
|
||||
*/
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.WARNING,"Error making column editor: '"+c.getVascColumnValue()+"' error: "+e.getMessage(),e);
|
||||
logger.log(Level.WARNING,"Error making column editor: '"+c.getVascEntryFieldValue()+"' error: "+e.getMessage(),e);
|
||||
}
|
||||
|
||||
/*
|
||||
if(c.getColumnEditor() instanceof Control) {
|
||||
Control editor = (Control)c.getColumnEditor();
|
||||
GridData gridData = new GridData();
|
||||
|
|
@ -284,6 +272,7 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
gridData.verticalAlignment = GridData.FILL;
|
||||
editor.setLayoutData(gridData);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
// create some spaceing , should replace by seperator
|
||||
|
|
@ -292,8 +281,8 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
|
||||
Button saveButton = new Button(body, SWT.NONE);
|
||||
saveButton.setImage(getImageDescriptor("vasc.dialog.save.image").createImage());
|
||||
saveButton.setText(table.getVascTextValue().getTextValue("vasc.dialog.save.name"));
|
||||
saveButton.setToolTipText(table.getVascTextValue().getTextValue("vasc.dialog.save.tooltip"));
|
||||
saveButton.setText(i18n("vasc.dialog.save.name"));
|
||||
saveButton.setToolTipText(i18n("vasc.dialog.save.tooltip"));
|
||||
saveButton.addSelectionListener(new SelectionAdapter() {
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
//if(hasRecordError()) {
|
||||
|
|
@ -305,8 +294,8 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
});
|
||||
Button cancelButton = new Button(body, SWT.NONE);
|
||||
cancelButton.setImage(getImageDescriptor("vasc.dialog.cancel.image").createImage());
|
||||
cancelButton.setText(table.getVascTextValue().getTextValue("vasc.dialog.cancel.name"));
|
||||
cancelButton.setToolTipText(table.getVascTextValue().getTextValue("vasc.dialog.cancel.tooltip"));
|
||||
cancelButton.setText(i18n("vasc.dialog.cancel.name"));
|
||||
cancelButton.setToolTipText(i18n("vasc.dialog.cancel.tooltip"));
|
||||
cancelButton.addSelectionListener(new SelectionAdapter() {
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
result = null;
|
||||
|
|
@ -316,21 +305,21 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
}
|
||||
}
|
||||
|
||||
public Object defaultColumnEditor(VascTableColumn column,Object bean,Object gui) throws Exception {
|
||||
public Object defaultColumnEditor(VascEntryField column,Object bean,Object gui) throws Exception {
|
||||
|
||||
Composite body = (Composite)gui;
|
||||
Text text = new Text(body,SWT.SINGLE);
|
||||
text.addSelectionListener(new TextListener(column,bean));
|
||||
text.setText(""+column.getVascColumnValue().getValue(column, bean));
|
||||
text.setText(""+column.getVascEntryFieldValue().getValue(column, bean));
|
||||
return text;
|
||||
}
|
||||
|
||||
class TextListener extends SelectionAdapter {
|
||||
|
||||
private VascTableColumn column = null;
|
||||
private VascEntryField column = null;
|
||||
private Object bean = null;
|
||||
|
||||
public TextListener(VascTableColumn column,Object bean) {
|
||||
public TextListener(VascEntryField column,Object bean) {
|
||||
this.column=column;
|
||||
this.bean=bean;
|
||||
}
|
||||
|
|
@ -343,18 +332,13 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
Object value = e.data;
|
||||
logger.finer("Setting value: "+value);
|
||||
try {
|
||||
column.getVascColumnValue().setValue(column, bean, value);
|
||||
column.getVascEntryFieldValue().setValue(column, bean, value);
|
||||
} catch (Exception ee) {
|
||||
ee.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public Object defaultColumnRenderer(VascTableColumn column,Object gui) throws Exception {
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void renderView() throws Exception {
|
||||
GridLayout layout = new GridLayout();
|
||||
|
|
@ -419,10 +403,10 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
headerOptions.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
|
||||
|
||||
ToolBar toolBar = new ToolBar(headerBar, SWT.NONE);
|
||||
for (GlobalVascAction action:table.getGlobalActions()) {
|
||||
for (GlobalVascAction action:entry.getGlobalActions()) {
|
||||
ToolItem item = new ToolItem(toolBar, SWT.PUSH);
|
||||
item.setText(table.getVascTextValue().getTextValue(action.getName()));
|
||||
item.setToolTipText(table.getVascTextValue().getTextValue(action.getToolTip()));
|
||||
item.setText(i18n(action.getName()));
|
||||
item.setToolTipText(i18n(action.getToolTip()));
|
||||
if (action.getImage()!=null) {
|
||||
item.setImage(getImageDescriptor(action.getImage()).createImage());
|
||||
}
|
||||
|
|
@ -432,12 +416,12 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
|
||||
Color c = new Color(header.getDisplay(),255,255,255);
|
||||
headerName.setBackground(c);
|
||||
if(table.getHeaderName()!=null) {
|
||||
if(entry.getHeaderName()!=null) {
|
||||
Font headerFont = new Font(header.getDisplay(), "verdana", 16, SWT.BOLD);
|
||||
Label l = new Label(headerName, SWT.CENTER);
|
||||
l.setImage(getImageDescriptor(table.getHeaderImage()).createImage());
|
||||
l.setImage(getImageDescriptor(entry.getHeaderImage()).createImage());
|
||||
l.setFont(headerFont);
|
||||
l.setText(table.getVascTextValue().getTextValue(table.getHeaderName()));
|
||||
l.setText(i18n(entry.getHeaderName()));
|
||||
l.setBackground(c);
|
||||
}
|
||||
|
||||
|
|
@ -474,9 +458,9 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
public void widgetSelected(SelectionEvent event) {
|
||||
logger.fine("Global Action");
|
||||
try {
|
||||
action.doGlobalAction(table);
|
||||
action.doGlobalAction(entry);
|
||||
} catch (Exception e) {
|
||||
table.getVascTableController().handleException(e, table);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().handleException(e, entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -512,14 +496,14 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
public void widgetSelected(SelectionEvent e) {
|
||||
Object data = e.item.getData();
|
||||
logger.fine("Slecting data: "+data);
|
||||
table.setSelectedObject(data);
|
||||
entry.getVascFrontendData().setEntryDataObject(data);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Set the content and label providers
|
||||
tableViewer.setContentProvider(new ListConverterContentProvider());
|
||||
tableViewer.setLabelProvider(new DefaultLabelProvider(table));
|
||||
tableViewer.setLabelProvider(new DefaultLabelProvider(entry));
|
||||
//TODO: add renderer support
|
||||
|
||||
//Add sort indicator and sort data when column selected
|
||||
|
|
@ -556,10 +540,10 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
|
||||
|
||||
|
||||
for(VascTableColumn c:table.getTableColumns()) {
|
||||
for(VascEntryField c:entry.getVascEntryFields()) {
|
||||
TableColumn tc = new TableColumn(table2, SWT.LEFT);
|
||||
tc.setText(c.getName());
|
||||
tc.setToolTipText(c.getToolTip());
|
||||
tc.setToolTipText(c.getDescription());
|
||||
if (c.getImage()!=null) {
|
||||
tc.setImage(getImageDescriptor(c.getImage()).createImage());
|
||||
}
|
||||
|
|
@ -568,14 +552,11 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
tc.setResizable(true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int totalWidth = table.getVascTableController().getTotalColumnsWidth(table);
|
||||
int totalWidth = entry.getVascFrontendData().getVascFrontendHelper().getTotalColumnsWidth(entry);
|
||||
logger.finer("Total size: "+totalWidth);
|
||||
TableColumn[] columns = table2.getColumns();
|
||||
for (int i = 0; i < columns.length; i++) {
|
||||
Integer cWidth = table.getTableColumns().get(i).getWidth();
|
||||
Integer cWidth = entry.getVascEntryFields().get(i).getSizeEdit();
|
||||
if (cWidth==null) {
|
||||
break;
|
||||
}
|
||||
|
|
@ -586,16 +567,16 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
}
|
||||
logger.fine("Table with columns created: "+table2.getColumnCount());
|
||||
|
||||
tableViewer.setInput(table);
|
||||
tableViewer.setInput(entry);
|
||||
}
|
||||
|
||||
|
||||
public void createFooter(Composite footer) {
|
||||
logger.finest("Creating footer");
|
||||
for(RowVascAction action:table.getRowActions()) {
|
||||
for(RowVascAction action:entry.getRowActions()) {
|
||||
Button actionButton = new Button(footer, SWT.NONE);
|
||||
actionButton.setText(table.getVascTextValue().getTextValue(action.getName()));
|
||||
actionButton.setToolTipText(table.getVascTextValue().getTextValue(action.getToolTip()));
|
||||
actionButton.setText(i18n(action.getName()));
|
||||
actionButton.setToolTipText(i18n(action.getToolTip()));
|
||||
if (action.getImage()!=null) {
|
||||
actionButton.setImage(getImageDescriptor(action.getImage()).createImage());
|
||||
}
|
||||
|
|
@ -617,9 +598,9 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
public void widgetSelected(SelectionEvent event) {
|
||||
logger.fine("Row Action");
|
||||
try {
|
||||
action.doRowAction(table, table.getSelectedObject());
|
||||
action.doRowAction(entry, entry.getVascFrontendData().getEntryDataObject());
|
||||
} catch (Exception e) {
|
||||
table.getVascTableController().handleException(e, table);
|
||||
entry.getVascFrontendData().getVascFrontendHelper().handleException(e, entry);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -633,10 +614,10 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
|
||||
class DefaultLabelProvider implements ITableLabelProvider {
|
||||
|
||||
private VascTable table = null;
|
||||
private VascEntry entry = null;
|
||||
|
||||
public DefaultLabelProvider(VascTable table) {
|
||||
this.table=table;
|
||||
public DefaultLabelProvider(VascEntry entry) {
|
||||
this.entry=entry;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -650,17 +631,17 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
* @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)
|
||||
*/
|
||||
public String getColumnText(Object bean, int columnNumber) {
|
||||
VascTableColumn vtc = table.getTableColumns().get(columnNumber);
|
||||
if (vtc.getVascColumnRenderer()==null) {
|
||||
VascEntryField vtc = entry.getVascEntryFields().get(columnNumber);
|
||||
//if (vtc.getVascColumnRenderer()==null) {
|
||||
try {
|
||||
return ""+vtc.getVascColumnValue().getValue(vtc,bean);
|
||||
return ""+vtc.getVascEntryFieldValue().getValue(vtc,bean);
|
||||
} catch (Exception e) {
|
||||
logger.log(Level.WARNING,"Error in get value: '"+vtc.getVascColumnValue()+"' error: "+e.getMessage(),e);
|
||||
logger.log(Level.WARNING,"Error in get value: '"+vtc.getVascEntryFieldValue()+"' error: "+e.getMessage(),e);
|
||||
return "Err";
|
||||
}
|
||||
}
|
||||
//}
|
||||
// see custem column renderer, so this code will never be called
|
||||
return "CUSTEM_RENDER";
|
||||
//return "CUSTEM_RENDER";
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -696,7 +677,7 @@ public class SwtVascFrontend implements VascFrontend {
|
|||
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
|
||||
*/
|
||||
public Object[] getElements(Object obj) {
|
||||
return ((VascTable)obj).getTableData().toArray();
|
||||
return ((VascEntry)obj).getVascFrontendData().getEntryDataList().toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue