public void valueChanged(String newText,
String newValue) {
makeDirty();
selectedValue = new DSLVariableValue( newValue );
//When the value changes we need to reset the content of *ALL* DSLSentenceWidget drop-downs.
//An improvement would be to determine the chain of dependent drop-downs and only update
//children of the one whose value changes. However in reality DSLSentences only contain
//a couple of drop-downs so it's quicker to simply update them all.