1 package net.sourceforge.phpdt.internal.ui; 2 3 import java.net.MalformedURLException; 4 import java.net.URL; 5 import java.util.HashMap; 6 import java.util.Iterator; 7 8 import net.sourceforge.phpeclipse.PHPeclipsePlugin; 9 10 import org.eclipse.jface.action.IAction; 11 import org.eclipse.jface.resource.ImageDescriptor; 12 import org.eclipse.jface.resource.ImageRegistry; 13 import org.eclipse.swt.graphics.Image; 14 15 public class PHPUiImages { 16 17 protected static final String NAME_PREFIX = "net.sourceforge.phpdt.internal.ui."; 18 19 protected static final int NAME_PREFIX_LENGTH = NAME_PREFIX.length(); 20 21 protected static URL fgIconBaseURL = null; 22 23 // static { 24 // String pathSuffix = "icons/"; 25 // try { 26 // fgIconBaseURL = 27 // new URL( 28 // PHPeclipsePlugin 29 // .getDefault() 30 // .getDescriptor() 31 // .getInstallURL(), 32 // pathSuffix); 33 // } catch (MalformedURLException e) { 34 // PHPeclipsePlugin.log(e); 35 // } 36 // } 37 38 // Determine display depth. If depth > 4 then we use high color images. 39 // Otherwise low color 40 // images are used 41 static { 42 fgIconBaseURL = PHPeclipsePlugin.getDefault().getBundle().getEntry( 43 "/icons/"); //$NON-NLS-1$ 44 } 45 46 private static ImageRegistry fgImageRegistry = null; 47 48 private static HashMap fgAvoidSWTErrorMap = null; 49 50 protected static final String OBJ_PREFIX = "obj16"; 51 52 protected static final String OVR_PREFIX = "ovr16"; 53 54 protected static final String CTOOL_PREFIX = "ctool16"; 55 56 public static final String IMG_CLASS = NAME_PREFIX 57 + "class_default_obj.gif"; 58 59 public static final String IMG_DEFINE = NAME_PREFIX + "define_obj.gif"; 60 61 public static final String IMG_BUILTIN = NAME_PREFIX + "builtin_obj.gif"; 62 63 public static final String IMG_FUN = NAME_PREFIX + "fun_obj.gif"; 64 65 public static final String IMG_INC = NAME_PREFIX + "impc_obj.gif"; 66 67 public static final String IMG_VAR = NAME_PREFIX + "var_obj.gif"; 68 69 public static final String IMG_TABLE = NAME_PREFIX + "table_obj.gif"; 70 71 public static final String IMG_COLUMN = NAME_PREFIX + "column_obj.gif"; 72 73 public static final String IMG_OBJS_WARNING = NAME_PREFIX 74 + "warning_obj.gif"; 75 76 public static final String IMG_OBJS_INFO = NAME_PREFIX + "info_obj.gif"; 77 78 public static final String IMG_CTOOLS_PHP_PAGE = NAME_PREFIX 79 + "php_page.gif"; 80 81 public static final String IMG_CTOOLS_PHP = NAME_PREFIX + "php.gif"; 82 83 public static final String IMG_CLEAR = NAME_PREFIX + "clear.gif"; 84 85 public static final ImageDescriptor DESC_CLASS = createManaged(OBJ_PREFIX, 86 IMG_CLASS); 87 88 public static final ImageDescriptor DESC_DEFINE = createManaged(OBJ_PREFIX, 89 IMG_DEFINE); 90 91 public static final ImageDescriptor DESC_BUILTIN = createManaged( 92 OBJ_PREFIX, IMG_BUILTIN); 93 94 public static final ImageDescriptor DESC_FUN = createManaged(OBJ_PREFIX, 95 IMG_FUN); 96 97 public static final ImageDescriptor DESC_INC = createManaged(OBJ_PREFIX, 98 IMG_INC); 99 100 public static final ImageDescriptor DESC_VAR = createManaged(OBJ_PREFIX, 101 IMG_VAR); 102 103 public static final ImageDescriptor DESC_TABLE = createManaged(OBJ_PREFIX, 104 IMG_TABLE); 105 106 public static final ImageDescriptor DESC_COLUMN = createManaged(OBJ_PREFIX, 107 IMG_COLUMN); 108 109 public static final ImageDescriptor DESC_OBJS_WARNING = createManaged( 110 OBJ_PREFIX, IMG_OBJS_WARNING); 111 112 public static final ImageDescriptor DESC_OBJS_INFO = createManaged( 113 OBJ_PREFIX, IMG_OBJS_INFO); 114 115 public static final ImageDescriptor DESC_CTOOL_PHP_PAGE = createManaged( 116 CTOOL_PREFIX, IMG_CTOOLS_PHP_PAGE); 117 118 public static final ImageDescriptor DESC_CTOOL_PHP = createManaged( 119 CTOOL_PREFIX, IMG_CTOOLS_PHP); 120 121 public static final ImageDescriptor DESC_CLEAR = createManaged(OBJ_PREFIX, 122 IMG_CLEAR); 123 124 /* 125 * Set of predefined Image Descriptors. 126 */ 127 private static final String T_OBJ = "obj16"; //$NON-NLS-1$ 128 129 private static final String T_OVR = "ovr16"; //$NON-NLS-1$ 130 131 private static final String T_WIZBAN = "wizban"; //$NON-NLS-1$ 132 133 private static final String T_CLCL = "clcl16"; //$NON-NLS-1$ 134 135 private static final String T_DLCL = "dlcl16"; //$NON-NLS-1$ 136 137 private static final String T_ELCL = "elcl16"; //$NON-NLS-1$ 138 139 private static final String T_CTOOL = "ctool16"; //$NON-NLS-1$ 140 141 private static final String T_CVIEW = "cview16"; //$NON-NLS-1$ 142 143 public static final ImageDescriptor DESC_WIZBAN_NEWCLASS = create(T_WIZBAN, 144 "newclass_wiz.gif"); //$NON-NLS-1$ 145 146 public static final ImageDescriptor DESC_ELCL_FILTER = create(T_ELCL, 147 "filter_ps.gif"); //$NON-NLS-1$ 148 149 public static final ImageDescriptor DESC_DLCL_FILTER = create(T_DLCL, 150 "filter_ps.gif"); //$NON-NLS-1$ 151 152 /* 153 * Available cached Images in the Java plugin image registry. 154 */ 155 public static final String IMG_MISC_PUBLIC = NAME_PREFIX 156 + "methpub_obj.gif"; //$NON-NLS-1$ 157 158 public static final String IMG_MISC_PROTECTED = NAME_PREFIX 159 + "methpro_obj.gif"; //$NON-NLS-1$ 160 161 public static final String IMG_MISC_PRIVATE = NAME_PREFIX 162 + "methpri_obj.gif"; //$NON-NLS-1$ 163 164 public static final String IMG_MISC_DEFAULT = NAME_PREFIX 165 + "methdef_obj.gif"; //$NON-NLS-1$ 166 167 public static final String IMG_FIELD_PUBLIC = NAME_PREFIX 168 + "field_public_obj.gif"; //$NON-NLS-1$ 169 170 public static final String IMG_FIELD_PROTECTED = NAME_PREFIX 171 + "field_protected_obj.gif"; //$NON-NLS-1$ 172 173 public static final String IMG_FIELD_PRIVATE = NAME_PREFIX 174 + "field_private_obj.gif"; //$NON-NLS-1$ 175 176 public static final String IMG_FIELD_DEFAULT = NAME_PREFIX 177 + "field_default_obj.gif"; //$NON-NLS-1$ 178 179 public static final String IMG_OBJS_GHOST = NAME_PREFIX + "ghost.gif"; //$NON-NLS-1$ 180 181 public static final String IMG_OBJS_SEARCH_TSK = NAME_PREFIX 182 + "search_tsk.gif"; //$NON-NLS-1$ 183 184 public static final String IMG_OBJS_PACKDECL = NAME_PREFIX 185 + "packd_obj.gif"; //$NON-NLS-1$ 186 187 public static final String IMG_OBJS_IMPDECL = NAME_PREFIX + "imp_obj.gif"; //$NON-NLS-1$ 188 189 public static final String IMG_OBJS_IMPCONT = NAME_PREFIX + "impc_obj.gif"; //$NON-NLS-1$ 190 191 public static final String IMG_OBJS_JSEARCH = NAME_PREFIX 192 + "jsearch_obj.gif"; //$NON-NLS-1$ 193 194 public static final String IMG_OBJS_SEARCH_DECL = NAME_PREFIX 195 + "search_decl_obj.gif"; //$NON-NLS-1$ 196 197 public static final String IMG_OBJS_SEARCH_REF = NAME_PREFIX 198 + "search_ref_obj.gif"; //$NON-NLS-1$ 199 200 public static final String IMG_OBJS_CLASS = NAME_PREFIX + "class_obj.gif"; //$NON-NLS-1$ 201 202 public static final String IMG_OBJS_CLASSALT = NAME_PREFIX 203 + "classfo_obj.gif"; //$NON-NLS-1$ 204 205 public static final String IMG_OBJS_CLASS_DEFAULT = NAME_PREFIX 206 + "class_default_obj.gif"; //$NON-NLS-1$ 207 208 public static final String IMG_OBJS_INTERFACE = NAME_PREFIX + "int_obj.gif"; //$NON-NLS-1$ 209 210 public static final String IMG_OBJS_INTERFACEALT = NAME_PREFIX 211 + "intf_obj.gif"; //$NON-NLS-1$ 212 213 public static final String IMG_OBJS_INTERFACE_DEFAULT = NAME_PREFIX 214 + "int_default_obj.gif"; //$NON-NLS-1$ 215 216 public static final String IMG_OBJS_CUNIT = NAME_PREFIX + "phpedit.png"; //$NON-NLS-1$ 217 218 public static final String IMG_OBJS_CUNIT_RESOURCE = NAME_PREFIX 219 + "jcu_resource_obj.gif"; //$NON-NLS-1$ 220 221 public static final String IMG_OBJS_CFILE = NAME_PREFIX + "classf_obj.gif"; //$NON-NLS-1$ 222 223 public static final String IMG_OBJS_CFILECLASS = NAME_PREFIX 224 + "class_obj.gif"; //$NON-NLS-1$ 225 226 public static final String IMG_OBJS_CFILEINT = NAME_PREFIX + "int_obj.gif"; //$NON-NLS-1$ 227 228 public static final String IMG_OBJS_LOGICAL_PACKAGE = NAME_PREFIX 229 + "logical_package_obj.gif";//$NON-NLS-1$ 230 231 public static final String IMG_OJS_EMPTY_LOGICAL_PACKAGE = NAME_PREFIX 232 + "empty_logical_package_obj.gif";//$NON-NLS-1$ 233 234 public static final String IMG_OBJS_PACKAGE = NAME_PREFIX 235 + "package_obj.gif"; //$NON-NLS-1$ 236 237 public static final String IMG_OBJS_EMPTY_PACK_RESOURCE = NAME_PREFIX 238 + "empty_pack_fldr_obj.gif"; //$NON-NLS-1$ 239 240 public static final String IMG_OBJS_EMPTY_PACKAGE = NAME_PREFIX 241 + "empty_pack_obj.gif"; //$NON-NLS-1$ 242 243 public static final String IMG_OBJS_PACKFRAG_ROOT = NAME_PREFIX 244 + "packagefolder_obj.gif"; //$NON-NLS-1$ 245 246 public static final String IMG_OBJS_MISSING_PACKFRAG_ROOT = NAME_PREFIX 247 + "packagefolder_nonexist_obj.gif"; //$NON-NLS-1$ 248 249 public static final String IMG_OBJS_MISSING_JAR = NAME_PREFIX 250 + "jar_nonexist_obj.gif"; //$NON-NLS-1$ 251 252 public static final String IMG_OBJS_JAR = NAME_PREFIX + "jar_obj.gif"; //$NON-NLS-1$ 253 254 public static final String IMG_OBJS_EXTJAR = NAME_PREFIX + "jar_l_obj.gif"; //$NON-NLS-1$ 255 256 public static final String IMG_OBJS_JAR_WSRC = NAME_PREFIX 257 + "jar_src_obj.gif"; //$NON-NLS-1$ 258 259 public static final String IMG_OBJS_EXTJAR_WSRC = NAME_PREFIX 260 + "jar_lsrc_obj.gif"; //$NON-NLS-1$ 261 262 public static final String IMG_OBJS_ENV_VAR = NAME_PREFIX 263 + "envvar_obj.gif"; //$NON-NLS-1$ 264 265 public static final String IMG_OBJS_MISSING_ENV_VAR = NAME_PREFIX 266 + "envvar_nonexist_obj.gif"; //$NON-NLS-1$ 267 268 public static final String IMG_OBJS_JAVA_MODEL = NAME_PREFIX 269 + "java_model_obj.gif"; //$NON-NLS-1$ 270 271 public static final String IMG_OBJS_UNKNOWN = NAME_PREFIX 272 + "unknown_obj.gif"; //$NON-NLS-1$ 273 274 public static final String IMG_OBJS_LIBRARY = NAME_PREFIX 275 + "library_obj.gif"; //$NON-NLS-1$ 276 277 public static final String IMG_OBJS_JAVADOCTAG = NAME_PREFIX 278 + "jdoc_tag_obj.gif"; //$NON-NLS-1$ 279 280 public static final String IMG_OBJS_HTMLTAG = NAME_PREFIX 281 + "html_tag_obj.gif"; //$NON-NLS-1$ 282 283 public static final String IMG_OBJS_TEMPLATE = NAME_PREFIX 284 + "template_obj.gif"; //$NON-NLS-1$ 285 286 public static final String IMG_OBJS_EXCEPTION = NAME_PREFIX 287 + "jexception_obj.gif"; //$NON-NLS-1$ 288 289 public static final String IMG_OBJS_ERROR = NAME_PREFIX 290 + "jrtexception_obj.gif"; //$NON-NLS-1$ 291 292 public static final String IMG_OBJS_BREAKPOINT_INSTALLED = NAME_PREFIX 293 + "brkpi_obj.gif"; //$NON-NLS-1$ 294 295 public static final String IMG_OBJS_FIXABLE_PROBLEM = NAME_PREFIX 296 + "quickfix_warning_obj.gif"; //$NON-NLS-1$ 297 298 public static final String IMG_OBJS_FIXABLE_ERROR = NAME_PREFIX 299 + "quickfix_error_obj.gif"; //$NON-NLS-1$ 300 301 public static final String IMG_OBJS_SNIPPET_EVALUATING = NAME_PREFIX 302 + "jsbook_run_obj.gif"; //$NON-NLS-1$ 303 304 public static final String IMG_OBJS_REFACTORING_FATAL = NAME_PREFIX 305 + "fatalerror_obj.gif"; //$NON-NLS-1$ 306 307 public static final String IMG_OBJS_REFACTORING_ERROR = NAME_PREFIX 308 + "error_obj.gif"; //$NON-NLS-1$ 309 310 public static final String IMG_OBJS_REFACTORING_WARNING = NAME_PREFIX 311 + "warning_obj.gif"; //$NON-NLS-1$ 312 313 public static final String IMG_OBJS_REFACTORING_INFO = NAME_PREFIX 314 + "info_obj.gif"; //$NON-NLS-1$ 315 316 public static final String IMG_OBJS_NLS_TRANSLATE = NAME_PREFIX 317 + "translate.gif"; //$NON-NLS-1$ 318 319 public static final String IMG_OBJS_NLS_NEVER_TRANSLATE = NAME_PREFIX 320 + "never_translate.gif"; //$NON-NLS-1$ 321 322 public static final String IMG_OBJS_NLS_SKIP = NAME_PREFIX + "skip.gif"; //$NON-NLS-1$ 323 324 public static final String IMG_OBJS_SEARCH_READACCESS = NAME_PREFIX 325 + "occ_read.gif"; //$NON-NLS-1$ 326 327 public static final String IMG_OBJS_SEARCH_WRITEACCESS = NAME_PREFIX 328 + "occ_write.gif"; //$NON-NLS-1$ 329 330 public static final String IMG_OBJS_SEARCH_OCCURRENCE = NAME_PREFIX 331 + "occ_match.gif"; //$NON-NLS-1$ 332 333 public static final ImageDescriptor DESC_VIEW_ERRORWARNING_TAB = create( 334 T_CVIEW, "errorwarning_tab.gif"); //$NON-NLS-1$ 335 336 public static final ImageDescriptor DESC_VIEW_CLASSFILEGENERATION_TAB = create( 337 T_CVIEW, "classfilegeneration_tab.gif"); //$NON-NLS-1$ 338 339 public static final ImageDescriptor DESC_VIEW_JDKCOMPLIANCE_TAB = create( 340 T_CVIEW, "jdkcompliance_tab.gif"); //$NON-NLS-1$ 341 342 public static final ImageDescriptor DESC_CLCL_FILTER = create(T_CLCL, 343 "filter_ps.gif"); //$NON-NLS-1$ 344 345 public static final ImageDescriptor DESC_CLCL_CODE_ASSIST = create(T_CLCL, 346 "metharg_obj.gif"); //$NON-NLS-1$ 347 348 public static final ImageDescriptor DESC_DLCL_CODE_ASSIST = create(T_DLCL, 349 "metharg_obj.gif"); //$NON-NLS-1$ 350 351 public static final ImageDescriptor DESC_MISC_PUBLIC = createManaged(T_OBJ, 352 IMG_MISC_PUBLIC); 353 354 public static final ImageDescriptor DESC_MISC_PROTECTED = createManaged( 355 T_OBJ, IMG_MISC_PROTECTED); 356 357 public static final ImageDescriptor DESC_MISC_PRIVATE = createManaged( 358 T_OBJ, IMG_MISC_PRIVATE); 359 360 public static final ImageDescriptor DESC_MISC_DEFAULT = createManaged( 361 T_OBJ, IMG_MISC_DEFAULT); 362 363 public static final ImageDescriptor DESC_FIELD_PUBLIC = createManaged( 364 T_OBJ, IMG_FIELD_PUBLIC); //$NON-NLS-1$ 365 366 public static final ImageDescriptor DESC_FIELD_PROTECTED = createManaged( 367 T_OBJ, IMG_FIELD_PROTECTED); //$NON-NLS-1$ 368 369 public static final ImageDescriptor DESC_FIELD_PRIVATE = createManaged( 370 T_OBJ, IMG_FIELD_PRIVATE); //$NON-NLS-1$ 371 372 public static final ImageDescriptor DESC_FIELD_DEFAULT = createManaged( 373 T_OBJ, IMG_FIELD_DEFAULT); //$NON-NLS-1$ 374 375 public static final ImageDescriptor DESC_MENU_SHIFT_RIGHT = create(T_CTOOL, 376 "shift_r_edit.gif"); //$NON-NLS-1$ 377 378 public static final ImageDescriptor DESC_MENU_SHIFT_LEFT = create(T_CTOOL, 379 "shift_l_edit.gif"); //$NON-NLS-1$ 380 381 public static final ImageDescriptor DESC_OBJS_GHOST = createManaged(T_OBJ, 382 IMG_OBJS_GHOST); 383 384 public static final ImageDescriptor DESC_OBJS_PACKDECL = createManaged( 385 T_OBJ, IMG_OBJS_PACKDECL); 386 387 public static final ImageDescriptor DESC_OBJS_IMPDECL = createManaged( 388 T_OBJ, IMG_OBJS_IMPDECL); 389 390 public static final ImageDescriptor DESC_OBJS_IMPCONT = createManaged( 391 T_OBJ, IMG_OBJS_IMPCONT); 392 393 public static final ImageDescriptor DESC_OBJS_JSEARCH = createManaged( 394 T_OBJ, IMG_OBJS_JSEARCH); 395 396 public static final ImageDescriptor DESC_OBJS_SEARCH_DECL = createManaged( 397 T_OBJ, IMG_OBJS_SEARCH_DECL); 398 399 public static final ImageDescriptor DESC_OBJS_SEARCH_REF = createManaged( 400 T_OBJ, IMG_OBJS_SEARCH_REF); 401 402 public static final ImageDescriptor DESC_OBJS_CUNIT = createManaged(T_OBJ, 403 IMG_OBJS_CUNIT); 404 405 public static final ImageDescriptor DESC_OBJS_CUNIT_RESOURCE = createManaged( 406 T_OBJ, IMG_OBJS_CUNIT_RESOURCE); 407 408 public static final ImageDescriptor DESC_OBJS_CFILE = createManaged(T_OBJ, 409 IMG_OBJS_CFILE); 410 411 public static final ImageDescriptor DESC_OBJS_CFILECLASS = createManaged( 412 T_OBJ, IMG_OBJS_CFILECLASS); 413 414 public static final ImageDescriptor DESC_OBJS_CFILEINT = createManaged( 415 T_OBJ, IMG_OBJS_CFILEINT); 416 417 public static final ImageDescriptor DESC_OBJS_PACKAGE = createManaged( 418 T_OBJ, IMG_OBJS_PACKAGE); 419 420 public static final ImageDescriptor DESC_OBJS_EMPTY_LOGICAL_PACKAGE = createManaged( 421 T_OBJ, IMG_OJS_EMPTY_LOGICAL_PACKAGE); 422 423 public static final ImageDescriptor DESC_OBJS_LOGICAL_PACKAGE = createManaged( 424 T_OBJ, IMG_OBJS_LOGICAL_PACKAGE); 425 426 public static final ImageDescriptor DESC_OBJS_EMPTY_PACKAGE_RESOURCES = createManaged( 427 T_OBJ, IMG_OBJS_EMPTY_PACK_RESOURCE); 428 429 public static final ImageDescriptor DESC_OBJS_EMPTY_PACKAGE = createManaged( 430 T_OBJ, IMG_OBJS_EMPTY_PACKAGE); 431 432 public static final ImageDescriptor DESC_OBJS_PACKFRAG_ROOT = createManaged( 433 T_OBJ, IMG_OBJS_PACKFRAG_ROOT); 434 435 public static final ImageDescriptor DESC_OBJS_MISSING_PACKFRAG_ROOT = createManaged( 436 T_OBJ, IMG_OBJS_MISSING_PACKFRAG_ROOT); 437 438 public static final ImageDescriptor DESC_OBJS_JAVA_MODEL = createManaged( 439 T_OBJ, IMG_OBJS_JAVA_MODEL); 440 441 public static final ImageDescriptor DESC_OBJS_CLASS = createManaged(T_OBJ, 442 IMG_OBJS_CLASS); 443 444 public static final ImageDescriptor DESC_OBJS_CLASS_DEFAULT = createManaged( 445 T_OBJ, IMG_OBJS_CLASS_DEFAULT); 446 447 public static final ImageDescriptor DESC_OBJS_INNER_CLASS_PUBLIC = create( 448 T_OBJ, "innerclass_public_obj.gif"); //$NON-NLS-1$ 449 450 public static final ImageDescriptor DESC_OBJS_INNER_CLASS_DEFAULT = create( 451 T_OBJ, "innerclass_default_obj.gif"); //$NON-NLS-1$ 452 453 public static final ImageDescriptor DESC_OBJS_INNER_CLASS_PROTECTED = create( 454 T_OBJ, "innerclass_protected_obj.gif"); //$NON-NLS-1$ 455 456 public static final ImageDescriptor DESC_OBJS_INNER_CLASS_PRIVATE = create( 457 T_OBJ, "innerclass_private_obj.gif"); //$NON-NLS-1$ 458 459 public static final ImageDescriptor DESC_OBJS_CLASSALT = createManaged( 460 T_OBJ, IMG_OBJS_CLASSALT); 461 462 public static final ImageDescriptor DESC_OBJS_INTERFACE = createManaged( 463 T_OBJ, IMG_OBJS_INTERFACE); 464 465 public static final ImageDescriptor DESC_OBJS_INTERFACE_DEFAULT = createManaged( 466 T_OBJ, IMG_OBJS_INTERFACE_DEFAULT); 467 468 public static final ImageDescriptor DESC_OBJS_INNER_INTERFACE_PUBLIC = create( 469 T_OBJ, "innerinterface_public_obj.gif"); //$NON-NLS-1$ 470 471 public static final ImageDescriptor DESC_OBJS_INNER_INTERFACE_DEFAULT = create( 472 T_OBJ, "innerinterface_default_obj.gif"); //$NON-NLS-1$ 473 474 public static final ImageDescriptor DESC_OBJS_INNER_INTERFACE_PROTECTED = create( 475 T_OBJ, "innerinterface_protected_obj.gif"); //$NON-NLS-1$ 476 477 public static final ImageDescriptor DESC_OBJS_INNER_INTERFACE_PRIVATE = create( 478 T_OBJ, "innerinterface_private_obj.gif"); //$NON-NLS-1$ 479 480 public static final ImageDescriptor DESC_OBJS_INTERFACEALT = createManaged( 481 T_OBJ, IMG_OBJS_INTERFACEALT); 482 483 public static final ImageDescriptor DESC_OBJS_JAR = createManaged(T_OBJ, 484 IMG_OBJS_JAR); 485 486 public static final ImageDescriptor DESC_OBJS_MISSING_JAR = createManaged( 487 T_OBJ, IMG_OBJS_MISSING_JAR); 488 489 public static final ImageDescriptor DESC_OBJS_EXTJAR = createManaged(T_OBJ, 490 IMG_OBJS_EXTJAR); 491 492 public static final ImageDescriptor DESC_OBJS_JAR_WSRC = createManaged( 493 T_OBJ, IMG_OBJS_JAR_WSRC); 494 495 public static final ImageDescriptor DESC_OBJS_EXTJAR_WSRC = createManaged( 496 T_OBJ, IMG_OBJS_EXTJAR_WSRC); 497 498 public static final ImageDescriptor DESC_OBJS_ENV_VAR = createManaged( 499 T_OBJ, IMG_OBJS_ENV_VAR); 500 501 public static final ImageDescriptor DESC_OBJS_MISSING_ENV_VAR = createManaged( 502 T_OBJ, IMG_OBJS_MISSING_ENV_VAR); 503 504 public static final ImageDescriptor DESC_OBJS_LIBRARY = createManaged( 505 T_OBJ, IMG_OBJS_LIBRARY); 506 507 public static final ImageDescriptor DESC_OBJS_JAVADOCTAG = createManaged( 508 T_OBJ, IMG_OBJS_JAVADOCTAG); 509 510 public static final ImageDescriptor DESC_OBJS_HTMLTAG = createManaged( 511 T_OBJ, IMG_OBJS_HTMLTAG); 512 513 public static final ImageDescriptor DESC_OBJS_TEMPLATE = createManaged( 514 T_OBJ, IMG_OBJS_TEMPLATE); 515 516 public static final ImageDescriptor DESC_OBJS_EXCEPTION = createManaged( 517 T_OBJ, IMG_OBJS_EXCEPTION); 518 519 public static final ImageDescriptor DESC_OBJS_BREAKPOINT_INSTALLED = createManaged( 520 T_OBJ, IMG_OBJS_BREAKPOINT_INSTALLED); 521 522 public static final ImageDescriptor DESC_OBJS_ERROR = createManaged(T_OBJ, 523 IMG_OBJS_ERROR); 524 525 public static final ImageDescriptor DESC_OBJS_FIXABLE_PROBLEM = createManaged( 526 T_OBJ, IMG_OBJS_FIXABLE_PROBLEM); 527 528 public static final ImageDescriptor DESC_OBJS_FIXABLE_ERROR = createManaged( 529 T_OBJ, IMG_OBJS_FIXABLE_ERROR); 530 531 public static final ImageDescriptor DESC_OBJS_SNIPPET_EVALUATING = createManaged( 532 T_OBJ, IMG_OBJS_SNIPPET_EVALUATING); 533 534 public static final ImageDescriptor DESC_OBJS_DEFAULT_CHANGE = create( 535 T_OBJ, "change.gif"); //$NON-NLS-1$ 536 537 public static final ImageDescriptor DESC_OBJS_COMPOSITE_CHANGE = create( 538 T_OBJ, "composite_change.gif"); //$NON-NLS-1$ 539 540 public static final ImageDescriptor DESC_OBJS_CU_CHANGE = create(T_OBJ, 541 "cu_change.gif"); //$NON-NLS-1$ 542 543 public static final ImageDescriptor DESC_OBJS_FILE_CHANGE = create(T_OBJ, 544 "file_change.gif"); //$NON-NLS-1$ 545 546 public static final ImageDescriptor DESC_OBJS_TEXT_EDIT = create(T_OBJ, 547 "text_edit.gif"); //$NON-NLS-1$ 548 549 public static final ImageDescriptor DESC_OBJS_EXCLUSION_FILTER_ATTRIB = create( 550 T_OBJ, "exclusion_filter_attrib.gif"); //$NON-NLS-1$ 551 552 public static final ImageDescriptor DESC_OBJS_OUTPUT_FOLDER_ATTRIB = create( 553 T_OBJ, "output_folder_attrib.gif"); //$NON-NLS-1$ 554 555 public static final ImageDescriptor DESC_OBJS_SOURCE_ATTACH_ATTRIB = create( 556 T_OBJ, "source_attach_attrib.gif"); //$NON-NLS-1$ 557 558 public static final ImageDescriptor DESC_OBJS_JAVADOC_LOCATION_ATTRIB = create( 559 T_OBJ, "javadoc_location_attrib.gif"); //$NON-NLS-1$ 560 561 public static final ImageDescriptor DESC_OBJS_REFACTORING_FATAL = createManaged( 562 T_OBJ, IMG_OBJS_REFACTORING_FATAL); 563 564 public static final ImageDescriptor DESC_OBJS_REFACTORING_ERROR = createManaged( 565 T_OBJ, IMG_OBJS_REFACTORING_ERROR); 566 567 public static final ImageDescriptor DESC_OBJS_REFACTORING_WARNING = createManaged( 568 T_OBJ, IMG_OBJS_REFACTORING_WARNING); 569 570 public static final ImageDescriptor DESC_OBJS_REFACTORING_INFO = createManaged( 571 T_OBJ, IMG_OBJS_REFACTORING_INFO); 572 573 public static final ImageDescriptor DESC_OBJS_NLS_TRANSLATE = createManaged( 574 T_OBJ, IMG_OBJS_NLS_TRANSLATE); 575 576 public static final ImageDescriptor DESC_OBJS_NLS_NEVER_TRANSLATE = createManaged( 577 T_OBJ, IMG_OBJS_NLS_NEVER_TRANSLATE); 578 579 public static final ImageDescriptor DESC_OBJS_NLS_SKIP = createManaged( 580 T_OBJ, IMG_OBJS_NLS_SKIP); 581 582 public static final ImageDescriptor DESC_OBJS_UNKNOWN = createManaged( 583 T_OBJ, IMG_OBJS_UNKNOWN); 584 585 public static final ImageDescriptor DESC_OBJS_SEARCH_READACCESS = createManaged( 586 T_OBJ, IMG_OBJS_SEARCH_READACCESS); 587 588 public static final ImageDescriptor DESC_OBJS_SEARCH_WRITEACCESS = createManaged( 589 T_OBJ, IMG_OBJS_SEARCH_WRITEACCESS); 590 591 public static final ImageDescriptor DESC_OBJS_SEARCH_OCCURRENCE = createManaged( 592 T_OBJ, IMG_OBJS_SEARCH_OCCURRENCE); 593 594 public static final ImageDescriptor DESC_OBJS_LOCAL_VARIABLE = create( 595 T_OBJ, "localvariable_obj.gif"); //$NON-NLS-1$ 596 597 public static final ImageDescriptor DESC_OVR_STATIC = create(T_OVR, 598 "static_co.gif"); //$NON-NLS-1$ 599 600 public static final ImageDescriptor DESC_OVR_FINAL = create(T_OVR, 601 "final_co.gif"); //$NON-NLS-1$ 602 603 public static final ImageDescriptor DESC_OVR_ABSTRACT = create(T_OVR, 604 "abstract_co.gif"); //$NON-NLS-1$ 605 606 public static final ImageDescriptor DESC_OVR_SYNCH = create(T_OVR, 607 "synch_co.gif"); //$NON-NLS-1$ 608 609 public static final ImageDescriptor DESC_OVR_RUN = create(T_OVR, 610 "run_co.gif"); //$NON-NLS-1$ 611 612 public static final ImageDescriptor DESC_OVR_WARNING = create(T_OVR, 613 "warning_co.gif"); //$NON-NLS-1$ 614 615 public static final ImageDescriptor DESC_OVR_ERROR = create(T_OVR, 616 "error_co.gif"); //$NON-NLS-1$ 617 618 public static final ImageDescriptor DESC_OVR_OVERRIDES = create(T_OVR, 619 "over_co.gif"); //$NON-NLS-1$ 620 621 public static final ImageDescriptor DESC_OVR_IMPLEMENTS = create(T_OVR, 622 "implm_co.gif"); //$NON-NLS-1$ 623 624 public static final ImageDescriptor DESC_OVR_CONSTRUCTOR = create(T_OVR, 625 "constr_ovr.gif"); //$NON-NLS-1$ 626 627 public static final ImageDescriptor DESC_OVR_FOCUS = create(T_OVR, 628 "focus_ovr.gif"); //$NON-NLS-1$ 629 630 public static final ImageDescriptor DESC_WIZBAN_NEWFIELD = create(T_WIZBAN, 631 "newfield_wiz.gif"); //$NON-NLS-1$ 632 633 public static final ImageDescriptor DESC_WIZBAN_NEWINT = create(T_WIZBAN, 634 "newint_wiz.gif"); //$NON-NLS-1$ 635 636 public static final ImageDescriptor DESC_WIZBAN_NEWJPRJ = create(T_WIZBAN, 637 "newjprj_wiz.gif"); //$NON-NLS-1$ 638 639 public static final ImageDescriptor DESC_WIZBAN_NEWSRCFOLDR = create( 640 T_WIZBAN, "newsrcfldr_wiz.gif"); //$NON-NLS-1$ 641 642 public static final ImageDescriptor DESC_WIZBAN_NEWMETH = create(T_WIZBAN, 643 "newmeth_wiz.gif"); //$NON-NLS-1$ 644 645 public static final ImageDescriptor DESC_WIZBAN_NEWPACK = create(T_WIZBAN, 646 "newpack_wiz.gif"); //$NON-NLS-1$ 647 648 public static final ImageDescriptor DESC_WIZBAN_NEWSCRAPPAGE = create( 649 T_WIZBAN, "newsbook_wiz.gif"); //$NON-NLS-1$ 650 651 public static final ImageDescriptor DESC_WIZBAN_JAVA_LAUNCH = create( 652 T_WIZBAN, "java_app_wiz.gif"); //$NON-NLS-1$ 653 654 public static final ImageDescriptor DESC_WIZBAN_JAVA_ATTACH = create( 655 T_WIZBAN, "java_attach_wiz.gif"); //$NON-NLS-1$ 656 657 public static final ImageDescriptor DESC_WIZBAN_REFACTOR = create(T_WIZBAN, 658 "refactor_wiz.gif"); //$NON-NLS-1$ 659 660 public static final ImageDescriptor DESC_WIZBAN_REFACTOR_FIELD = create( 661 T_WIZBAN, "fieldrefact_wiz.gif"); //$NON-NLS-1$ 662 663 public static final ImageDescriptor DESC_WIZBAN_REFACTOR_METHOD = create( 664 T_WIZBAN, "methrefact_wiz.gif"); //$NON-NLS-1$ 665 666 public static final ImageDescriptor DESC_WIZBAN_REFACTOR_TYPE = create( 667 T_WIZBAN, "typerefact_wiz.gif"); //$NON-NLS-1$ 668 669 public static final ImageDescriptor DESC_WIZBAN_REFACTOR_PACKAGE = create( 670 T_WIZBAN, "packrefact_wiz.gif"); //$NON-NLS-1$ 671 672 public static final ImageDescriptor DESC_WIZBAN_REFACTOR_CODE = create( 673 T_WIZBAN, "coderefact_wiz.gif"); //$NON-NLS-1$ 674 675 public static final ImageDescriptor DESC_WIZBAN_REFACTOR_CU = create( 676 T_WIZBAN, "compunitrefact_wiz.gif"); //$NON-NLS-1$ 677 678 public static final ImageDescriptor DESC_WIZBAN_REFACTOR_PULL_UP = create( 679 T_WIZBAN, "pullup_wiz.gif"); //$NON-NLS-1$ 680 681 public static final ImageDescriptor DESC_WIZBAN_JAR_PACKAGER = create( 682 T_WIZBAN, "jar_pack_wiz.gif"); //$NON-NLS-1$ 683 684 public static final ImageDescriptor DESC_WIZBAN_JAVA_WORKINGSET = create( 685 T_WIZBAN, "java_workingset_wiz.gif");//$NON-NLS-1$ 686 687 public static final ImageDescriptor DESC_WIZBAN_EXPORT_JAVADOC = create( 688 T_WIZBAN, "export_javadoc_wiz.gif");//$NON-NLS-1$ 689 690 public static final ImageDescriptor DESC_WIZBAN_EXTERNALIZE_STRINGS = create( 691 T_WIZBAN, "extstr_wiz.gif");//$NON-NLS-1$ 692 693 public static final ImageDescriptor DESC_WIZBAN_ADD_LIBRARY = create( 694 T_WIZBAN, "addlibrary_wiz.gif");//$NON-NLS-1$ 695 696 public static final ImageDescriptor DESC_TOOL_DISPLAYSNIPPET = create( 697 T_CTOOL, "disp_sbook.gif"); //$NON-NLS-1$ 698 699 public static final ImageDescriptor DESC_TOOL_RUNSNIPPET = create(T_CTOOL, 700 "run_sbook.gif"); //$NON-NLS-1$ 701 702 public static final ImageDescriptor DESC_TOOL_INSPSNIPPET = create(T_CTOOL, 703 "insp_sbook.gif"); //$NON-NLS-1$ 704 705 public static final ImageDescriptor DESC_TOOL_PACKSNIPPET = create(T_CTOOL, 706 "pack_sbook.gif"); //$NON-NLS-1$ 707 708 public static final ImageDescriptor DESC_TOOL_TERMSNIPPET = create(T_CTOOL, 709 "term_sbook.gif"); //$NON-NLS-1$ 710 711 public static final ImageDescriptor DESC_TOOL_SHOW_EMPTY_PKG = create( 712 T_CTOOL, "show_empty_pkg.gif"); //$NON-NLS-1$ 713 714 public static final ImageDescriptor DESC_TOOL_SHOW_SEGMENTS = create( 715 T_CTOOL, "segment_edit.gif"); //$NON-NLS-1$ 716 717 public static final ImageDescriptor DESC_TOOL_GOTO_NEXT_ERROR = create( 718 T_CTOOL, "next_error_nav.gif"); //$NON-NLS-1$ 719 720 public static final ImageDescriptor DESC_TOOL_GOTO_PREV_ERROR = create( 721 T_CTOOL, "prev_error_nav.gif"); //$NON-NLS-1$ 722 723 public static final ImageDescriptor DESC_TOOL_OPENTYPE = create(T_CTOOL, 724 "opentype.gif"); //$NON-NLS-1$ 725 726 public static final ImageDescriptor DESC_TOOL_NEWPROJECT = create(T_CTOOL, 727 "newjprj_wiz.gif"); //$NON-NLS-1$ 728 729 public static final ImageDescriptor DESC_TOOL_NEWPACKAGE = create(T_CTOOL, 730 "newpack_wiz.gif"); //$NON-NLS-1$ 731 732 public static final ImageDescriptor DESC_TOOL_NEWCLASS = create(T_CTOOL, 733 "newclass_wiz.gif"); //$NON-NLS-1$ 734 735 public static final ImageDescriptor DESC_TOOL_NEWINTERFACE = create( 736 T_CTOOL, "newint_wiz.gif"); //$NON-NLS-1$ 737 738 public static final ImageDescriptor DESC_TOOL_NEWSNIPPET = create(T_CTOOL, 739 "newsbook_wiz.gif"); //$NON-NLS-1$ 740 741 public static final ImageDescriptor DESC_TOOL_NEWPACKROOT = create(T_CTOOL, 742 "newpackfolder_wiz.gif"); //$NON-NLS-1$ 743 744 public static final ImageDescriptor DESC_TOOL_CLASSPATH_ORDER = create( 745 T_OBJ, "cp_order_obj.gif"); //$NON-NLS-1$ 746 747 // Keys for correction proposal. We have to put the image into the registry 748 // since "code assist" doesn't 749 // have a life cycle. So no change to dispose icons. 750 751 public static final String IMG_CORRECTION_CHANGE = NAME_PREFIX 752 + "correction_change.gif"; //$NON-NLS-1$ 753 754 public static final String IMG_CORRECTION_MOVE = NAME_PREFIX 755 + "correction_move.gif"; //$NON-NLS-1$ 756 757 public static final String IMG_CORRECTION_RENAME = NAME_PREFIX 758 + "correction_rename.gif"; //$NON-NLS-1$ 759 760 public static final String IMG_CORRECTION_DELETE_IMPORT = NAME_PREFIX 761 + "correction_delete_import.gif"; //$NON-NLS-1$ 762 763 public static final String IMG_CORRECTION_LOCAL = NAME_PREFIX 764 + "localvariable_obj.gif"; //$NON-NLS-1$ 765 766 public static final String IMG_CORRECTION_REMOVE = NAME_PREFIX 767 + "remove_correction.gif"; //$NON-NLS-1$ 768 769 public static final String IMG_CORRECTION_ADD = NAME_PREFIX 770 + "add_correction.gif"; //$NON-NLS-1$ 771 772 static { createManaged(T_OBJ, IMG_CORRECTION_CHANGE)773 createManaged(T_OBJ, IMG_CORRECTION_CHANGE); createManaged(T_OBJ, IMG_CORRECTION_MOVE)774 createManaged(T_OBJ, IMG_CORRECTION_MOVE); createManaged(T_OBJ, IMG_CORRECTION_RENAME)775 createManaged(T_OBJ, IMG_CORRECTION_RENAME); createManaged(T_OBJ, IMG_CORRECTION_DELETE_IMPORT)776 createManaged(T_OBJ, IMG_CORRECTION_DELETE_IMPORT); createManaged(T_OBJ, IMG_CORRECTION_LOCAL)777 createManaged(T_OBJ, IMG_CORRECTION_LOCAL); createManaged(T_OBJ, IMG_CORRECTION_REMOVE)778 createManaged(T_OBJ, IMG_CORRECTION_REMOVE); createManaged(T_OBJ, IMG_CORRECTION_ADD)779 createManaged(T_OBJ, IMG_CORRECTION_ADD); 780 } 781 782 /** 783 * Returns the image managed under the given key in this registry. 784 * 785 * @param key 786 * the image's key 787 * @return the image managed under the given key 788 */ get(String key)789 public static Image get(String key) { 790 return getImageRegistry().get(key); 791 } 792 793 /** 794 * Returns the image descriptor for the given key in this registry. Might be 795 * called in a non-UI thread. 796 * 797 * @param key 798 * the image's key 799 * @return the image descriptor for the given key 800 */ getDescriptor(String key)801 public static ImageDescriptor getDescriptor(String key) { 802 if (fgImageRegistry == null) { 803 return (ImageDescriptor) fgAvoidSWTErrorMap.get(key); 804 } 805 return getImageRegistry().getDescriptor(key); 806 } 807 808 /** 809 * Sets the three image descriptors for enabled, disabled, and hovered to an 810 * action. The actions are retrieved from the *tool16 folders. 811 */ setToolImageDescriptors(IAction action, String iconName)812 public static void setToolImageDescriptors(IAction action, String iconName) { 813 setImageDescriptors(action, "tool16", iconName); 814 } 815 816 /** 817 * Sets the three image descriptors for enabled, disabled, and hovered to an 818 * action. The actions are retrieved from the *lcl16 folders. 819 */ setLocalImageDescriptors(IAction action, String iconName)820 public static void setLocalImageDescriptors(IAction action, String iconName) { 821 setImageDescriptors(action, "lcl16", iconName); 822 } 823 824 /* 825 * Helper method to access the image registry from the JavaPlugin class. 826 */ getImageRegistry()827 /* package */static ImageRegistry getImageRegistry() { 828 if (fgImageRegistry == null) { 829 fgImageRegistry = new ImageRegistry(); 830 for (Iterator iter = fgAvoidSWTErrorMap.keySet().iterator(); iter 831 .hasNext();) { 832 String key = (String) iter.next(); 833 fgImageRegistry.put(key, (ImageDescriptor) fgAvoidSWTErrorMap 834 .get(key)); 835 } 836 fgAvoidSWTErrorMap = null; 837 } 838 return fgImageRegistry; 839 } 840 841 // ---- Helper methods to access icons on the file system 842 // -------------------------------------- 843 setImageDescriptors(IAction action, String type, String relPath)844 protected static void setImageDescriptors(IAction action, String type, 845 String relPath) { 846 847 try { 848 ImageDescriptor id = ImageDescriptor.createFromURL(makeIconFileURL( 849 "d" + type, relPath)); 850 if (id != null) 851 action.setDisabledImageDescriptor(id); 852 } catch (MalformedURLException e) { 853 } 854 855 try { 856 ImageDescriptor id = ImageDescriptor.createFromURL(makeIconFileURL( 857 "c" + type, relPath)); 858 if (id != null) 859 action.setHoverImageDescriptor(id); 860 } catch (MalformedURLException e) { 861 } 862 863 action.setImageDescriptor(create("e" + type, relPath)); 864 } 865 createManaged(String prefix, String name)866 private static ImageDescriptor createManaged(String prefix, String name) { 867 try { 868 ImageDescriptor result = ImageDescriptor 869 .createFromURL(makeIconFileURL(prefix, name 870 .substring(NAME_PREFIX_LENGTH))); 871 if (fgAvoidSWTErrorMap == null) { 872 fgAvoidSWTErrorMap = new HashMap(); 873 } 874 fgAvoidSWTErrorMap.put(name, result); 875 if (fgImageRegistry != null) { 876 PHPeclipsePlugin 877 .logErrorMessage("Image registry already defined"); //$NON-NLS-1$ 878 } 879 return result; 880 } catch (MalformedURLException e) { 881 return ImageDescriptor.getMissingImageDescriptor(); 882 } 883 } 884 createManaged(String prefix, String name, String key)885 private static ImageDescriptor createManaged(String prefix, String name, 886 String key) { 887 try { 888 ImageDescriptor result = ImageDescriptor 889 .createFromURL(makeIconFileURL(prefix, name 890 .substring(NAME_PREFIX_LENGTH))); 891 if (fgAvoidSWTErrorMap == null) { 892 fgAvoidSWTErrorMap = new HashMap(); 893 } 894 fgAvoidSWTErrorMap.put(key, result); 895 if (fgImageRegistry != null) { 896 PHPeclipsePlugin 897 .logErrorMessage("Image registry already defined"); //$NON-NLS-1$ 898 } 899 return result; 900 } catch (MalformedURLException e) { 901 return ImageDescriptor.getMissingImageDescriptor(); 902 } 903 } 904 create(String prefix, String name)905 protected static ImageDescriptor create(String prefix, String name) { 906 try { 907 return ImageDescriptor.createFromURL(makeIconFileURL(prefix, name)); 908 } catch (MalformedURLException e) { 909 return ImageDescriptor.getMissingImageDescriptor(); 910 } 911 } 912 makeIconFileURL(String prefix, String name)913 protected static URL makeIconFileURL(String prefix, String name) 914 throws MalformedURLException { 915 if (fgIconBaseURL == null) 916 throw new MalformedURLException(); 917 918 StringBuffer buffer = new StringBuffer(prefix); 919 buffer.append('/'); 920 buffer.append(name); 921 return new URL(fgIconBaseURL, buffer.toString()); 922 } 923 }