public void actionPerformed()

in HSQL/src/org/hsqldb1/util/ZaurusEditor.java [226:374]


    public void actionPerformed(ActionEvent e) {

        Button button = (Button) e.getSource();

        if (button == bSearchRow) {
            this.resetLastButtonDelete();

            // System.out.println("pressed search");
            aktHoldNr = getChoosenTableIndex();

            // search all rows
            int numberOfRows =
                ((ZaurusTableForm) vHoldForms.elementAt(aktHoldNr))
                    .searchRows(this
                        .getWords(), (gAllWords.getSelectedCheckbox()
                            .getLabel().equals("all")), (gIgnoreCase
                            .getSelectedCheckbox().getLabel()
                            .equals("yes")), (gNoMatchWhole
                            .getSelectedCheckbox().getLabel().equals("no")));
            String tableName = (String) vHoldTableNames.elementAt(aktHoldNr);

            if (numberOfRows > 0) {
                lForm.show(pForm, tableName);
                lButton.show(pButton, "edit");
                bPrev.setEnabled(false);

                // if there is more than one row, enable the next button
                bNext.setEnabled(numberOfRows != 1);
                ZaurusEditor.printStatus("found " + numberOfRows
                                         + " rows in table " + tableName);
            } else if (numberOfRows == 0) {
                ZaurusEditor.printStatus("no rows found in table "
                                         + tableName);

                // numberOfRows could be -1 as well, if an SQL exception was encountered
            }        // end of if (numberOfRows > 0)
        } else if ((button == bNewRow)) {

            // System.out.println("pressed new");
            aktHoldNr = getChoosenTableIndex();

            lForm.show(pForm, (String) vHoldTableNames.elementAt(aktHoldNr));
            lButton.show(pButton, "insert");
            ((ZaurusTableForm) vHoldForms.elementAt(
                aktHoldNr)).insertNewRow();
        } else if (button == bNewInsert) {
            this.resetLastButtonDelete();

            // new search in edit row
            if (((ZaurusTableForm) vHoldForms.elementAt(
                    aktHoldNr)).saveNewRow()) {

                // System.out.println("pressed new insert");
                ((ZaurusTableForm) vHoldForms.elementAt(
                    aktHoldNr)).insertNewRow();
            }
        } else if (button == bNewSearch) {
            this.resetLastButtonDelete();

            // new search in edit row
            if (((ZaurusTableForm) vHoldForms.elementAt(
                    aktHoldNr)).saveChanges()) {

                // System.out.println("pressed new search");
                lForm.show(pForm, "search");
                lButton.show(pButton, "search");
            }
        } else if (button == bNewSearch1) {
            this.resetLastButtonDelete();

            // new search in insert row, succeeds if the saving is successfull
            if (((ZaurusTableForm) vHoldForms.elementAt(
                    aktHoldNr)).saveNewRow()) {

                // System.out.println("pressed new search");
                lForm.show(pForm, "search");
                lButton.show(pButton, "search");
            }
        } else if ((button == bNext)) {
            this.resetLastButtonDelete();
            ZaurusEditor.clearStatus();

            if (((ZaurusTableForm) vHoldForms.elementAt(
                    aktHoldNr)).saveChanges()) {
                bPrev.setEnabled(true);

                if (!((ZaurusTableForm) vHoldForms.elementAt(
                        aktHoldNr)).nextRow()) {
                    bNext.setEnabled(false);
                }
            }
        } else if ((button == bPrev)) {
            this.resetLastButtonDelete();
            ZaurusEditor.clearStatus();

            if (((ZaurusTableForm) vHoldForms.elementAt(
                    aktHoldNr)).saveChanges()) {
                bNext.setEnabled(true);

                if (!((ZaurusTableForm) vHoldForms.elementAt(
                        aktHoldNr)).prevRow()) {
                    bPrev.setEnabled(false);
                }
            }
        } else if ((button == bCancel1)) {

            // cancel in edit panel
            this.resetLastButtonDelete();
            ((ZaurusTableForm) vHoldForms.elementAt(
                aktHoldNr)).cancelChanges();
        } else if ((button == bCancel2)) {
            this.resetLastButtonDelete();

            // cancel in insert panel, just show the search panel again
            lForm.show(pForm, "search");
            lButton.show(pButton, "search");
        } else if (button == bDelete) {
            if (lastButtonDelete) {

                // delete and determine follow up actions, see comment in ZaurusTableForm.deleteRow()
                switch (((ZaurusTableForm) vHoldForms.elementAt(
                        aktHoldNr)).deleteRow()) {

                    case 1 :
                        lForm.show(pForm, "search");
                        lButton.show(pButton, "search");
                        break;

                    case 2 :
                        bPrev.setEnabled(false);
                        break;

                    case 3 :
                        bNext.setEnabled(false);
                        break;

                    default :
                        break;
                }    // end of switch (((ZaurusTableForm) vHoldForms.elementAt(aktHoldNr)).deleteRow())

                lastButtonDelete = false;
            } else {
                ZaurusEditor.printStatus(
                    "Press 'Delete' a second time to delete row.");

                lastButtonDelete = true;
            }        // end of if (lastButtonDelete)
        }            // end of if (button == Rest)
    }