TavernerPOS - Source Code
Clone:
git clone http://www.librarysmith.co.uk/tavernerPOS
package com.floreantpos.bo.ui.explorer;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import org.jdesktop.swingx.JXTable;
import com.floreantpos.POSConstants;
import com.floreantpos.bo.ui.BOMessageDialog;
import com.floreantpos.model.MenuGroup;
import com.floreantpos.model.dao.MenuGroupDAO;
import com.floreantpos.swing.BeanTableModel;
import com.floreantpos.swing.TransparentPanel;
import com.floreantpos.ui.dialog.BeanEditorDialog;
import com.floreantpos.ui.dialog.ConfirmDeleteDialog;
import com.floreantpos.ui.model.MenuGroupForm;
public class MenuGroupExplorer extends TransparentPanel {
private JXTable table;
private BeanTableModel<MenuGroup> tableModel;
public MenuGroupExplorer() {
tableModel = new BeanTableModel<MenuGroup>(MenuGroup.class);
tableModel.addColumn(POSConstants.ID.toUpperCase(), "id"); //$NON-NLS-1$
tableModel.addColumn(POSConstants.NAME.toUpperCase(), "name"); //$NON-NLS-1$
tableModel.addColumn(POSConstants.TRANSLATED_NAME.toUpperCase(), "translatedName"); //$NON-NLS-1$
tableModel.addColumn(POSConstants.VISIBLE.toUpperCase(), "visible"); //$NON-NLS-1$
tableModel.addColumn(POSConstants.MENU_CATEGORY.toUpperCase(), "parent"); //$NON-NLS-1$
tableModel.addColumn(POSConstants.SORT_ORDER.toUpperCase(), "sortOrder"); //$NON-NLS-1$
tableModel.addColumn(POSConstants.BUTTON_COLOR.toUpperCase(), "buttonColor"); //$NON-NLS-1$
tableModel.addRows(MenuGroupDAO.getInstance().findAll());
table = new JXTable(tableModel);
// table.setDefaultRenderer(Object.class, new PosTableRenderer());
setLayout(new BorderLayout(5, 5));
add(new JScrollPane(table));
createButtonPanel();
}
private void createButtonPanel() {
ExplorerButtonPanel explorerButton = new ExplorerButtonPanel();
JButton editButton = explorerButton.getEditButton();
JButton addButton = explorerButton.getAddButton();
JButton deleteButton = explorerButton.getDeleteButton();
editButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
int index = table.getSelectedRow();
if (index < 0)
return;
index = table.convertRowIndexToModel(index);
MenuGroup category = tableModel.getRow(index);
MenuGroupForm editor = new MenuGroupForm(category);
BeanEditorDialog dialog = new BeanEditorDialog(editor);
dialog.open();
if (dialog.isCanceled())
return;
table.repaint();
} catch (Exception x) {
BOMessageDialog.showError(POSConstants.ERROR_MESSAGE, x);
}
}
});
addButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
MenuGroupForm editor = new MenuGroupForm();
BeanEditorDialog dialog = new BeanEditorDialog(editor);
dialog.open();
if (dialog.isCanceled())
return;
MenuGroup foodGroup = (MenuGroup) editor.getBean();
tableModel.addRow(foodGroup);
} catch (Exception x) {
BOMessageDialog.showError(POSConstants.ERROR_MESSAGE, x);
}
}
});
deleteButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
int index = table.getSelectedRow();
if (index < 0)
return;
index = table.convertRowIndexToModel(index);
if (ConfirmDeleteDialog.showMessage(MenuGroupExplorer.this, POSConstants.CONFIRM_DELETE, POSConstants.DELETE) != ConfirmDeleteDialog.NO) {
MenuGroup group = tableModel.getRow(index);
MenuGroupDAO foodGroupDAO = new MenuGroupDAO();
foodGroupDAO.delete(group);
tableModel.removeRow(index);
}
} catch (Exception x) {
BOMessageDialog.showError(POSConstants.ERROR_MESSAGE, x);
}
}
});
TransparentPanel panel = new TransparentPanel();
panel.add(addButton);
panel.add(editButton);
panel.add(deleteButton);
add(panel, BorderLayout.SOUTH);
}
}
- Details
- Last Updated: Monday, 04 April 2016 02:04
- Hits: 35799475