KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > editor2d > properties > NameLanguageManager


1 /**
2  * <p> Project: com.nightlabs.editor2d </p>
3  * <p> Copyright: Copyright (c) 2005 </p>
4  * <p> Company: NightLabs GmbH (Germany) </p>
5  * <p> Creation Date: 03.08.2005 </p>
6  * <p> Author: Daniel Mazurek </p>
7 **/

8 package com.nightlabs.editor2d.properties;
9
10 import java.util.ArrayList JavaDoc;
11 import java.util.Collection JavaDoc;
12 import java.util.Iterator JavaDoc;
13 import java.util.LinkedList JavaDoc;
14 import java.util.List JavaDoc;
15 import java.util.Locale JavaDoc;
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 JavaDoc it = languageMan.getLanguages().iterator(); it.hasNext(); ) {
46             LanguageCf langCf = (LanguageCf) it.next();
47             addLanguage(langCf.getLanguageID());
48         }
49     }
50     
51 // protected String currentLanguageID = LanguageManager.sharedInstance().getCurrentLanguageID();
52
// public void setCurrentLanguageID(String languageID) {
53
// currentLanguageID = languageID;
54
// }
55
// public String getCurrentLanguageID() {
56
// return currentLanguageID;
57
// }
58
public void setCurrentLanguageID(String JavaDoc languageID)
59     {
60         for (Iterator JavaDoc 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 JavaDoc 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 JavaDoc languages = new ArrayList JavaDoc();
78     public void addLanguage(String JavaDoc languageID) {
79         LanguageCf langCf = LanguageManager.createLanguage(languageID);
80         languages.add(langCf);
81     }
82     public Collection JavaDoc getLanguages() {
83 // return LanguageManager.sharedInstance().getLanguages();
84
return languages;
85     }
86         
87     protected List JavaDoc languageChangeListeners = new LinkedList JavaDoc();
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 JavaDoc it = languageChangeListeners.iterator(); it.hasNext(); ) {
105             ((LanguageChangeListener)it.next()).languageChanged(languageChangeEvent);
106         }
107
108         oldLanguage = getLanguage();
109     }
110 }
111
Free Books   Free Magazines  
Popular Tags