summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2012-05-07 15:13:14 -0700
committerTor Norbye <tnorbye@google.com>2012-05-08 07:59:52 -0700
commitbaf49b0e01f0e601d28128d4ba522f2f15244ad5 (patch)
treeb9ecc647b8687cc7d00f3b87a8549d1c7b7b07f6
parent7d5e809721ca0f3460afcd8ae32fa366c86ec978 (diff)
downloadeclipse-windowbuilder-baf49b0e01f0e601d28128d4ba522f2f15244ad5.tar.gz
Add WindowBuilder NLS support
This changeset adds back portions of the WindowBuilder NLS support into the propertysheet library such that the locale chooser etc can for example use the language flags. Change-Id: I3fee0c876a1fb57a1747075043c7e10eac9da880
-rw-r--r--propertysheet/.gitignore6
-rw-r--r--propertysheet/src/org/eclipse/wb/core/controls/CTableCombo.java690
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/DesignerPlugin.java2
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.gifbin0 -> 1706 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.pngbin0 -> 2523 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings.gifbin0 -> 1046 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings_disabled.gifbin0 -> 1036 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/extstr_wiz.pngbin0 -> 6405 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ad.pngbin0 -> 643 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ae.pngbin0 -> 408 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/af.pngbin0 -> 604 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ag.pngbin0 -> 591 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ai.pngbin0 -> 643 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/al.pngbin0 -> 600 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/am.pngbin0 -> 497 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/an.pngbin0 -> 488 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ao.pngbin0 -> 428 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ar.pngbin0 -> 506 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/as.pngbin0 -> 647 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/at.pngbin0 -> 403 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/au.pngbin0 -> 673 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/aw.pngbin0 -> 524 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ax.pngbin0 -> 663 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/az.pngbin0 -> 589 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ba.pngbin0 -> 593 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bb.pngbin0 -> 585 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bd.pngbin0 -> 504 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/be.pngbin0 -> 449 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bf.pngbin0 -> 497 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bg.pngbin0 -> 462 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bh.pngbin0 -> 457 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bi.pngbin0 -> 675 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bj.pngbin0 -> 486 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bm.pngbin0 -> 611 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bn.pngbin0 -> 639 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bo.pngbin0 -> 500 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/br.pngbin0 -> 593 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bs.pngbin0 -> 526 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bt.pngbin0 -> 631 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bv.pngbin0 -> 512 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bw.pngbin0 -> 443 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/by.pngbin0 -> 514 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bz.pngbin0 -> 600 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ca.pngbin0 -> 628 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/catalonia.pngbin0 -> 398 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cc.pngbin0 -> 625 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cd.pngbin0 -> 528 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cf.pngbin0 -> 614 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cg.pngbin0 -> 521 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ch.pngbin0 -> 367 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ci.pngbin0 -> 453 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ck.pngbin0 -> 586 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cl.pngbin0 -> 450 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cm.pngbin0 -> 525 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cn.pngbin0 -> 472 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/co.pngbin0 -> 483 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cr.pngbin0 -> 477 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cs.pngbin0 -> 439 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cu.pngbin0 -> 563 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cv.pngbin0 -> 529 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cx.pngbin0 -> 608 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cy.pngbin0 -> 428 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cz.pngbin0 -> 476 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/de.pngbin0 -> 545 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dj.pngbin0 -> 572 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dk.pngbin0 -> 495 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dm.pngbin0 -> 620 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/do.pngbin0 -> 508 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dz.pngbin0 -> 582 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ec.pngbin0 -> 500 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ee.pngbin0 -> 429 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eg.pngbin0 -> 465 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eh.pngbin0 -> 508 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/england.pngbin0 -> 496 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/er.pngbin0 -> 653 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/es.pngbin0 -> 469 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/et.pngbin0 -> 592 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/europeanunion.pngbin0 -> 479 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fam.pngbin0 -> 532 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fi.pngbin0 -> 489 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fj.pngbin0 -> 610 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fk.pngbin0 -> 648 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/flag_empty.pngbin0 -> 403 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fm.pngbin0 -> 552 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fo.pngbin0 -> 474 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fr.pngbin0 -> 545 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ga.pngbin0 -> 489 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gb.pngbin0 -> 599 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gd.pngbin0 -> 637 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ge.pngbin0 -> 594 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gf.pngbin0 -> 545 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gh.pngbin0 -> 490 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gi.pngbin0 -> 463 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gl.pngbin0 -> 470 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gm.pngbin0 -> 493 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gn.pngbin0 -> 480 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gp.pngbin0 -> 488 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gq.pngbin0 -> 537 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gr.pngbin0 -> 487 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gs.pngbin0 -> 630 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gt.pngbin0 -> 493 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gu.pngbin0 -> 509 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gw.pngbin0 -> 516 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gy.pngbin0 -> 645 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hk.pngbin0 -> 527 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hm.pngbin0 -> 673 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hn.pngbin0 -> 537 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hr.pngbin0 -> 524 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ht.pngbin0 -> 487 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hu.pngbin0 -> 432 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/id.pngbin0 -> 430 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ie.pngbin0 -> 481 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/il.pngbin0 -> 431 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/in.pngbin0 -> 503 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/io.pngbin0 -> 658 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/iq.pngbin0 -> 515 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ir.pngbin0 -> 512 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/is.pngbin0 -> 532 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/it.pngbin0 -> 420 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jm.pngbin0 -> 637 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jo.pngbin0 -> 473 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jp.pngbin0 -> 420 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ke.pngbin0 -> 569 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kg.pngbin0 -> 510 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kh.pngbin0 -> 549 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ki.pngbin0 -> 656 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/km.pngbin0 -> 577 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kn.pngbin0 -> 604 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kp.pngbin0 -> 561 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kr.pngbin0 -> 592 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kw.pngbin0 -> 486 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ky.pngbin0 -> 643 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kz.pngbin0 -> 616 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/la.pngbin0 -> 563 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lb.pngbin0 -> 517 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lc.pngbin0 -> 520 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/li.pngbin0 -> 537 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lk.pngbin0 -> 627 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lr.pngbin0 -> 466 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ls.pngbin0 -> 628 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lt.pngbin0 -> 508 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lu.pngbin0 -> 481 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lv.pngbin0 -> 465 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ly.pngbin0 -> 419 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ma.pngbin0 -> 432 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mc.pngbin0 -> 380 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/md.pngbin0 -> 566 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/me.pngbin0 -> 448 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mg.pngbin0 -> 453 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mh.pngbin0 -> 628 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mk.pngbin0 -> 664 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ml.pngbin0 -> 474 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mm.pngbin0 -> 483 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mn.pngbin0 -> 492 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mo.pngbin0 -> 588 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mp.pngbin0 -> 597 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mq.pngbin0 -> 655 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mr.pngbin0 -> 569 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ms.pngbin0 -> 614 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mt.pngbin0 -> 420 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mu.pngbin0 -> 496 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mv.pngbin0 -> 542 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mw.pngbin0 -> 529 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mx.pngbin0 -> 574 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/my.pngbin0 -> 571 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mz.pngbin0 -> 584 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/na.pngbin0 -> 647 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nc.pngbin0 -> 591 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ne.pngbin0 -> 537 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nf.pngbin0 -> 602 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ng.pngbin0 -> 482 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ni.pngbin0 -> 508 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nl.pngbin0 -> 453 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/no.pngbin0 -> 512 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/np.pngbin0 -> 443 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nr.pngbin0 -> 527 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nu.pngbin0 -> 572 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nz.pngbin0 -> 639 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/om.pngbin0 -> 478 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pa.pngbin0 -> 519 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pe.pngbin0 -> 397 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pf.pngbin0 -> 498 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pg.pngbin0 -> 593 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ph.pngbin0 -> 538 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pk.pngbin0 -> 569 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pl.pngbin0 -> 374 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pm.pngbin0 -> 689 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pn.pngbin0 -> 657 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pr.pngbin0 -> 556 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ps.pngbin0 -> 472 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pt.pngbin0 -> 554 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pw.pngbin0 -> 550 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/py.pngbin0 -> 473 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/qa.pngbin0 -> 450 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/re.pngbin0 -> 545 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ro.pngbin0 -> 495 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rs.pngbin0 -> 423 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ru.pngbin0 -> 420 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rw.pngbin0 -> 533 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sa.pngbin0 -> 551 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sb.pngbin0 -> 624 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sc.pngbin0 -> 608 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/scotland.pngbin0 -> 649 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sd.pngbin0 -> 492 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/se.pngbin0 -> 542 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sg.pngbin0 -> 468 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sh.pngbin0 -> 645 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/si.pngbin0 -> 510 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sj.pngbin0 -> 512 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sk.pngbin0 -> 562 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sl.pngbin0 -> 436 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sm.pngbin0 -> 502 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sn.pngbin0 -> 532 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/so.pngbin0 -> 527 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sr.pngbin0 -> 513 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/st.pngbin0 -> 584 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sv.pngbin0 -> 501 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sy.pngbin0 -> 422 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sz.pngbin0 -> 643 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tc.pngbin0 -> 624 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/td.pngbin0 -> 570 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tf.pngbin0 -> 527 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tg.pngbin0 -> 562 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/th.pngbin0 -> 452 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tj.pngbin0 -> 496 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tk.pngbin0 -> 638 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tl.pngbin0 -> 514 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tm.pngbin0 -> 593 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tn.pngbin0 -> 495 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/to.pngbin0 -> 426 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tr.pngbin0 -> 492 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tt.pngbin0 -> 617 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tv.pngbin0 -> 536 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tw.pngbin0 -> 465 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tz.pngbin0 -> 642 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ua.pngbin0 -> 446 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ug.pngbin0 -> 531 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/um.pngbin0 -> 571 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/us.pngbin0 -> 609 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uy.pngbin0 -> 532 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uz.pngbin0 -> 515 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/va.pngbin0 -> 553 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vc.pngbin0 -> 577 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ve.pngbin0 -> 528 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vg.pngbin0 -> 630 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vi.pngbin0 -> 616 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vn.pngbin0 -> 474 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vu.pngbin0 -> 604 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wales.pngbin0 -> 652 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wf.pngbin0 -> 554 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ws.pngbin0 -> 476 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ye.pngbin0 -> 413 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/yt.pngbin0 -> 593 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/za.pngbin0 -> 642 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zm.pngbin0 -> 500 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zw.pngbin0 -> 574 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/globe3.pngbin0 -> 852 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/ms16.pngbin0 -> 713 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/icons/nls/property.gifbin0 -> 97 bytes
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocaleInfo.java190
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfo.java81
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfos.java106
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/nls/ui/FlagImagesRepository.java144
-rw-r--r--propertysheet/src/org/eclipse/wb/internal/core/nls/ui/LocaleUtils.java61
264 files changed, 1278 insertions, 2 deletions
diff --git a/propertysheet/.gitignore b/propertysheet/.gitignore
index fe99505..3826f65 100644
--- a/propertysheet/.gitignore
+++ b/propertysheet/.gitignore
@@ -1,2 +1,6 @@
bin
-
+*~
+*.bak
+Thumbs.db
+*.class
+*.DS_Store
diff --git a/propertysheet/src/org/eclipse/wb/core/controls/CTableCombo.java b/propertysheet/src/org/eclipse/wb/core/controls/CTableCombo.java
new file mode 100644
index 0000000..407e14b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/core/controls/CTableCombo.java
@@ -0,0 +1,690 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.core.controls;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.CCombo;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.Rectangle;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.TableItem;
+import org.eclipse.swt.widgets.TypedListener;
+
+import java.util.Locale;
+
+/**
+ * {@link Control} like {@link Combo} or {@link CCombo} that shows {@link Table} with image/text as
+ * drop-down.
+ *
+ * @author mitin_aa
+ * @author scheglov_ke
+ * @coverage core.control
+ */
+public class CTableCombo extends Composite {
+ protected Button m_arrow;
+ protected CImageLabel m_text;
+ protected Shell m_popup;
+ protected Table m_table;
+ protected boolean hasFocus;
+
+ //
+ public CTableCombo(Composite parent, int style) {
+ super(parent, style = checkStyle(style));
+ init(parent, style);
+ }
+
+ static int checkStyle(int style) {
+ int mask = SWT.BORDER | SWT.READ_ONLY | SWT.FLAT;
+ return style & mask;
+ }
+
+ private void init(Composite parent, int style) {
+ m_arrow = new Button(this, SWT.ARROW | SWT.DOWN | SWT.NO_FOCUS);
+ m_text = new CImageLabel(this, style & ~SWT.BORDER);
+ m_text.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
+ final Shell shell = getShell();
+ m_popup = new Shell(shell, SWT.NONE);
+ m_table = new Table(m_popup, SWT.FULL_SELECTION);
+ new TableColumn(m_table, SWT.NONE);
+ Listener listener = new Listener() {
+ public void handleEvent(Event event) {
+ if (m_popup == event.widget) {
+ handlePopupEvent(event);
+ return;
+ }
+ if (m_text == event.widget) {
+ handleTextEvent(event);
+ return;
+ }
+ if (m_table == event.widget) {
+ handleTableEvent(event);
+ return;
+ }
+ if (m_arrow == event.widget) {
+ handleArrowEvent(event);
+ return;
+ }
+ if (CTableCombo.this == event.widget) {
+ handleComboEvent(event);
+ return;
+ }
+ }
+ };
+ final Listener shellListener = new Listener() {
+ public void handleEvent(Event event) {
+ switch (event.type) {
+ case SWT.Dispose :
+ case SWT.Move :
+ case SWT.Resize :
+ if (!isDisposed()) {
+ dropDown(false);
+ }
+ break;
+ }
+ }
+ };
+ final int[] comboEvents = {SWT.Dispose, SWT.Move, SWT.Resize};
+ for (int i = 0; i < comboEvents.length; i++) {
+ addListener(comboEvents[i], listener);
+ // HACK: hide popup when parent changed
+ shell.addListener(comboEvents[i], shellListener);
+ }
+ addDisposeListener(new DisposeListener() {
+ public void widgetDisposed(DisposeEvent e) {
+ for (int i = 0; i < comboEvents.length; i++) {
+ shell.removeListener(comboEvents[i], shellListener);
+ }
+ }
+ });
+ int[] popupEvents = {SWT.Close, SWT.Paint, SWT.Deactivate};
+ for (int i = 0; i < popupEvents.length; i++) {
+ m_popup.addListener(popupEvents[i], listener);
+ }
+ int[] textEvents =
+ {
+ SWT.KeyDown,
+ SWT.KeyUp,
+ SWT.Modify,
+ SWT.MouseDown,
+ SWT.MouseUp,
+ SWT.MouseDoubleClick,
+ SWT.Traverse,
+ SWT.FocusIn,
+ SWT.FocusOut};
+ for (int i = 0; i < textEvents.length; i++) {
+ m_text.addListener(textEvents[i], listener);
+ }
+ int[] tableEvents =
+ {
+ SWT.MouseUp,
+ SWT.Selection,
+ SWT.Traverse,
+ SWT.KeyDown,
+ SWT.KeyUp,
+ SWT.FocusIn,
+ SWT.FocusOut};
+ for (int i = 0; i < tableEvents.length; i++) {
+ m_table.addListener(tableEvents[i], listener);
+ }
+ int[] arrowEvents = {SWT.Selection, SWT.FocusIn, SWT.FocusOut};
+ for (int i = 0; i < arrowEvents.length; i++) {
+ m_arrow.addListener(arrowEvents[i], listener);
+ }
+ }
+
+ protected void handleTableEvent(Event event) {
+ switch (event.type) {
+ case SWT.FocusIn : {
+ if (hasFocus) {
+ return;
+ }
+ hasFocus = true;
+ Event e = new Event();
+ e.time = event.time;
+ notifyListeners(SWT.FocusIn, e);
+ break;
+ }
+ case SWT.FocusOut : {
+ final int time = event.time;
+ event.display.asyncExec(new Runnable() {
+ public void run() {
+ if (CTableCombo.this.isDisposed()) {
+ return;
+ }
+ Control focusControl = getDisplay().getFocusControl();
+ if (focusControl == m_text || focusControl == m_arrow) {
+ return;
+ }
+ hasFocus = false;
+ Event e = new Event();
+ e.time = time;
+ notifyListeners(SWT.FocusOut, e);
+ }
+ });
+ break;
+ }
+ case SWT.MouseUp : {
+ if (event.button != 1) {
+ return;
+ }
+ dropDown(false);
+ Event e = new Event();
+ e.time = event.time;
+ notifyListeners(SWT.DefaultSelection, e);
+ break;
+ }
+ case SWT.Selection : {
+ int index = m_table.getSelectionIndex();
+ if (index == -1) {
+ return;
+ }
+ TableItem item = m_table.getItem(index);
+ m_text.setText(item.getText());
+ m_text.setImage(item.getImage());
+ //m_text.selectAll();
+ m_table.setSelection(index);
+ Event e = new Event();
+ e.time = event.time;
+ e.stateMask = event.stateMask;
+ e.doit = event.doit;
+ notifyListeners(SWT.Selection, e);
+ event.doit = e.doit;
+ dropDown(false);
+ break;
+ }
+ case SWT.Traverse : {
+ switch (event.detail) {
+ case SWT.TRAVERSE_TAB_NEXT :
+ case SWT.TRAVERSE_RETURN :
+ case SWT.TRAVERSE_ESCAPE :
+ case SWT.TRAVERSE_ARROW_PREVIOUS :
+ case SWT.TRAVERSE_ARROW_NEXT :
+ event.doit = false;
+ break;
+ }
+ Event e = new Event();
+ e.time = event.time;
+ e.detail = event.detail;
+ e.doit = event.doit;
+ e.keyCode = event.keyCode;
+ notifyListeners(SWT.Traverse, e);
+ event.doit = e.doit;
+ break;
+ }
+ case SWT.KeyUp : {
+ Event e = new Event();
+ e.time = event.time;
+ e.character = event.character;
+ e.keyCode = event.keyCode;
+ e.stateMask = event.stateMask;
+ notifyListeners(SWT.KeyUp, e);
+ break;
+ }
+ case SWT.KeyDown : {
+ if (event.character == SWT.ESC) {
+ // escape key cancels popups
+ dropDown(false);
+ }
+ if (event.character == SWT.CR || event.character == '\t') {
+ // Enter and Tab cause default selection
+ dropDown(false);
+ Event e = new Event();
+ e.time = event.time;
+ e.stateMask = event.stateMask;
+ notifyListeners(SWT.DefaultSelection, e);
+ }
+ // At this point the widget may have been disposed.
+ // If so, do not continue.
+ if (isDisposed()) {
+ break;
+ }
+ Event e = new Event();
+ e.time = event.time;
+ e.character = event.character;
+ e.keyCode = event.keyCode;
+ e.stateMask = event.stateMask;
+ notifyListeners(SWT.KeyDown, e);
+ break;
+ }
+ }
+ }
+
+ protected void handlePopupEvent(Event event) {
+ switch (event.type) {
+ case SWT.Paint :
+ // draw black rectangle around list
+ Rectangle listRect = m_table.getBounds();
+ Color black = getDisplay().getSystemColor(SWT.COLOR_BLACK);
+ event.gc.setForeground(black);
+ event.gc.drawRectangle(0, 0, listRect.width + 1, listRect.height + 1);
+ break;
+ case SWT.Close :
+ event.doit = false;
+ dropDown(false);
+ break;
+ }
+ }
+
+ protected void handleComboEvent(Event event) {
+ switch (event.type) {
+ case SWT.Dispose :
+ if (m_popup != null && !m_popup.isDisposed()) {
+ m_popup.dispose();
+ }
+ m_popup = null;
+ m_text = null;
+ m_arrow = null;
+ break;
+ case SWT.Move :
+ dropDown(false);
+ break;
+ case SWT.Resize :
+ internalLayout();
+ break;
+ }
+ }
+
+ protected void handleArrowEvent(Event event) {
+ switch (event.type) {
+ case SWT.FocusIn : {
+ if (hasFocus) {
+ return;
+ }
+ hasFocus = true;
+ Event e = new Event();
+ e.time = event.time;
+ notifyListeners(SWT.FocusIn, e);
+ break;
+ }
+ case SWT.Selection : {
+ boolean wasDropped = isDropped();
+ dropDown(!wasDropped);
+ if (wasDropped) {
+ m_text.forceFocus();
+ }
+ break;
+ }
+ }
+ }
+
+ protected void handleTextEvent(Event event) {
+ switch (event.type) {
+ case SWT.FocusIn : {
+ if (hasFocus) {
+ return;
+ }
+ hasFocus = true;
+ //if (getEditable())
+ Event e = new Event();
+ e.time = event.time;
+ notifyListeners(SWT.FocusIn, e);
+ break;
+ }
+ case SWT.FocusOut : {
+ final int time = event.time;
+ event.display.asyncExec(new Runnable() {
+ public void run() {
+ if (CTableCombo.this.isDisposed()) {
+ return;
+ }
+ Control focusControl = getDisplay().getFocusControl();
+ if (focusControl == m_table
+ || focusControl == m_arrow
+ || focusControl != null
+ && focusControl.getParent() == CTableCombo.this) {
+ return;
+ }
+ hasFocus = false;
+ Event e = new Event();
+ e.time = time;
+ notifyListeners(SWT.FocusOut, e);
+ }
+ });
+ break;
+ }
+ case SWT.KeyDown : {
+ if (event.character == SWT.ESC) { // escape key cancels popup
+ dropDown(false);
+ }
+ if (event.character == SWT.CR) {
+ dropDown(false);
+ Event e = new Event();
+ e.time = event.time;
+ e.stateMask = event.stateMask;
+ notifyListeners(SWT.DefaultSelection, e);
+ }
+ // At this point the widget may have been disposed.
+ // If so, do not continue.
+ if (isDisposed()) {
+ break;
+ }
+ if (event.character == '+') {
+ dropDown(true);
+ }
+ if (isDropped()) {
+ if (event.keyCode == SWT.ARROW_UP || event.keyCode == SWT.ARROW_DOWN) {
+ int oldIndex = getSelectionIndex();
+ if (event.keyCode == SWT.ARROW_UP) {
+ select(Math.max(oldIndex - 1, 0));
+ } else {
+ select(Math.min(oldIndex + 1, getItemCount() - 1));
+ }
+ if (oldIndex != getSelectionIndex()) {
+ Event e = new Event();
+ e.time = event.time;
+ e.stateMask = event.stateMask;
+ notifyListeners(SWT.Selection, e);
+ }
+ // At this point the widget may have been disposed.
+ // If so, do not continue.
+ if (isDisposed()) {
+ break;
+ }
+ }
+ }
+ if (Character.isLetter(event.character)) {
+ int oldIndex = getSelectionIndex();
+ int index = -1;
+ for (int i = 0; i < getItemCount(); i++) {
+ String item = getItem(i).toUpperCase(Locale.ENGLISH);
+ if (item.length() != 0 && item.charAt(0) == Character.toUpperCase(event.character)) {
+ index = i;
+ break;
+ }
+ }
+ if (index != -1) {
+ select(Math.max(index, 0));
+ if (oldIndex != getSelectionIndex()) {
+ Event e = new Event();
+ e.time = event.time;
+ e.stateMask = event.stateMask;
+ notifyListeners(SWT.Selection, e);
+ }
+ }
+ }
+ Event e = new Event();
+ e.time = event.time;
+ e.character = event.character;
+ e.keyCode = event.keyCode;
+ e.stateMask = event.stateMask;
+ if (m_text != null && !m_text.isDisposed()) {
+ notifyListeners(SWT.KeyDown, e);
+ }
+ break;
+ }
+ case SWT.KeyUp : {
+ Event e = new Event();
+ e.time = event.time;
+ e.character = event.character;
+ e.keyCode = event.keyCode;
+ e.stateMask = event.stateMask;
+ notifyListeners(SWT.KeyUp, e);
+ break;
+ }
+ case SWT.Modify : {
+ m_table.deselectAll();
+ Event e = new Event();
+ e.time = event.time;
+ notifyListeners(SWT.Modify, e);
+ break;
+ }
+ case SWT.MouseDown : {
+ if (event.button != 1) {
+ return;
+ }
+ m_text.forceFocus();
+ boolean dropped = isDropped();
+ dropDown(!dropped);
+ if (!dropped) {
+ m_text.forceFocus();
+ }
+ break;
+ }
+ case SWT.MouseDoubleClick : {
+ notifyListeners(SWT.MouseDoubleClick, event);
+ break;
+ }
+ case SWT.Traverse : {
+ switch (event.detail) {
+ case SWT.TRAVERSE_RETURN :
+ case SWT.TRAVERSE_ARROW_PREVIOUS :
+ case SWT.TRAVERSE_ARROW_NEXT :
+ // The enter causes default selection and
+ // the arrow keys are used to manipulate the list contents so
+ // do not use them for traversal.
+ event.doit = false;
+ break;
+ case SWT.TRAVERSE_TAB_NEXT :
+ case SWT.TRAVERSE_TAB_PREVIOUS :
+ event.doit = true;
+ break;
+ }
+ Event e = new Event();
+ e.time = event.time;
+ e.detail = event.detail;
+ e.doit = event.doit;
+ e.keyCode = event.keyCode;
+ notifyListeners(SWT.Traverse, e);
+ event.doit = e.doit;
+ break;
+ }
+ }
+ }
+
+ private void dropDown(boolean drop) {
+ if (drop == isDropped()) {
+ return;
+ }
+ if (!drop) {
+ m_popup.setVisible(false);
+ m_text.setFocus();
+ return;
+ }
+ int index = m_table.getSelectionIndex();
+ if (index != -1) {
+ m_table.setTopIndex(index);
+ m_table.setSelection(index);
+ }
+ m_table.pack();
+ Point point = getParent().toDisplay(getLocation());
+ Point comboSize = getSize();
+ //Rectangle tableRect = m_table.getBounds();
+ //int width = Math.max(comboSize.x, tableRect.width + 2);
+ int width = comboSize.x - 1;
+ // only one column
+ m_table.getColumn(0).setWidth(width - 5);
+ if (!(m_popup.getLayout() instanceof FillLayout)) {
+ m_popup.setLayout(new FillLayout());
+ }
+ int itemCount = m_table.getItemCount();
+ if (itemCount > 20) {
+ itemCount = 20;
+ }
+ int height =
+ Math.min(
+ m_table.getItemHeight() * itemCount + 5,
+ Display.getCurrent().getClientArea().height - point.y - 20);
+ m_popup.setBounds(point.x, point.y + comboSize.y, width, height);
+ m_popup.layout();
+ m_popup.setVisible(true);
+ m_text.setFocus();
+ if (index != -1) {
+ m_table.setTopIndex(index);
+ m_table.setSelection(index);
+ }
+ }
+
+ @Override
+ public Point computeSize(int wHint, int hHint, boolean changed) {
+ checkWidget();
+ int width = 0, height = 0;
+ Point textSize = m_text.computeSize(wHint, SWT.DEFAULT, changed);
+ Point arrowSize = m_arrow.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);
+ int tableWidth;
+ {
+ TableColumn column = m_table.getColumn(0);
+ column.pack();
+ tableWidth = column.getWidth();
+ }
+ //
+ int borderWidth = getBorderWidth();
+ height = Math.max(hHint, Math.max(textSize.y, arrowSize.y) + 2 * borderWidth);
+ width = Math.max(wHint, Math.max(textSize.x + arrowSize.x, tableWidth) + 2 * borderWidth);
+ //
+ return new Point(width, height);
+ }
+
+ private void internalLayout() {
+ if (isDropped()) {
+ dropDown(false);
+ }
+ Rectangle rect = getClientArea();
+ int width = rect.width;
+ int height = rect.height;
+ Point arrowSize = m_arrow.computeSize(SWT.DEFAULT, height);
+ m_text.setBounds(rect.x, rect.y, width - arrowSize.x, height);
+ m_arrow.setBounds(rect.x + width - arrowSize.x, rect.y, arrowSize.x, arrowSize.y);
+ }
+
+ private boolean isDropped() {
+ return m_popup.isVisible();
+ }
+
+ @Override
+ public boolean isFocusControl() {
+ checkWidget();
+ if (m_text.isFocusControl()
+ || m_arrow.isFocusControl()
+ || m_table.isFocusControl()
+ || m_popup.isFocusControl()) {
+ return true;
+ }
+ return super.isFocusControl();
+ }
+
+ public void select(int index) {
+ checkWidget();
+ if (index == -1) {
+ m_table.deselectAll();
+ m_text.setText(""); //$NON-NLS-1$
+ m_text.setImage(null);
+ return;
+ }
+ if (0 <= index && index < m_table.getItemCount()) {
+ if (index != getSelectionIndex()) {
+ TableItem item = m_table.getItem(index);
+ m_text.setText(item.getText());
+ m_text.setImage(item.getImage());
+ m_table.select(index);
+ m_table.showSelection();
+ }
+ }
+ }
+
+ @Override
+ public void setEnabled(boolean enabled) {
+ super.setEnabled(enabled);
+ if (enabled) {
+ m_text.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
+ } else {
+ m_text.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_LIGHT_SHADOW));
+ }
+ }
+
+ public String getItem(int index) {
+ checkWidget();
+ return m_table.getItem(index).getText();
+ }
+
+ public int getSelectionIndex() {
+ checkWidget();
+ return m_table.getSelectionIndex();
+ }
+
+ public void removeAll() {
+ checkWidget();
+ m_text.setText(""); //$NON-NLS-1$
+ m_text.setImage(null);
+ m_table.removeAll();
+ }
+
+ public int indexOf(String string) {
+ return indexOf(string, 0);
+ }
+
+ public int indexOf(String string, int start) {
+ checkWidget();
+ if (string == null) {
+ return -1;
+ }
+ TableItem[] items = m_table.getItems();
+ for (int i = start; i < items.length; i++) {
+ TableItem item = items[i];
+ if (item.getText().equalsIgnoreCase(string)) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ public String getText() {
+ return m_text.getText();
+ }
+
+ public int getItemCount() {
+ checkWidget();
+ return m_table.getItemCount();
+ }
+
+ protected void setText(String string) {
+ m_text.setText(string);
+ }
+
+ protected void setImage(Image image) {
+ m_text.setImage(image);
+ }
+
+ public void add(String text) {
+ add(text, null);
+ }
+
+ public void add(String text, Image image) {
+ checkWidget();
+ TableItem item = new TableItem(m_table, SWT.NONE);
+ item.setText(text);
+ item.setImage(image);
+ }
+
+ public void addSelectionListener(SelectionListener listener) {
+ checkWidget();
+ if (listener == null) {
+ SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ }
+ TypedListener typedListener = new TypedListener(listener);
+ addListener(SWT.Selection, typedListener);
+ addListener(SWT.DefaultSelection, typedListener);
+ }
+}
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/DesignerPlugin.java b/propertysheet/src/org/eclipse/wb/internal/core/DesignerPlugin.java
index 564a068..9c6a6ca 100644
--- a/propertysheet/src/org/eclipse/wb/internal/core/DesignerPlugin.java
+++ b/propertysheet/src/org/eclipse/wb/internal/core/DesignerPlugin.java
@@ -208,7 +208,7 @@ public class DesignerPlugin {
if (image == null) {
ImageDescriptor descriptor = getImageDescriptor(path);
if (descriptor != null) {
- return descriptor.createImage();
+ image = descriptor.createImage();
}
sImageCache.put(path, image);
}
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.gif b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.gif
new file mode 100644
index 0000000..10dd73e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.gif
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.png
new file mode 100644
index 0000000..34abffb
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/add_source.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings.gif b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings.gif
new file mode 100644
index 0000000..ee1d84b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings.gif
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings_disabled.gif b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings_disabled.gif
new file mode 100644
index 0000000..85eb7b1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/externalize_strings_disabled.gif
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/extstr_wiz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/extstr_wiz.png
new file mode 100644
index 0000000..74ff245
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/extstr_wiz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ad.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ad.png
new file mode 100644
index 0000000..625ca84
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ad.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ae.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ae.png
new file mode 100644
index 0000000..ef3a1ec
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ae.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/af.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/af.png
new file mode 100644
index 0000000..a4742e2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/af.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ag.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ag.png
new file mode 100644
index 0000000..556d550
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ag.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ai.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ai.png
new file mode 100644
index 0000000..74ed29d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ai.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/al.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/al.png
new file mode 100644
index 0000000..92354cb
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/al.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/am.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/am.png
new file mode 100644
index 0000000..344a2a8
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/am.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/an.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/an.png
new file mode 100644
index 0000000..633e4b8
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/an.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ao.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ao.png
new file mode 100644
index 0000000..bcbd1d6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ao.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ar.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ar.png
new file mode 100644
index 0000000..e5ef8f1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ar.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/as.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/as.png
new file mode 100644
index 0000000..32f30e4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/as.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/at.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/at.png
new file mode 100644
index 0000000..0f15f34
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/at.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/au.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/au.png
new file mode 100644
index 0000000..a01389a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/au.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/aw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/aw.png
new file mode 100644
index 0000000..a3579c2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/aw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ax.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ax.png
new file mode 100644
index 0000000..1eea80a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ax.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/az.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/az.png
new file mode 100644
index 0000000..4ee9fe5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/az.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ba.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ba.png
new file mode 100644
index 0000000..c774992
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ba.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bb.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bb.png
new file mode 100644
index 0000000..0df19c7
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bb.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bd.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bd.png
new file mode 100644
index 0000000..076a8bf
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bd.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/be.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/be.png
new file mode 100644
index 0000000..d86ebc8
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/be.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bf.png
new file mode 100644
index 0000000..ab5ce8f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bg.png
new file mode 100644
index 0000000..0469f06
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bh.png
new file mode 100644
index 0000000..ea8ce68
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bi.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bi.png
new file mode 100644
index 0000000..5cc2e30
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bi.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bj.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bj.png
new file mode 100644
index 0000000..1cc8b45
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bj.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bm.png
new file mode 100644
index 0000000..c0c7aea
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bn.png
new file mode 100644
index 0000000..8fb0984
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bo.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bo.png
new file mode 100644
index 0000000..ce7ba52
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bo.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/br.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/br.png
new file mode 100644
index 0000000..9b1a553
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/br.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bs.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bs.png
new file mode 100644
index 0000000..639fa6c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bs.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bt.png
new file mode 100644
index 0000000..1d512df
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bv.png
new file mode 100644
index 0000000..160b6b5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bw.png
new file mode 100644
index 0000000..fcb1039
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/by.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/by.png
new file mode 100644
index 0000000..504774e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/by.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bz.png
new file mode 100644
index 0000000..be63ee1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/bz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ca.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ca.png
new file mode 100644
index 0000000..1f20419
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ca.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/catalonia.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/catalonia.png
new file mode 100644
index 0000000..5041e30
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/catalonia.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cc.png
new file mode 100644
index 0000000..aed3d3b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cd.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cd.png
new file mode 100644
index 0000000..5e48942
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cd.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cf.png
new file mode 100644
index 0000000..da687bd
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cg.png
new file mode 100644
index 0000000..a859792
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ch.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ch.png
new file mode 100644
index 0000000..242ec01
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ch.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ci.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ci.png
new file mode 100644
index 0000000..3f2c62e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ci.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ck.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ck.png
new file mode 100644
index 0000000..746d3d6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ck.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cl.png
new file mode 100644
index 0000000..29c6d61
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cm.png
new file mode 100644
index 0000000..f65c5bd
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cn.png
new file mode 100644
index 0000000..8914414
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/co.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/co.png
new file mode 100644
index 0000000..a118ff4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/co.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cr.png
new file mode 100644
index 0000000..c7a3731
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cs.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cs.png
new file mode 100644
index 0000000..8254790
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cs.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cu.png
new file mode 100644
index 0000000..083f1d6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cv.png
new file mode 100644
index 0000000..a63f7ea
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cx.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cx.png
new file mode 100644
index 0000000..48e31ad
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cx.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cy.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cy.png
new file mode 100644
index 0000000..5b1ad6c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cy.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cz.png
new file mode 100644
index 0000000..c8403dd
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/cz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/de.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/de.png
new file mode 100644
index 0000000..ac4a977
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/de.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dj.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dj.png
new file mode 100644
index 0000000..582af36
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dj.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dk.png
new file mode 100644
index 0000000..e2993d3
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dm.png
new file mode 100644
index 0000000..5fbffcb
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/do.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/do.png
new file mode 100644
index 0000000..5a04932
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/do.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dz.png
new file mode 100644
index 0000000..335c239
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/dz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ec.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ec.png
new file mode 100644
index 0000000..0caa0b1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ec.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ee.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ee.png
new file mode 100644
index 0000000..0c82efb
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ee.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eg.png
new file mode 100644
index 0000000..8a3f7a1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eh.png
new file mode 100644
index 0000000..90a1195
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/eh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/england.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/england.png
new file mode 100644
index 0000000..3a7311d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/england.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/er.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/er.png
new file mode 100644
index 0000000..13065ae
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/er.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/es.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/es.png
new file mode 100644
index 0000000..c2de2d7
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/es.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/et.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/et.png
new file mode 100644
index 0000000..2e893fa
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/et.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/europeanunion.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/europeanunion.png
new file mode 100644
index 0000000..d6d8711
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/europeanunion.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fam.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fam.png
new file mode 100644
index 0000000..cf50c75
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fam.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fi.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fi.png
new file mode 100644
index 0000000..14ec091
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fi.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fj.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fj.png
new file mode 100644
index 0000000..cee9988
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fj.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fk.png
new file mode 100644
index 0000000..ceaeb27
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/flag_empty.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/flag_empty.png
new file mode 100644
index 0000000..5c00ce1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/flag_empty.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fm.png
new file mode 100644
index 0000000..066bb24
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fo.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fo.png
new file mode 100644
index 0000000..cbceb80
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fo.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fr.png
new file mode 100644
index 0000000..8332c4e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/fr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ga.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ga.png
new file mode 100644
index 0000000..0e0d434
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ga.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gb.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gb.png
new file mode 100644
index 0000000..ff701e1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gb.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gd.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gd.png
new file mode 100644
index 0000000..9ab57f5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gd.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ge.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ge.png
new file mode 100644
index 0000000..728d970
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ge.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gf.png
new file mode 100644
index 0000000..8332c4e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gh.png
new file mode 100644
index 0000000..4e2f896
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gi.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gi.png
new file mode 100644
index 0000000..e76797f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gi.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gl.png
new file mode 100644
index 0000000..ef12a73
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gm.png
new file mode 100644
index 0000000..0720b66
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gn.png
new file mode 100644
index 0000000..ea660b0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gp.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gp.png
new file mode 100644
index 0000000..dbb086d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gp.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gq.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gq.png
new file mode 100644
index 0000000..ebe20a2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gq.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gr.png
new file mode 100644
index 0000000..8651ade
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gs.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gs.png
new file mode 100644
index 0000000..7ef0bf5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gs.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gt.png
new file mode 100644
index 0000000..c43a70d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gu.png
new file mode 100644
index 0000000..92f37c0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gw.png
new file mode 100644
index 0000000..b37bcf0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gy.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gy.png
new file mode 100644
index 0000000..22cbe2f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/gy.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hk.png
new file mode 100644
index 0000000..d5c380c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hm.png
new file mode 100644
index 0000000..a01389a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hn.png
new file mode 100644
index 0000000..96f8388
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hr.png
new file mode 100644
index 0000000..696b515
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ht.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ht.png
new file mode 100644
index 0000000..416052a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ht.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hu.png
new file mode 100644
index 0000000..7baafe4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/hu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/id.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/id.png
new file mode 100644
index 0000000..c6bc0fa
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/id.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ie.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ie.png
new file mode 100644
index 0000000..26baa31
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ie.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/il.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/il.png
new file mode 100644
index 0000000..2ca772d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/il.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/in.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/in.png
new file mode 100644
index 0000000..e4d7e81
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/in.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/io.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/io.png
new file mode 100644
index 0000000..3e74b6a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/io.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/iq.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/iq.png
new file mode 100644
index 0000000..878a351
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/iq.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ir.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ir.png
new file mode 100644
index 0000000..c5fd136
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ir.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/is.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/is.png
new file mode 100644
index 0000000..b8f6d0f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/is.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/it.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/it.png
new file mode 100644
index 0000000..89692f7
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/it.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jm.png
new file mode 100644
index 0000000..7be119e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jo.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jo.png
new file mode 100644
index 0000000..11bd497
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jo.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jp.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jp.png
new file mode 100644
index 0000000..325fbad
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/jp.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ke.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ke.png
new file mode 100644
index 0000000..51879ad
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ke.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kg.png
new file mode 100644
index 0000000..0a818f6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kh.png
new file mode 100644
index 0000000..30f6bb1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ki.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ki.png
new file mode 100644
index 0000000..2dcce4b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ki.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/km.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/km.png
new file mode 100644
index 0000000..812b2f5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/km.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kn.png
new file mode 100644
index 0000000..febd5b4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kp.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kp.png
new file mode 100644
index 0000000..d3d509a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kp.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kr.png
new file mode 100644
index 0000000..9c0a78e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kw.png
new file mode 100644
index 0000000..96546da
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ky.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ky.png
new file mode 100644
index 0000000..15c5f8e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ky.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kz.png
new file mode 100644
index 0000000..45a8c88
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/kz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/la.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/la.png
new file mode 100644
index 0000000..e28acd0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/la.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lb.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lb.png
new file mode 100644
index 0000000..d0d452b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lb.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lc.png
new file mode 100644
index 0000000..a47d065
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/li.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/li.png
new file mode 100644
index 0000000..6469909
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/li.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lk.png
new file mode 100644
index 0000000..088aad6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lr.png
new file mode 100644
index 0000000..89a5bc7
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ls.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ls.png
new file mode 100644
index 0000000..33fdef1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ls.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lt.png
new file mode 100644
index 0000000..c8ef0da
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lu.png
new file mode 100644
index 0000000..4cabba9
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lv.png
new file mode 100644
index 0000000..49b6998
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/lv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ly.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ly.png
new file mode 100644
index 0000000..b163a9f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ly.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ma.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ma.png
new file mode 100644
index 0000000..f386770
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ma.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mc.png
new file mode 100644
index 0000000..1aa830f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/md.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/md.png
new file mode 100644
index 0000000..4e92c18
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/md.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/me.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/me.png
new file mode 100644
index 0000000..ac72535
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/me.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mg.png
new file mode 100644
index 0000000..d2715b3
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mh.png
new file mode 100644
index 0000000..fb523a8
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mk.png
new file mode 100644
index 0000000..db173aa
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ml.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ml.png
new file mode 100644
index 0000000..2cec8ba
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ml.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mm.png
new file mode 100644
index 0000000..f464f67
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mn.png
new file mode 100644
index 0000000..9396355
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mo.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mo.png
new file mode 100644
index 0000000..deb801d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mo.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mp.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mp.png
new file mode 100644
index 0000000..298d588
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mp.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mq.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mq.png
new file mode 100644
index 0000000..010143b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mq.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mr.png
new file mode 100644
index 0000000..319546b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ms.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ms.png
new file mode 100644
index 0000000..d4cbb43
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ms.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mt.png
new file mode 100644
index 0000000..00af948
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mu.png
new file mode 100644
index 0000000..b7fdce1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mv.png
new file mode 100644
index 0000000..5073d9e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mw.png
new file mode 100644
index 0000000..13886e9
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mx.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mx.png
new file mode 100644
index 0000000..5bc58ab
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mx.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/my.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/my.png
new file mode 100644
index 0000000..9034cba
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/my.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mz.png
new file mode 100644
index 0000000..76405e0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/mz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/na.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/na.png
new file mode 100644
index 0000000..63358c6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/na.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nc.png
new file mode 100644
index 0000000..2cad283
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ne.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ne.png
new file mode 100644
index 0000000..d85f424
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ne.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nf.png
new file mode 100644
index 0000000..f9bcdda
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ng.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ng.png
new file mode 100644
index 0000000..3eea2e0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ng.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ni.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ni.png
new file mode 100644
index 0000000..3969aaa
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ni.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nl.png
new file mode 100644
index 0000000..fe44791
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/no.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/no.png
new file mode 100644
index 0000000..160b6b5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/no.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/np.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/np.png
new file mode 100644
index 0000000..aeb058b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/np.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nr.png
new file mode 100644
index 0000000..705fc33
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nu.png
new file mode 100644
index 0000000..c3ce4ae
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nz.png
new file mode 100644
index 0000000..10d6306
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/nz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/om.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/om.png
new file mode 100644
index 0000000..2ffba7e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/om.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pa.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pa.png
new file mode 100644
index 0000000..9b2ee9a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pa.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pe.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pe.png
new file mode 100644
index 0000000..62a0497
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pe.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pf.png
new file mode 100644
index 0000000..771a0f6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pg.png
new file mode 100644
index 0000000..10d6233
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ph.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ph.png
new file mode 100644
index 0000000..b89e159
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ph.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pk.png
new file mode 100644
index 0000000..e9df70c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pl.png
new file mode 100644
index 0000000..d413d01
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pm.png
new file mode 100644
index 0000000..ba91d2c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pn.png
new file mode 100644
index 0000000..aa9344f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pr.png
new file mode 100644
index 0000000..82d9130
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ps.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ps.png
new file mode 100644
index 0000000..f5f5477
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ps.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pt.png
new file mode 100644
index 0000000..ece7980
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pw.png
new file mode 100644
index 0000000..6178b25
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/pw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/py.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/py.png
new file mode 100644
index 0000000..cb8723c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/py.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/qa.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/qa.png
new file mode 100644
index 0000000..ed4c621
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/qa.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/re.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/re.png
new file mode 100644
index 0000000..8332c4e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/re.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ro.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ro.png
new file mode 100644
index 0000000..57e74a6
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ro.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rs.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rs.png
new file mode 100644
index 0000000..9439a5b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rs.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ru.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ru.png
new file mode 100644
index 0000000..47da421
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ru.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rw.png
new file mode 100644
index 0000000..5356491
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/rw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sa.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sa.png
new file mode 100644
index 0000000..b4641c7
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sa.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sb.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sb.png
new file mode 100644
index 0000000..a9937cc
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sb.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sc.png
new file mode 100644
index 0000000..39ee371
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/scotland.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/scotland.png
new file mode 100644
index 0000000..a0e57b4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/scotland.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sd.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sd.png
new file mode 100644
index 0000000..eaab69e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sd.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/se.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/se.png
new file mode 100644
index 0000000..1994653
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/se.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sg.png
new file mode 100644
index 0000000..dd34d61
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sh.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sh.png
new file mode 100644
index 0000000..4b1d2a2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sh.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/si.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/si.png
new file mode 100644
index 0000000..bb1476f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/si.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sj.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sj.png
new file mode 100644
index 0000000..160b6b5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sj.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sk.png
new file mode 100644
index 0000000..7ccbc82
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sl.png
new file mode 100644
index 0000000..12d812d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sm.png
new file mode 100644
index 0000000..3df2fdc
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sn.png
new file mode 100644
index 0000000..eabb71d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/so.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/so.png
new file mode 100644
index 0000000..4a1ea4b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/so.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sr.png
new file mode 100644
index 0000000..5eff927
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/st.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/st.png
new file mode 100644
index 0000000..2978557
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/st.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sv.png
new file mode 100644
index 0000000..2498799
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sy.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sy.png
new file mode 100644
index 0000000..f5ce30d
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sy.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sz.png
new file mode 100644
index 0000000..914ee86
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/sz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tc.png
new file mode 100644
index 0000000..8fc1156
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/td.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/td.png
new file mode 100644
index 0000000..667f21f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/td.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tf.png
new file mode 100644
index 0000000..80529a4
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tg.png
new file mode 100644
index 0000000..3aa00ad
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/th.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/th.png
new file mode 100644
index 0000000..dd8ba91
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/th.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tj.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tj.png
new file mode 100644
index 0000000..617bf64
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tj.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tk.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tk.png
new file mode 100644
index 0000000..67b8c8c
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tk.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tl.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tl.png
new file mode 100644
index 0000000..77da181
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tl.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tm.png
new file mode 100644
index 0000000..828020e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tn.png
new file mode 100644
index 0000000..183cdd3
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/to.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/to.png
new file mode 100644
index 0000000..f89b8ba
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/to.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tr.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tr.png
new file mode 100644
index 0000000..be32f77
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tr.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tt.png
new file mode 100644
index 0000000..2a11c1e
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tv.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tv.png
new file mode 100644
index 0000000..28274c5
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tv.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tw.png
new file mode 100644
index 0000000..f31c654
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tz.png
new file mode 100644
index 0000000..c00ff79
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/tz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ua.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ua.png
new file mode 100644
index 0000000..09563a2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ua.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ug.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ug.png
new file mode 100644
index 0000000..33f4aff
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ug.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/um.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/um.png
new file mode 100644
index 0000000..c1dd965
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/um.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/us.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/us.png
new file mode 100644
index 0000000..10f451f
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/us.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uy.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uy.png
new file mode 100644
index 0000000..31d948a
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uy.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uz.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uz.png
new file mode 100644
index 0000000..fef5dc1
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/uz.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/va.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/va.png
new file mode 100644
index 0000000..b31eaf2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/va.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vc.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vc.png
new file mode 100644
index 0000000..8fa17b0
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vc.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ve.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ve.png
new file mode 100644
index 0000000..00c90f9
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ve.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vg.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vg.png
new file mode 100644
index 0000000..4156907
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vg.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vi.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vi.png
new file mode 100644
index 0000000..ed26915
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vi.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vn.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vn.png
new file mode 100644
index 0000000..ec7cd48
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vn.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vu.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vu.png
new file mode 100644
index 0000000..b3397bc
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/vu.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wales.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wales.png
new file mode 100644
index 0000000..e0d7cee
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wales.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wf.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wf.png
new file mode 100644
index 0000000..9f95587
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/wf.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ws.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ws.png
new file mode 100644
index 0000000..c169508
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ws.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ye.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ye.png
new file mode 100644
index 0000000..468dfad
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/ye.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/yt.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/yt.png
new file mode 100644
index 0000000..c298f37
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/yt.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/za.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/za.png
new file mode 100644
index 0000000..57c58e2
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/za.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zm.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zm.png
new file mode 100644
index 0000000..c25b07b
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zm.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zw.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zw.png
new file mode 100644
index 0000000..53c9725
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/flags/zw.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/globe3.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/globe3.png
new file mode 100644
index 0000000..9991031
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/globe3.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/ms16.png b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/ms16.png
new file mode 100644
index 0000000..fd46156
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/ms16.png
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/property.gif b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/property.gif
new file mode 100644
index 0000000..b512915
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/icons/nls/property.gif
Binary files differ
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocaleInfo.java b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocaleInfo.java
new file mode 100644
index 0000000..0403351
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocaleInfo.java
@@ -0,0 +1,190 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.internal.core.nls.model;
+
+import java.util.Locale;
+
+/**
+ * Information about {@link Locale}.
+ *
+ * We separate {@link LocaleInfo} from {@link BundleInfo} because {@link BundleInfo} is wrapper for
+ * single *.properties file and we support more than one source of bundles in one
+ * {@link CompilationUnit}.
+ *
+ * @author scheglov_ke
+ * @coverage core.nls
+ */
+public final class LocaleInfo implements Comparable<LocaleInfo> {
+ /**
+ * The default {@link LocaleInfo}.
+ */
+ public static final LocaleInfo DEFAULT = new LocaleInfo(null);
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Instance fields
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ private final Locale m_locale;
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Constructor
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ public LocaleInfo(Locale locale) {
+ m_locale = locale;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Object
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ @Override
+ public String toString() {
+ return getTitle();
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (obj instanceof LocaleInfo) {
+ LocaleInfo localeInfo = (LocaleInfo) obj;
+ if (isDefault()) {
+ return localeInfo.isDefault();
+ }
+ return m_locale.equals(localeInfo.m_locale);
+ }
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ if (isDefault()) {
+ return 0;
+ }
+ return m_locale.hashCode();
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Comparable
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ @Override
+public int compareTo(LocaleInfo o) {
+ if (m_locale == null) {
+ if (o.m_locale == null) {
+ return 0;
+ }
+ return -1;
+ }
+ if (o.m_locale == null) {
+ return 1;
+ }
+ String localeNameA = m_locale.toString();
+ String localeNameB = o.m_locale.toString();
+ return localeNameA.compareTo(localeNameB);
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Access
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * @return {@link Locale} for this {@link LocaleInfo}.
+ */
+ public Locale getLocale() {
+ return m_locale;
+ }
+
+ /**
+ * @return <code>true</code> if that {@link Locale} is default.
+ */
+ public boolean isDefault() {
+ return m_locale == null;
+ }
+
+ /**
+ * @return the title to display in UI.
+ */
+ public String getTitle() {
+ if (isDefault()) {
+ return "(default)";
+ }
+ return m_locale.toString();
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Utils
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * @return the "parent" {@link LocaleInfo} from given array.<br>
+ * Here "parent" is locale that is more general than current one.<br>
+ * For example "parent" locale for 'ru_RU' is 'ru'.
+ *
+ * If there are no parent locale in array, return default locale.<br>
+ */
+ public LocaleInfo getParent(LocaleInfo locales[]) {
+ String localeName = m_locale.toString();
+ int lastSeparatorIndex = localeName.lastIndexOf('_');
+ if (lastSeparatorIndex != -1) {
+ String parentLocaleName = localeName.substring(0, lastSeparatorIndex);
+ // try to find locale with parent name
+ for (LocaleInfo locale : locales) {
+ if (locale.getLocale() != null && locale.getLocale().toString().equals(parentLocaleName)) {
+ return locale;
+ }
+ }
+ }
+ // use default
+ return LocaleInfo.DEFAULT;
+ }
+
+ /**
+ * @param localeName
+ * the name of locale, such as "en" or "ru_RU".
+ * @param localeDescription
+ * the description of {@link Locale}, used in exception.
+ * @return the {@link LocaleInfo} which wraps {@link Locale}.
+ */
+ public static LocaleInfo create(String localeName, String localeDescription) {
+ // try to find locale in list of available locales
+ Locale[] locales = Locale.getAvailableLocales();
+ for (int i = 0; i < locales.length; i++) {
+ Locale locale = locales[i];
+ if (locale.toString().equals(localeName)) {
+ return new LocaleInfo(locale);
+ }
+ }
+ // try to create new, this constructor is since 1.4, so do this in try/catch
+ try {
+ Locale locale;
+ int separatorIndex = localeName.indexOf('_');
+ if (separatorIndex != -1) {
+ String language = localeName.substring(0, separatorIndex);
+ String country = localeName.substring(separatorIndex + 1);
+ locale = new Locale(language, country);
+ } else {
+ locale = new Locale(localeName);
+ }
+ return new LocaleInfo(locale);
+ } catch (Throwable e) {
+ String msg = "Locale not found for " + localeDescription;
+ throw new IllegalArgumentException(msg);
+ }
+ }
+}
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfo.java b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfo.java
new file mode 100644
index 0000000..9278979
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfo.java
@@ -0,0 +1,81 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.internal.core.nls.model;
+
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * Information about part of Locale - language or country.
+ *
+ * @author scheglov_ke
+ * @coverage core.nls
+ */
+public final class LocalePartInfo implements Comparable<LocalePartInfo> {
+ private final String m_name;
+ private final String m_displayName;
+ private final Image m_flagImage;
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Constructor
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ public LocalePartInfo(String name, String displayName, Image flagImage) {
+ m_name = name;
+ m_displayName = displayName;
+ m_flagImage = flagImage;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Access
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ public String getName() {
+ return m_name;
+ }
+
+ public Image getFlagImage() {
+ return m_flagImage;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Object
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ @Override
+ public String toString() {
+ if (m_name.length() == 0) {
+ return m_displayName;
+ }
+ return m_name + " - " + m_displayName;
+ }
+
+ @Override
+ public int hashCode() {
+ return m_name.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ return obj instanceof LocalePartInfo && m_name.equals(((LocalePartInfo) obj).m_name);
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Comparable
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ public int compareTo(LocalePartInfo o) {
+ return m_name.compareTo(o.m_name);
+ }
+} \ No newline at end of file
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfos.java b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfos.java
new file mode 100644
index 0000000..68f9097
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/nls/model/LocalePartInfos.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.internal.core.nls.model;
+
+import com.google.common.collect.Sets;
+
+import org.eclipse.wb.internal.core.nls.ui.FlagImagesRepository;
+
+import org.eclipse.swt.graphics.Image;
+
+import java.util.Arrays;
+import java.util.Locale;
+import java.util.Set;
+
+/**
+ * Utilities for {@link LocaleInfo}.
+ *
+ * @author scheglov_ke
+ * @coverage core.nls
+ */
+public final class LocalePartInfos {
+ private static LocalePartInfo m_languages[];
+ private static LocalePartInfo m_countries[];
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Access
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ public static LocalePartInfo[] getLanguages() {
+ initLanguagesAndCountries();
+ return m_languages;
+ }
+
+ public static LocalePartInfo[] getCountries() {
+ initLanguagesAndCountries();
+ return m_countries;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Find items
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ public static int indexByName(LocalePartInfo[] parts, String name) {
+ for (int i = 0; i < parts.length; i++) {
+ LocalePartInfo part = parts[i];
+ if (part.getName().equals(name)) {
+ return i;
+ }
+ }
+ return -1;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Initialization
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * Prepare arrays of all available languages and countries with titles and flags.
+ */
+ private static void initLanguagesAndCountries() {
+ if (m_languages == null) {
+ // languages
+ {
+ Set<LocalePartInfo> languagesSet = Sets.newHashSet();
+ // fill
+ for (String language : Locale.getISOLanguages()) {
+ Locale locale = new Locale(language);
+ Image flagImage = FlagImagesRepository.getFlagImage(locale);
+ languagesSet.add(new LocalePartInfo(locale.getLanguage(),
+ locale.getDisplayLanguage(),
+ flagImage));
+ }
+ // remember as array
+ m_languages = languagesSet.toArray(new LocalePartInfo[languagesSet.size()]);
+ Arrays.sort(m_languages);
+ }
+ // countries
+ {
+ Set<LocalePartInfo> countriesSet = Sets.newHashSet();
+ countriesSet.add(new LocalePartInfo("", "(none)", FlagImagesRepository.getEmptyFlagImage()));
+ // fill
+ for (String country : Locale.getISOCountries()) {
+ Locale locale = new Locale("", country);
+ Image flagImage = FlagImagesRepository.getFlagImage(locale);
+ countriesSet.add(new LocalePartInfo(locale.getCountry(),
+ locale.getDisplayCountry(),
+ flagImage));
+ }
+ // remember as array
+ m_countries = countriesSet.toArray(new LocalePartInfo[countriesSet.size()]);
+ Arrays.sort(m_countries);
+ }
+ }
+ }
+}
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/FlagImagesRepository.java b/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/FlagImagesRepository.java
new file mode 100644
index 0000000..854ba17
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/FlagImagesRepository.java
@@ -0,0 +1,144 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.internal.core.nls.ui;
+
+import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.wb.internal.core.DesignerPlugin;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * Repository of flags for locale/country.
+ *
+ * @author scheglov_ke
+ * @coverage core.nls.ui
+ */
+public class FlagImagesRepository {
+ private static Map<String, Image> m_countriesFlags = Maps.newHashMap();
+ private static Locale[] m_locales;
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Initialization
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ private static void init() {
+ if (m_locales == null) {
+ // prepare sorted Locale's
+ {
+ List<Locale> locales = Lists.newArrayList();
+ Collections.addAll(locales, Locale.getAvailableLocales());
+ Collections.sort(locales, new Comparator<Locale>() {
+ @Override
+ public int compare(Locale o1, Locale o2) {
+ return o1.toString().compareTo(o2.toString());
+ }
+ });
+ m_locales = locales.toArray(new Locale[locales.size()]);
+ }
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Access
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * @return the array of {@link Locale}'s sorted by title.
+ */
+ public static Locale[] getSortedLocales() {
+ init();
+ return m_locales;
+ }
+
+ /**
+ * @return the {@link Image} of flag for default {@link Locale}.
+ */
+ public static Image getEmptyFlagImage() {
+ return DesignerPlugin.getImage("nls/flags/flag_empty.png");
+ }
+
+ /**
+ * @return the {@link Image} of flag for given {@link Locale}.
+ */
+ public static Image getFlagImage(Locale locale) {
+ init();
+ String localeCountry = locale.getCountry();
+ String localeLanguage = locale.getLanguage();
+
+// BEGIN ADT MODIFICATIONS
+ return getFlagImage(localeCountry, localeLanguage);
+ }
+
+ public static Image getFlagImage(String localeCountry, String localeLanguage) {
+ init();
+// END ADT MODIFICATIONS
+
+ // if locale has no assosiated country set, try to find the locale with the same language but with the country set
+ if (localeCountry.length() == 0) {
+ // special cases
+ if (localeLanguage.equals("ar")) {
+ localeCountry = "AE";
+ } else if (localeLanguage.equals("zh")) {
+ localeCountry = "CN";
+ } else if (localeLanguage.equals("en")) {
+ localeCountry = "US";
+ } else {
+ // try to guess
+ String localeCountryCandidate = "";
+ for (int i = 0; i < m_locales.length; i++) {
+ Locale lookupLocale = m_locales[i];
+ String lookupLanguage = lookupLocale.getLanguage();
+ if (lookupLanguage.equals(localeLanguage)) {
+ if (lookupLocale.getCountry().length() != 0) {
+ localeCountryCandidate = lookupLocale.getCountry();
+ if (localeCountryCandidate.equalsIgnoreCase(lookupLanguage)) {
+ localeCountry = localeCountryCandidate;
+ break;
+ }
+ }
+ }
+ }
+ if (localeCountry.length() == 0) {
+ localeCountry = localeCountryCandidate;
+ }
+ }
+ }
+ //
+ Image flagImage = m_countriesFlags.get(localeCountry);
+ if (flagImage == null) {
+ try {
+ String flagFileName = null;
+ if (localeCountry.equalsIgnoreCase("YU")) {
+ localeCountry = "CS"; // use Serbia and Montenegro
+ }
+ if (Strings.isNullOrEmpty(localeCountry)) {
+ return null;
+ }
+ flagFileName = localeCountry.toLowerCase() + ".png";
+ flagImage = DesignerPlugin.getImage("nls/flags/" + flagFileName);
+ m_countriesFlags.put(localeCountry, flagImage);
+ } catch (Throwable e) {
+ return null;
+ }
+ }
+ return flagImage;
+ }
+}
diff --git a/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/LocaleUtils.java b/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/LocaleUtils.java
new file mode 100644
index 0000000..699bba8
--- /dev/null
+++ b/propertysheet/src/org/eclipse/wb/internal/core/nls/ui/LocaleUtils.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Google, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Google, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wb.internal.core.nls.ui;
+
+import org.eclipse.wb.internal.core.nls.model.LocaleInfo;
+
+import org.eclipse.swt.graphics.Image;
+
+import java.util.Arrays;
+import java.util.Comparator;
+
+/**
+ * UI utils for {@link LocaleInfo}.
+ *
+ * @author scheglov_ke
+ * @coverage core.nls.ui
+ */
+public class LocaleUtils {
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Constructor
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ private LocaleUtils() {
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ //
+ // Utils
+ //
+ ////////////////////////////////////////////////////////////////////////////
+ /**
+ * @return the flag image for given {@link LocaleInfo}.
+ */
+ public static Image getImage(LocaleInfo localeInfo) {
+ if (localeInfo.isDefault()) {
+ return FlagImagesRepository.getEmptyFlagImage();
+ } else {
+ return FlagImagesRepository.getFlagImage(localeInfo.getLocale());
+ }
+ }
+
+ /**
+ * Sorts given array of {@link LocaleInfo}'s by title.
+ */
+ public static void sortByTitle(LocaleInfo locales[]) {
+ Arrays.sort(locales, new Comparator<LocaleInfo>() {
+ public int compare(LocaleInfo locale_1, LocaleInfo locale_2) {
+ return locale_1.getTitle().compareTo(locale_2.getTitle());
+ }
+ });
+ }
+}