package addBk.addressBook;
public class AddressDisplay
extends AddressBookFrame {
static AddressBookRecord storageRecord;
static boolean editFlag = false;
static boolean emptyDb = true;
static AddressBookFrame adf =
new AddressBookFrame();
static AddressBookDatabase abd =
new AddressBookDatabase();
static AddressDisplay display =
new AddressDisplay();
public static void main(String args[]) {
adf.init();
display.setTextFieldValues(abd.getEmptyDbRecord());
editFlag = false;
}
public void setTextFieldValues(AddressBookRecord abr) {
adf.tf.setText(abr.name);
adf.ap.t0.setText(abr.address);
adf.ap.t1.setText(abr.notes);
adf.tbp.tfp.t0.setText(abr.dial_1);
adf.tbp.tfp.t1.setText(abr.dial_2);
adf.tbp.tfp.t2.setText(abr.dial_3);
adf.ep.tfp.t0.setText(abr.dial_1);
adf.ep.tfp.t1.setText(abr.dial_2);
adf.ep.tfp.t2.setText(abr.dial_3);
}
public AddressBookRecord getTextFieldValues() {
AddressBookRecord abr =
new AddressBookRecord();
abr.name = adf.tf.getText();
abr.address = adf.ap.t0.getText();
abr.notes = adf.ap.t1.getText();
if (!editMode) {
abr.dial_1 = adf.tbp.tfp.t0.getText();
abr.dial_2 = adf.tbp.tfp.t1.getText();
abr.dial_3 = adf.tbp.tfp.t2.getText();
} else {
abr.dial_1 = adf.ep.tfp.t0.getText();
abr.dial_2 = adf.ep.tfp.t1.getText();
abr.dial_3 = adf.ep.tfp.t2.getText();
}
return (abr);
}
public void nextRecord() {
abd.incrementRecord();
storageRecord = (abd.readRecord());
display.setTextFieldValues(abd.readRecord());
}
public void prevRecord() {
abd.decrementRecord();
storageRecord = (abd.readRecord());
display.setTextFieldValues(abd.readRecord());
}
public void addRecord() {
AddressBookRecord abr = display.getTextFieldValues();
abd.addRecord(abr);
storageRecord = (abd.readRecord());
adf.ip.indexList.add(abr.name);
display.setIndexItems();
display.editFlag = false;
}
public void deleteCurrentRecord() {
abd.deleteCurrentRecord();
display.setIndexItems();
display.editFlag = false;
storageRecord = (abd.readRecord());
}
public void saveCurrentRecord() {
System.out.println("saving current record");
abd.saveCurrentRecord(getTextFieldValues());
abd.sort();
display.setIndexItems();
storageRecord = (abd.readRecord());
display.editFlag = false;
}
public void revertRecord() {
abd.saveCurrentRecord(storageRecord);
storageRecord = (abd.readRecord());
display.setTextFieldValues(abd.readRecord());
display.editFlag = false;
}
public void setEditFlag() {
display.editFlag = true;
}
public void toggleIndexDisplay() {
if (indexToggle == true) {
indexToggle = false;
adf.init();
} else {
indexToggle = true;
adf.init();
}
}
public void setIndexItems() {
adf.ip.indexList.removeAll();
for (int i = 0; i < (abd.getNumRecords()); i++) {
AddressBookRecord abr = abd.readRecord(i);
adf.ip.indexList.add(abr.name);
} }
public void setRecord(int i) {
abd.setRecordNumber(i);
AddressBookRecord abr = abd.readRecord();
display.setTextFieldValues(abr);
storageRecord = (abd.readRecord());
}
public void toggleEditPanel() {
if (editMode == true) {
editMode = false;
adf.tf.setEditable(false);
adf.ap.t0.setEditable(false);
adf.ap.t1.setEditable(false);
adf.init();
System.out.println("Edit mode OFF");
} else {
editMode = true;
adf.tf.setEditable(true);
adf.ap.t0.setEditable(true);
adf.ap.t1.setEditable(true);
adf.init();
System.out.println("Edit mode ON");
if (emptyDb) {
AddressBookRecord abr =
new AddressBookRecord();
abr.name = "new record";
display.setTextFieldValues(abr);
display.addRecord();
emptyDb = false;
}
}
}
public void dbMerge() {
new CSVMerge(abd);
abd.sort();
display.setRecord(0);
display.setIndexItems();
emptyDb = false;
}
public void dbExport() {
new CSVExport(abd);
}
public void dbOpen() {
abd.openDb();
display.setTextFieldValues(abd.readRecord());
display.setRecord(0);
display.setIndexItems();
emptyDb = false;
}
public void dbSave() {
abd.saveDb();
}
}