1 8 package com.nightlabs.editor2d.properties; 9 10 import java.util.ArrayList ; 11 import java.util.Collection ; 12 import java.util.Iterator ; 13 14 import org.eclipse.jface.action.IMenuManager; 15 import org.eclipse.jface.action.IStatusLineManager; 16 import org.eclipse.jface.action.IToolBarManager; 17 import org.eclipse.ui.views.properties.PropertySheetPage; 18 19 import com.nightlabs.language.LanguageCf; 20 import com.nightlabs.rcp.action.LanguageAction; 21 import com.nightlabs.rcp.language.LanguageChangeEvent; 22 import com.nightlabs.rcp.language.LanguageChangeListener; 23 24 public class EditorPropertyPage 25 extends PropertySheetPage 26 { 27 protected NameLanguageManager langMan; 31 public EditorPropertyPage() 32 { 33 langMan = NameLanguageManager.sharedInstance(); 34 langMan.addLanguageChangeListener(langListener); 35 } 36 37 protected LanguageChangeListener langListener = new LanguageChangeListener(){ 38 public void languageChanged(LanguageChangeEvent event) { 39 refresh(); 40 } 41 }; 42 43 public void makeContributions(IMenuManager menuManager, 44 IToolBarManager toolBarManager, IStatusLineManager statusLineManager) 45 { 46 Collection languageActions = makeLanguageActions(); 48 for (Iterator it = languageActions.iterator(); it.hasNext(); ) { 49 LanguageAction action = (LanguageAction) it.next(); 50 menuManager.add(action); 51 } 52 } 53 54 protected Collection makeLanguageActions() 55 { 56 Collection languageActions = new ArrayList (langMan.getLanguages().size()); 57 for (Iterator it = langMan.getLanguages().iterator(); it.hasNext(); ) { 58 LanguageCf language = (LanguageCf) it.next(); 59 LanguageAction action = new LanguageAction(langMan, language.getLanguageID()); 60 languageActions.add(action); 61 } 62 return languageActions; 63 } 64 65 } 66 | Popular Tags |