KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > ipanema > language > AbstractLanguageChooser


1 /*
2  * Created on Jan 6, 2005
3  */

4 package com.nightlabs.ipanema.language;
5
6 import java.util.Iterator JavaDoc;
7 import java.util.LinkedList JavaDoc;
8 import java.util.List JavaDoc;
9
10 import org.eclipse.swt.widgets.Composite;
11
12 import com.nightlabs.ipanema.language.Language;
13 import com.nightlabs.rcp.composite.TightWrapperComposite;
14
15 /**
16  * @author Marco Schulze - marco at nightlabs dot de
17  */

18 public abstract class AbstractLanguageChooser
19     extends TightWrapperComposite
20     implements LanguageChooser
21 {
22     private List JavaDoc languageChangeListeners = new LinkedList JavaDoc();
23
24     /**
25      * @param parent
26      * @param style
27      * @param setLayoutData
28      */

29     public AbstractLanguageChooser(Composite parent, int style,
30             boolean setLayoutData)
31     {
32         super(parent, style, setLayoutData);
33     }
34
35     /**
36      * @see com.nightlabs.ipanema.language.LanguageChooser#addLanguageChangeListener(com.nightlabs.ipanema.language.LanguageChangeListener)
37      */

38     public void addLanguageChangeListener(LanguageChangeListener l)
39     {
40         languageChangeListeners.add(l);
41     }
42
43     /**
44      * @see com.nightlabs.ipanema.language.LanguageChooser#removeLanguageChangeListener(com.nightlabs.ipanema.language.LanguageChangeListener)
45      */

46     public void removeLanguageChangeListener(LanguageChangeListener l)
47     {
48         languageChangeListeners.remove(l);
49     }
50     
51     private Language oldLanguage = null;
52
53     public void fireLanguageChangeEvent()
54     {
55         if (languageChangeListeners.size() < 1)
56             return;
57
58         LanguageChangeEvent languageChangeEvent = new LanguageChangeEvent(this, oldLanguage, getLanguage());
59         for (Iterator JavaDoc it = languageChangeListeners.iterator(); it.hasNext(); ) {
60             ((LanguageChangeListener)it.next()).languageChanged(languageChangeEvent);
61         }
62
63         oldLanguage = getLanguage();
64     }
65 }
66
Popular Tags