else
throw new GUIException("Unknown property type [" + propertyNode.getAttribute("type") + "]");
}
public void modelChanged(ModelChangeEvent e) throws GUIException {
MapChangeEvent event = (MapChangeEvent) e;
if (event.getKey().equals("value")) {
if (propertyNode.getNodeName().equals("property")) {
NamedNodeMap map = propertyNode.getAttributes();
for (int i = 0; i < map.getLength(); i++) {
String name = map.item(i).getNodeName();
if (!name.equals("name") && !name.equals("type")) {
propertyNode.removeAttribute(map.item(i).getNodeName());
}
}
if (!propertyNode.getAttribute("name").equals("border")) {
NodeList children = propertyNode.getChildNodes();
int length = children.getLength();
for (int i = 0; i < length; i++) {
propertyNode.removeChild(children.item(0));
}
}
getPropertyAdapter().toDOM(event.getNewValue(), propertyNode);
try {
userObject.widget.setProperty(
(String) getValue("name"),
PropertyFactory.getInstance().constructProperty(propertyNode));
} catch (Exception ex) {
new MessageDialog(ex);
}
WidgetTree.revalidate(userObject.widget);
} else if (propertyNode.getNodeName().equals("layout")) {
getPropertyAdapter().toDOM(event.getNewValue(), propertyNode);
if (!propertyNode.getAttribute("type").equals("hig") && !propertyNode.getAttribute("type").equals("")) {
propertyNode.removeAttribute("horiz");
propertyNode.removeAttribute("vert");
propertyNode.removeAttribute("hweights");