ItEr53S10AdaptacionServiciosRESTItEr52S10: Extended the effect of the 'generate code' checkbox to criterion tree.

Now the column 'code' is enabled/disabled and the code is regenerated for unsaved criteria.
This commit is contained in:
Jacobo Aragunde Pérez 2010-04-12 13:59:38 +02:00 committed by Javier Moran Rua
parent 43e3d65361
commit 3899010e16
4 changed files with 34 additions and 2 deletions

View file

@ -91,9 +91,9 @@ public class CriterionAdminController_V2 extends GenericForwardComposer {
public void goToCreateForm() {
try{
criterionsModel_V2.prepareForCreate();
setupCriterionTreeController(createComponent);
onlyOneVisible.showOnly(createComponent);
criterionsModel_V2.prepareForCreate();
setResourceComboboxValue((Combobox) createComponent.getFellowIfAny("resourceCombobox"));
Util.reloadBindings(createComponent);
}catch(Exception e){
@ -105,9 +105,9 @@ public class CriterionAdminController_V2 extends GenericForwardComposer {
public void goToEditForm(CriterionType criterionType) {
try{
criterionsModel_V2.prepareForEdit(criterionType);
setupCriterionTreeController(editComponent);
onlyOneVisible.showOnly(editComponent);
criterionsModel_V2.prepareForEdit(criterionType);
setResourceComboboxValue((Combobox) editComponent.getFellowIfAny("resourceCombobox"));
Util.reloadBindings(editComponent);
}catch(Exception e){
@ -333,6 +333,8 @@ public class CriterionAdminController_V2 extends GenericForwardComposer {
private void setupCriterionTreeController(Component comp)throws Exception {
editionTree = new CriterionTreeController(criterionsModel_V2);
editionTree.setCriterionCodeEditionDisabled(
((CriterionType)criterionsModel_V2.getCriterionType()).getGenerateCode());
editionTree.doAfterCompose(comp.getFellow(
"criterionsTree"));
}
@ -345,6 +347,10 @@ public class CriterionAdminController_V2 extends GenericForwardComposer {
((CriterionType)criterionsModel_V2.getCriterionType()).setCodeAutogenerated();
Util.reloadBindings(createComponent);
}
editionTree.regenerateCodeForUnsavedCriteria();
}
//disable code field in criterion tree controller
editionTree.setCriterionCodeEditionDisabled(ce.isChecked());
editionTree.reloadTree();
}
}

View file

@ -66,6 +66,8 @@ public class CriterionTreeController extends GenericForwardComposer {
private Textbox criterionName;
private boolean codeEditionDisabled;
public CriterionTreeitemRenderer getRenderer() {
return renderer;
}
@ -179,6 +181,7 @@ public class CriterionTreeController extends GenericForwardComposer {
Treecell cellForCode = new Treecell();
cellForCode.setStyle("center");
Textbox codeLabel = new Textbox();
codeLabel.setDisabled(codeEditionDisabled);
cellForCode.appendChild(Util.bind(codeLabel,
new Util.Getter<String>() {
@ -378,6 +381,14 @@ public class CriterionTreeController extends GenericForwardComposer {
reloadTree();
}
public void setCriterionCodeEditionDisabled(boolean disabled) {
codeEditionDisabled = disabled;
}
public void regenerateCodeForUnsavedCriteria() {
getModel().regenerateCodeForUnsavedCriteria();
}
public void reloadTree(){
Util.reloadBindings(tree);
}

View file

@ -428,4 +428,17 @@ public class CriterionTreeModel implements ICriterionTreeModel{
}
return false;
}
public void regenerateCodeForUnsavedCriteria() {
regenerateCodeForUnsavedCriteria(criterionRootDTO.getChildren());
}
private void regenerateCodeForUnsavedCriteria(List<CriterionDTO> criterionDTOs){
for(CriterionDTO criterionDTO : criterionDTOs){
if(criterionDTO.getCriterion().isNewObject()) {
criterionDTO.getCriterion().setCodeAutogenerated();
}
regenerateCodeForUnsavedCriteria(criterionDTO.getChildren());
}
}
}

View file

@ -68,4 +68,6 @@ public interface ICriterionTreeModel {
void indent(CriterionDTO nodeToIndent);
void unindent(CriterionDTO nodeToIndent);
void regenerateCodeForUnsavedCriteria();
}