1 11 package org.eclipse.help.ui.internal; 12 13 import org.eclipse.core.runtime.Platform; 14 import org.eclipse.help.ILiveHelpAction; 15 import org.eclipse.jface.preference.PreferenceDialog; 16 import org.eclipse.swt.widgets.Display; 17 import org.eclipse.swt.widgets.Shell; 18 import org.eclipse.ui.IWorkbenchWindow; 19 import org.eclipse.ui.PlatformUI; 20 import org.eclipse.ui.dialogs.PreferencesUtil; 21 22 public class ShowCapabilitiesPreferenceAction implements ILiveHelpAction { 23 private boolean narrow; 24 25 public void setInitializationString(String data) { 26 if (data!=null && data.equals("narrow")) narrow=true; 28 } 29 30 public void run() { 31 final Display display = PlatformUI.getWorkbench().getDisplay(); 32 display.syncExec(new Runnable () { 33 public void run() { 34 Shell windowShell=null; 35 if (!narrow) { 36 Shell[] shells = display.getShells(); 37 for (int i=0; i<shells.length; i++) { 38 Object data = shells[i].getData(); 39 if (data!=null && data instanceof IWorkbenchWindow) { 40 windowShell=shells[i]; 41 break; 42 } 43 } 44 } 45 if (windowShell!=null) { 46 windowShell.forceActive(); 47 if (Platform.getWS().equals(Platform.WS_WIN32)) { 48 windowShell.setVisible(false); 51 windowShell.setMinimized(true); 52 windowShell.setVisible(true); 53 windowShell.setMinimized(false); 54 } 55 } 56 PreferenceDialog dialog = PreferencesUtil 57 .createPreferenceDialogOn(windowShell, getCapabilityPageId(), 58 null, null); 59 dialog.open(); 60 } 61 }); 62 } 63 64 private String getCapabilityPageId() { 65 return "org.eclipse.sdk.capabilities"; } 67 } | Popular Tags |