org.eclipse.ui.internal.PluginAction#runWithEvent():
if (delegate == null) {
createDelegate();
// ...
}
delegate.run(this);
if (ad.getAction() instanceof ObjectPluginAction) {
final ObjectPluginAction action = (ObjectPluginAction) ad.getAction();
ISafeRunnable runnable = new ISafeRunnable() {
// ...
public void run() throws Exception {
action.setActivePart(part);
action.selectionChanged(selection);
}
};
SafeRunner.run(runnable);
}
if (actionDelegate instanceof IObjectActionDelegate && activePart != null) {
final IObjectActionDelegate objectActionDelegate = (IObjectActionDelegate) actionDelegate;
final ISafeRunnable runnable = new ISafeRunnable() {
public void run() throws Exception {
objectActionDelegate.setActivePart(ObjectPluginAction.this, activePart);
}
// ...
}
if (delegate == null && isOkToCreateDelegate()) {
createDelegate();
} else {
refreshEnablement();
}
if (getStyle() == IAction.AS_DROP_DOWN_MENU && !WWinPluginPulldown.class.isInstance(this)) {
return true;
}
// test if the plugin has loaded
String bundleId = configElement.getNamespace();
return BundleUtility.isActive(bundleId);
if (delegate != null) {
delegate.selectionChanged(this, selection);
}

ISafeRunnable runnable
6874




被折叠的 条评论
为什么被折叠?



