summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2012-05-08 08:02:22 -0700
committerandroid code review <noreply-gerritcodereview@google.com>2012-05-08 08:02:22 -0700
commit6f5a197232c3a3d34f197f591a47e4cb2b538807 (patch)
treeb9ecc647b8687cc7d00f3b87a8549d1c7b7b07f6
parent7d5e809721ca0f3460afcd8ae32fa366c86ec978 (diff)
parentbaf49b0e01f0e601d28128d4ba522f2f15244ad5 (diff)
downloadeclipse-windowbuilder-6f5a197232c3a3d34f197f591a47e4cb2b538807.tar.gz
Merge "Add WindowBuilder NLS support"
-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());
+ }
+ });
+ }
+}