// insert list box
mTypeCombo = new Combo(this, SWT.READ_ONLY);
mTypeCombo.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
Type newType = mTypeSystem.getType(mTypeCombo.getText());
if (mListener != null && newType != null) {
mListener.typeChanged(newType);
}
}
});
GridData typeComboData = new GridData();
typeComboData.grabExcessHorizontalSpace = true;
typeComboData.horizontalAlignment = SWT.FILL;
mTypeCombo.setLayoutData(typeComboData);
LinkedList<String> typeNameList = new LinkedList<String>();
typeNameList.add(superType.getName());
// get a collection of all types
Iterator typeIterator = mTypeSystem.getProperlySubsumedTypes(superType).iterator();
while (typeIterator.hasNext()) {
Type type = (Type) typeIterator.next();
if (!filterTypes.contains(type)) {
typeNameList.add(type.getName());
}
}
mTypeCombo.setItems(typeNameList.toArray(new String[typeNameList.size()]));