1 8 package com.nightlabs.editor2d.properties; 9 10 import java.util.ArrayList ; 11 import java.util.Collection ; 12 import java.util.Iterator ; 13 import java.util.LinkedList ; 14 import java.util.List ; 15 import java.util.Locale ; 16 17 import com.nightlabs.language.LanguageCf; 18 import com.nightlabs.rcp.language.ILanguageManager; 19 import com.nightlabs.rcp.language.LanguageChangeEvent; 20 import com.nightlabs.rcp.language.LanguageChangeListener; 21 import com.nightlabs.rcp.language.LanguageChooser; 22 import com.nightlabs.rcp.language.LanguageManager; 23 24 public class NameLanguageManager 25 implements ILanguageManager, 26 LanguageChooser 27 { 28 protected static NameLanguageManager langMan = null; 29 public static NameLanguageManager sharedInstance() { 30 if (langMan == null) 31 langMan = new NameLanguageManager(); 32 return langMan; 33 } 34 35 public NameLanguageManager() { 36 super(); 37 init(); 38 addLanguage(Locale.ENGLISH.getLanguage()); 39 addLanguage(Locale.FRENCH.getLanguage()); 40 } 41 42 protected void init() 43 { 44 LanguageManager languageMan = LanguageManager.sharedInstance(); 45 for (Iterator it = languageMan.getLanguages().iterator(); it.hasNext(); ) { 46 LanguageCf langCf = (LanguageCf) it.next(); 47 addLanguage(langCf.getLanguageID()); 48 } 49 } 50 51 public void setCurrentLanguageID(String languageID) 59 { 60 for (Iterator it = getLanguages().iterator(); it.hasNext(); ) { 61 LanguageCf langCf = (LanguageCf) it.next(); 62 if (languageID.equals(langCf.getLanguageID())) { 63 currentLanguage = langCf; 64 fireLanguageChangeEvent(); 65 } 66 } 67 } 68 public String getCurrentLanguageID() { 69 return currentLanguage.getLanguageID(); 70 } 71 protected LanguageCf currentLanguage = LanguageManager.sharedInstance().getCurrentLanguage(); 72 public LanguageCf getLanguage() { 73 return currentLanguage; 74 } 75 76 77 protected Collection languages = new ArrayList (); 78 public void addLanguage(String languageID) { 79 LanguageCf langCf = LanguageManager.createLanguage(languageID); 80 languages.add(langCf); 81 } 82 public Collection getLanguages() { 83 return languages; 85 } 86 87 protected List languageChangeListeners = new LinkedList (); 88 protected LanguageCf oldLanguage = null; 89 90 public void addLanguageChangeListener(LanguageChangeListener l) { 91 languageChangeListeners.add(l); 92 } 93 94 public void removeLanguageChangeListener(LanguageChangeListener l) { 95 languageChangeListeners.remove(l); 96 } 97 98 public void fireLanguageChangeEvent() 99 { 100 if (languageChangeListeners.size() < 1) 101 return; 102 103 LanguageChangeEvent languageChangeEvent = new LanguageChangeEvent(this, oldLanguage, getLanguage()); 104 for (Iterator it = languageChangeListeners.iterator(); it.hasNext(); ) { 105 ((LanguageChangeListener)it.next()).languageChanged(languageChangeEvent); 106 } 107 108 oldLanguage = getLanguage(); 109 } 110 } 111
| Popular Tags
|