wip made remote ejb working over http
This commit is contained in:
parent
d4e537a2bf
commit
2a0d992642
393 changed files with 8916 additions and 3872 deletions
|
|
@ -3,7 +3,7 @@
|
|||
<parent>
|
||||
<artifactId>vasc-frontend</artifactId>
|
||||
<groupId>net.forwardfire.vasc</groupId>
|
||||
<version>0.3.5-SNAPSHOT</version>
|
||||
<version>0.4.1-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>vasc-frontend-swing</artifactId>
|
||||
<name>vasc-frontend-swing</name>
|
||||
|
|
|
|||
|
|
@ -36,8 +36,10 @@ import javax.swing.ListCellRenderer;
|
|||
|
||||
import net.forwardfire.vasc.backend.VascBackendPageNumber;
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.actions.GlobalVascAction;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
/**
|
||||
* SwingActionPanel renders some page and download actions.
|
||||
|
|
@ -129,8 +131,8 @@ public class SwingActionPanel extends JPanel implements VascEntryFrontendEventLi
|
|||
}
|
||||
try {
|
||||
action.doGlobalAction(vascEntry);
|
||||
} catch (Exception e) {
|
||||
vascEntry.getVascFrontendController().getVascFrontendHelper().handleException(vascEntry, e);
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
|
||||
// restore normal view for next request.
|
||||
|
|
@ -252,7 +254,7 @@ public class SwingActionPanel extends JPanel implements VascEntryFrontendEventLi
|
|||
return null;
|
||||
}
|
||||
|
||||
public void doGlobalAction(VascEntry vascEntry) throws Exception {
|
||||
public void doGlobalAction(VascEntry vascEntry) throws VascException {
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ import javax.swing.JMenuItem;
|
|||
import javax.swing.JPanel;
|
||||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
import net.forwardfire.vasc.impl.DefaultVascFactory;
|
||||
|
||||
/**
|
||||
* SwingPanelFrame to render into frames.
|
||||
|
|
@ -57,7 +57,7 @@ public class SwingPanelFrame implements SwingPanelIntegration {
|
|||
this.addVascMenu=addVascMenu;
|
||||
}
|
||||
|
||||
public void createNewVascView(VascEntry entry) throws Exception {
|
||||
public void createNewVascView(VascEntry entry) throws VascException {
|
||||
// define redering
|
||||
JPanel panel = initVascView();
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ package net.forwardfire.vasc.frontend.swing;
|
|||
import javax.swing.JPanel;
|
||||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
/**
|
||||
* SwingPanelIntegration provides the JPanels to vasc to integrate into application panel handing.
|
||||
|
|
@ -12,7 +13,7 @@ import net.forwardfire.vasc.core.VascEntry;
|
|||
*/
|
||||
public interface SwingPanelIntegration {
|
||||
|
||||
public void createNewVascView(VascEntry entry) throws Exception;
|
||||
public void createNewVascView(VascEntry entry) throws VascException;
|
||||
public JPanel initVascView();
|
||||
public void openVascView(JPanel pane,VascEntry entry);
|
||||
public void closeVascView(JPanel pane,VascEntry entry);
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import javax.swing.JPanel;
|
|||
import javax.swing.JTabbedPane;
|
||||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryFrontendEventListener;
|
||||
|
||||
/**
|
||||
|
|
@ -44,7 +45,7 @@ public class SwingPanelTabbed implements SwingPanelIntegration {
|
|||
this.tabbedPane=tabbedPane;
|
||||
}
|
||||
|
||||
public void createNewVascView(VascEntry entry) throws Exception {
|
||||
public void createNewVascView(VascEntry entry) throws VascException {
|
||||
// define redering
|
||||
JPanel panel = initVascView();
|
||||
SwingVascFrontend render = new SwingVascFrontend(panel,this);
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ import net.forwardfire.vasc.core.VascEntry;
|
|||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascEntryLink;
|
||||
import net.forwardfire.vasc.core.VascEntryLocal;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascColumnValueModelListener;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
|
|
@ -61,7 +62,7 @@ public class SwingVascEditDialog extends JPanel {
|
|||
private SwingPanelIntegration panels = null;
|
||||
private JPanel editView = null;
|
||||
|
||||
public SwingVascEditDialog(SwingVascFrontend swingFrontend,JPanel editView,VascEntry entry,Object bean,String beanValue,SwingPanelIntegration panels) throws Exception {
|
||||
public SwingVascEditDialog(SwingVascFrontend swingFrontend,JPanel editView,VascEntry entry,Object bean,String beanValue,SwingPanelIntegration panels) throws VascException {
|
||||
super();
|
||||
this.headerText = "vasc.dialog.edit.message";
|
||||
this.headerTextValue = beanValue;
|
||||
|
|
@ -152,7 +153,7 @@ public class SwingVascEditDialog extends JPanel {
|
|||
return header;
|
||||
}
|
||||
|
||||
protected JPanel createBody() throws Exception {
|
||||
protected JPanel createBody() throws VascException {
|
||||
JPanel body = new JPanel();
|
||||
body.setLayout(new SpringLayout());
|
||||
int column = 0;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,9 @@ import java.awt.event.ActionEvent;
|
|||
import java.awt.event.ActionListener;
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
|
@ -62,16 +64,17 @@ import javax.swing.table.TableColumnModel;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascEntryListOption;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.actions.GlobalVascAction;
|
||||
import net.forwardfire.vasc.core.actions.RowVascAction;
|
||||
import net.forwardfire.vasc.core.entry.VascEntryExporter;
|
||||
import net.forwardfire.vasc.core.ui.VascOptionValueModelListener;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
import net.forwardfire.vasc.frontend.AbstractVascFrontend;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendController;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
import net.forwardfire.vasc.frontend.swing.ui.SwingBoolean;
|
||||
import net.forwardfire.vasc.frontend.swing.ui.SwingButton;
|
||||
import net.forwardfire.vasc.frontend.swing.ui.SwingColorChooser;
|
||||
|
|
@ -150,52 +153,60 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
/**
|
||||
* @see net.forwardfire.vasc.core.VascViewRenderer#renderEdit(net.forwardfire.vasc.core.VascEntry, java.lang.Object)
|
||||
*/
|
||||
public void renderEdit() throws Exception {
|
||||
public void renderEdit() throws VascFrontendException {
|
||||
logger.fine("Rending Edit View");
|
||||
|
||||
try {
|
||||
Object rowBean = entry.getVascFrontendController().getVascEntryState().getEntryDataObject();
|
||||
String beanValue = rowBean.toString();
|
||||
if (entry.getDisplayNameFieldId()!=null) {
|
||||
VascEntryField v = entry.getVascEntryFieldById(entry.getDisplayNameFieldId());
|
||||
|
||||
Object vv = v.getVascEntryFieldValue().getValue(v, rowBean);
|
||||
if (vv==null) {
|
||||
beanValue="";
|
||||
} else {
|
||||
beanValue=""+vv;
|
||||
}
|
||||
if (beanValue.length()>30) {
|
||||
beanValue=beanValue.substring(0, 30);
|
||||
}
|
||||
}
|
||||
|
||||
JPanel editPanel = panels.initVascView();
|
||||
SwingVascEditDialog dialog = new SwingVascEditDialog(this,editPanel,entry,rowBean,beanValue,panels);
|
||||
|
||||
entry.getVascFrontendController().getVascFrontendHelper().editReadOnlyUIComponents(entry);
|
||||
panels.openVascView(editPanel,entry);
|
||||
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
|
||||
public void renderDelete() throws VascFrontendException {
|
||||
Object rowBean = entry.getVascFrontendController().getVascEntryState().getEntryDataObject();
|
||||
String beanValue = rowBean.toString();
|
||||
if (entry.getDisplayNameFieldId()!=null) {
|
||||
|
||||
try {
|
||||
VascEntryField v = entry.getVascEntryFieldById(entry.getDisplayNameFieldId());
|
||||
|
||||
Object vv = v.getVascEntryFieldValue().getValue(v, rowBean);
|
||||
if (vv==null) {
|
||||
beanValue="";
|
||||
} else {
|
||||
beanValue=""+vv;
|
||||
}
|
||||
beanValue = ""+v.getVascEntryFieldValue().getValue(v, rowBean);
|
||||
if (beanValue.length()>30) {
|
||||
beanValue=beanValue.substring(0, 30);
|
||||
}
|
||||
}
|
||||
|
||||
JPanel editPanel = panels.initVascView();
|
||||
SwingVascEditDialog dialog = new SwingVascEditDialog(this,editPanel,entry,rowBean,beanValue,panels);
|
||||
|
||||
entry.getVascFrontendController().getVascFrontendHelper().editReadOnlyUIComponents(entry);
|
||||
panels.openVascView(editPanel,entry);
|
||||
}
|
||||
|
||||
public void renderDelete() throws Exception {
|
||||
Object rowBean = entry.getVascFrontendController().getVascEntryState().getEntryDataObject();
|
||||
String beanValue = rowBean.toString();
|
||||
|
||||
VascEntryField v = entry.getVascEntryFieldById(entry.getDisplayNameFieldId());
|
||||
beanValue = ""+v.getVascEntryFieldValue().getValue(v, rowBean);
|
||||
if (beanValue.length()>30) {
|
||||
beanValue=beanValue.substring(0, 30);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
|
||||
int response = JOptionPane.showOptionDialog(
|
||||
parent // Center in window.
|
||||
, 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)
|
||||
, null // Button text as above.
|
||||
, null // Default button's label
|
||||
);
|
||||
parent // Center in window.
|
||||
, 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)
|
||||
, null // Button text as above.
|
||||
, null // Default button's label
|
||||
);
|
||||
if (response==JOptionPane.YES_OPTION) {
|
||||
entry.getVascFrontendController().getVascFrontendActions().deleteObject();
|
||||
}
|
||||
|
|
@ -204,7 +215,7 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
/**
|
||||
* @see net.forwardfire.vasc.core.VascViewRenderer#renderExport(net.forwardfire.vasc.core.VascEntry, net.forwardfire.vasc.core.VascDataExporter)
|
||||
*/
|
||||
public void renderExport(VascEntryExporter exporter) throws Exception {
|
||||
public void renderExport(VascEntryExporter exporter) throws VascFrontendException {
|
||||
|
||||
String fileName = null;
|
||||
JFileChooser c = new JFileChooser();
|
||||
|
|
@ -222,14 +233,20 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
if (fileName == null) {
|
||||
return;
|
||||
}
|
||||
OutputStream out = new FileOutputStream(fileName);
|
||||
OutputStream out = null;
|
||||
try {
|
||||
out = new FileOutputStream(fileName);
|
||||
exporter.doExport(out, entry);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, e);
|
||||
} finally {
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} catch (FileNotFoundException e) {
|
||||
throw new VascFrontendException(e);
|
||||
} finally {
|
||||
if (out!=null) {
|
||||
out.close();
|
||||
try {
|
||||
out.close();
|
||||
} catch (IOException e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -238,7 +255,7 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
/**
|
||||
* @see net.forwardfire.vasc.core.VascViewRenderer#renderView(net.forwardfire.vasc.core.VascEntry)
|
||||
*/
|
||||
public void renderView() throws Exception {
|
||||
public void renderView() throws VascFrontendException {
|
||||
|
||||
if (initOnce==false) {
|
||||
return;
|
||||
|
|
@ -306,68 +323,66 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
body.setLayout(new SpringLayout());
|
||||
int column = 0;
|
||||
try {
|
||||
for(VascEntryListOption c:entry.getVascEntryListOptions()) {
|
||||
for (int i=0;i<c.getVascEntryFieldType().getUIComponentCount(c);i++) {
|
||||
|
||||
VascUIComponent label = c.getVascEntryFieldType().provideLabelUIComponent(i,c);
|
||||
VascValueModel model = new VascValueModel();
|
||||
model.setValue(i18n(c.getName()));
|
||||
label.createComponent(entry,c,model,body);
|
||||
|
||||
VascUIComponent editor = c.getVascEntryFieldType().provideEditorUIComponent(i,c);
|
||||
model = new VascValueModel(c.getVascEntryFieldType().provideEditorVascValueModel(i,c));
|
||||
model.addListener(new VascOptionValueModelListener(c));
|
||||
model.setValue(c.getDefaultValue());
|
||||
Object g = editor.createComponent(entry,c,model,body);
|
||||
|
||||
column++;
|
||||
if (i==0) {
|
||||
entry.getVascFrontendController().addFieldVascUIComponents(c, editor,g);
|
||||
}
|
||||
body.add(new JLabel()); // fill :(
|
||||
}
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontendHelper().headerOptionsCreatedFillData(entry);
|
||||
|
||||
// add search
|
||||
column++;
|
||||
JLabel searchLabel = new JLabel("Search: ");
|
||||
body.add(searchLabel);
|
||||
final JTextField searchField = new JTextField();
|
||||
body.add(searchField);
|
||||
searchField.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
String searchText = searchField.getText();
|
||||
entry.getVascFrontendController().getVascFrontendActions().searchAction(searchText);
|
||||
for(VascEntryListOption c:entry.getVascEntryListOptions()) {
|
||||
for (int i=0;i<c.getVascEntryFieldType().getUIComponentCount(c);i++) {
|
||||
|
||||
VascUIComponent label = c.getVascEntryFieldType().provideLabelUIComponent(i,c);
|
||||
VascValueModel model = new VascValueModel();
|
||||
model.setValue(i18n(c.getName()));
|
||||
label.createComponent(entry,c,model,body);
|
||||
|
||||
VascUIComponent editor = c.getVascEntryFieldType().provideEditorUIComponent(i,c);
|
||||
model = new VascValueModel(c.getVascEntryFieldType().provideEditorVascValueModel(i,c));
|
||||
model.addListener(new VascOptionValueModelListener(c));
|
||||
model.setValue(c.getDefaultValue());
|
||||
Object g = editor.createComponent(entry,c,model,body);
|
||||
|
||||
column++;
|
||||
if (i==0) {
|
||||
entry.getVascFrontendController().addFieldVascUIComponents(c, editor,g);
|
||||
}
|
||||
body.add(new JLabel()); // fill :(
|
||||
}
|
||||
}
|
||||
});
|
||||
JButton searchButton = new JButton("Search");
|
||||
searchButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
String searchText = searchField.getText();
|
||||
entry.getVascFrontendController().getVascFrontendActions().searchAction(searchText);
|
||||
}
|
||||
});
|
||||
body.add(searchButton);
|
||||
entry.getVascFrontendController().getVascFrontendHelper().headerOptionsCreatedFillData(entry);
|
||||
|
||||
// add search
|
||||
column++;
|
||||
JLabel searchLabel = new JLabel("Search: ");
|
||||
body.add(searchLabel);
|
||||
final JTextField searchField = new JTextField();
|
||||
body.add(searchField);
|
||||
searchField.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
String searchText = searchField.getText();
|
||||
entry.getVascFrontendController().getVascFrontendActions().searchAction(searchText);
|
||||
}
|
||||
});
|
||||
JButton searchButton = new JButton("Search");
|
||||
searchButton.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent arg0) {
|
||||
String searchText = searchField.getText();
|
||||
entry.getVascFrontendController().getVascFrontendActions().searchAction(searchText);
|
||||
}
|
||||
});
|
||||
body.add(searchButton);
|
||||
|
||||
} catch (VascException ve) {
|
||||
throw new RuntimeException(ve);
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
SpringUtilities.makeCompactGrid(body, column,3, 6,6, 6,6);
|
||||
//optionPanel.add(body);
|
||||
|
||||
|
||||
SpringUtilities.makeCompactGrid(body, column,3, 6,6, 6,6);
|
||||
|
||||
// create pager bar
|
||||
JPanel bottomPanel = new JPanel();
|
||||
bottomPanel.setLayout(new BoxLayout(bottomPanel, BoxLayout.PAGE_AXIS));
|
||||
bottomPanel.add(new SwingPagerPanel(entry));
|
||||
bottomPanel.add(new SwingActionPanel(entry));
|
||||
|
||||
//top.add(header,BorderLayout.NORTH);
|
||||
parent2.setLayout(new BorderLayout());
|
||||
parent2.add(header,BorderLayout.NORTH);
|
||||
parent2.add(optionPanel,BorderLayout.CENTER);
|
||||
parent2.add(bottomPanel,BorderLayout.SOUTH);
|
||||
//top.add(header,BorderLayout.NORTH);
|
||||
parent2.setLayout(new BorderLayout());
|
||||
parent2.add(header,BorderLayout.NORTH);
|
||||
parent2.add(optionPanel,BorderLayout.CENTER);
|
||||
parent2.add(bottomPanel,BorderLayout.SOUTH);
|
||||
}
|
||||
|
||||
private void renderBody(JComponent parent2) {
|
||||
|
|
@ -419,12 +434,7 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
if (o==null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
// todo: fix
|
||||
entry.getVascFrontendController().getVascFrontend().renderEdit();
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, ee);
|
||||
}
|
||||
entry.getVascFrontendController().getVascFrontend().renderEdit();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -432,76 +442,72 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
parent2.add(scrollPane);
|
||||
}
|
||||
class ColumnListener extends MouseAdapter {
|
||||
protected JTable table;
|
||||
private String sortField = null;
|
||||
private boolean sortOrder = true;
|
||||
|
||||
public ColumnListener(JTable t) {
|
||||
table = t;
|
||||
}
|
||||
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
TableColumnModel colModel = table.getColumnModel();
|
||||
int columnModelIndex = colModel.getColumnIndexAtX(e.getX());
|
||||
TableColumn tc = colModel.getColumn(columnModelIndex);
|
||||
VascEntryField field = (VascEntryField)tc.getHeaderValue();
|
||||
entry.getVascFrontendController().getVascFrontendActions().sortAction(field);
|
||||
sortOrder = entry.getVascFrontendController().getVascEntryState().getVascBackendState().isSortAscending();
|
||||
sortField = field.getId();
|
||||
try {
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry, ee);
|
||||
}
|
||||
table.repaint();
|
||||
}
|
||||
}
|
||||
protected JTable table;
|
||||
private String sortField = null;
|
||||
private boolean sortOrder = true;
|
||||
|
||||
public ColumnListener(JTable t) {
|
||||
table = t;
|
||||
}
|
||||
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
TableColumnModel colModel = table.getColumnModel();
|
||||
int columnModelIndex = colModel.getColumnIndexAtX(e.getX());
|
||||
TableColumn tc = colModel.getColumn(columnModelIndex);
|
||||
VascEntryField field = (VascEntryField)tc.getHeaderValue();
|
||||
entry.getVascFrontendController().getVascFrontendActions().sortAction(field);
|
||||
sortOrder = entry.getVascFrontendController().getVascEntryState().getVascBackendState().isSortAscending();
|
||||
sortField = field.getId();
|
||||
entry.getVascFrontendController().getVascFrontend().renderView();
|
||||
table.repaint();
|
||||
}
|
||||
}
|
||||
class EntrySectionListener implements ListSelectionListener {
|
||||
JTable table;
|
||||
EntrySectionListener(JTable table) {
|
||||
this.table = table;
|
||||
}
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
if (e.getValueIsAdjusting()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (table.getSelectedRowCount()==0) {
|
||||
for (RowVascAction action:rowActions.keySet()) {
|
||||
JButton but = rowActions.get(action);
|
||||
if (action.getId().contains("add")==false) {
|
||||
but.setEnabled(false);
|
||||
}
|
||||
}
|
||||
} else if (table.getSelectedRowCount()==1) {
|
||||
for (JButton but:rowActions.values()) {
|
||||
but.setEnabled(true);
|
||||
}
|
||||
} else {
|
||||
for (RowVascAction action:rowActions.keySet()) {
|
||||
JButton but = rowActions.get(action);
|
||||
if (action.isMultiRowAction()) {
|
||||
but.setEnabled(true);
|
||||
} else {
|
||||
if (action.getId().contains("add")==false) {
|
||||
but.setEnabled(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int rowIndex = table.getSelectedRow();
|
||||
|
||||
if (rowIndex!=-1) {
|
||||
// temp; gets index by sorter
|
||||
//rowIndex = tableSorter.modelIndex(rowIndex);
|
||||
Object data = entry.getVascFrontendController().getVascEntryState().getEntryDataList().get(rowIndex);
|
||||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(data);
|
||||
} else {
|
||||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
JTable table;
|
||||
EntrySectionListener(JTable table) {
|
||||
this.table = table;
|
||||
}
|
||||
public void valueChanged(ListSelectionEvent e) {
|
||||
if (e.getValueIsAdjusting()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (table.getSelectedRowCount()==0) {
|
||||
for (RowVascAction action:rowActions.keySet()) {
|
||||
JButton but = rowActions.get(action);
|
||||
if (action.getId().contains("add")==false) {
|
||||
but.setEnabled(false);
|
||||
}
|
||||
}
|
||||
} else if (table.getSelectedRowCount()==1) {
|
||||
for (JButton but:rowActions.values()) {
|
||||
but.setEnabled(true);
|
||||
}
|
||||
} else {
|
||||
for (RowVascAction action:rowActions.keySet()) {
|
||||
JButton but = rowActions.get(action);
|
||||
if (action.isMultiRowAction()) {
|
||||
but.setEnabled(true);
|
||||
} else {
|
||||
if (action.getId().contains("add")==false) {
|
||||
but.setEnabled(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int rowIndex = table.getSelectedRow();
|
||||
|
||||
if (rowIndex!=-1) {
|
||||
// temp; gets index by sorter
|
||||
//rowIndex = tableSorter.modelIndex(rowIndex);
|
||||
Object data = entry.getVascFrontendController().getVascEntryState().getEntryDataList().get(rowIndex);
|
||||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(data);
|
||||
} else {
|
||||
entry.getVascFrontendController().getVascEntryState().setEntryDataObject(null);
|
||||
}
|
||||
}
|
||||
}
|
||||
class JComponentTableHeaderCellRenderer extends DefaultTableCellRenderer {
|
||||
private static final long serialVersionUID = 10L;
|
||||
@Override
|
||||
|
|
@ -517,12 +523,12 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
}
|
||||
|
||||
if (entry != null) {
|
||||
JTableHeader header = table.getTableHeader();
|
||||
if (header != null) {
|
||||
setForeground(header.getForeground());
|
||||
setBackground(header.getBackground());
|
||||
setFont(header.getFont());
|
||||
}
|
||||
JTableHeader header = table.getTableHeader();
|
||||
if (header != null) {
|
||||
setForeground(header.getForeground());
|
||||
setBackground(header.getBackground());
|
||||
setFont(header.getFont());
|
||||
}
|
||||
}
|
||||
setBorder(UIManager.getBorder("TableHeader.cellBorder"));
|
||||
return this;
|
||||
|
|
@ -570,11 +576,11 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
logger.fine("Row Action");
|
||||
try {
|
||||
action.doRowAction(entry, entry.getVascFrontendController().getVascEntryState().getEntryDataObject());
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,e);
|
||||
}
|
||||
try {
|
||||
action.doRowAction(entry, entry.getVascFrontendController().getVascEntryState().getEntryDataObject());
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -588,11 +594,11 @@ public class SwingVascFrontend extends AbstractVascFrontend {
|
|||
|
||||
public void actionPerformed(ActionEvent event) {
|
||||
logger.fine("Global Action");
|
||||
try {
|
||||
action.doGlobalAction(entry);
|
||||
} catch (Exception e) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,e);
|
||||
}
|
||||
try {
|
||||
action.doGlobalAction(entry);
|
||||
} catch (VascException e) {
|
||||
throw new VascFrontendException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,9 +31,10 @@ import javax.swing.JComponent;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
|
||||
|
||||
|
|
@ -129,8 +130,8 @@ class SelectActionListener implements ActionListener {
|
|||
boolean value = ((JCheckBox)e.getSource()).isSelected();
|
||||
try {
|
||||
model.setValue(value);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -29,9 +29,9 @@ import javax.swing.JComponent;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -32,9 +32,10 @@ import javax.swing.JComponent;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
|
||||
|
||||
|
|
@ -139,8 +140,8 @@ class SelectActionListener3 implements ActionListener {
|
|||
Color newColor = JColorChooser.showDialog(null,"Choose a color...",cur);
|
||||
try {
|
||||
model.setValue(newColor);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
} else {
|
||||
String cur=null;
|
||||
|
|
@ -158,8 +159,8 @@ class SelectActionListener3 implements ActionListener {
|
|||
Color newColor = JColorChooser.showDialog(null,"Choose a color...",c);
|
||||
String newColorString = "#"+Integer.toHexString( newColor.getRGB() & 0x00ffffff );
|
||||
model.setValue(newColorString);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,9 +32,10 @@ import javax.swing.JComponent;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
import com.michaelbaranov.microba.calendar.DatePicker;
|
||||
|
||||
|
|
@ -132,8 +133,8 @@ class SelectActionListener2 implements ActionListener {
|
|||
Date value = ((DatePicker)e.getSource()).getDate();
|
||||
try {
|
||||
model.setValue(value);
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ve) {
|
||||
throw new VascFrontendException(ve);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -29,9 +29,9 @@ import javax.swing.JLabel;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -35,11 +35,12 @@ import javax.swing.ListCellRenderer;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascSelectItem;
|
||||
import net.forwardfire.vasc.core.ui.VascSelectItemModel;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.frontend.VascFrontendException;
|
||||
|
||||
|
||||
|
||||
|
|
@ -69,8 +70,8 @@ public class SwingList implements VascUIComponent {
|
|||
VascSelectItem i = (VascSelectItem)((JComboBox)e.getSource()).getSelectedItem();
|
||||
try {
|
||||
model.setValue(i.getValue());
|
||||
} catch (Exception ee) {
|
||||
entry.getVascFrontendController().getVascFrontendHelper().handleException(entry,ee);
|
||||
} catch (VascException ee) {
|
||||
throw new VascFrontendException(ee);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -31,9 +31,9 @@ import javax.swing.event.DocumentListener;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -34,9 +34,9 @@ import javax.swing.event.DocumentListener;
|
|||
|
||||
import net.forwardfire.vasc.core.VascEntry;
|
||||
import net.forwardfire.vasc.core.VascEntryField;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
import net.forwardfire.vasc.core.ui.VascUIComponent;
|
||||
import net.forwardfire.vasc.core.ui.VascValueModel;
|
||||
import net.forwardfire.vasc.core.VascException;
|
||||
|
||||
/**
|
||||
*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue