001: package org.airtodo.gui.dialog_table;
002:
003: import java.awt.Dialog;
004: import java.awt.Window;
005: import java.sql.SQLException;
006: import java.util.Map;
007: import java.util.Vector;
008:
009: import javax.swing.JCheckBoxMenuItem;
010: import javax.swing.JSeparator;
011: import javax.swing.event.ListSelectionEvent;
012: import javax.swing.event.ListSelectionListener;
013:
014: import org.air.framework.db.DbUtilsCommon;
015: import org.air.framework.db.DefaultUtils;
016: import org.air.framework.gui.actions.other.CheckBoxMenuItemDefault;
017: import org.air.framework.gui.dialogs.grid.AbstractGridDialog;
018: import org.air.framework.gui.dialogs.grid.IAddDeleteGridDialog;
019: import org.air.framework.gui.dialogs.grid.IOpenGridDialog;
020: import org.air.framework.gui.dialogs.input.AbstractDeleteDialog;
021: import org.air.framework.i18n.NlsRecords;
022: import org.airtodo.db.DbUtils;
023: import org.airtodo.gui.dialog_delete.TaskTypeDeleteDialog;
024: import org.airtodo.gui.dialog_open.TaskTypeOpenDialog;
025: import org.airtodo.headers.TaskType;
026: import org.airtodo.records.TaskTypes;
027:
028: public class TaskTypeGridNonSelectableDialog extends AbstractGridDialog
029: implements IAddDeleteGridDialog, IOpenGridDialog {
030:
031: //
032: // C O N S T R U C T O R
033: //
034: public TaskTypeGridNonSelectableDialog() {
035: super ();
036: }
037:
038: //
039: //
040: // C O N S T R U C T O R
041: //
042: public TaskTypeGridNonSelectableDialog(Dialog owner) {
043: super (owner, new TaskType());
044: init();
045: }
046:
047: //
048: // C O N S T R U C T O R
049: //
050: public TaskTypeGridNonSelectableDialog(Dialog owner, Long id) {
051: super (owner, new TaskType(), id);
052: init();
053: }
054:
055: private void init() {
056: getPopupMenu().add(getCheckBoxMenuItemDefault(), 4);
057: getPopupMenu().add(new JSeparator(), 5);
058: getTable().getSelectionModel().addListSelectionListener(
059: new ListSelectionListener() {
060: public void valueChanged(ListSelectionEvent e) {
061: Map map = getTable().getSelectedRecord();
062: boolean b = map != null;
063: getCheckBoxMenuItemDefault().setEnabled(b);
064: if (b) {
065: boolean dflt = DefaultUtils
066: .isDefaultRecord(TaskTypes.class,
067: map);
068: getCheckBoxMenuItemDefault().setSelected(
069: dflt);
070: }
071: }
072: });
073: }
074:
075: private JCheckBoxMenuItem menuItem;
076:
077: private JCheckBoxMenuItem getCheckBoxMenuItemDefault() {
078: if (menuItem == null)
079: menuItem = new CheckBoxMenuItemDefault(this ,
080: TaskTypes.class);
081: return menuItem;
082: }
083:
084: @Override
085: public Vector<Map> getDataVector() throws SQLException {
086: return DbUtils.selectItem();
087: }
088:
089: public AbstractDeleteDialog getDeleteDialog(AbstractGridDialog owner) {
090: return new TaskTypeDeleteDialog(owner);
091: }
092:
093: public Window getOpenDialog(
094: AbstractGridDialog abstractAddDeleteOpenDialog) {
095: return new TaskTypeOpenDialog(abstractAddDeleteOpenDialog);
096: }
097:
098: @Override
099: public String getDialogTitle() {
100: return NlsRecords.getTextPluralImenitelniy(TaskTypes.class);
101: }
102:
103: public int insert(Map map) throws SQLException {
104: return DbUtilsCommon.insert(map, TaskTypes.class);
105: }
106: }
|