1. final FlagIcon engIcon = new FlagIcon(IconLib.INS.english(), "default");
  2. final FlagIcon sweIcon = new FlagIcon(IconLib.INS.swedish(), "sv");
  3. final FlagIcon spaIcon = new FlagIcon(IconLib.INS.spanish(), "default");
  4. final FlagIcon gerIcon = new FlagIcon(IconLib.INS.german(), "default");
  5. final FlagIcon freIcon = new FlagIcon(IconLib.INS.french(), "default");
  6. final FlagIcon itaIcon = new FlagIcon(IconLib.INS.italian(), "default");
  7. final ComboBox<FlagIcon> languageCBox = new ComboBox<FlagIcon>();
  8. languageCBox.addItem(engIcon);
  9. languageCBox.addItem(sweIcon);
  10. languageCBox.addItem(spaIcon);
  11. languageCBox.addItem(gerIcon);
  12. languageCBox.addItem(freIcon);
  13. languageCBox.addItem(itaIcon);
  14. languageCBox.addStyleName(CssLib.INS.defaultStyle().inlineTop25());
  15. final String currentLocale = LocaleInfo.getCurrentLocale()
  16. .getLocaleName();
  17. GWT.log("Current locale: " + currentLocale);
  18. for (int i = 0; i < languageCBox.getItemCount(); i++) {
  19. if (languageCBox.getItem(i).getLocale().equals(currentLocale)) {
  20. languageCBox.setSelectedIndex(i);
  21. break;
  22. }
  23. }
  24. languageCBox
  25. .addValueChangeHandler(new ValueChangeHandler<Header.FlagIcon>() {
  26. @Override
  27. public void onValueChange(
  28. final ValueChangeEvent<FlagIcon> event) {
  29. setLocale(languageCBox.getValue().getLocale());
  30. }
  31. });