package org.tizen.webuibuilder.gef.policies;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.Set;
import org.eclipse.draw2d.PositionConstants;
import org.eclipse.draw2d.geometry.Point;
composite.setFocus();
}
+
+ private void renameBindingProperties(String newValue, String oldValue) {
+ TableItem[] tableItems = infoTableViewer.getTable().getItems();
+ for (TableItem tableItem : tableItems) {
+ Part part = (Part) tableItem.getData("PART");
+ if (part != null) {
+ String propertyValue =
+ part.getProperty(BuilderConstants.ATTRIBUTE_DATA_BIND).getValue();
+ if ((propertyValue != null) && (!propertyValue.isEmpty())) {
+ Map<String, String> bindingInfos = DataBindingTooltipParser.parseToMap(propertyValue);
+ Object[] bindingTypes = bindingInfos.keySet().toArray();
+ for (Object bindingType : bindingTypes) {
+ String value = bindingInfos.get(bindingType);
+ if ((value != null) && (value.startsWith(oldValue))) {
+ value = value.replace(oldValue, newValue);
+ bindingInfos.remove(bindingType.toString());
+ bindingInfos.put(bindingType.toString(), value);
+ String bindingInfo = DataBindingTooltipParser.makeStringFromMap(bindingInfos);
+ part.setPropertyValue(BuilderConstants.ATTRIBUTE_DATA_BIND, bindingInfo);
+ }
+ }
+ }
+ }
+ }
+ }
/**
* Sets a project.
@Override
public void viewModelRenamed(BindingDataSetEvent e) {
+ renameBindingProperties(e.getValue(), e.getOldValue());
refresh();
}
public void viewModelChanged(BindingDataSetEvent e) {
refresh();
}
+
+ @Override
+ public void viewModelItemRenamed(BindingDataSetEvent e) {
+ renameBindingProperties(e.getValue(), e.getOldValue());
+ refresh();
+ }
}
public void renameViewModel(BindingDataSetEventType type,
BindingData bindingData, String newName, List<String> itemPath) {
if (type.equals(BindingDataSetEventType.VIEWMODEL_RENAMED)) {
+ String oldName = bindingData.getModelName();
bindingData.setModelName(newName);
+ fireEvent(new BindingDataSetEvent(BindingDataSetEventType.VIEWMODEL_RENAMED, bindingData, newName, oldName));
} else if (type.equals(BindingDataSetEventType.VIEWMODEL_ITEM_RENAMED)) {
BindingObject viewModelObject = getViewModelObject(bindingData, itemPath);
viewModelObject.setName(newName);
+ String oldPath = "";
+ for (int i=itemPath.size()-1; i>=0; i--) {
+ if (!oldPath.isEmpty()) {
+ oldPath += ".";
+ }
+ oldPath += itemPath.get(i);
+ }
+ String newPath = "";
+ for (int i=itemPath.size()-1; i>=1; i--) {
+ if (!newPath.isEmpty()) {
+ newPath += ".";
+ }
+ newPath += itemPath.get(i);
+ }
+ newPath += "." + newName;
+ fireEvent(new BindingDataSetEvent(BindingDataSetEventType.VIEWMODEL_ITEM_RENAMED, bindingData, newPath, oldPath));
}
- fireEvent(new BindingDataSetEvent(BindingDataSetEventType.VIEWMODEL_CHANGED, bindingData, null, getNumberOfViewModels() - 1 , null));
}
private BindingObject getViewModelParentObject(BindingData bindingData,
case VIEWMODEL_CHANGED:
listener.viewModelChanged(bindingEvent);
break;
+ case VIEWMODEL_ITEM_RENAMED:
+ listener.viewModelItemRenamed(bindingEvent);
+ break;
default:
assert (false);
}
private BindingData oldBindingData;
private String oldValue;
- public BindingDataSetEvent(BindingDataSetEventType type, BindingData page, int index, BindingData oldPage) {
+ public BindingDataSetEvent(BindingDataSetEventType type, BindingData page, int index, BindingData oldBindingData) {
this.type = type;
this.bindingData = page;
this.index = index;
- this.oldBindingData = oldPage;
+ this.oldBindingData = oldBindingData;
}
- public BindingDataSetEvent(BindingDataSetEventType type, BindingData page, String value, int index, BindingData oldPage) {
+ public BindingDataSetEvent(BindingDataSetEventType type, BindingData page, String value, int index, BindingData oldBindingData) {
this.type = type;
this.bindingData = page;
this.value = value;
this.index = index;
- this.oldBindingData = oldPage;
+ this.oldBindingData = oldBindingData;
}
public BindingDataSetEvent(BindingDataSetEventType type, BindingData page, String value, String oldValue) {
void viewModelMoved(BindingDataSetEvent e);
void viewModelChanged(BindingDataSetEvent e);
+
+ void viewModelItemRenamed(BindingDataSetEvent e);
}