Bug #1388: Fix issue updating name textbox when coming back from pop-up

FEA: ItEr76S04BugFixing
This commit is contained in:
Manuel Rego Casasnovas 2012-04-30 12:24:17 +02:00
parent b24c84cd10
commit 219dc532a9
3 changed files with 42 additions and 0 deletions

View file

@ -393,6 +393,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
IOrderElementModel model = orderModel
.getOrderElementModel(currentOrderElement);
orderElementController.openWindow(model);
updateNameFor(currentOrderElement);
updateHoursFor(currentOrderElement);
updateBudgetFor(currentOrderElement);
}
@ -619,6 +620,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
public void refreshRow(Treeitem item) {
try {
getRenderer().updateNameFor((OrderElement) item.getValue());
getRenderer().updateHoursFor((OrderElement) item.getValue());
getRenderer().updateBudgetFor((OrderElement) item.getValue());
getRenderer().render(item, item.getValue());
@ -742,4 +744,16 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
};
}
@Override
protected INameHandler<OrderElement> getNameHandler() {
return new INameHandler<OrderElement>() {
@Override
public String getNameFor(OrderElement element) {
return element.getName();
}
};
}
}

View file

@ -282,10 +282,23 @@ public class TemplatesTreeController extends
};
}
@Override
protected INameHandler<OrderElementTemplate> getNameHandler() {
return new INameHandler<OrderElementTemplate>() {
@Override
public String getNameFor(OrderElementTemplate element) {
return element.getName();
}
};
}
public void refreshRow(Treeitem item) {
try {
OrderElementTemplate orderElement = (OrderElementTemplate) item
.getValue();
getRenderer().updateNameFor(orderElement);
getRenderer().updateHoursFor(orderElement);
getRenderer().updateBudgetFor(orderElement);
getRenderer().render(item, orderElement);

View file

@ -858,6 +858,13 @@ public abstract class TreeController<T extends ITreeNode<T>> extends
}
}
public void updateNameFor(T element) {
if (!readOnly) {
Textbox textbox = nameTextboxByElement.get(element);
textbox.setValue(getNameHandler().getNameFor(element));
}
}
public void refreshBudgetValueForThisNodeAndParents(T node) {
List<T> nodeAndItsParents = getModel().getParents(node);
nodeAndItsParents.add(node);
@ -1184,6 +1191,14 @@ public abstract class TreeController<T extends ITreeNode<T>> extends
protected abstract IBudgetHandler<T> getBudgetHandler();
public interface INameHandler<T> {
String getNameFor(T element);
}
protected abstract INameHandler<T> getNameHandler();
/**
* Disable control buttons (new, up, down, indent, unindent, delete)
*/