Lines 10-43
Link Here
|
10 |
*******************************************************************************/ |
10 |
*******************************************************************************/ |
11 |
package org.eclipse.ui.internal.ide.application; |
11 |
package org.eclipse.ui.internal.ide.application; |
12 |
|
12 |
|
|
|
13 |
import org.eclipse.ui.PartInitException; |
14 |
|
15 |
import com.ibm.icu.text.Collator; |
13 |
import java.lang.reflect.InvocationTargetException; |
16 |
import java.lang.reflect.InvocationTargetException; |
14 |
import java.net.URL; |
17 |
import java.net.URL; |
15 |
import java.util.ArrayList; |
18 |
import java.util.*; |
16 |
import java.util.Iterator; |
19 |
import org.eclipse.core.filesystem.EFS; |
17 |
import java.util.Map; |
|
|
18 |
import java.util.TreeMap; |
19 |
|
20 |
import org.eclipse.core.net.proxy.IProxyService; |
20 |
import org.eclipse.core.net.proxy.IProxyService; |
21 |
import org.eclipse.core.resources.IContainer; |
21 |
import org.eclipse.core.resources.*; |
22 |
import org.eclipse.core.resources.IResource; |
22 |
import org.eclipse.core.runtime.*; |
23 |
import org.eclipse.core.resources.ResourcesPlugin; |
|
|
24 |
import org.eclipse.core.resources.WorkspaceJob; |
25 |
import org.eclipse.core.runtime.CoreException; |
26 |
import org.eclipse.core.runtime.FileLocator; |
27 |
import org.eclipse.core.runtime.IAdaptable; |
28 |
import org.eclipse.core.runtime.IBundleGroup; |
29 |
import org.eclipse.core.runtime.IBundleGroupProvider; |
30 |
import org.eclipse.core.runtime.IProgressMonitor; |
31 |
import org.eclipse.core.runtime.IStatus; |
32 |
import org.eclipse.core.runtime.MultiStatus; |
33 |
import org.eclipse.core.runtime.Path; |
34 |
import org.eclipse.core.runtime.Platform; |
35 |
import org.eclipse.core.runtime.Status; |
36 |
import org.eclipse.core.runtime.jobs.Job; |
23 |
import org.eclipse.core.runtime.jobs.Job; |
37 |
import org.eclipse.jface.dialogs.ErrorDialog; |
24 |
import org.eclipse.jface.dialogs.*; |
38 |
import org.eclipse.jface.dialogs.IDialogSettings; |
|
|
39 |
import org.eclipse.jface.dialogs.MessageDialog; |
40 |
import org.eclipse.jface.dialogs.TrayDialog; |
41 |
import org.eclipse.jface.operation.IRunnableWithProgress; |
25 |
import org.eclipse.jface.operation.IRunnableWithProgress; |
42 |
import org.eclipse.jface.preference.IPreferenceStore; |
26 |
import org.eclipse.jface.preference.IPreferenceStore; |
43 |
import org.eclipse.jface.resource.ImageDescriptor; |
27 |
import org.eclipse.jface.resource.ImageDescriptor; |
Lines 46-68
Link Here
|
46 |
import org.eclipse.swt.SWT; |
30 |
import org.eclipse.swt.SWT; |
47 |
import org.eclipse.swt.widgets.Display; |
31 |
import org.eclipse.swt.widgets.Display; |
48 |
import org.eclipse.swt.widgets.Listener; |
32 |
import org.eclipse.swt.widgets.Listener; |
49 |
import org.eclipse.ui.PlatformUI; |
33 |
import org.eclipse.ui.*; |
50 |
import org.eclipse.ui.application.IWorkbenchConfigurer; |
34 |
import org.eclipse.ui.application.*; |
51 |
import org.eclipse.ui.application.IWorkbenchWindowConfigurer; |
|
|
52 |
import org.eclipse.ui.application.WorkbenchAdvisor; |
53 |
import org.eclipse.ui.application.WorkbenchWindowAdvisor; |
54 |
import org.eclipse.ui.ide.IDE; |
35 |
import org.eclipse.ui.ide.IDE; |
55 |
import org.eclipse.ui.internal.ISelectionConversionService; |
36 |
import org.eclipse.ui.internal.*; |
56 |
import org.eclipse.ui.internal.PluginActionBuilder; |
37 |
import org.eclipse.ui.internal.ide.*; |
57 |
import org.eclipse.ui.internal.Workbench; |
|
|
58 |
import org.eclipse.ui.internal.ide.AboutInfo; |
59 |
import org.eclipse.ui.internal.ide.IDEInternalPreferences; |
60 |
import org.eclipse.ui.internal.ide.IDEInternalWorkbenchImages; |
61 |
import org.eclipse.ui.internal.ide.IDESelectionConversionService; |
62 |
import org.eclipse.ui.internal.ide.IDEWorkbenchActivityHelper; |
63 |
import org.eclipse.ui.internal.ide.IDEWorkbenchErrorHandler; |
64 |
import org.eclipse.ui.internal.ide.IDEWorkbenchMessages; |
65 |
import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin; |
66 |
import org.eclipse.ui.internal.ide.model.WorkbenchAdapterBuilder; |
38 |
import org.eclipse.ui.internal.ide.model.WorkbenchAdapterBuilder; |
67 |
import org.eclipse.ui.internal.ide.undo.WorkspaceUndoMonitor; |
39 |
import org.eclipse.ui.internal.ide.undo.WorkspaceUndoMonitor; |
68 |
import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog; |
40 |
import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog; |
Lines 70-80
Link Here
|
70 |
import org.eclipse.ui.statushandlers.AbstractStatusHandler; |
42 |
import org.eclipse.ui.statushandlers.AbstractStatusHandler; |
71 |
import org.eclipse.ui.statushandlers.StatusManager; |
43 |
import org.eclipse.ui.statushandlers.StatusManager; |
72 |
import org.eclipse.update.core.SiteManager; |
44 |
import org.eclipse.update.core.SiteManager; |
73 |
import org.osgi.framework.Bundle; |
45 |
import org.osgi.framework.*; |
74 |
import org.osgi.framework.ServiceReference; |
|
|
75 |
import org.osgi.framework.Version; |
76 |
|
77 |
import com.ibm.icu.text.Collator; |
78 |
|
46 |
|
79 |
/** |
47 |
/** |
80 |
* IDE-specified workbench advisor which configures the workbench for use as an |
48 |
* IDE-specified workbench advisor which configures the workbench for use as an |
Lines 128-134
Link Here
|
128 |
private IDEIdleHelper idleHelper; |
96 |
private IDEIdleHelper idleHelper; |
129 |
|
97 |
|
130 |
private Listener settingsChangeListener; |
98 |
private Listener settingsChangeListener; |
131 |
|
99 |
|
132 |
/** |
100 |
/** |
133 |
* Support class for monitoring workspace changes and periodically |
101 |
* Support class for monitoring workspace changes and periodically |
134 |
* validating the undo history |
102 |
* validating the undo history |
Lines 140-145
Link Here
|
140 |
*/ |
108 |
*/ |
141 |
private AbstractStatusHandler ideWorkbenchErrorHandler; |
109 |
private AbstractStatusHandler ideWorkbenchErrorHandler; |
142 |
|
110 |
|
|
|
111 |
static IDEWorkbenchAdvisor getInstance() { |
112 |
return workbenchAdvisor; |
113 |
} |
114 |
|
143 |
/** |
115 |
/** |
144 |
* Creates a new workbench advisor instance. |
116 |
* Creates a new workbench advisor instance. |
145 |
*/ |
117 |
*/ |
Lines 159-165
Link Here
|
159 |
public void initialize(IWorkbenchConfigurer configurer) { |
131 |
public void initialize(IWorkbenchConfigurer configurer) { |
160 |
|
132 |
|
161 |
PluginActionBuilder.setAllowIdeLogging(true); |
133 |
PluginActionBuilder.setAllowIdeLogging(true); |
162 |
|
134 |
|
163 |
// make sure we always save and restore workspace state |
135 |
// make sure we always save and restore workspace state |
164 |
configurer.setSaveAndRestore(true); |
136 |
configurer.setSaveAndRestore(true); |
165 |
|
137 |
|
Lines 186-192
Link Here
|
186 |
} |
158 |
} |
187 |
} |
159 |
} |
188 |
|
160 |
|
189 |
// register shared images |
|
|
190 |
declareWorkbenchImages(); |
161 |
declareWorkbenchImages(); |
191 |
|
162 |
|
192 |
// initialize the activity helper |
163 |
// initialize the activity helper |
Lines 194-200
Link Here
|
194 |
|
165 |
|
195 |
// initialize idle handler |
166 |
// initialize idle handler |
196 |
idleHelper = new IDEIdleHelper(configurer); |
167 |
idleHelper = new IDEIdleHelper(configurer); |
197 |
|
168 |
|
198 |
// initialize the workspace undo monitor |
169 |
// initialize the workspace undo monitor |
199 |
workspaceUndoMonitor = WorkspaceUndoMonitor.getInstance(); |
170 |
workspaceUndoMonitor = WorkspaceUndoMonitor.getInstance(); |
200 |
|
171 |
|
Lines 215-228
Link Here
|
215 |
Job.getJobManager().suspend(); |
186 |
Job.getJobManager().suspend(); |
216 |
|
187 |
|
217 |
// Register the build actions |
188 |
// Register the build actions |
218 |
IProgressService service = PlatformUI.getWorkbench() |
189 |
IProgressService service = PlatformUI.getWorkbench().getProgressService(); |
219 |
.getProgressService(); |
190 |
ImageDescriptor newImage = IDEInternalWorkbenchImages.getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC); |
220 |
ImageDescriptor newImage = IDEInternalWorkbenchImages |
191 |
service.registerIconForFamily(newImage, ResourcesPlugin.FAMILY_MANUAL_BUILD); |
221 |
.getImageDescriptor(IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC); |
192 |
service.registerIconForFamily(newImage, ResourcesPlugin.FAMILY_AUTO_BUILD); |
222 |
service.registerIconForFamily(newImage, |
|
|
223 |
ResourcesPlugin.FAMILY_MANUAL_BUILD); |
224 |
service.registerIconForFamily(newImage, |
225 |
ResourcesPlugin.FAMILY_AUTO_BUILD); |
226 |
} |
193 |
} |
227 |
|
194 |
|
228 |
/* |
195 |
/* |
Lines 235-253
Link Here
|
235 |
refreshFromLocal(); |
202 |
refreshFromLocal(); |
236 |
activateProxyService(); |
203 |
activateProxyService(); |
237 |
checkUpdates(); |
204 |
checkUpdates(); |
238 |
((Workbench) PlatformUI.getWorkbench()).registerService( |
205 |
((Workbench) PlatformUI.getWorkbench()).registerService(ISelectionConversionService.class, new IDESelectionConversionService()); |
239 |
ISelectionConversionService.class, |
|
|
240 |
new IDESelectionConversionService()); |
241 |
|
206 |
|
242 |
initializeSettingsChangeListener(); |
207 |
initializeSettingsChangeListener(); |
243 |
Display.getCurrent().addListener(SWT.Settings, |
208 |
Display.getCurrent().addListener(SWT.Settings, settingsChangeListener); |
244 |
settingsChangeListener); |
209 |
runStartupCommand(Platform.getCommandLineArgs()); |
245 |
} finally {// Resume background jobs after we startup |
210 |
} finally {// Resume background jobs after we startup |
246 |
Job.getJobManager().resume(); |
211 |
Job.getJobManager().resume(); |
247 |
} |
212 |
} |
248 |
} |
213 |
} |
249 |
|
214 |
|
250 |
/** |
215 |
/** |
|
|
216 |
* Runs a command specified on the command line, if any |
217 |
*/ |
218 |
boolean runStartupCommand(String[] arguments) { |
219 |
if (arguments.length == 0) |
220 |
return false; |
221 |
//if the last command line argument is a file, open that file in an editor |
222 |
final IPath path = new Path(arguments[arguments.length - 1]); |
223 |
if (!path.toFile().exists()) |
224 |
return false; |
225 |
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); |
226 |
if (window == null) { |
227 |
IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows(); |
228 |
if (windows.length > 0) |
229 |
window = windows[0]; |
230 |
} |
231 |
if (window == null) |
232 |
return false; |
233 |
final IWorkbenchPage page = window.getActivePage(); |
234 |
if (page == null) |
235 |
return false; |
236 |
window.getShell().getDisplay().syncExec(new Runnable() { |
237 |
public void run() { |
238 |
try { |
239 |
IDE.openEditorOnFileStore(page, EFS.getLocalFileSystem().getStore(path)); |
240 |
} catch (PartInitException e) { |
241 |
IDEWorkbenchPlugin.log("Error opening editor on path: " + path, e); //$NON-NLS-1$ |
242 |
} |
243 |
} |
244 |
}); |
245 |
return true; |
246 |
} |
247 |
|
248 |
/** |
251 |
* Activate the proxy service by obtaining it. |
249 |
* Activate the proxy service by obtaining it. |
252 |
*/ |
250 |
*/ |
253 |
private void activateProxyService() { |
251 |
private void activateProxyService() { |
Lines 260-266
Link Here
|
260 |
} |
258 |
} |
261 |
if (proxyService == null) { |
259 |
if (proxyService == null) { |
262 |
IDEWorkbenchPlugin.log("Proxy service could not be found."); //$NON-NLS-1$ |
260 |
IDEWorkbenchPlugin.log("Proxy service could not be found."); //$NON-NLS-1$ |
263 |
} |
261 |
} |
264 |
} |
262 |
} |
265 |
|
263 |
|
266 |
/** |
264 |
/** |
Lines 269-276
Link Here
|
269 |
private void initializeSettingsChangeListener() { |
267 |
private void initializeSettingsChangeListener() { |
270 |
settingsChangeListener = new Listener() { |
268 |
settingsChangeListener = new Listener() { |
271 |
|
269 |
|
272 |
boolean currentHighContrast = Display.getCurrent() |
270 |
boolean currentHighContrast = Display.getCurrent().getHighContrast(); |
273 |
.getHighContrast(); |
|
|
274 |
|
271 |
|
275 |
public void handleEvent(org.eclipse.swt.widgets.Event event) { |
272 |
public void handleEvent(org.eclipse.swt.widgets.Event event) { |
276 |
if (Display.getCurrent().getHighContrast() == currentHighContrast) |
273 |
if (Display.getCurrent().getHighContrast() == currentHighContrast) |
Lines 279-291
Link Here
|
279 |
currentHighContrast = !currentHighContrast; |
276 |
currentHighContrast = !currentHighContrast; |
280 |
|
277 |
|
281 |
// make sure they really want to do this |
278 |
// make sure they really want to do this |
282 |
if (new MessageDialog(null, |
279 |
if (new MessageDialog(null, IDEWorkbenchMessages.SystemSettingsChange_title, null, IDEWorkbenchMessages.SystemSettingsChange_message, MessageDialog.QUESTION, new String[] {IDEWorkbenchMessages.SystemSettingsChange_yes, IDEWorkbenchMessages.SystemSettingsChange_no}, 1).open() == Window.OK) { |
283 |
IDEWorkbenchMessages.SystemSettingsChange_title, null, |
|
|
284 |
IDEWorkbenchMessages.SystemSettingsChange_message, |
285 |
MessageDialog.QUESTION, new String[] { |
286 |
IDEWorkbenchMessages.SystemSettingsChange_yes, |
287 |
IDEWorkbenchMessages.SystemSettingsChange_no }, |
288 |
1).open() == Window.OK) { |
289 |
PlatformUI.getWorkbench().restart(); |
280 |
PlatformUI.getWorkbench().restart(); |
290 |
} |
281 |
} |
291 |
} |
282 |
} |
Lines 322-329
Link Here
|
322 |
* @see org.eclipse.ui.application.WorkbenchAdvisor#preShutdown() |
313 |
* @see org.eclipse.ui.application.WorkbenchAdvisor#preShutdown() |
323 |
*/ |
314 |
*/ |
324 |
public boolean preShutdown() { |
315 |
public boolean preShutdown() { |
325 |
Display.getCurrent().removeListener(SWT.Settings, |
316 |
Display.getCurrent().removeListener(SWT.Settings, settingsChangeListener); |
326 |
settingsChangeListener); |
|
|
327 |
return super.preShutdown(); |
317 |
return super.preShutdown(); |
328 |
} |
318 |
} |
329 |
|
319 |
|
Lines 332-339
Link Here
|
332 |
* |
322 |
* |
333 |
* @see org.eclipse.ui.application.WorkbenchAdvisor#createWorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer) |
323 |
* @see org.eclipse.ui.application.WorkbenchAdvisor#createWorkbenchWindowAdvisor(org.eclipse.ui.application.IWorkbenchWindowConfigurer) |
334 |
*/ |
324 |
*/ |
335 |
public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor( |
325 |
public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) { |
336 |
IWorkbenchWindowConfigurer configurer) { |
|
|
337 |
return new IDEWorkbenchWindowAdvisor(this, configurer); |
326 |
return new IDEWorkbenchWindowAdvisor(this, configurer); |
338 |
} |
327 |
} |
339 |
|
328 |
|
Lines 343-358
Link Here
|
343 |
* @return boolean |
332 |
* @return boolean |
344 |
*/ |
333 |
*/ |
345 |
public boolean hasIntro() { |
334 |
public boolean hasIntro() { |
346 |
return getWorkbenchConfigurer().getWorkbench().getIntroManager() |
335 |
return getWorkbenchConfigurer().getWorkbench().getIntroManager().hasIntro(); |
347 |
.hasIntro(); |
|
|
348 |
} |
336 |
} |
349 |
|
337 |
|
350 |
private void refreshFromLocal() { |
338 |
private void refreshFromLocal() { |
351 |
String[] commandLineArgs = Platform.getCommandLineArgs(); |
339 |
String[] commandLineArgs = Platform.getCommandLineArgs(); |
352 |
IPreferenceStore store = IDEWorkbenchPlugin.getDefault() |
340 |
IPreferenceStore store = IDEWorkbenchPlugin.getDefault().getPreferenceStore(); |
353 |
.getPreferenceStore(); |
341 |
boolean refresh = store.getBoolean(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP); |
354 |
boolean refresh = store |
|
|
355 |
.getBoolean(IDEInternalPreferences.REFRESH_WORKSPACE_ON_STARTUP); |
356 |
if (!refresh) { |
342 |
if (!refresh) { |
357 |
return; |
343 |
return; |
358 |
} |
344 |
} |
Lines 366-373
Link Here
|
366 |
|
352 |
|
367 |
final IContainer root = ResourcesPlugin.getWorkspace().getRoot(); |
353 |
final IContainer root = ResourcesPlugin.getWorkspace().getRoot(); |
368 |
Job job = new WorkspaceJob(IDEWorkbenchMessages.Workspace_refreshing) { |
354 |
Job job = new WorkspaceJob(IDEWorkbenchMessages.Workspace_refreshing) { |
369 |
public IStatus runInWorkspace(IProgressMonitor monitor) |
355 |
public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException { |
370 |
throws CoreException { |
|
|
371 |
root.refreshLocal(IResource.DEPTH_INFINITE, monitor); |
356 |
root.refreshLocal(IResource.DEPTH_INFINITE, monitor); |
372 |
return Status.OK_STATUS; |
357 |
return Status.OK_STATUS; |
373 |
} |
358 |
} |
Lines 381-394
Link Here
|
381 |
*/ |
366 |
*/ |
382 |
private void disconnectFromWorkspace() { |
367 |
private void disconnectFromWorkspace() { |
383 |
// save the workspace |
368 |
// save the workspace |
384 |
final MultiStatus status = new MultiStatus( |
369 |
final MultiStatus status = new MultiStatus(IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.ProblemSavingWorkbench, null); |
385 |
IDEWorkbenchPlugin.IDE_WORKBENCH, 1, |
|
|
386 |
IDEWorkbenchMessages.ProblemSavingWorkbench, null); |
387 |
IRunnableWithProgress runnable = new IRunnableWithProgress() { |
370 |
IRunnableWithProgress runnable = new IRunnableWithProgress() { |
388 |
public void run(IProgressMonitor monitor) { |
371 |
public void run(IProgressMonitor monitor) { |
389 |
try { |
372 |
try { |
390 |
status.merge(ResourcesPlugin.getWorkspace().save(true, |
373 |
status.merge(ResourcesPlugin.getWorkspace().save(true, monitor)); |
391 |
monitor)); |
|
|
392 |
} catch (CoreException e) { |
374 |
} catch (CoreException e) { |
393 |
status.merge(e.getStatus()); |
375 |
status.merge(e.getStatus()); |
394 |
} |
376 |
} |
Lines 397-418
Link Here
|
397 |
try { |
379 |
try { |
398 |
new ProgressMonitorJobsDialog(null).run(true, false, runnable); |
380 |
new ProgressMonitorJobsDialog(null).run(true, false, runnable); |
399 |
} catch (InvocationTargetException e) { |
381 |
} catch (InvocationTargetException e) { |
400 |
status |
382 |
status.merge(new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.InternalError, e.getTargetException())); |
401 |
.merge(new Status(IStatus.ERROR, |
|
|
402 |
IDEWorkbenchPlugin.IDE_WORKBENCH, 1, |
403 |
IDEWorkbenchMessages.InternalError, e |
404 |
.getTargetException())); |
405 |
} catch (InterruptedException e) { |
383 |
} catch (InterruptedException e) { |
406 |
status.merge(new Status(IStatus.ERROR, |
384 |
status.merge(new Status(IStatus.ERROR, IDEWorkbenchPlugin.IDE_WORKBENCH, 1, IDEWorkbenchMessages.InternalError, e)); |
407 |
IDEWorkbenchPlugin.IDE_WORKBENCH, 1, |
385 |
} |
408 |
IDEWorkbenchMessages.InternalError, e)); |
386 |
ErrorDialog.openError(null, IDEWorkbenchMessages.ProblemsSavingWorkspace, null, status, IStatus.ERROR | IStatus.WARNING); |
409 |
} |
|
|
410 |
ErrorDialog.openError(null, |
411 |
IDEWorkbenchMessages.ProblemsSavingWorkspace, null, status, |
412 |
IStatus.ERROR | IStatus.WARNING); |
413 |
if (!status.isOK()) { |
387 |
if (!status.isOK()) { |
414 |
IDEWorkbenchPlugin.log( |
388 |
IDEWorkbenchPlugin.log(IDEWorkbenchMessages.ProblemsSavingWorkspace, status); |
415 |
IDEWorkbenchMessages.ProblemsSavingWorkspace, status); |
|
|
416 |
} |
389 |
} |
417 |
} |
390 |
} |
418 |
|
391 |
|
Lines 519-526
Link Here
|
519 |
*/ |
492 |
*/ |
520 |
private Map createNewBundleGroupsMap() { |
493 |
private Map createNewBundleGroupsMap() { |
521 |
// retrieve list of installed bundle groups from last session |
494 |
// retrieve list of installed bundle groups from last session |
522 |
IDialogSettings settings = IDEWorkbenchPlugin.getDefault() |
495 |
IDialogSettings settings = IDEWorkbenchPlugin.getDefault().getDialogSettings(); |
523 |
.getDialogSettings(); |
|
|
524 |
String[] previousFeaturesArray = settings.getArray(INSTALLED_FEATURES); |
496 |
String[] previousFeaturesArray = settings.getArray(INSTALLED_FEATURES); |
525 |
|
497 |
|
526 |
// get a map of currently installed bundle groups and store it for next |
498 |
// get a map of currently installed bundle groups and store it for next |
Lines 573-657
Link Here
|
573 |
|
545 |
|
574 |
Bundle ideBundle = Platform.getBundle(IDEWorkbenchPlugin.IDE_WORKBENCH); |
546 |
Bundle ideBundle = Platform.getBundle(IDEWorkbenchPlugin.IDE_WORKBENCH); |
575 |
|
547 |
|
576 |
declareWorkbenchImage(ideBundle, |
548 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC, PATH_ETOOL + "build_exec.gif", false); //$NON-NLS-1$ |
577 |
IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC, PATH_ETOOL |
549 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_HOVER, PATH_ETOOL + "build_exec.gif", false); //$NON-NLS-1$ |
578 |
+ "build_exec.gif", false); //$NON-NLS-1$ |
550 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_DISABLED, PATH_DTOOL + "build_exec.gif", false); //$NON-NLS-1$ |
579 |
declareWorkbenchImage(ideBundle, |
551 |
|
580 |
IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_HOVER, |
552 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC, PATH_ETOOL + "search_src.gif", false); //$NON-NLS-1$ |
581 |
PATH_ETOOL + "build_exec.gif", false); //$NON-NLS-1$ |
553 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_HOVER, PATH_ETOOL + "search_src.gif", false); //$NON-NLS-1$ |
582 |
declareWorkbenchImage(ideBundle, |
554 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_DISABLED, PATH_DTOOL + "search_src.gif", false); //$NON-NLS-1$ |
583 |
IDEInternalWorkbenchImages.IMG_ETOOL_BUILD_EXEC_DISABLED, |
555 |
|
584 |
PATH_DTOOL + "build_exec.gif", false); //$NON-NLS-1$ |
556 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_NEXT_NAV, PATH_ETOOL + "next_nav.gif", false); //$NON-NLS-1$ |
585 |
|
557 |
|
586 |
declareWorkbenchImage(ideBundle, |
558 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_PREVIOUS_NAV, PATH_ETOOL + "prev_nav.gif", false); //$NON-NLS-1$ |
587 |
IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC, PATH_ETOOL |
559 |
|
588 |
+ "search_src.gif", false); //$NON-NLS-1$ |
560 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWPRJ_WIZ, PATH_WIZBAN + "newprj_wiz.png", false); //$NON-NLS-1$ |
589 |
declareWorkbenchImage(ideBundle, |
561 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFOLDER_WIZ, PATH_WIZBAN + "newfolder_wiz.png", false); //$NON-NLS-1$ |
590 |
IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_HOVER, |
562 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFILE_WIZ, PATH_WIZBAN + "newfile_wiz.png", false); //$NON-NLS-1$ |
591 |
PATH_ETOOL + "search_src.gif", false); //$NON-NLS-1$ |
563 |
|
592 |
declareWorkbenchImage(ideBundle, |
564 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTDIR_WIZ, PATH_WIZBAN + "importdir_wiz.png", false); //$NON-NLS-1$ |
593 |
IDEInternalWorkbenchImages.IMG_ETOOL_SEARCH_SRC_DISABLED, |
565 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTZIP_WIZ, PATH_WIZBAN + "importzip_wiz.png", false); //$NON-NLS-1$ |
594 |
PATH_DTOOL + "search_src.gif", false); //$NON-NLS-1$ |
566 |
|
595 |
|
567 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTDIR_WIZ, PATH_WIZBAN + "exportdir_wiz.png", false); //$NON-NLS-1$ |
596 |
declareWorkbenchImage(ideBundle, |
568 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTZIP_WIZ, PATH_WIZBAN + "exportzip_wiz.png", false); //$NON-NLS-1$ |
597 |
IDEInternalWorkbenchImages.IMG_ETOOL_NEXT_NAV, PATH_ETOOL |
569 |
|
598 |
+ "next_nav.gif", false); //$NON-NLS-1$ |
570 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ, PATH_WIZBAN + "workset_wiz.png", false); //$NON-NLS-1$ |
599 |
|
571 |
|
600 |
declareWorkbenchImage(ideBundle, |
572 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_DLGBAN_SAVEAS_DLG, PATH_WIZBAN + "saveas_wiz.png", false); //$NON-NLS-1$ |
601 |
IDEInternalWorkbenchImages.IMG_ETOOL_PREVIOUS_NAV, PATH_ETOOL |
573 |
|
602 |
+ "prev_nav.gif", false); //$NON-NLS-1$ |
574 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_DLGBAN_QUICKFIX_DLG, PATH_WIZBAN + "quick_fix.png", false); //$NON-NLS-1$ |
603 |
|
575 |
|
604 |
declareWorkbenchImage(ideBundle, |
576 |
declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT, PATH_OBJECT + "prj_obj.gif", true); //$NON-NLS-1$ |
605 |
IDEInternalWorkbenchImages.IMG_WIZBAN_NEWPRJ_WIZ, PATH_WIZBAN |
577 |
declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED, PATH_OBJECT + "cprj_obj.gif", true); //$NON-NLS-1$ |
606 |
+ "newprj_wiz.png", false); //$NON-NLS-1$ |
578 |
declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OPEN_MARKER, PATH_ELOCALTOOL + "gotoobj_tsk.gif", true); //$NON-NLS-1$ |
607 |
declareWorkbenchImage(ideBundle, |
579 |
|
608 |
IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFOLDER_WIZ, |
580 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ELCL_QUICK_FIX_ENABLED, PATH_ELOCALTOOL + "smartmode_co.gif", true); //$NON-NLS-1$ |
609 |
PATH_WIZBAN + "newfolder_wiz.png", false); //$NON-NLS-1$ |
581 |
|
610 |
declareWorkbenchImage(ideBundle, |
582 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_DLCL_QUICK_FIX_DISABLED, PATH_DLOCALTOOL + "smartmode_co.gif", true); //$NON-NLS-1$ |
611 |
IDEInternalWorkbenchImages.IMG_WIZBAN_NEWFILE_WIZ, PATH_WIZBAN |
|
|
612 |
+ "newfile_wiz.png", false); //$NON-NLS-1$ |
613 |
|
614 |
declareWorkbenchImage(ideBundle, |
615 |
IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTDIR_WIZ, |
616 |
PATH_WIZBAN + "importdir_wiz.png", false); //$NON-NLS-1$ |
617 |
declareWorkbenchImage(ideBundle, |
618 |
IDEInternalWorkbenchImages.IMG_WIZBAN_IMPORTZIP_WIZ, |
619 |
PATH_WIZBAN + "importzip_wiz.png", false); //$NON-NLS-1$ |
620 |
|
621 |
declareWorkbenchImage(ideBundle, |
622 |
IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTDIR_WIZ, |
623 |
PATH_WIZBAN + "exportdir_wiz.png", false); //$NON-NLS-1$ |
624 |
declareWorkbenchImage(ideBundle, |
625 |
IDEInternalWorkbenchImages.IMG_WIZBAN_EXPORTZIP_WIZ, |
626 |
PATH_WIZBAN + "exportzip_wiz.png", false); //$NON-NLS-1$ |
627 |
|
628 |
declareWorkbenchImage(ideBundle, |
629 |
IDEInternalWorkbenchImages.IMG_WIZBAN_RESOURCEWORKINGSET_WIZ, |
630 |
PATH_WIZBAN + "workset_wiz.png", false); //$NON-NLS-1$ |
631 |
|
632 |
declareWorkbenchImage(ideBundle, |
633 |
IDEInternalWorkbenchImages.IMG_DLGBAN_SAVEAS_DLG, PATH_WIZBAN |
634 |
+ "saveas_wiz.png", false); //$NON-NLS-1$ |
635 |
|
636 |
declareWorkbenchImage(ideBundle, |
637 |
IDEInternalWorkbenchImages.IMG_DLGBAN_QUICKFIX_DLG, PATH_WIZBAN |
638 |
+ "quick_fix.png", false); //$NON-NLS-1$ |
639 |
|
640 |
declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJ_PROJECT, |
641 |
PATH_OBJECT + "prj_obj.gif", true); //$NON-NLS-1$ |
642 |
declareWorkbenchImage(ideBundle, |
643 |
IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED, PATH_OBJECT |
644 |
+ "cprj_obj.gif", true); //$NON-NLS-1$ |
645 |
declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OPEN_MARKER, |
646 |
PATH_ELOCALTOOL + "gotoobj_tsk.gif", true); //$NON-NLS-1$ |
647 |
|
648 |
declareWorkbenchImage(ideBundle, |
649 |
IDEInternalWorkbenchImages.IMG_ELCL_QUICK_FIX_ENABLED, |
650 |
PATH_ELOCALTOOL + "smartmode_co.gif", true); //$NON-NLS-1$ |
651 |
|
652 |
declareWorkbenchImage(ideBundle, |
653 |
IDEInternalWorkbenchImages.IMG_DLCL_QUICK_FIX_DISABLED, |
654 |
PATH_DLOCALTOOL + "smartmode_co.gif", true); //$NON-NLS-1$ |
655 |
|
583 |
|
656 |
// task objects |
584 |
// task objects |
657 |
// declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_HPRIO_TSK, |
585 |
// declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_HPRIO_TSK, |
Lines 661-703
Link Here
|
661 |
// declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_LPRIO_TSK, |
589 |
// declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_LPRIO_TSK, |
662 |
// PATH_OBJECT+"lprio_tsk.gif"); |
590 |
// PATH_OBJECT+"lprio_tsk.gif"); |
663 |
|
591 |
|
664 |
declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_TASK_TSK, |
592 |
declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_TASK_TSK, PATH_OBJECT + "taskmrk_tsk.gif", true); //$NON-NLS-1$ |
665 |
PATH_OBJECT + "taskmrk_tsk.gif", true); //$NON-NLS-1$ |
593 |
declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_BKMRK_TSK, PATH_OBJECT + "bkmrk_tsk.gif", true); //$NON-NLS-1$ |
666 |
declareWorkbenchImage(ideBundle, IDE.SharedImages.IMG_OBJS_BKMRK_TSK, |
594 |
|
667 |
PATH_OBJECT + "bkmrk_tsk.gif", true); //$NON-NLS-1$ |
595 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_COMPLETE_TSK, PATH_OBJECT + "complete_tsk.gif", true); //$NON-NLS-1$ |
668 |
|
596 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_INCOMPLETE_TSK, PATH_OBJECT + "incomplete_tsk.gif", true); //$NON-NLS-1$ |
669 |
declareWorkbenchImage(ideBundle, |
597 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM, PATH_OBJECT + "welcome_item.gif", true); //$NON-NLS-1$ |
670 |
IDEInternalWorkbenchImages.IMG_OBJS_COMPLETE_TSK, PATH_OBJECT |
598 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_BANNER, PATH_OBJECT + "welcome_banner.gif", true); //$NON-NLS-1$ |
671 |
+ "complete_tsk.gif", true); //$NON-NLS-1$ |
599 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_ERROR_PATH, PATH_OBJECT + "error_tsk.gif", true); //$NON-NLS-1$ |
672 |
declareWorkbenchImage(ideBundle, |
600 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_WARNING_PATH, PATH_OBJECT + "warn_tsk.gif", true); //$NON-NLS-1$ |
673 |
IDEInternalWorkbenchImages.IMG_OBJS_INCOMPLETE_TSK, PATH_OBJECT |
601 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_OBJS_INFO_PATH, PATH_OBJECT + "info_tsk.gif", true); //$NON-NLS-1$ |
674 |
+ "incomplete_tsk.gif", true); //$NON-NLS-1$ |
602 |
|
675 |
declareWorkbenchImage(ideBundle, |
603 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_LCL_FLAT_LAYOUT, PATH_ELOCALTOOL + "flatLayout.gif", true); //$NON-NLS-1$ |
676 |
IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_ITEM, PATH_OBJECT |
604 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_LCL_HIERARCHICAL_LAYOUT, PATH_ELOCALTOOL + "hierarchicalLayout.gif", true); //$NON-NLS-1$ |
677 |
+ "welcome_item.gif", true); //$NON-NLS-1$ |
605 |
declareWorkbenchImage(ideBundle, IDEInternalWorkbenchImages.IMG_ETOOL_PROBLEM_CATEGORY, PATH_ETOOL + "problem_category.gif", true); //$NON-NLS-1$ |
678 |
declareWorkbenchImage(ideBundle, |
606 |
|
679 |
IDEInternalWorkbenchImages.IMG_OBJS_WELCOME_BANNER, PATH_OBJECT |
|
|
680 |
+ "welcome_banner.gif", true); //$NON-NLS-1$ |
681 |
declareWorkbenchImage(ideBundle, |
682 |
IDEInternalWorkbenchImages.IMG_OBJS_ERROR_PATH, PATH_OBJECT |
683 |
+ "error_tsk.gif", true); //$NON-NLS-1$ |
684 |
declareWorkbenchImage(ideBundle, |
685 |
IDEInternalWorkbenchImages.IMG_OBJS_WARNING_PATH, PATH_OBJECT |
686 |
+ "warn_tsk.gif", true); //$NON-NLS-1$ |
687 |
declareWorkbenchImage(ideBundle, |
688 |
IDEInternalWorkbenchImages.IMG_OBJS_INFO_PATH, PATH_OBJECT |
689 |
+ "info_tsk.gif", true); //$NON-NLS-1$ |
690 |
|
691 |
declareWorkbenchImage(ideBundle, |
692 |
IDEInternalWorkbenchImages.IMG_LCL_FLAT_LAYOUT, PATH_ELOCALTOOL |
693 |
+ "flatLayout.gif", true); //$NON-NLS-1$ |
694 |
declareWorkbenchImage(ideBundle, |
695 |
IDEInternalWorkbenchImages.IMG_LCL_HIERARCHICAL_LAYOUT, |
696 |
PATH_ELOCALTOOL + "hierarchicalLayout.gif", true); //$NON-NLS-1$ |
697 |
declareWorkbenchImage(ideBundle, |
698 |
IDEInternalWorkbenchImages.IMG_ETOOL_PROBLEM_CATEGORY, |
699 |
PATH_ETOOL + "problem_category.gif", true); //$NON-NLS-1$ |
700 |
|
701 |
// synchronization indicator objects |
607 |
// synchronization indicator objects |
702 |
// declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_WBET_STAT, |
608 |
// declareRegistryImage(IDEInternalWorkbenchImages.IMG_OBJS_WBET_STAT, |
703 |
// PATH_OVERLAY+"wbet_stat.gif"); |
609 |
// PATH_OVERLAY+"wbet_stat.gif"); |
Lines 728-735
Link Here
|
728 |
* <code>false</code> if this is not a shared image |
634 |
* <code>false</code> if this is not a shared image |
729 |
* @see IWorkbenchConfigurer#declareImage |
635 |
* @see IWorkbenchConfigurer#declareImage |
730 |
*/ |
636 |
*/ |
731 |
private void declareWorkbenchImage(Bundle ideBundle, String symbolicName, |
637 |
private void declareWorkbenchImage(Bundle ideBundle, String symbolicName, String path, boolean shared) { |
732 |
String path, boolean shared) { |
|
|
733 |
URL url = FileLocator.find(ideBundle, new Path(path), null); |
638 |
URL url = FileLocator.find(ideBundle, new Path(path), null); |
734 |
ImageDescriptor desc = ImageDescriptor.createFromURL(url); |
639 |
ImageDescriptor desc = ImageDescriptor.createFromURL(url); |
735 |
getWorkbenchConfigurer().declareImage(symbolicName, desc, shared); |
640 |
getWorkbenchConfigurer().declareImage(symbolicName, desc, shared); |
Lines 765-772
Link Here
|
765 |
ArrayList list = new ArrayList(m.size()); |
670 |
ArrayList list = new ArrayList(m.size()); |
766 |
for (Iterator i = m.values().iterator(); i.hasNext();) { |
671 |
for (Iterator i = m.values().iterator(); i.hasNext();) { |
767 |
AboutInfo info = (AboutInfo) i.next(); |
672 |
AboutInfo info = (AboutInfo) i.next(); |
768 |
if (info != null && info.getWelcomePerspectiveId() != null |
673 |
if (info != null && info.getWelcomePerspectiveId() != null && info.getWelcomePageURL() != null) { |
769 |
&& info.getWelcomePageURL() != null) { |
|
|
770 |
list.add(info); |
674 |
list.add(info); |
771 |
} |
675 |
} |
772 |
} |
676 |
} |
Lines 784-791
Link Here
|
784 |
*/ |
688 |
*/ |
785 |
public AbstractStatusHandler getWorkbenchErrorHandler() { |
689 |
public AbstractStatusHandler getWorkbenchErrorHandler() { |
786 |
if (ideWorkbenchErrorHandler == null) { |
690 |
if (ideWorkbenchErrorHandler == null) { |
787 |
ideWorkbenchErrorHandler = new IDEWorkbenchErrorHandler( |
691 |
ideWorkbenchErrorHandler = new IDEWorkbenchErrorHandler(getWorkbenchConfigurer()); |
788 |
getWorkbenchConfigurer()); |
|
|
789 |
} |
692 |
} |
790 |
return ideWorkbenchErrorHandler; |
693 |
return ideWorkbenchErrorHandler; |
791 |
} |
694 |
} |