私は最終的にいくつかの汚い仕事をしました:
<extension
point="org.eclipse.ui.internalTweaklets">
<tweaklet
definition="org.eclipse.ui.internal.tweaklets.WorkbenchImplementation"
description="Customized Detached View"
id="id1"
implementation="tweaklets.WorkbenchImplementation"
name="Customized Detached View">
</tweaklet>
</extension>
マイWorkbenchImplementation.java
public class WorkbenchImplementation extends Workbench3xImplementation {
private static final Logger logger = LoggerFactory.getLogger(WorkbenchImplementation.class);
@Override
public WorkbenchWindow createWorkbenchWindow(int newWindowNumber) {
// return super.createWorkbenchWindow(newWindowNumber);
return new WorkbenchWindow(newWindowNumber) {
@Override
protected void configureShell(Shell shell) {
super.configureShell(shell);
try {
Field field = WorkbenchWindow.class.getDeclaredField("detachedWindowShells");
field.setAccessible(true);
field.set(this, createShellPool(shell));
} catch (Exception e) {
logger.error("Error tweaking WorkbenchWindow", e);
}
}
};
}
protected ShellPool createShellPool(Shell shell) {
// return new ShellPool(null, SWT.TOOL | SWT.TITLE | SWT.MAX | SWT.RESIZE | Window.getDefaultOrientation());
return new ShellPool(null, SWT.NO_TRIM | Window.getDefaultOrientation());
}
}
を自分のコードがハイライトされていないのはなぜ? –