/**
*
*/
package org.korsakow.ide.ui.controller.action;
import java.awt.event.ActionEvent;
import java.util.Collection;
import java.util.Locale;
import javax.swing.AbstractAction;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import org.korsakow.ide.lang.LanguageBundle;
import org.korsakow.ide.ui.ProjectExplorer;
public class MenuLanguageAction extends AbstractAction
{
private final ProjectExplorer explorer;
public MenuLanguageAction(ProjectExplorer explorer)
{
this.explorer = explorer;
}
public void actionPerformed(ActionEvent e) {
Collection<Locale> locales = LanguageBundle.getAvailableLocales();
JMenu menu = (JMenu)explorer.getMenu(ProjectExplorer.Action.MenuLanguage);
menu.removeAll();
Locale currentLocale = LanguageBundle.getCurrentLocale();
for (Locale locale : locales) {
JCheckBoxMenuItem item = new JCheckBoxMenuItem(locale.getDisplayName(locale));
item.setBackground(new JMenuItem().getBackground());
item.addActionListener(new MenuLanguageItemAction());
item.putClientProperty("locale", locale);
menu.add(item);
if (locale.equals(currentLocale))
item.setSelected(true);
}
}
}