/* (non-Javadoc)
* @see org.eclipse.gef.EditPartFactory#createEditPart(org.eclipse.gef.EditPart, java.lang.Object)
*/
@Override
public EditPart createEditPart(EditPart context, Object model) {
AbstractTreeEditPart part = null;
if (model instanceof RouteSupport) {
part = new RouteTreeEditPart();
} else if (model instanceof RouteContainer) {
part = new ContainerTreeEditPart();
} else {
part = new GenericTreeEditPart();
}
if (part != null) {
part.setModel(model);
Widget widget = null;
if (context != null) {
EditPartViewer viewer = context.getViewer();
if (viewer == null) {
RootEditPart root = context.getRoot();
if (root != null) {
viewer = root.getViewer();
}
}
if (viewer != null) {
widget = viewer.getControl();
}
}
if (widget == null) {
widget = owner.getTree();
}
if (widget != null) {
part.setWidget(widget);
} else {
Activator.getLogger().debug("Could not find widget yet for part " + part);
}
}