00001 00066 package com.arcle.rmt.superwaba.vc.rqml; 00067 import waba.ui.MessageBox; 00068 00069 import com.arcle.rmt.rqml.RQMLFirstClass; 00070 import com.arcle.rmt.superwaba.vc.ElementEditController; 00071 import com.arcle.rmt.superwaba.framework.View; 00072 import com.arcle.rmt.superwaba.model.Document; 00073 00081 public abstract class FirstClassEditController extends ElementEditController { 00082 public FirstClassEditController(Document doc, RQMLFirstClass elem) { 00083 super(doc); 00084 _element = elem; 00085 } 00086 00087 //----------------------------------------------------------------------- 00088 // Still-abstract methods 00089 00090 protected abstract void doDeleteElement(); 00091 00092 00093 //----------------------------------------------------------------------- 00094 // 00095 00096 public void viewInitialized(View v) { 00097 FirstClassEdit view = (FirstClassEdit) v; 00098 super.viewInitialized(view); 00099 view.loadData(getElement()); 00100 view.repaintNow(); 00101 } 00102 00103 //----------------------------------------------------------------------- 00104 // Command Handlers 00105 00106 public void cmdOk() { 00107 FirstClassEdit view = (FirstClassEdit) getView(); 00108 view.saveData(getElement()); 00109 view.unpop(); 00110 } 00111 00112 public void cmdCancel() { 00113 FirstClassEdit view = (FirstClassEdit) getView(); 00114 view.unpop(); 00115 00116 } 00117 00118 public void cmdDelete() { 00119 FirstClassEdit view = (FirstClassEdit) getView(); 00120 MessageBox mb = createDeleteMessageBox(); 00121 view.popupBlockingModal(mb); 00122 if (mb.getPressedButtonIndex() == 0) { 00123 view.unpop(); 00124 doDeleteElement(); 00125 } 00126 } 00127 00128 //----------------------------------------------------------------------- 00129 // Accessor Methods 00130 00131 00135 protected RQMLFirstClass getElement() { 00136 return _element; 00137 } 00138 00142 private RQMLFirstClass _element; 00143 }